mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2026-01-11 05:46:16 +00:00
# [1.0.0-dev.9](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.8...v1.0.0-dev.9) (2022-05-07) ### Bug Fixes * `compareSignatureToMethod` not matching correctly in case opcodes are null ([5ae5e98](5ae5e98f1f)) * `ConcurrentModificationException` while iterating through `proxies` and modifying it ([bfeeaf4](bfeeaf4435)) * `PackageMetadata` ([305a817](305a81793a)) * `replaceWith` not replacing classes with used class proxies ([f0f3403](f0f34031dd)) * adding existing classes to the patchers cache ([4281546](4281546f69)) * always return PatchResultSuccess on patch success ([866b03a](866b03af21)) * applying no patches throwing error ([f88c118](f88c11820d)) * applyPatches not returning successful patches ([8b70bb4](8b70bb4290)) * Classes not being written properly because of array shifting ([1471956](147195647c)) * failing tests temporarily ([66b08f8](66b08f8b3a)) * fix classes having multiple instances of fields ([b711b80](b711b8001e)) * fix classes having multiple method instances ([12c10d8](12c10d8c64)) * Fixed writer & signature resolver, improved tests & speed, minor refactoring ([bb42fa3](bb42fa3c6f)) * fuzzy resolver warning params were turned around ([d49df10](d49df10a3c)) * incorrect pattern offset ([03700ff](03700ffa51)) * make `methodMetadata` nullable in `MethodSignatureMetadata` ([864e38c](864e38c069)) * make warnings nullable instead of lateinit ([04b49b8](04b49b8b66)) * match to correct signature method parameters ([c49071a](c49071aff7)) * MethodSignature#resolved throwing an exception ([82b1e66](82b1e66d54)) * Move proxy package out of cache package ([6bc4e7e](6bc4e7eab7)) * null check causing an exception ([560c485](560c485ab0)) * Patcher not writing resolved methods ([d15240d](d15240d033)) * reaching all constructors not possible ([37fa994](37fa9949ec)) * remove leftover debug code ([4458141](4458141d6d)) * return mutable set of classes ([84bc7e0](84bc7e0dc7)) * returning failure on success ([3b68d5c](3b68d5c65e)) * Search method map for existing class proxy ([d5e694c](d5e694c306)) * string signature in `SignatureResolver` ([ac36d19](ac36d19693)) * Suppress unused for addFiles ([a0d6d46](a0d6d46217)) * throwing in case the opcode patterns do not match ([f72dd68](f72dd68ec5)) * use Array instead of Iterable for methodParameters ([312235b](312235b194)) * write all classes ([6ad51aa](6ad51aad9a)) ### Code Refactoring * bump multidexlib2 to 2.5.2.r2 ([32e6458](32e645850d)) * Change all references from Array to Iterable ([264989f](264989f488)) ### Features * add `MethodWalker` ([659e108](659e1087c9)) * add `p` naming scheme to smali compiler ([38556d6](38556d61ab)) * add extensions for cloning methods ([df7503b](df7503b47b)) * add findClass method with className ([78235d1](78235d1abe)) * Add first tests ([6767c8f](6767c8fbc1)) * add fuzzy resolver ([a492808](a492808021)) * add immutableMethod ([eed1cfd](eed1cfda7b)) * add inline smali compiler ([dbafe2a](dbafe2ab37)) * add missing test for fields ([4022b8b](4022b8b847)) * add or extension for AccessFlags ([aec5eeb](aec5eeb597)) * Add patch metadata ([8544fc4](8544fc4cbc)), closes [ReVancedTeam/revanced-patches#1](https://github.com/ReVancedTeam/revanced-patches/issues/1) * Add warnings for Fuzzy resolver ([643a14e](643a14e664)) * allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([5f71a34](5f71a342ac)) * Allow unknown opcodes using `null` ([f4a47d4](f4a47d4dc8)) * Finish first patcher test ([a9e4e8a](a9e4e8ac32)) * Improve `SignatureResolver` ([88a6a27](88a6a27302)) * migrate to dexlib ([be51f42](be51f42710)) * Minor refactor and return proxy, if class has been proxied already ([2d3c611](2d3c61113d)) * properly manage `ClassProxy` & add `ProxyBackedClassList` ([2319787](23197879b2)) * remaining mutable `EncodedValue` classes ([7d38bb0](7d38bb0baa)) * string signature ([#22](https://github.com/revanced/revanced-patcher/issues/22)) ([c245edb](c245edb0c5)) ### Performance Improvements * depend on `androlib` instead of `ApkDecoder` ([e5c054a](e5c054ac2f)) * do not resolve empty signatures list ([1f7bf3a](1f7bf3ac6c)) * lazy-ify all mutable clones ([05e4400](05e44007d8)) * optimize indexOf call away ([f8e978a](f8e978af88)) * use Set instead of List since there are no dupes ([6221387](622138736d)) * use String List and compare instead of any lambda ([aed4fd9](aed4fd9a3c)) ### Reverts * AccessFlag extensions not working with IDE ([e161f7f](e161f7fea4)) * previous commits check for dupes in dexFile, not cache ([433914f](433914feda)) ### 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
14 KiB
14 KiB
1.0.0-dev.9 (2022-05-07)
Bug Fixes
compareSignatureToMethodnot matching correctly in case opcodes are null (5ae5e98)ConcurrentModificationExceptionwhile iterating throughproxiesand modifying it (bfeeaf4)PackageMetadata(305a817)replaceWithnot 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
methodMetadatanullable 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
pnaming 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
EncodedValueclasses (7d38bb0) - string signature (#22) (c245edb)
Performance Improvements
- depend on
androlibinstead 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.revancedtoapp.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.