Skip to content

Releases: MMRLApp/MMRL-Util

v2.14.16

22 Jun 13:15

Choose a tag to compare

This cli tool is now available at pypi.org/project/mmrl-util.

Install the new version

pip3 install mmrl-util

Wanna setup your own repo? Go check the template repository out!

sync/version.py

  • Version bump: Updated version from 2.13.16 to 2.14.16 and version code from 300 to 301.

sync/core/Pull.py

  • GitHub Source Option: Added support for options.github.source in track objects to allow specifying download preference (auto, releases, actions) for GitHub sources.
  • Improved Error Handling: More robust checks for changelog paths, and improved handling when changelog files are missing.

Usage in track files

id: zygisk_lsposed
enable: true
update_to: https://github.com/JingMatrix/LSPosed.git
source: https://github.com/JingMatrix/LSPosed

# New added options
options:
  github:
    source: actions # or `releases` what ever you want

sync/model/JsonIO.py

  • YAML Handling: Changed import to use sync.model.AttrDict directly and now uses yaml.SafeDumper for safer YAML serialization.

sync/model/LocalModule.py

  • Magisk Module Validation: Now checks for the existence of module.prop (instead of older Magisk module checks) for module validation and improved error messages.

sync/model/TrackOptions.py

  • TrackOptionsGitHub: Introduced a new class for GitHub-related options, allowing for more extensible track options structure.

sync/track/GithubTracks.py

  • Module Repo Validation: No longer checks for META-INF/com/google/android/update-binary and updater-script, focusing only on module.prop.

sync/utils/GitUtils.py

  • Major Refactor:
    • Added methods to extract owner/repo from URLs.
    • Added robust download method for GitHub releases and Actions artifacts, prioritizing ZIP archives containing 'release' in their name.
    • Improved logging and error handling.
    • Fallback to cloning and zipping if API-based download fails.
    • Uses GitHub API token if available for authenticated downloads.

sync/utils/HttpUtils.py

  • Download Method: Now supports passing custom HTTP headers (used for authenticated downloads from GitHub).

v2.13.16

22 Mar 19:01

Choose a tag to compare

This cli tool is now available at pypi.org/project/mmrl-util.

Install the new version

pip3 install mmrl-util

Wanna setup your own repo? Go check the template repository out!

What's new?

  • Drop features and replace it with permissions

v2.12.16

16 Feb 18:28

Choose a tag to compare

This cli tool is now available at pypi.org/project/mmrl-util.

Install the new version

pip3 install mmrl-util

Wanna setup your own repo? Go check the template repository out!

What's new?

  • Fixed logging

v2.12.15

16 Feb 17:23

Choose a tag to compare

This cli tool is now available at pypi.org/project/mmrl-util.

Install the new version

pip3 install mmrl-util

Wanna setup your own repo? Go check the template repository out!

What's new?

  • Added colored logging
  • Added build metadata link to modules[].track.build_metadata
  • Track files can now have the file extension *.json, *.yaml and *.yml
  • Remote metadata can now also have the file extension *.json, *.yaml and *.yml (e.g. repo.yml)
  • Removed the ability to define yourself a repository ID

v2.11.12

04 Jan 19:41

Choose a tag to compare

This cli tool is now available at pypi.org/project/mmrl-util.

Install the new version

pip3 install mmrl-util

Wanna setup your own repo? Go check the template repository out!

What's new?

  • Added option to disable remote metadata
  • Improved docs

v2.10.9

03 Jan 20:33

Choose a tag to compare

2.10.9

v2.10.8

01 Jan 12:33

Choose a tag to compare

  • Added support for repo covers
  • Added support for repo descriptions

Note

python-magic v0.4.27 is now a requirement

v2.9.8

20 Dec 03:36

Choose a tag to compare

  • Added support for track.yaml
  • Added support for common/repo.yaml
  • Added "ksunext" to manager property
  • Other bug fixes and improvements
id: cubic-adblock
enable: true
verified: true
update_to: https://raw.githubusercontent.com/Vaz15k/Cubic-AdBlock/cubic/module/update.json
source: https://github.com/Vaz15k/Cubic-AdBlock
antifeatures: []
last_update: 1734213602.994891

manager:
    kernelsu: &m {
        require: [
            systemless-hosts-KernelSU-module
        ]
    }
    apatch: *m
    ksunext: *m
    magisk:
      min: -1

versions: 4

which parses to

 {
      "id": "cubic-adblock",
      "name": "Cubic-AdBlock",
      "version": "v2.21",
      "versionCode": 2021,
      "author": "Vaz15k",
      "description": "A simple AdBlock based on the hosts file.",
      "verified": true,
      "manager": {
        "kernelsu": {
          "require": [
            "systemless-hosts-KernelSU-module"
          ]
        },
        "apatch": {
          "require": [
            "systemless-hosts-KernelSU-module"
          ]
        },
        "ksunext": {
          "require": [
            "systemless-hosts-KernelSU-module"
          ]
        },
        "magisk": {
          "min": -1
        }
      },
      "categories": [
        "Adblocking and Hosts Files"
      ],
      // ... other properties
}

v2.8.8

14 Dec 22:21

Choose a tag to compare

  • action.sh will now be listed as a feature
  • Added support for manager property according to MMRL docs
  • JSON will now printed without empty objects

v2.7.8

24 Nov 16:05

Choose a tag to compare

  • Fixed a issue where Anti-Features doesn't get included to the modules.json