mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2024-11-10 01:02:22 +01:00
799bc9e163
# [3.0.0](https://github.com/revanced/revanced-patcher/compare/v2.9.0...v3.0.0) (2022-08-02) ### Features * registry for patch options ([2431785
](2431785d0e
)) ### BREAKING CHANGES * Patch options now use the PatchOptions registry class instead of an Iterable. This change requires modifications to existing patches using this API.
48 KiB
48 KiB
3.0.0 (2022-08-02)
Features
- registry for patch options (2431785)
BREAKING CHANGES
- Patch options now use the PatchOptions registry class instead of an Iterable. This change requires modifications to existing patches using this API.
2.9.0 (2022-08-02)
Bug Fixes
- show error message instead of
null
(8d95b14)
Features
- exclusive mutable access to files (814ce0b)
2.8.0 (2022-08-01)
Bug Fixes
Features
2.7.0 (2022-08-01)
Features
Closeable
patches (bbd40bf)
2.6.0 (2022-07-31)
Features
2.5.2 (2022-07-24)
2.5.1 (2022-07-17)
Bug Fixes
- close stream when closing
DomFileEditor
(77604d4)
2.5.0 (2022-07-11)
Bug Fixes
- missing additional items [skip ci] (0ebab8b)
Features
2.4.0 (2022-07-09)
Features
- Improve Smali Compiler (6bfe571)
2.3.1 (2022-07-07)
Bug Fixes
2.3.0 (2022-07-05)
Features
2.2.2 (2022-07-04)
Bug Fixes
MethodWalker
not accounting for all reference instructions (48068cb)
2.2.1 (2022-07-03)
Bug Fixes
- more useful error message (4b2e323)
2.2.0 (2022-07-02)
Bug Fixes
- DomFileEditor opening in- and output streams on the same file (83187c9)
Features
2.2.0-dev.3 (2022-07-02)
Bug Fixes
- DomFileEditor opening in- and output streams on the same file (83187c9)
2.2.0-dev.2 (2022-07-02)
Features
- streams overload for
XmlFileHolder
(6f72c4c)
2.2.0-dev.1 (2022-07-02)
Features
- remove deprecated functions (ada5a03)
2.1.2 (2022-06-29)
Bug Fixes
- invert fingerprint resolution condition of
customFingerprint
(e2faf4c)
2.1.1 (2022-06-28)
2.1.0 (2022-06-28)
Features
- log failed patches due to failed dependencies (a467fbb)
2.0.4 (2022-06-27)
2.0.3 (2022-06-27)
2.0.2 (2022-06-27)
2.0.1 (2022-06-26)
Bug Fixes
- use
Exception
instead ofMethodNotFoundException
(2fc4ec4)
2.0.0 (2022-06-26)
Code Refactoring
- migrate from
Signature
toFingerprint
(efa8ea1)
BREAKING CHANGES
- Not backwards compatible, since a lot of classes where renamed.
1.11.0 (2022-06-24)
Features
1.10.2 (2022-06-23)
Bug Fixes
- dexlib must be propagated (b738dcd)
1.10.1 (2022-06-23)
Bug Fixes
1.10.0 (2022-06-23)
Features
- improve logging (c20dfe1)
1.9.0 (2022-06-22)
Bug Fixes
- callback for each file instead of class (930768d)
Features
- yield the patch result (dde5385)
1.8.0 (2022-06-22)
Features
- logging class (caf2745)
1.7.2 (2022-06-22)
Bug Fixes
1.7.1 (2022-06-22)
Reverts
- revert "feat: use of
java.util.logging.Logger
" (e8488b3)
1.7.0 (2022-06-22)
Features
- migrate logger to
slf4j
(8f66f9f)
1.6.0 (2022-06-22)
Features
- use of
java.util.logging.Logger
(9c39c9e)
1.5.0 (2022-06-22)
Features
- use streams to write the dex files (64bae88)
1.4.0 (2022-06-22)
Features
- return a
File
instance instead ofExtFile
(68174bb)
1.3.4 (2022-06-21)
Bug Fixes
String.toInstructions
defaultingforStaticMethod
tofalse
(5a2f02b), closes revanced/revanced-patches#46
1.3.3 (2022-06-21)
Bug Fixes
- add docs (trigger release) (6628b78)
Reverts
- propagate dependencies (365e1d7)
1.3.2 (2022-06-21)
Bug Fixes
- return resourceFile to caller (1f75777)
1.3.1 (2022-06-21)
Bug Fixes
InlineSmaliCompiler.compile
using 0 registers instead of 1 by default (835a421)
1.3.0 (2022-06-20)
Features
parametersCount
forInlineSmaliCompiler
instead ofparameters
(ad6c5c8)- simplify adding instructions (e47b67d)
1.2.9 (2022-06-20)
Bug Fixes
- update apktool (ab866bb)
1.2.8 (2022-06-18)
Bug Fixes
- update apktool (051afd9)
1.2.7 (2022-06-18)
Bug Fixes
- version not working with apktool due to cache (03f5ee0)
1.2.6 (2022-06-18)
Bug Fixes
- remove javadoc jar (also trigger release) (56f6ca3)
1.2.5 (2022-06-17)
Bug Fixes
- goodbye security (8f3ac77)
1.2.4 (2022-06-15)
Reverts
- "fix: enforce aapt v1" (dfd8a24)
1.2.3 (2022-06-14)
Bug Fixes
- enforce aapt v1 (cff87ff)
1.2.2 (2022-06-14)
Bug Fixes
- enforce aapt v2 (b68b0bf)
1.2.1 (2022-06-14)
Bug Fixes
- Patcher setting BuildOptions too late (6a5c873)
1.2.0 (2022-06-14)
Features
- allow custom framework path to be specified (d3a580e)
1.1.0 (2022-06-11)
Bug Fixes
Features
- allow custom aapt path to be specified (8eb4a8f)
1.0.0 (2022-06-05)
Bug Fixes
compareSignatureToMethod
not matching correctly in case opcodes are null (cca12aa)ConcurrentModificationException
while iterating throughproxies
and modifying it (6cb7cdb)JarPatchBundle
loading non-class files to class loader (849616d)PackageMetadata
(7399450)replaceWith
not replacing classes with used class proxies (4178a1e)- adding existing classes to the patchers cache (9659a61)
- always return PatchResultSuccess on patch success (996c4ac)
- applying no patches throwing error (5ca5a1c)
- applyPatches not returning successful patches (f806cb3)
- avoid ignoring test resources (fixes #1) (d5a3c76)
- Classes not being written properly because of array shifting (6e4db11)
- current must be calculated after increment (5f12bab)
- failing tests temporarily (fc05fe7)
- fix classes having multiple instances of fields (7cc8a7d)
- fix classes having multiple method instances (398239d)
- Fixed writer & signature resolver, improved tests & speed, minor refactoring (e6c2501)
- fuzzy resolver warning params were turned around (e5bea06)
- give ClassWriter a ClassReader for symtable (41749ba)
- gradle: publish source and javadocs (c236ebe)
- incorrect pattern offset (f3b5f67)
- Io: fix finding classes by name (b957501)
- Io: JAR loading and saving (#8) (310a7c4)
- make
methodMetadata
nullable inMethodSignatureMetadata
(4e56652) - make warnings nullable instead of lateinit (8f1a629)
- match to correct signature method parameters (1ee2e4b)
- MethodResolver: fix
cd57a8c9a0
(cbd8df2) - MethodResolver: strip labels and line numbers so opcode patterns match (699c730)
- MethodResolver: strip labels nodes so opcode patterns match (82c5306)
- MethodSignature#resolved throwing an exception (c612676)
- Move proxy package out of cache package (ce21bd6)
- null check causing an exception (338bd9f)
- nullable signature members (#10) (674461f)
- Patch should have access to the Cache (4dd820f)
- Patcher not writing resolved methods (fac44a5)
- qualifying
Element
with wrong package (024fa86) - reaching all constructors not possible (c459beb)
- reformat (trigger release) (bf48945)
- remove broken code (0e72a6e)
- remove dependency to fork of Apktool (11abc67)
- remove leftover debug code (0f30eac)
- return mutable set of classes (66a9b76)
- returning failure on success (48c4ea2)
- Search method map for existing class proxy (a1e909b)
- set index for insertAt to 0 by default (d5b4c99)
- set marklimit to Integer.MAX_VALUE (e6e468f)
- string signature in
SignatureResolver
(e5ae970) - Suppress unused for addFiles (3d6a1d3)
- throwing in case the opcode patterns do not match (3144ec8)
- use Array instead of Iterable for methodParameters (dfac8f0)
- using old instance of
Androlib
when saving (a4d8be2) - workflow on dev branch (428f7f4)
- write all classes (f068fc8)
Code Refactoring
- bump multidexlib2 to 2.5.2.r2 (a6c6b49)
- Change all references from Array to Iterable (72f3cad)
- convert Patch to abstract class (cb9b1b9)
- Optimize Signature class (#11) (7faa001)
- Rename
net.revanced
toapp.revanced
(7087230)
Features
Dependencies
annotation (893d4c6)PatchLoader
(ec9fd15)- Add
findParentMethod
utility method (#4) (bbb2c54) - add
MethodWalker
(7755bbc) - add
p
naming scheme to smali compiler (79909cf) - add extensions for cloning methods (01bfbd6)
- add findClass method with className (4087f49)
- Add first tests (544bcf7)
- add fuzzy resolver (7a56dca)
- add immutableMethod (c63b20f)
- add inline smali compiler (bfe4e3e)
- add missing test for fields (6b8b057)
- add or extension for AccessFlags (00c85b5)
- Add patch metadata (642e903), closes ReVancedTeam/revanced-patches#1
- add SafeClassWriter (6626014)
- Add warnings for Fuzzy resolver (715a2ad)
- allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called (1db735b)
- Allow unknown opcodes using
null
(0e5f4ba) - Finish first patcher test (0d8d19e)
- Improve
SignatureResolver
(139a23b) - migrate to
DexPatchBundle
andJarPatchBundle
(8615798) - migrate to dexlib (3651981)
- Minor refactor and return proxy, if class has been proxied already (4b26305)
- optional
forStaticMethod
parameter forInlineSmaliCompiler.compileMethodInstructions
(41e8860) - patch dependencies annotation and
PatcherOptions
(6c65952) - properly manage
ClassProxy
& addProxyBackedClassList
(6cb1fdf) - remaining mutable
EncodedValue
classes (3f97cc8) - string signature (#22) (612515a)
- use annotations instead of metadata objects (d20f7fd)
- utility functions to get metadata of patch & sigs (54511a4)
Performance Improvements
- check type instead of class (c7ef264)
- decode manifest only when not using resource patcher (4f60bea)
- depend on
androlib
instead ofApkDecoder
(cc9416d) - do not resolve empty signatures list (b1eebc9)
- lazy-ify all mutable clones (d18a3b6)
- optimize indexOf call away (9991f39)
- use Set instead of List since there are no dupes (e65ebd2)
- use String List and compare instead of any lambda (5bd416b)
Reverts
- AccessFlag extensions not working with IDE (0bfb92a)
- previous commits check for dupes in dexFile, not cache (e810197)
BREAKING CHANGES
- arrayOf has to be changed to listOf.
- Method signature of Patcher#save() was changed to comply with the changes of multidexlib2.
- Removed usage of ASM library
- Array was changed to IntArray. This breaks existing patches.
- Package name was changed from "net.revanced" to "app.revanced"
- Method signature of execute() was changed to include the cache, this will break existing implementations of the Patch class.
- Patch class is now an abstract class. You must implement it. You can use anonymous implements, like done in the tests.
1.0.0-dev.18 (2022-06-04)
Features
Dependencies
annotation (83d608a)- optional
forStaticMethod
parameter forInlineSmaliCompiler.compileMethodInstructions
(28b9847)
1.0.0-dev.17 (2022-05-31)
Features
- patch dependencies annotation and
PatcherOptions
(8442991)
1.0.0-dev.16 (2022-05-27)
Bug Fixes
JarPatchBundle
loading non-class files to class loader (3f0c740)- remove dependency to fork of Apktool (0fa529f)
Features
- migrate to
DexPatchBundle
andJarPatchBundle
(7573db2)
1.0.0-dev.15 (2022-05-25)
Features
- utility functions to get metadata of patch & sigs (72f16b7)
1.0.0-dev.14 (2022-05-24)
Bug Fixes
- reformat (trigger release) (45a167e)
1.0.0-dev.13 (2022-05-24)
Performance Improvements
- decode manifest only when not using resource patcher (40b1fa4)
1.0.0-dev.12 (2022-05-22)
Bug Fixes
- using old instance of
Androlib
when saving (5630e49)
1.0.0-dev.11 (2022-05-22)
Features
1.0.0-dev.10 (2022-05-07)
Bug Fixes
- qualifying
Element
with wrong package (4d74de4)
1.0.0-dev.9 (2022-05-07)
Bug Fixes
compareSignatureToMethod
not matching correctly in case opcodes are null (5ae5e98)ConcurrentModificationException
while iterating throughproxies
and modifying it (bfeeaf4)PackageMetadata
(305a817)replaceWith
not replacing classes with used class proxies (f0f3403)- adding existing classes to the patchers cache (4281546)
- always return PatchResultSuccess on patch success (866b03a)
- applying no patches throwing error (f88c118)
- applyPatches not returning successful patches (8b70bb4)
- Classes not being written properly because of array shifting (1471956)
- failing tests temporarily (66b08f8)
- fix classes having multiple instances of fields (b711b80)
- fix classes having multiple method instances (12c10d8)
- Fixed writer & signature resolver, improved tests & speed, minor refactoring (bb42fa3)
- fuzzy resolver warning params were turned around (d49df10)
- incorrect pattern offset (03700ff)
- make
methodMetadata
nullable inMethodSignatureMetadata
(864e38c) - make warnings nullable instead of lateinit (04b49b8)
- match to correct signature method parameters (c49071a)
- MethodSignature#resolved throwing an exception (82b1e66)
- Move proxy package out of cache package (6bc4e7e)
- null check causing an exception (560c485)
- Patcher not writing resolved methods (d15240d)
- reaching all constructors not possible (37fa994)
- remove leftover debug code (4458141)
- return mutable set of classes (84bc7e0)
- returning failure on success (3b68d5c)
- Search method map for existing class proxy (d5e694c)
- string signature in
SignatureResolver
(ac36d19) - Suppress unused for addFiles (a0d6d46)
- throwing in case the opcode patterns do not match (f72dd68)
- use Array instead of Iterable for methodParameters (312235b)
- write all classes (6ad51aa)
Code Refactoring
Features
- add
MethodWalker
(659e108) - add
p
naming scheme to smali compiler (38556d6) - add extensions for cloning methods (df7503b)
- add findClass method with className (78235d1)
- Add first tests (6767c8f)
- add fuzzy resolver (a492808)
- add immutableMethod (eed1cfd)
- add inline smali compiler (dbafe2a)
- add missing test for fields (4022b8b)
- add or extension for AccessFlags (aec5eeb)
- Add patch metadata (8544fc4), closes ReVancedTeam/revanced-patches#1
- Add warnings for Fuzzy resolver (643a14e)
- allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called (5f71a34)
- Allow unknown opcodes using
null
(f4a47d4) - Finish first patcher test (a9e4e8a)
- Improve
SignatureResolver
(88a6a27) - migrate to dexlib (be51f42)
- Minor refactor and return proxy, if class has been proxied already (2d3c611)
- properly manage
ClassProxy
& addProxyBackedClassList
(2319787) - remaining mutable
EncodedValue
classes (7d38bb0) - string signature (#22) (c245edb)
Performance Improvements
- depend on
androlib
instead ofApkDecoder
(e5c054a) - do not resolve empty signatures list (1f7bf3a)
- lazy-ify all mutable clones (05e4400)
- optimize indexOf call away (f8e978a)
- use Set instead of List since there are no dupes (6221387)
- use String List and compare instead of any lambda (aed4fd9)
Reverts
- AccessFlag extensions not working with IDE (e161f7f)
- previous commits check for dupes in dexFile, not cache (433914f)
BREAKING CHANGES
- arrayOf has to be changed to listOf.
- Method signature of Patcher#save() was changed to comply with the changes of multidexlib2.
- Removed usage of ASM library
1.0.0-dev.8 (2022-03-24)
Performance Improvements
- check type instead of class (47eb493)
1.0.0-dev.7 (2022-03-24)
Bug Fixes
- MethodResolver: fix
cd57a8c9a0
(1af31b2)
1.0.0-dev.6 (2022-03-24)
Bug Fixes
- MethodResolver: strip labels nodes so opcode patterns match (cd57a8c)
1.0.0-dev.5 (2022-03-24)
Bug Fixes
- MethodResolver: strip labels and line numbers so opcode patterns match (8d1bb5f)
1.0.0-dev.4 (2022-03-23)
Bug Fixes
- give ClassWriter a ClassReader for symtable (e8f6973)
1.0.0-dev.3 (2022-03-23)
Features
- add SafeClassWriter (ca6b94d)
1.0.0-dev.2 (2022-03-23)
Bug Fixes
- set marklimit to Integer.MAX_VALUE (ab6453c)
1.0.0-dev.1 (2022-03-23)
Bug Fixes
- avoid ignoring test resources (fixes #1) (d5a3c76)
- current must be calculated after increment (5f12bab)
- gradle: publish source and javadocs (87bbde5)
- Io: fix finding classes by name (460d62a)
- Io: JAR loading and saving (#8) (4d98cbc)
- nullable signature members (#10) (8db8893)
- Patch should have access to the Cache (6c0f082)
- remove broken code (0e72a6e)
- set index for insertAt to 0 by default (1769132)
- workflow on dev branch (7e67daf)
Code Refactoring
- convert Patch to abstract class (23e897a)
- Optimize Signature class (#11) (49beec9)
- Rename
net.revanced
toapp.revanced
(3ab42a9)
Features
BREAKING CHANGES
- Array was changed to IntArray. This breaks existing patches.
- Package name was changed from "net.revanced" to "app.revanced"
- Method signature of execute() was changed to include the cache, this will break existing implementations of the Patch class.
- Patch class is now an abstract class. You must implement it. You can use anonymous implements, like done in the tests.