1.5.2 (2026-06-10)
- Change Compatibility app name to required if package name is also declared (f68e855)
- Deprecate
MatchAfterAtLeastandMatchAfterRange(172a8aa) - Update to latest ARSCLib (d30cf05)
1.5.2-dev.3 (2026-06-10)
- Change Compatibility app name to required if package name is also declared (f68e855)
1.5.2-dev.2 (2026-06-07)
- Deprecate
MatchAfterAtLeastandMatchAfterRange(172a8aa)
1.5.2-dev.1 (2026-05-31)
- Update to latest ARSCLib (d30cf05)
1.5.1 (2026-05-11)
- Change to fixed upstream ARSCLib (4b3add9)
- Handle fingerprint matchAll() when a method contains multiple string matches (46e06ac)
- Restore backwards compatibility for previously compiled code (c2536be)
- Try all file extensions during dex verification (16bcfdf)
1.5.1-dev.4 (2026-05-10)
- Handle fingerprint matchAll() when a method contains multiple string matches (46e06ac)
1.5.1-dev.3 (2026-05-09)
- Restore backwards compatibility for previously compiled code (c2536be)
1.5.1-dev.2 (2026-05-03)
- Try all file extensions during dex verification (16bcfdf)
1.5.1-dev.1 (2026-05-02)
- Change to fixed upstream ARSCLib (4b3add9)
1.5.0 (2026-04-26)
AppTargetversionCodesfield to restrict patching to specific version code releases (#120) (393fc8f)Compatibilityincluding()andexcluding()methods (#122) (1e0f468)- Instruction match helper methods to get a called method or accessed field (#121) (4908e7b)
1.5.0-dev.3 (2026-04-24)
1.5.0-dev.2 (2026-04-23)
1.5.0-dev.1 (2026-04-23)
AppTargetversionCodesfield to restrict patching to specific version code releases (#120) (393fc8f)
1.4.2 (2026-04-20)
- Do not allow universal patches to be default on (12a4fc1)
- Return defensive copy from
ArsclibResourceCoder.getDeletedFiles(#119) (b0e2dc8) - Update to Android tools 9.1.1 (9779d9b)
1.4.2-dev.3 (2026-04-20)
1.4.2-dev.2 (2026-04-19)
- Update to Android tools 9.1.1 (9779d9b)
1.4.2-dev.1 (2026-04-19)
- Do not allow universal patches to be default on (12a4fc1)
1.4.1 (2026-04-18)
- Bump smali version (7c82594)
1.4.1-dev.1 (2026-04-18)
- Bump smali version (7c82594)
1.4.0 (2026-04-17)
- Separate out desugar libs into separate dex (7fc7a9e)
- Track deleted files in detectFileChanges so getDeletedFiles reports them (#107) (6264104)
- Write modified dex files to final APK when no resource patches are used (#109) (0f401c6)
- Add
matchAll(range)to validate the number of matches (#104) (b28d21a) - Add DEX/APK verification (#110) (61b5de0)
- Map dex files in memory to reduce memory requirements (#106) (85df75e)
- Optimize dex patching (#105) (4e70edb)
1.4.0-dev.7 (2026-04-17)
- Separate out desugar libs into separate dex (7fc7a9e)
1.4.0-dev.6 (2026-04-16)
1.4.0-dev.5 (2026-04-14)
1.4.0-dev.4 (2026-04-13)
1.4.0-dev.3 (2026-04-07)
1.4.0-dev.2 (2026-04-06)
1.4.0-dev.1 (2026-04-05)
1.3.3 (2026-03-28)
- Add Compatibility convenience constructor for patches with 'any' app target (5969af5)
- Handle matchAll when a class fingerprint exists (107f168)
1.3.3-dev.2 (2026-03-24)
- Handle matchAll when a class fingerprint exists (107f168)
1.3.3-dev.1 (2026-03-23)
- Add Compatibility convenience constructor for patches with 'any' app target (5969af5)
1.3.2 (2026-03-22)
1.3.2-dev.1 (2026-03-22)
1.3.1 (2026-03-22)
1.3.1-dev.1 (2026-03-22)
1.3.0 (2026-03-22)
- Changes to resources in RAW_ONLY mode were not being picked up (#78) (5dc1c48)
- RAW_ONLY handling on Windows, uncompressed files (#79) (c25e5f8)
- Set extractNativeLibs to value in manifest by default (#88) (5944eef)
- Speed up slow resource decoding for APKs with duplicate spec strings (#75) (6eff16e)
- Wire keepArchitectures to resource coders (d3519f8)
- Add
classFingerprintfield to Fingerprint (#71) (c808b09) - Add support for stripping native libraries (#83) (bc629ed)
- Expand Compatibility declaration (#73) (ed99716)
- Fingerprint matchAll() functionality (#87) (7660630)
1.3.0-dev.10 (2026-03-21)
1.3.0-dev.9 (2026-03-20)
1.3.0-dev.8 (2026-03-20)
1.3.0-dev.7 (2026-03-19)
- Wire keepArchitectures to resource coders (d3519f8)
1.3.0-dev.6 (2026-03-19)
1.3.0-dev.5 (2026-03-16)
1.3.0-dev.4 (2026-03-15)
1.3.0-dev.3 (2026-03-15)
1.3.0-dev.2 (2026-03-13)
1.3.0-dev.1 (2026-03-10)
1.2.0 (2026-03-07)
- Add missing XML namespaces when renaming package (#65) (6568009)
- Add some extension methods from morphe-library (c2b667b)
- additional use of streaming XML parser to speed up XML processing (#66) (b2d45df)
- Expand theme attribute references during XML processing (#69) (9a2f1ff)
- process generic item XML tags, only process modified XMLs instead of all XMLs (#67) (91e9624)
- Sanitize invalid XML characters in unpatched apk (#54) (86a4087)
- Sanitize strings.xml after decoding resources (#55) (4155343)
- Specify UTF-8 during XML processing to prevent encoding issues on Windows (#58) (842604d)
- Use streaming XML processing (#56) (e9d56d0)
- Add a version code field to
PackageMetadata(#47) (c8800fd) - Add public packageMetadata to
ResourcePatchContext(b2e7df8) - Decouple morphe-library and morphe-patcher (#60) (1785631)
- Use arsclib during resource encoding/decoding and fix memory leaks (#48) (7d0f837)
1.2.0-dev.13 (2026-03-05)
1.2.0-dev.12 (2026-03-05)
1.2.0-dev.11 (2026-03-02)
1.2.0-dev.10 (2026-03-02)
1.2.0-dev.9 (2026-02-28)
- Add some extension methods from morphe-library (c2b667b)
1.2.0-dev.8 (2026-02-28)
1.2.0-dev.7 (2026-02-28)
1.2.0-dev.6 (2026-02-26)
1.2.0-dev.5 (2026-02-25)
1.2.0-dev.4 (2026-02-24)
1.2.0-dev.3 (2026-02-21)
1.2.0-dev.2 (2026-02-21)
1.2.0-dev.1 (2026-02-09)
- Add public packageMetadata to
ResourcePatchContext(b2e7df8)
1.1.1 (2026-02-04)
1.1.1-dev.1 (2026-02-04)
1.1.0 (2026-02-02)
- Extend
methodCalldefining class/name toFingerprint, add additional defining class comparison methods (#38) (2a7b618)
- Add methods to find all classes by String (dcb13f3)
1.1.0-dev.1 (2026-02-01)
- Extend
methodCalldefining class/name toFingerprint, add additional defining class comparison methods (#38) (2a7b618)
1.0.2-dev.1 (2026-01-22)
- Add methods to find all classes by String (dcb13f3)
1.0.1 (2026-01-10)
- Allow
matchAfterWithin()to be used on the first filter (2fe26bc)
1.0.1-dev.1 (2026-01-08)
- Allow
matchAfterWithin()to be used on the first filter (2fe26bc)