-
-
Notifications
You must be signed in to change notification settings - Fork 30
Changelog (Old)
see 2.24.31
- Added new
SuFile
methods - Improved install script handler
- ModConf should now handle relative links correctly
- Fixed
path
- Fixed
Shell.getRootManager()
- Added missin methods to SuFile
- Performance improvements (I tried)
If MMRL starts lagging for you, create a file name
/data/adb/mmrl/settings/disableHardwareAccelerated
- Introduce Installer API V3
- Fixed drawer not closing when back event is pressed
- Updated Japanese by [@reindex-ot]
- Updated ModFS to 1.4.2
Note
This was a Play Store only update
- Fixed
content://
paths
- Improved installer
- Reverted "Installed" tag to it's former form
- Reverted verified tag and added back verified icon
- Added "features" tag to explore cards
- Added multi-module install — for Explore and Local (beta)
- Added a feature where you can open
*.zip
in MMRL to install them (beta)
- Updated Japanese by [@reindex-ot]
- Improved landing page
- Improved Magisk install command
- Improved installer and
Terminal
- Fixed root detection where the detection was triggered when modules included Magisk, APD, APatch, KSU or KernelSU
In this update the settings system has been reworked. Some settings require a app restart.
- Added a landing page for browsers
- Added Japanese by [@reindex-ot]
- Added more robust logging
- Added Telegram channel to the side menu
- Side menu has now proper width for devices
-
SuFile
's restricted paths can now be extended - Fixed startup background color
- Fix some typos
- Fix startup crashes (hopefully)
- Fixed a React safety issue
- Fixed changelog
-
include(...)
is now deprecated. Please userequire(...)
-
usehooks-ts
is now available in ModConf (except foruseScript
,useLocalStorage
,useSessionStorage
,useDarkMode
anduseDocumentTitle
) - Installer terminal now keeps the screen on
- Explore modules show now from where the modules comes
- MMRL's Anti-Features a now fetch based for more security
- Improved search
- Fix ModFS typo
With this update we introducing ModConf Standalone and also... DROPPING... the module requirement to install other modules! Also includes security, privacy and general improvements.
This update introduces ModConf Standalone where developers can build third-party ModConf's for other modules.
- Introduce ModConf Standalone
- Updated dependencies
- Fixed that volume slider is visible while choosing options inside the terminal
- Improved installer
- Improved repo addition
- ModFS is now available in ModConf
- ModFS system improvements
- Performance improvements
- Module developers can now print images in their install scripts (beta)
- Shell has been migrated to Shell v2. Read more here
-
new Terminal(...)
does not requireTerminal.onExit
any more -
SuZip
has been added to ModConf, a class to read zip files - Improved the way repo urls are getting added
- Improved search
- Added module notes where module developers can add a note above the module description to inform the users about install instructions or something else
- Fixed some text typos
- Fixed the issue with the keyboard are overdraw elements
- Dropping the requirement of an external module like MMRL-CLI or MMRL Install Tools. MMRL can now download the modules itself
-
SuFile
doesn't have access to apk specific anymore. Paths like/data/data/com.whatsapp
. We want to ensure that the app and ModConf is used in the right way. - Unfortunately the multi module option get removed in this update. The multi module was handled by MMRL-CLI.
- Added a error handle for actions outside activities. Does not affects modules and their configs. Does not catches theme errors.
- Updated languages
- Added Azerbaijani by @RashadGasimli. When selecting this language you may encounter that other languages have no names
- Fixed
'value' is not a string
(#202) - Fixed that images having white background
-
window.open
has been updated please read the docs to prevent unexpected error.
- Handle old format better
- Magisk Modules Alt Repo has been added to a default repo
- Fixed local install icon color
- Fixed repo enable/disable switches
- Fixed
flatlist-react
for a not correct export
// Workaround for older versions
const FlatList = BuildConfig.VERSION_CODE > 22020 ? require("flatlist-react") : require("flatlist-react").default;
- Added back
minApi
andmaxApi
- Added module file size
- Added partial GFM Alert support
- Improved search
- Add support for new repo format
- Made
DOMParser
andXMLSerializer
accessible
- Improved ModConf (require)
- Added
XMLSerializer
to ModConf - Initial release to F-Droid
- Added a search bar to ModFS
- Added
path
to ModConf - Fixed a bug where screenshots were incorrectly visible
This update comes with a brand new installer terminal and the release of the internal terminal API
Read more about Installer V2 here
Also ModConf received a breaking change this affects Terminal
. This function has neen migrated to a Native
-class extend. You can now implant the Chooser
class to let user choose files like pif.json
to import a new spoof.
This update will break MMRL Install Tools and will no longer receive updates.
- New installer terminal
- Added word wrap to the terminal
- Added line numbers to the terminal
- Fixed a problem where the screenshots aren't scrollable
- Download and install button has been combined together to save space
- Fixed Anti-Features always displaying
- Fixed installer not opens when picked a single file
- Removed
$ZIPFILE
,$ZIPFILES
,$URL
and$URLS
from installer environment - Removed new version popup
- Fixed Anti-Features not showing in module pages
- Improved PicturePreviewActivity
- Added Brazil as language by Vaz15k
- Added support for multiple module install (local only)
- Added favicons
- Updated blacklist
Starting with this release you'll require MMRL-CLI to use the installer or you use our provided workarounds
- Moved installer elements to top in ModFS
- Removed app splitting
- Updated error code
- Updated dependencies
- Fixed Useless regular-expression character escape (#171)
- Fixed Incorrect suffix check (#172)
- Fixed links that have forced font-face
- Fixed blur having soft corners
- Added option to view the changelog from an version item
- Improved terminal error handling
- Introducing hardcoded antifeatures (even for local modules)
- Removal request form if your module have been blacklisted
- Blacklisted
<iframe/>
- Fixed Magisk detection
- Updated dependencies
- Added Logcat activity
- Added update icon to updated local module cards
- Fixed install error where the installer returns exit code
500
- Fixed installer wrong bottom window insets
Note
Google Play as reported that a native library named libGLESv2_adreno.so
causes the app to crash.
Unfortunately we can't do anything to fix this issue. To prevent this you'll need enough memory to prevent memory allocations. Sometimes they abort() if they fail required memory allocations.
- Updated dependencies
- Updated GMR submission link
- The new badge will be available under https://mmrl.dergoogler.com/assets/MMRL-Badge.svg
- Added a form to create a
track.json
. You can submit it to any repo that uses the MRepo or GR Fork repo format - Added donation button in module pages
- Fixed a bug where "No connection" shows in local modules
- Fixed the bug of latest version in module pages
- ModConf has now blacklisted functions
- ModConf handles now better errors
-
# now your local modules can have covers too cover=<CONFCWD>/assets/logcat.png
- Added High Order Components (HOC)
- SuFile supports now
.getPath()
-
<CodeBlock/>
has been added, so you can renader easily your code samples -
default-composer
is now available as an import -
// image can now load small images <Image src="<ADB>/mmrl/assets/img.png" />
- Improved design
- Installer handles better the error code
- ModConf improvements
- ModConf fully supports now
SuFile
,Shell
,BuildConfig
and more - ModConf Playground paths can be more customized
- Fixed
BottomToolbar
that was drawing behind the navbar
There are many new things for ModConf ;)
This update may break some modules..
Removed globals
List
ListItem
ListItemButton
ListItemText
ListSubheader
ListItemDialogEditText
Switch
Divider
Removed libraries
-
@mmrl/buildconfig
(now a global) -
@mmrl/sufile
(now a global) -
@mmrl/os
(now a global) -
@mmrl/shell
(now a global)
Store your configurations easily with ConfigProvider
and access the stored config with useConfig
Expand sample
import React from "react";
import { Page, Toolbar } from "@mmrl/ui";
import { useConfig } from "@mmrl/hooks";
import { ConfigProvider } from "@mmrl/providers";
function App() {
const [config, setConfig, overrideConfig] = useConfig()
const getCurl = () => {
return config.curl
}
const setCurl = () => {
return setConfig("curl", "path")
}
const override = () => {
overrideConfig({
// ...
})
}
const renderToolbar = () => {
return (
<Toolbar modifier="noshadow">
<Toolbar.Center>Sample</Toolbar.Center>
</Toolbar>
);
};
return (
<ConfigProvider loadFromFile={modpath("config.json")} initialConfig={{
node: "Empty"
}} loader="json">
<Page renderToolbar={renderToolbar}>
{config.node}
</Page>
</ConfigProvider>
);
}
export default App;
More native methods are available!
Expand list
Shell
SuFile
os
view
Build
BuildConfig
DOMParser
Document
Event
FileReader
Blob
Element
Reponse
NamedNodeMap
This update also brings new hooks
Expand list
useConfirm
useConfig
useModFS
- Testing new repo format
- Due to the lack of usage of the FoxMMM properties we'll stop supporting these properties
- Discontinuing
mmrl.json
- Added versions
- Added install confirm
- All modules can now sorted by date
- Added terminal ext
- Better module update handling
- Added chinese support by @2926295173
- Re-worked module cards
- Improved search
- Added Module Configure docs
- Removed selectable themes
- Improved design
-
ModConf is now ModFS and Module Configure is now ModConf
-
ModFS will be saved in
/data/adb/mmrl/modfs.<version>.json
-
ModFS will be saved in
- Added window insets, status bar and navigation bar won't cut them off anymore
- Possible splash screen crash fixed
- You may encounter lags while loading IzzySoft's repo
In the page component the backgroundStyle
attr has been changed
// before
<Page backgroundStyle="#000">
{/* after */}
<Page backgroundStyle={{ backgroundColor: "#000" }}>
- Removed clear text traffic
- Added APatch support (beta)
- Logo in ModConf are now PNGs
- Fixed fab is shown when MMRL Install Tools isn't installed
- Some other bug fixes
- Added many new imports to Module Configure
@mmrl/os
@mmrl/terminal
@mmrl/buildconfig
@mmrl/os
- Profile page shows now followers
- You can now configure the toolbar yourself in Module Configure (#93)
- Other improvements
- Added option to view images in a activity
- ModConf may more affect the installer
- ModConf has been resetted due new version
- Improved feature to share your device information's (device specs, configured ModConf, app infos and installed modules)
- Besides
minKernelSU
has been added - Added developer notes (read more)
- Improved Magisk detection
- Updated API access point
- Removed "Enable local install" from settings
- Added new functions to Module Configure (YAML and INI, use like JSON)
- Reworked AboutActivity (shows now user- and group id)
- Added accounts back. Read more at our module page config.
- Updated LibSU
- Some parts from the
Shell
class can now used - Supporting now user change via KernelSU
- Supporting now repoless update json
Module Configure don't work or you get an error? Use
resetprop
to remove configured system properties, likerestprop --delete persist.mmrlini.curl
Due to the nativeProperties
system change you'll require a new way to gather properties.
Use the following snippet to get your props
function getconf {
/system/bin/getprop "$1" "$2" | sed 's/^"\(.*\)"$/\1/'
}
-
Design improvements
-
Screenshots are now bigger
-
Screenshots can now viewed in full screen
-
Added support for verified modules
-
Added support for modules to use their
update.json
-
The module language are now displayed in the
About
tab -
Modules display now their require of other modules
-
Low quality modules are now more hovered
-
Added many new categories
Magisk
KernelSU
Zygisk
LSPosed
Xposed
Performance Optimization
Battery Life
Customization
Audio Enhancements
Security
Camera Enhancements
SystemUI Mods
Tweaks and Hacks
Modifications for Root Apps
System Fonts and Emojis
Miscellaneous
ROM-Specific Modules
Gamepad and Controller Support
App Additions and Features
Adblocking and Hosts Files
Navigation Bar and Gesture Customization
Advanced Audio Mods
Custom Kernels
Boot Animation
Privacy Enhancements
-
The verified and hidden system are back
-
Updated strings
-
File choosing has been fixed
-
Couldn't exit Terminal has been fixed
-
Added two new filter
-
Some filter may not available in certain pages
- Cleaned up the source code
-
useActivity
can now imported or required from@mmrl/hooks
-
SuFile
is now availableimport { read, write } from "@mmrl/sufile"
-
SuFile
has also support for browsers
-
- Some other removal of unused things
- Design changes
- ModConf changes/addings
- Fixed 5 limit repos
- Fixed addings duplicate repos
- Added a share feature
- Reworked filter system, also added new filters
- Modules are listed as a full list now
- Installed modules show now a update button if the explore version is higher
- MMRL Install Tools are now required to install modules from explore and local
- Fixed incorrect target API
- Syntax highlighting has been re-enabled, but with dark background
This version introduces a new way to develop config pages for your modules. The config pages using now JSX (React) as engine, which make more easier to manage states and much more.
Here is a quick example how the config page of MMRL Install Tools looks like
To create a page you should follow MMRL Install Tools as example.
import React from "react"
import { Markdown, Page, Tabbar } from "@mmrl/ui"
import { useNativeProperties, useNativeStorage } from "@mmrl/hooks"
function GeneralTab(props) {
const [curl, setCurl] = useNativeProperties("persist.mmrlini.curl", "/system/usr/share/mmrl/bin/curl");
const [zip, setZip] = useNativeProperties("persist.mmrlini.zip", "/system/usr/share/mmrl/bin/zip");
const [unzip, setUnzip] = useNativeProperties("persist.mmrlini.unzip", "/system/bin/unzip");
const [installFolder, setInstallFolder] = useNativeProperties("persist.mmrlini.install_folder", "/data/local/tmp/<NAME>-<BRANCH>-moduled.zip");
return (
<Page sx={{ p: 0 }}>
<List subheader={<ListSubheader>Settings</ListSubheader>}>
<ListItemDialogEditText
onSuccess={(val) => {
if (val) setCurl(val);
}}
inputLabel="Path"
type="text"
title="Change curl bin path"
initialValue={curl}
>
<ListItemText primary="Change curl bin path" secondary={curl} />
</ListItemDialogEditText>
<ListItemDialogEditText
onSuccess={(val) => {
if (val) setZip(val);
}}
inputLabel="Path"
type="text"
title="Change zip bin path"
initialValue={zip}
>
<ListItemText primary="Change zip bin path" secondary={zip} />
</ListItemDialogEditText>
<ListItemDialogEditText
onSuccess={(val) => {
if (val) setUnzip(val);
}}
inputLabel="Path"
type="text"
title="Change unzip bin path"
initialValue={unzip}
>
<ListItemText primary="Change unzip bin path" secondary={unzip} />
</ListItemDialogEditText>
<ListItemDialogEditText
onSuccess={(val) => {
if (val) setInstallFolder(val);
}}
inputLabel="Path"
type="text"
title="Change install path"
description="Edit with care!"
initialValue={installFolder}
>
<ListItemText primary="Install folder/file" secondary={installFolder} />
</ListItemDialogEditText>
</List>
<List subheader={<ListSubheader>Config</ListSubheader>}>
<ListItem>
<ListItemText primary="Swipeable tabs" secondary="Enables swipe between tabs" />
<Switch checked={props.swipeable} onChange={(e) => props.setSwipeable(e.target.checked)} />
</ListItem>
</List>
<Divider />
<List subheader={<ListSubheader>Project</ListSubheader>}>
<ListItemButton onClick={() => window.open("https://github.com/DerGoogler/MMRL/issues")}>
<ListItemText primary="Report a issue" />
</ListItemButton>
</List>
</Page>
);
}
function TippsTab() {
const data = `# Enable Extended JSX Support
Create this file in your module folder
\`\`\`shell
touch $MODID/system/usr/share/mmrl/config/$MODID/index.jsx
\`\`\`
## Simple counter
\`\`\`jsx
import React from 'react'
function Counter() {
const [counter, setCounter] = React.useState(0);
//increase counter
const increase = () => {
setCounter(count => count + 1);
};
//decrease counter
const decrease = () => {
setCounter(count => count - 1);
};
//reset counter
const reset = () =>{
setCounter(0)
}
return (
<div className="counter">
<h1>React Counter</h1>
<span className="counter__output">{counter}</span>
<div className="btn__container">
<button className="control__btn" onClick={increase}>+</button>
<button className="control__btn" onClick={decrease}>-</button>
<button className="reset" onClick={reset}>Reset</button>
</div>
</div>
);
}
export default Counter
\`\`\`
`;
return (
<Page sx={{ p: 1 }}>
<Markdown children={data} />
</Page>
);
}
function InstallToolsConfig() {
const [index, setIndex] = React.useState(0)
const [swipeable, setSwipeable] = useNativeStorage("mmrlini_swipeable", false)
const handlePreChange = (event) => {
if (event.index != this.state.index) {
setIndex(event.index)
}
};
const renderTabs = () => {
return [
{
content: <GeneralTab swipeable={swipeable} setSwipeable={setSwipeable} />,
tab: <Tabbar.Tab label='General' />
},
{
content: <TippsTab />,
tab: <Tabbar.Tab label='JSX Support' />
}
];
}
return (
<Page>
<Tabbar
swipeable={swipeable}
position='auto'
index={index}
onPreChange={handlePreChange}
renderTabs={renderTabs}
/>
</Page>
);
}
export default InstallToolsConfig;
- Fixed a bug were the app is trying to grain monet colors on non-Android 12 roms
- Some terminal improvements
- Initial explore installer (MMRL Install Tools required)
- Added more filters to explore
- Migrated to new Repo API, also dropping support for FoxMMM (AMM)
- The installer should not deadlock anymore
- Added a playground for configure page in modules
- Filters for installed modules will come in future update.
- The explore installer may be unstable and varies by device or rom
- Avoid installing big modules such as
GCC
andcode-server
, it may crashes the app
Nothing provided
- ModConf improvements
- Added a About activity
- Added a build date
- "Last update" includes now hour and minutes
Introduce ModConf the tool which can change MMRLs module system, allowing users with the know-how to change specific paths.
- Introduced ModConf
- Performance fixes
- Splitting MMRL app into their architecture's
- Others
Allowing installation with Magisk and KernelSU CLI and a new way to detect Magisk and KernelSU with the same logic. We've avoided the Shell method to prevent performance issues, creating subprocesses etc.
- Performance improvements
- Fixed #33. MMRL can handle now it's disable system
- Fixed #32. MMRL doesn't detects the root manager via regex anymore instead it uses native call to determine which root solution is installed.
- Started using new API (https://api.mmrl.dergoogler.com/mmar.json), other will result in a crash
- KernelSU can now use the experimental local installer
- Reworked filter dialog
- Others
If you get an crash while opening your local repositories, don't worry. Simply open settings from there and clear your local repositories.
- Added filters in explore tab
- Fixed DAPI preview crash
- Other minor fixes
- Users are now able to copy the content of code boxes
- Improved the updating date of modules
- Fixed the module covers
- Access MMRL in browser hides now the tabs
- Repos getting validated before going added
-
Added account creation for creatorAdded profiles
- UI design changes and improvements
- Reworked the way you view modules
- Removed ability to disable module covers
- Added KernelSU support
- Modules can now configured
- The update removes the option to disable the cover from any module
- There maybe dark mode bugs, it hard to manage multiple themes
- Comments on modules may be unavailable
-
Module install has been disabled due to the new KernelSU support- Only for KernelSU users
- Fixed Description API overflow
- Added a check for low quality modules
- Some D-API improvements
- Added comments to modules (can also disabled via your
module.prop
file) - Added an Activity to view the module specs
- Update NoRootActivity
- Updated translations
- Modules can now shared
- Better support for large screens
- Added Eruda console
With the 1.6.1 update we're removing the option to download modules from the card. You'll have to open the module's readme to download the module.
There is a reason why module developers providing a readme for their module, you should read it and then download it.
Allows you preview description before you release it to MMRL!
Shows the new "No icon trick"
- Complete redesign
- Intoduce custom repos
- Using an pagination tp handle larger lists
- Description API has been changed. Some components may be removed or not available.
- Some settings has been removed
- Added options to change the accent color
- Improved dark mode
- Improved search
- Fix white statusbar
- Design improvements
- Added option to move the navigation bar to the bottom (only Android)
- Added component to make the view better on large screens
- Markdown
<checkicon>
and<dangericon>
are now<checkmark>
and<dangermark>
- Some parts has been migrated to react-onsenuix
- App gets rendered over
googlers-tools
dom.render(...args)
- New translations added
- Added Repo Generator
- Added support for large screens
Copyright © 2024 Googlers Repo, Der_Googler and it's contributors. All Rights Reserved. Privacy Policy | Terms of Service
No Sidebar