mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2024-11-10 09:08:04 +01:00
1ce6098cad
# 1.0.0 (2022-06-05) ### Bug Fixes * `compareSignatureToMethod` not matching correctly in case opcodes are null ([cca12aa
](cca12aa34a
)) * `ConcurrentModificationException` while iterating through `proxies` and modifying it ([6cb7cdb
](6cb7cdb0b2
)) * `JarPatchBundle` loading non-class files to class loader ([849616d
](849616dc2b
)) * `PackageMetadata` ([7399450
](7399450139
)) * `replaceWith` not replacing classes with used class proxies ([4178a1e
](4178a1eedc
)) * adding existing classes to the patchers cache ([9659a61
](9659a61c5c
)) * always return PatchResultSuccess on patch success ([996c4ac
](996c4acb20
)) * applying no patches throwing error ([5ca5a1c
](5ca5a1c29e
)) * applyPatches not returning successful patches ([f806cb3
](f806cb38c5
)) * avoid ignoring test resources (fixes [#1](https://github.com/revanced/revanced-patcher/issues/1)) ([d5a3c76
](d5a3c76389
)) * Classes not being written properly because of array shifting ([6e4db11
](6e4db110c8
)) * current must be calculated after increment ([5f12bab
](5f12bab5df
)) * failing tests temporarily ([fc05fe7
](fc05fe79de
)) * fix classes having multiple instances of fields ([7cc8a7d
](7cc8a7dec3
)) * fix classes having multiple method instances ([398239d
](398239dc10
)) * Fixed writer & signature resolver, improved tests & speed, minor refactoring ([e6c2501
](e6c2501539
)) * fuzzy resolver warning params were turned around ([e5bea06
](e5bea06353
)) * give ClassWriter a ClassReader for symtable ([41749ba
](41749ba829
)) * **gradle:** publish source and javadocs ([c236ebe
](c236ebe078
)) * incorrect pattern offset ([f3b5f67
](f3b5f67b39
)) * **Io:** fix finding classes by name ([b957501
](b957501e70
)) * **Io:** JAR loading and saving ([#8](https://github.com/revanced/revanced-patcher/issues/8)) ([310a7c4
](310a7c446b
)) * make `methodMetadata` nullable in `MethodSignatureMetadata` ([4e56652
](4e56652429
)) * make warnings nullable instead of lateinit ([8f1a629
](8f1a629191
)) * match to correct signature method parameters ([1ee2e4b
](1ee2e4ba56
)) * **MethodResolver:** fixcd57a8c9a0
([cbd8df2
](cbd8df2df0
)) * **MethodResolver:** strip labels and line numbers so opcode patterns match ([699c730
](699c730a7c
)) * **MethodResolver:** strip labels nodes so opcode patterns match ([82c5306
](82c530650f
)) * MethodSignature#resolved throwing an exception ([c612676
](c612676543
)) * Move proxy package out of cache package ([ce21bd6
](ce21bd60f3
)) * null check causing an exception ([338bd9f
](338bd9f739
)) * nullable signature members ([#10](https://github.com/revanced/revanced-patcher/issues/10)) ([674461f
](674461f08d
)) * Patch should have access to the Cache ([4dd820f
](4dd820ffdf
)) * Patcher not writing resolved methods ([fac44a5
](fac44a50c3
)) * qualifying `Element` with wrong package ([024fa86
](024fa867e1
)) * reaching all constructors not possible ([c459beb
](c459beb5f8
)) * reformat (trigger release) ([bf48945
](bf4894592b
)) * remove broken code ([0e72a6e
](0e72a6e85f
)) * remove dependency to fork of Apktool ([11abc67
](11abc67d9a
)) * remove leftover debug code ([0f30eac
](0f30eac32c
)) * return mutable set of classes ([66a9b76
](66a9b76845
)) * returning failure on success ([48c4ea2
](48c4ea2f6d
)) * Search method map for existing class proxy ([a1e909b
](a1e909b163
)) * set index for insertAt to 0 by default ([d5b4c99
](d5b4c99c00
)) * set marklimit to Integer.MAX_VALUE ([e6e468f
](e6e468fbb5
)) * string signature in `SignatureResolver` ([e5ae970
](e5ae970009
)) * Suppress unused for addFiles ([3d6a1d3
](3d6a1d38f3
)) * throwing in case the opcode patterns do not match ([3144ec8
](3144ec872a
)) * use Array instead of Iterable for methodParameters ([dfac8f0
](dfac8f03a3
)) * using old instance of `Androlib` when saving ([a4d8be2
](a4d8be20fc
)) * workflow on dev branch ([428f7f4
](428f7f4dec
)) * write all classes ([f068fc8
](f068fc87ff
)) ### Code Refactoring * bump multidexlib2 to 2.5.2.r2 ([a6c6b49
](a6c6b4979a
)) * Change all references from Array to Iterable ([72f3cad
](72f3cad3f9
)) * convert Patch to abstract class ([cb9b1b9
](cb9b1b9416
)) * Optimize Signature class ([#11](https://github.com/revanced/revanced-patcher/issues/11)) ([7faa001
](7faa001406
)) * Rename `net.revanced` to `app.revanced` ([7087230
](70872307e3
)) ### Features * `Dependencies` annotation ([893d4c6
](893d4c699b
)) * `PatchLoader` ([ec9fd15
](ec9fd15f9b
)) * Add `findParentMethod` utility method ([#4](https://github.com/revanced/revanced-patcher/issues/4)) ([bbb2c54
](bbb2c547aa
)) * add `MethodWalker` ([7755bbc
](7755bbc645
)) * add `p` naming scheme to smali compiler ([79909cf
](79909cf260
)) * add extensions for cloning methods ([01bfbd6
](01bfbd656e
)) * add findClass method with className ([4087f49
](4087f49863
)) * Add first tests ([544bcf7
](544bcf76bd
)) * add fuzzy resolver ([7a56dca
](7a56dca004
)) * add immutableMethod ([c63b20f
](c63b20fa65
)) * add inline smali compiler ([bfe4e3e
](bfe4e3e298
)) * add missing test for fields ([6b8b057
](6b8b0573d4
)) * add or extension for AccessFlags ([00c85b5
](00c85b5d75
)) * Add patch metadata ([642e903
](642e9031eb
)), closes [ReVancedTeam/revanced-patches#1](https://github.com/ReVancedTeam/revanced-patches/issues/1) * add SafeClassWriter ([6626014
](6626014ef3
)) * Add warnings for Fuzzy resolver ([715a2ad
](715a2ad025
)) * allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([1db735b
](1db735b1e2
)) * Allow unknown opcodes using `null` ([0e5f4ba
](0e5f4ba2d5
)) * Finish first patcher test ([0d8d19e
](0d8d19e708
)) * Improve `SignatureResolver` ([139a23b
](139a23b750
)) * migrate to `DexPatchBundle` and `JarPatchBundle` ([8615798
](8615798711
)) * migrate to dexlib ([3651981
](3651981161
)) * Minor refactor and return proxy, if class has been proxied already ([4b26305
](4b26305bd5
)) * optional `forStaticMethod` parameter for `InlineSmaliCompiler.compileMethodInstructions` ([41e8860
](41e88605c3
)) * patch dependencies annotation and `PatcherOptions` ([6c65952
](6c65952d80
)) * properly manage `ClassProxy` & add `ProxyBackedClassList` ([6cb1fdf
](6cb1fdf617
)) * remaining mutable `EncodedValue` classes ([3f97cc8
](3f97cc8e1f
)) * string signature ([#22](https://github.com/revanced/revanced-patcher/issues/22)) ([612515a
](612515acf8
)) * use annotations instead of metadata objects ([d20f7fd
](d20f7fd6e1
)) * utility functions to get metadata of patch & sigs ([54511a4
](54511a4fc6
)) ### Performance Improvements * check type instead of class ([c7ef264
](c7ef2644d8
)) * decode manifest only when not using resource patcher ([4f60bea
](4f60bea81e
)) * depend on `androlib` instead of `ApkDecoder` ([cc9416d
](cc9416dd11
)) * do not resolve empty signatures list ([b1eebc9
](b1eebc99a7
)) * lazy-ify all mutable clones ([d18a3b6
](d18a3b6a28
)) * optimize indexOf call away ([9991f39
](9991f39c9a
)) * use Set instead of List since there are no dupes ([e65ebd2
](e65ebd27c2
)) * use String List and compare instead of any lambda ([5bd416b
](5bd416b409
)) ### Reverts * AccessFlag extensions not working with IDE ([0bfb92a
](0bfb92a0cb
)) * previous commits check for dupes in dexFile, not cache ([e810197
](e810197e2a
)) ### 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<Int> 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.
33 KiB
33 KiB
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.