Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# [1.9.0-dev.2](https://github.com/MorpheApp/morphe-cli/compare/v1.9.0-dev.1...v1.9.0-dev.2) (2026-05-20)


### Features

* Apply patches from multiple patch bundles, add GUI patch source selector ([#145](https://github.com/MorpheApp/morphe-cli/issues/145)) ([44ed6c6](https://github.com/MorpheApp/morphe-cli/commit/44ed6c6efe5d7f97624557056b2caca23278eebf))

# [1.9.0-dev.1](https://github.com/MorpheApp/morphe-cli/compare/v1.8.1...v1.9.0-dev.1) (2026-05-11)


### Features

* Add setting menu to save patched app crash logs to file ([#143](https://github.com/MorpheApp/morphe-cli/issues/143)) ([90836b5](https://github.com/MorpheApp/morphe-cli/commit/90836b5cedbd6d0642a819abde7c33901a7e81a1))

## [1.8.1](https://github.com/MorpheApp/morphe-cli/compare/v1.8.0...v1.8.1) (2026-05-11)


Expand Down
22 changes: 8 additions & 14 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
Morphe NOTICE
=============

This file contains Section 7 notices of the GNU General Public License v3
as they apply to Morphe code. These notices apply to all code authored by
Morphe, including any modifications of code that may have originated
outside this repository, and do not change the terms of the GPLv3 license.
For the full license text, see the LICENSE file or:
https://www.gnu.org/licenses/gpl-3.0.html
https://github.com/MorpheApp/morphe-cli

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

7b. Attribution Requirement
---------------------------

Any distributed source code that incorporates Morphe CLI,
including modified versions and derivative works, must retain this NOTICE file.

https://morphe.software
This NOTICE file must be preserved and retained in all distributions
of the Source Code and any Derivative Works.

7c. Project Name Restriction
----------------------------

The project name "Morphe" may not be used for derivative works.
Derivatives must adopt a completely different identity that is not related
to or similar to the name "Morphe".
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".
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,6 @@ 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."
Derivatives must adopt a distinct identity unrelated to "Morphe".

See the [LICENSE](LICENSE) file for the full GPLv3 terms and the [NOTICE](NOTICE) file for full conditions of GPLv3 Section 7
11 changes: 6 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ repositories {
mavenLocal()
mavenCentral()
google()
maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
maven {
// A repository must be specified for some reason. "registry" is a dummy.
url = uri("https://maven.pkg.github.com/MorpheApp/registry")
Expand Down Expand Up @@ -85,15 +86,14 @@ dependencies {
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.coroutines.swing)
implementation(libs.kotlinx.serialization.json)
// testImplementation(libs.kotlin.test)
//}

// -- Networking (GUI) --------------------------------------------------
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.cio)
implementation(libs.ktor.client.content.negotiation)
implementation(libs.ktor.serialization.kotlinx.json)
implementation(libs.ktor.client.logging)
implementation(libs.slf4j.nop)

// -- DI / Navigation (GUI) ---------------------------------------------
implementation(platform(libs.koin.bom))
Expand All @@ -109,9 +109,7 @@ dependencies {
implementation(libs.jna)
implementation(libs.jna.platform)

// -- APK Parsing (GUI) -------------------------------------------------
implementation(libs.apk.parser)

// -- License attribution UI (About / Licenses screen) -----------------
implementation(libs.about.libraries.core)
implementation(libs.about.libraries.m3)

Expand Down Expand Up @@ -209,12 +207,15 @@ tasks {
exclude(dependency("app.morphe:morphe-patcher"))
// Ktor uses ServiceLoader
exclude(dependency("io.ktor:.*"))
exclude(dependency("org.slf4j:.*"))
// Koin uses reflection
exclude(dependency("io.insert-koin:.*"))
// Coroutines Swing provides Dispatchers.Main via ServiceLoader
exclude(dependency("org.jetbrains.kotlinx:kotlinx-coroutines-swing"))
// JNA uses reflection + native loading for DWM title bar tinting
exclude(dependency("net.java.dev.jna:.*"))
// Skiko uses ServiceLoader for native registration. Same class of problem as Ktor / Koin / JNA above.
exclude(dependency("org.jetbrains.skiko:.*"))
}

mergeServiceFiles()
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
org.gradle.parallel = true
org.gradle.caching = true
kotlin.code.style = official
version = 1.8.1
version = 1.9.0-dev.2
24 changes: 12 additions & 12 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[versions]
# Core
junit = "5.11.0"
junit = "6.0.3"
kotlin = "2.3.21"

# CLI
picocli = "4.7.7"
arsclib = "d78a66bcee"
morphe-patcher = "1.5.1-dev.4"
morphe-patcher = "1.5.1"
morphe-library = "1.3.0"

# Compose Desktop
Expand All @@ -16,26 +16,26 @@ compose = "1.10.3"
ktor = "3.4.3"

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

# Navigation
voyager = "1.1.0-beta03"

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

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

# APK
apk-parser = "2.6.10"
jna = "5.18.1"

# Testing
mockk = "1.14.9"

# Logging
slf4j = "2.0.18"

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

[libraries]
# Morphe Core
Expand Down Expand Up @@ -74,13 +74,13 @@ kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serializa
jna = { module = "net.java.dev.jna:jna", version.ref = "jna" }
jna-platform = { module = "net.java.dev.jna:jna-platform", version.ref = "jna" }

# APK
apk-parser = { module = "net.dongliu:apk-parser", version.ref = "apk-parser" }

# Testing
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }

# Logging
slf4j-nop = { module = "org.slf4j:slf4j-nop", version.ref = "slf4j" }

# About Libraries
about-libraries-core = { group = "com.mikepenz", name = "aboutlibraries-compose-core", version.ref = "about-libraries" }
about-libraries-m3 = { group = "com.mikepenz", name = "aboutlibraries-compose-m3", version.ref = "about-libraries" }
Expand Down
Loading