Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6163e9c
fix: CLI --purge command does not cleanup temp APK (#169)
prateek-who Jun 15, 2026
712b330
chore: Release v1.9.2-dev.1 [skip ci]
semantic-release-bot Jun 15, 2026
d865abd
feat: "your apps" section + settings and tools split + re-orderable p…
prateek-who Jun 15, 2026
abe2c1d
chore: Release v1.10.0-dev.1 [skip ci]
semantic-release-bot Jun 15, 2026
1626ce5
feat: route links through patched app + uninstall from "Your Apps" se…
prateek-who Jun 23, 2026
44be4ad
chore: Release v1.10.0-dev.2 [skip ci]
semantic-release-bot Jun 23, 2026
0d47c62
chore: Update npm dependencies
LisoUseInAIKyrios Jun 23, 2026
d8245f0
fix: Handle GUI patching xapk / apks, add distinct patch-source chann…
prateek-who Jun 23, 2026
89801d2
chore: Release v1.10.0-dev.3 [skip ci]
semantic-release-bot Jun 23, 2026
755909c
feat: Array GUI patches alphabetically, improve error logging, use se…
prateek-who Jun 27, 2026
6085b6f
chore: Release v1.10.0-dev.4 [skip ci]
semantic-release-bot Jun 27, 2026
5d34993
feat: Patch sources follows latest (stable/dev) instead of to last us…
prateek-who Jun 28, 2026
93cedb4
chore: Release v1.10.0-dev.5 [skip ci]
semantic-release-bot Jun 28, 2026
a994b1e
chore: Add missing Morphe license headers (#191)
krvstek Jun 28, 2026
2c89128
fix: Update to latest patcher
LisoUseInAIKyrios Jun 29, 2026
c47f055
chore: Release v1.10.0-dev.6 [skip ci]
semantic-release-bot Jun 29, 2026
8ef916c
feat: Add `--include-experimental` flag to `list-patches` and `list-v…
krvstek Jun 29, 2026
ee10082
chore: Release v1.10.0-dev.7 [skip ci]
semantic-release-bot Jun 29, 2026
e4ec0be
chore: Use latest patcher
LisoUseInAIKyrios Jun 30, 2026
32e4133
chore: Cleanup old code
wchill Jun 30, 2026
fa596af
chore(deps): bump actions/checkout from 4 to 7 (#193)
dependabot[bot] Jul 1, 2026
f579828
chore(deps-dev): bump @cleyrop-org/semantic-release-backmerge from 5.…
dependabot[bot] Jul 1, 2026
6530bde
chore(deps): bump voyager from 1.1.0-beta03 to 2.2.21-1.10.3 (#195)
dependabot[bot] Jul 1, 2026
da626e0
chore(deps): bump com.gradleup.shadow:shadow-gradle-plugin from 9.4.1…
dependabot[bot] Jul 1, 2026
d8289ed
chore(deps): bump jna from 5.18.1 to 5.19.1 (#197)
dependabot[bot] Jul 1, 2026
04a3b37
chore(deps): bump org.jetbrains.compose from 1.10.3 to 1.11.1 (#198)
dependabot[bot] Jul 1, 2026
331d85c
chore(deps): bump about-libraries from 14.1.0 to 15.0.3 (#200)
dependabot[bot] Jul 1, 2026
438d605
chore(deps): bump ktor from 3.5.0 to 3.5.1 (#201)
dependabot[bot] Jul 1, 2026
d491a18
chore(deps): bump gradle-wrapper from 9.5.0 to 9.6.1 (#202)
dependabot[bot] Jul 1, 2026
4035e0d
chore(deps): bump org.junit.jupiter:junit-jupiter-params from 6.0.3 t…
dependabot[bot] Jul 1, 2026
25b38dc
chore(deps): bump jadb, koin-bom, coroutines
LisoUseInAIKyrios Jul 1, 2026
5a07bf7
fix: Allow patches with empty targets to apply automatically (#207)
krvstek Jul 2, 2026
afbf69d
chore: Release v1.10.0-dev.8 [skip ci]
semantic-release-bot Jul 2, 2026
70d16f0
feat: cli ignores unknown keys (fix) + unify CLI/GUI patch cache + ad…
prateek-who Jul 2, 2026
efab4f9
chore: Release v1.10.0-dev.9 [skip ci]
semantic-release-bot Jul 2, 2026
3d0af4b
chore: Clarify intended usage of `--verify-with-sdk`
wchill Jul 6, 2026
d7e9b62
fix: use latest patcher
wchill Jul 9, 2026
6d260d6
chore: Release v1.10.0-dev.10 [skip ci]
semantic-release-bot Jul 9, 2026
f232267
chore: Add warranty statement to Notice and break out existing 7c int…
LisoUseInAIKyrios Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/open_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Open pull request
uses: repo-sync/pull-request@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
# Make sure the release step uses its own credentials:
# https://github.com/cycjimmy/semantic-release-action#private-packages
Expand Down
77 changes: 77 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,80 @@
# [1.10.0-dev.10](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.9...v1.10.0-dev.10) (2026-07-09)


### Bug Fixes

* use latest patcher ([d7e9b62](https://github.com/MorpheApp/morphe-cli/commit/d7e9b625ae0571f2bafa082a3716138a2d7e2e8e))

# [1.10.0-dev.9](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.8...v1.10.0-dev.9) (2026-07-02)


### Features

* cli ignores unknown keys (fix) + unify CLI/GUI patch cache + add clear-cache + make purge opt-out ([#192](https://github.com/MorpheApp/morphe-cli/issues/192)) ([70d16f0](https://github.com/MorpheApp/morphe-cli/commit/70d16f0e105f6362ee45e5e600c9ded01ab6c09e))

# [1.10.0-dev.8](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.7...v1.10.0-dev.8) (2026-07-02)


### Bug Fixes

* Allow patches with empty targets to apply automatically ([#207](https://github.com/MorpheApp/morphe-cli/issues/207)) ([5a07bf7](https://github.com/MorpheApp/morphe-cli/commit/5a07bf7d6fe34d42e2dd1b95e601386e6e214f83))

# [1.10.0-dev.7](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.6...v1.10.0-dev.7) (2026-06-29)


### Features

* Add `--include-experimental` flag to `list-patches` and `list-versions` ([#189](https://github.com/MorpheApp/morphe-cli/issues/189)) ([8ef916c](https://github.com/MorpheApp/morphe-cli/commit/8ef916cdaab28e51c244906341a32d9434126ccf))

# [1.10.0-dev.6](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.5...v1.10.0-dev.6) (2026-06-29)


### Bug Fixes

* Update to latest patcher ([2c89128](https://github.com/MorpheApp/morphe-cli/commit/2c891284460762e15115f21c83036ac544549372))

# [1.10.0-dev.5](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.4...v1.10.0-dev.5) (2026-06-28)


### Features

* Patch sources follows latest (stable/dev) instead of to last used version ([#185](https://github.com/MorpheApp/morphe-cli/issues/185)) ([5d34993](https://github.com/MorpheApp/morphe-cli/commit/5d349931b283f62f617e7a1ceb10009cf2639a8e))

# [1.10.0-dev.4](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.3...v1.10.0-dev.4) (2026-06-27)


### Features

* Array GUI patches alphabetically, improve error logging, use separate class loader for multiple patch bundles ([#187](https://github.com/MorpheApp/morphe-cli/issues/187)) ([755909c](https://github.com/MorpheApp/morphe-cli/commit/755909ca2ab8735ffe99b3ad200a80316e6ec0c9))

# [1.10.0-dev.3](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.2...v1.10.0-dev.3) (2026-06-23)


### Bug Fixes

* Handle GUI patching xapk / apks, add distinct patch-source channel colors, improve patch loading errors ([#180](https://github.com/MorpheApp/morphe-cli/issues/180)) ([d8245f0](https://github.com/MorpheApp/morphe-cli/commit/d8245f081b507cac74b06e16120e4271ce0e1f96))

# [1.10.0-dev.2](https://github.com/MorpheApp/morphe-cli/compare/v1.10.0-dev.1...v1.10.0-dev.2) (2026-06-23)


### Features

* route links through patched app + uninstall from "Your Apps" section's cards ([#179](https://github.com/MorpheApp/morphe-cli/issues/179)) ([1626ce5](https://github.com/MorpheApp/morphe-cli/commit/1626ce5ffe3300de2299443ed9b7587ebd1cdcb6))

# [1.10.0-dev.1](https://github.com/MorpheApp/morphe-cli/compare/v1.9.2-dev.1...v1.10.0-dev.1) (2026-06-15)


### Features

* "your apps" section + settings and tools split + re-orderable patch sources + block play store updates for patched apps ([#176](https://github.com/MorpheApp/morphe-cli/issues/176)) ([d865abd](https://github.com/MorpheApp/morphe-cli/commit/d865abdbbe2258cf24476add02a361b05f3fdf7e))

## [1.9.2-dev.1](https://github.com/MorpheApp/morphe-cli/compare/v1.9.1...v1.9.2-dev.1) (2026-06-15)


### Bug Fixes

* CLI --purge command does not cleanup temp APK ([#169](https://github.com/MorpheApp/morphe-cli/issues/169)) ([6163e9c](https://github.com/MorpheApp/morphe-cli/commit/6163e9c29070e5013274792437d05f8ed2c20853))

## [1.9.1](https://github.com/MorpheApp/morphe-cli/compare/v1.9.0...v1.9.1) (2026-06-08)


Expand Down
29 changes: 20 additions & 9 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,26 @@ https://github.com/MorpheApp/morphe-cli

=============

7b. Attribution Requirement
---------------------------
GPLv3 Section 7b: Preservation of User Notices

This NOTICE file must be preserved and retained in all distributions
of the Source Code and any Derivative Works.
All derivative works (source code and binaries) must include this
NOTICE text and provide it to the software user.

7c. Project Name Restriction
----------------------------
Portions of this software are provided "AS IS" by the Morphe software project.
Any express or implied warranties, including the implied warranties of
merchantability and fitness for a particular purpose, are disclaimed.

The project name "Morphe" is a protected identifier. Derivative works
must adopt a completely different identity that is not related to,
confusingly similar to, or an imitation of the name "Morphe".

GPLv3 Section 7c: Prohibiting Misrepresentation of Origin

You are prohibited from misrepresenting the origin of the Program,
and modified versions of the Program must be identified and marked in
reasonable ways as different from the original version so as not to cause
confusion regarding their origin.


GPLv3 Section 7e: Declining Grant of Trademark Rights

This License does not grant any rights or permission under trademark law
to use the name "Morphe" or any of the Program's trade names, trademarks,
service marks, or logos.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ You can find the documentation of Morphe CLI [here](/docs).

Morphe Patches are licensed under the [GNU General Public License v3.0](LICENSE), with additional conditions under GPLv3 Section 7:

- **Name Restriction (7c):** The name **"Morphe"** may not be used for derivative works.
Derivatives must adopt a distinct identity unrelated to "Morphe".
- **Attribution (7b):** Any use of this code, including derivative works, must preserve all original notices and disclaimers.
- **Name & Branding Restrictions (7c & 7e):** Derivative works must use their own distinct branding. The **"Morphe"** name, logos, and trademarks may not be used for the branding or title of derivative works (e.g., names like *"Morphe Plus"*, *"Morphe Expanded"*, or *"Morphe UserXYZ"* are strictly prohibited).

See the [LICENSE](LICENSE) file for the full GPLv3 terms and the [NOTICE](NOTICE) file for full conditions of GPLv3 Section 7
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ dependencies {
api(libs.morphe.patcher)
implementation(libs.arsclib)
implementation(libs.morphe.library)
implementation(libs.jadb)
implementation(libs.picocli)

// -- Compose Desktop ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ dependencies {
// gets these classes on its buildscript classpath at runtime. The root
// project must then apply the shadow plugin without a version to avoid
// the "plugin is already on the classpath" conflict.
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.4.1")
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.4.3")
implementation("org.jetbrains:annotations:26.1.0")
}
8 changes: 7 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
org.gradle.parallel = true
org.gradle.caching = true
kotlin.code.style = official
version = 1.9.1
version = 1.10.0-dev.10
# Compose Desktop (5 OS targets) + Kotlin/Compose codegen need a bit more heap than
# the Gradle/Kotlin defaults (which intermittently OOM with "GC overhead limit
# exceeded" during codegen), but not so much it swaps alongside the IDE. 2g each
# (~4g total) fits comfortably on a 16GB machine.
org.gradle.jvmargs = -Xmx2g
kotlin.daemon.jvmargs = -Xmx2g
20 changes: 11 additions & 9 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
[versions]
# Core
junit = "6.0.3"
junit = "6.1.1"
kotlin = "2.3.21"

# CLI
picocli = "4.7.7"
arsclib = "a28c6fb2a7"
morphe-patcher = "1.5.2-dev.2" # TODO: Change to stable release
morphe-patcher = "1.6.0-dev.2"
morphe-library = "1.3.0"
jadb = "1.2.3"

# Compose Desktop
compose = "1.10.3"
compose = "1.11.1"

# Networking
ktor = "3.5.0"
ktor = "3.5.1"

# DI
koin-bom = "4.2.1"
koin-bom = "4.2.2"

# Navigation
voyager = "1.1.0-beta03"
voyager = "2.2.21-1.10.3"

# Async / Serialization
coroutines = "1.10.2"
coroutines = "1.11.0"
kotlinx-serialization = "1.11.0"

# JNA (Windows DWM title bar tinting)
jna = "5.18.1"
jna = "5.19.1"

# Testing
mockk = "1.14.11"
Expand All @@ -35,7 +36,7 @@ mockk = "1.14.11"
slf4j = "2.0.18"

# Libraries
about-libraries = "14.1.0"
about-libraries = "15.0.3"

[libraries]
# Morphe Core
Expand All @@ -44,6 +45,7 @@ junit-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref
picocli = { module = "info.picocli:picocli", version.ref = "picocli" }
morphe-patcher = { module = "app.morphe:morphe-patcher", version.ref = "morphe-patcher" }
morphe-library = { module = "app.morphe:morphe-library-jvm", version.ref = "morphe-library" }
jadb = { module = "app.morphe:jadb", version.ref = "jadb" }

# Ktor Client
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=553c78f50dafcd54d65b9a444649057857469edf836431389695608536d6b746
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
distributionSha256Sum=9c0f7faeeb306cb14e4279a3e084ca6b596894089a0638e68a07c945a32c9e14
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
Expand Down
4 changes: 2 additions & 2 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading