compareSignatureToMethod
not matching correctly in case opcodes are null (5ae5e98)ConcurrentModificationException
while iterating throughproxies
and modifying it (bfeeaf4)JarPatchBundle
loading non-class files to class loader (3f0c740)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)
- avoid ignoring test resources (fixes #1) (d5a3c76)
- Classes not being written properly because of array shifting (1471956)
- current must be calculated after increment (5f12bab)
- 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)
- give ClassWriter a ClassReader for symtable (e8f6973)
- gradle: publish source and javadocs (87bbde5)
- incorrect pattern offset (03700ff)
- Io: fix finding classes by name (460d62a)
- Io: JAR loading and saving (#8) (4d98cbc)
- make
methodMetadata
nullable inMethodSignatureMetadata
(864e38c) - make warnings nullable instead of lateinit (04b49b8)
- match to correct signature method parameters (c49071a)
- MethodResolver: fix cd57a8c9a0db7e3ae5ad0bca202e5955930319ab (1af31b2)
- MethodResolver: strip labels and line numbers so opcode patterns match (8d1bb5f)
- MethodResolver: strip labels nodes so opcode patterns match (cd57a8c)
- MethodSignature#resolved throwing an exception (82b1e66)
- Move proxy package out of cache package (6bc4e7e)
- null check causing an exception (560c485)
- nullable signature members (#10) (8db8893)
- Patch should have access to the Cache (6c0f082)
- Patcher not writing resolved methods (d15240d)
- qualifying
Element
with wrong package (4d74de4) - reaching all constructors not possible (37fa994)
- reformat (trigger release) (45a167e)
- remove broken code (0e72a6e)
- remove dependency to fork of Apktool (0fa529f)
- remove leftover debug code (4458141)
- return mutable set of classes (84bc7e0)
- returning failure on success (3b68d5c)
- Search method map for existing class proxy (d5e694c)
- set index for insertAt to 0 by default (1769132)
- set marklimit to Integer.MAX_VALUE (ab6453c)
- 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)
- using old instance of
Androlib
when saving (5630e49) - workflow on dev branch (7e67daf)
- write all classes (6ad51aa)
- bump multidexlib2 to 2.5.2.r2 (32e6458)
- Change all references from Array to Iterable (264989f)
- convert Patch to abstract class (23e897a)
- Optimize Signature class (#11) (49beec9)
- Rename
net.revanced
toapp.revanced
(3ab42a9)
PatchLoader
(1a99eca)- Add
findParentMethod
utility method (#4) (00c6ab7) - 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 SafeClassWriter (ca6b94d)
- 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
DexPatchBundle
andJarPatchBundle
(7573db2) - migrate to dexlib (be51f42)
- Minor refactor and return proxy, if class has been proxied already (2d3c611)
- patch dependencies annotation and
PatcherOptions
(8442991) - properly manage
ClassProxy
& addProxyBackedClassList
(2319787) - remaining mutable
EncodedValue
classes (7d38bb0) - string signature (#22) (c245edb)
- use annotations instead of metadata objects (6726884)
- utility functions to get metadata of patch & sigs (72f16b7)
- check type instead of class (47eb493)
- decode manifest only when not using resource patcher (40b1fa4)
- 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)
- AccessFlag extensions not working with IDE (e161f7f)
- previous commits check for dupes in dexFile, not cache (433914f)
- 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.17 (2022-05-31)
- patch dependencies annotation and
PatcherOptions
(8442991)
1.0.0-dev.16 (2022-05-27)
JarPatchBundle
loading non-class files to class loader (3f0c740)- remove dependency to fork of Apktool (0fa529f)
- migrate to
DexPatchBundle
andJarPatchBundle
(7573db2)
1.0.0-dev.15 (2022-05-25)
- utility functions to get metadata of patch & sigs (72f16b7)
1.0.0-dev.14 (2022-05-24)
- reformat (trigger release) (45a167e)
1.0.0-dev.13 (2022-05-24)
- decode manifest only when not using resource patcher (40b1fa4)
1.0.0-dev.12 (2022-05-22)
- using old instance of
Androlib
when saving (5630e49)
1.0.0-dev.11 (2022-05-22)
1.0.0-dev.10 (2022-05-07)
- qualifying
Element
with wrong package (4d74de4)
1.0.0-dev.9 (2022-05-07)
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)
- 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)
- 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)
- AccessFlag extensions not working with IDE (e161f7f)
- previous commits check for dupes in dexFile, not cache (433914f)
- 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)
- check type instead of class (47eb493)
1.0.0-dev.7 (2022-03-24)
- MethodResolver: fix cd57a8c9a0db7e3ae5ad0bca202e5955930319ab (1af31b2)
1.0.0-dev.6 (2022-03-24)
- MethodResolver: strip labels nodes so opcode patterns match (cd57a8c)
1.0.0-dev.5 (2022-03-24)
- MethodResolver: strip labels and line numbers so opcode patterns match (8d1bb5f)
1.0.0-dev.4 (2022-03-23)
- give ClassWriter a ClassReader for symtable (e8f6973)
1.0.0-dev.3 (2022-03-23)
- add SafeClassWriter (ca6b94d)
1.0.0-dev.2 (2022-03-23)
- set marklimit to Integer.MAX_VALUE (ab6453c)
- 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)
- convert Patch to abstract class (23e897a)
- Optimize Signature class (#11) (49beec9)
- Rename
net.revanced
toapp.revanced
(3ab42a9)
- 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.