Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# 1.0.0 (2022-06-05) ### Bug Fixes * `compareSignatureToMethod` not matching correctly in case opcodes are null ([cca12aa](ReVanced@cca12aa)) * `ConcurrentModificationException` while iterating through `proxies` and modifying it ([6cb7cdb](ReVanced@6cb7cdb)) * `JarPatchBundle` loading non-class files to class loader ([849616d](ReVanced@849616d)) * `PackageMetadata` ([7399450](ReVanced@7399450)) * `replaceWith` not replacing classes with used class proxies ([4178a1e](ReVanced@4178a1e)) * adding existing classes to the patchers cache ([9659a61](ReVanced@9659a61)) * always return PatchResultSuccess on patch success ([996c4ac](ReVanced@996c4ac)) * applying no patches throwing error ([5ca5a1c](ReVanced@5ca5a1c)) * applyPatches not returning successful patches ([f806cb3](ReVanced@f806cb3)) * avoid ignoring test resources (fixes [ReVanced#1](ReVanced#1)) ([d5a3c76](ReVanced@d5a3c76)) * Classes not being written properly because of array shifting ([6e4db11](ReVanced@6e4db11)) * current must be calculated after increment ([5f12bab](ReVanced@5f12bab)) * failing tests temporarily ([fc05fe7](ReVanced@fc05fe7)) * fix classes having multiple instances of fields ([7cc8a7d](ReVanced@7cc8a7d)) * fix classes having multiple method instances ([398239d](ReVanced@398239d)) * Fixed writer & signature resolver, improved tests & speed, minor refactoring ([e6c2501](ReVanced@e6c2501)) * fuzzy resolver warning params were turned around ([e5bea06](ReVanced@e5bea06)) * give ClassWriter a ClassReader for symtable ([41749ba](ReVanced@41749ba)) * **gradle:** publish source and javadocs ([c236ebe](ReVanced@c236ebe)) * incorrect pattern offset ([f3b5f67](ReVanced@f3b5f67)) * **Io:** fix finding classes by name ([b957501](ReVanced@b957501)) * **Io:** JAR loading and saving ([ReVanced#8](ReVanced#8)) ([310a7c4](ReVanced@310a7c4)) * make `methodMetadata` nullable in `MethodSignatureMetadata` ([4e56652](ReVanced@4e56652)) * make warnings nullable instead of lateinit ([8f1a629](ReVanced@8f1a629)) * match to correct signature method parameters ([1ee2e4b](ReVanced@1ee2e4b)) * **MethodResolver:** fix cd57a8c ([cbd8df2](ReVanced@cbd8df2)) * **MethodResolver:** strip labels and line numbers so opcode patterns match ([699c730](ReVanced@699c730)) * **MethodResolver:** strip labels nodes so opcode patterns match ([82c5306](ReVanced@82c5306)) * MethodSignature#resolved throwing an exception ([c612676](ReVanced@c612676)) * Move proxy package out of cache package ([ce21bd6](ReVanced@ce21bd6)) * null check causing an exception ([338bd9f](ReVanced@338bd9f)) * nullable signature members ([ReVanced#10](ReVanced#10)) ([674461f](ReVanced@674461f)) * Patch should have access to the Cache ([4dd820f](ReVanced@4dd820f)) * Patcher not writing resolved methods ([fac44a5](ReVanced@fac44a5)) * qualifying `Element` with wrong package ([024fa86](ReVanced@024fa86)) * reaching all constructors not possible ([c459beb](ReVanced@c459beb)) * reformat (trigger release) ([bf48945](ReVanced@bf48945)) * remove broken code ([0e72a6e](ReVanced@0e72a6e)) * remove dependency to fork of Apktool ([11abc67](ReVanced@11abc67)) * remove leftover debug code ([0f30eac](ReVanced@0f30eac)) * return mutable set of classes ([66a9b76](ReVanced@66a9b76)) * returning failure on success ([48c4ea2](ReVanced@48c4ea2)) * Search method map for existing class proxy ([a1e909b](ReVanced@a1e909b)) * set index for insertAt to 0 by default ([d5b4c99](ReVanced@d5b4c99)) * set marklimit to Integer.MAX_VALUE ([e6e468f](ReVanced@e6e468f)) * string signature in `SignatureResolver` ([e5ae970](ReVanced@e5ae970)) * Suppress unused for addFiles ([3d6a1d3](ReVanced@3d6a1d3)) * throwing in case the opcode patterns do not match ([3144ec8](ReVanced@3144ec8)) * use Array instead of Iterable for methodParameters ([dfac8f0](ReVanced@dfac8f0)) * using old instance of `Androlib` when saving ([a4d8be2](ReVanced@a4d8be2)) * workflow on dev branch ([428f7f4](ReVanced@428f7f4)) * write all classes ([f068fc8](ReVanced@f068fc8)) ### Code Refactoring * bump multidexlib2 to 2.5.2.r2 ([a6c6b49](ReVanced@a6c6b49)) * Change all references from Array to Iterable ([72f3cad](ReVanced@72f3cad)) * convert Patch to abstract class ([cb9b1b9](ReVanced@cb9b1b9)) * Optimize Signature class ([ReVanced#11](ReVanced#11)) ([7faa001](ReVanced@7faa001)) * Rename `net.revanced` to `app.revanced` ([7087230](ReVanced@7087230)) ### Features * `Dependencies` annotation ([893d4c6](ReVanced@893d4c6)) * `PatchLoader` ([ec9fd15](ReVanced@ec9fd15)) * Add `findParentMethod` utility method ([ReVanced#4](ReVanced#4)) ([bbb2c54](ReVanced@bbb2c54)) * add `MethodWalker` ([7755bbc](ReVanced@7755bbc)) * add `p` naming scheme to smali compiler ([79909cf](ReVanced@79909cf)) * add extensions for cloning methods ([01bfbd6](ReVanced@01bfbd6)) * add findClass method with className ([4087f49](ReVanced@4087f49)) * Add first tests ([544bcf7](ReVanced@544bcf7)) * add fuzzy resolver ([7a56dca](ReVanced@7a56dca)) * add immutableMethod ([c63b20f](ReVanced@c63b20f)) * add inline smali compiler ([bfe4e3e](ReVanced@bfe4e3e)) * add missing test for fields ([6b8b057](ReVanced@6b8b057)) * add or extension for AccessFlags ([00c85b5](ReVanced@00c85b5)) * Add patch metadata ([642e903](ReVanced@642e903)), closes [ReVancedTeam/revanced-patches#1](https://github.com/ReVancedTeam/revanced-patches/issues/1) * add SafeClassWriter ([6626014](ReVanced@6626014)) * Add warnings for Fuzzy resolver ([715a2ad](ReVanced@715a2ad)) * allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([1db735b](ReVanced@1db735b)) * Allow unknown opcodes using `null` ([0e5f4ba](ReVanced@0e5f4ba)) * Finish first patcher test ([0d8d19e](ReVanced@0d8d19e)) * Improve `SignatureResolver` ([139a23b](ReVanced@139a23b)) * migrate to `DexPatchBundle` and `JarPatchBundle` ([8615798](ReVanced@8615798)) * migrate to dexlib ([3651981](ReVanced@3651981)) * Minor refactor and return proxy, if class has been proxied already ([4b26305](ReVanced@4b26305)) * optional `forStaticMethod` parameter for `InlineSmaliCompiler.compileMethodInstructions` ([41e8860](ReVanced@41e8860)) * patch dependencies annotation and `PatcherOptions` ([6c65952](ReVanced@6c65952)) * properly manage `ClassProxy` & add `ProxyBackedClassList` ([6cb1fdf](ReVanced@6cb1fdf)) * remaining mutable `EncodedValue` classes ([3f97cc8](ReVanced@3f97cc8)) * string signature ([ReVanced#22](ReVanced#22)) ([612515a](ReVanced@612515a)) * use annotations instead of metadata objects ([d20f7fd](ReVanced@d20f7fd)) * utility functions to get metadata of patch & sigs ([54511a4](ReVanced@54511a4)) ### Performance Improvements * check type instead of class ([c7ef264](ReVanced@c7ef264)) * decode manifest only when not using resource patcher ([4f60bea](ReVanced@4f60bea)) * depend on `androlib` instead of `ApkDecoder` ([cc9416d](ReVanced@cc9416d)) * do not resolve empty signatures list ([b1eebc9](ReVanced@b1eebc9)) * lazy-ify all mutable clones ([d18a3b6](ReVanced@d18a3b6)) * optimize indexOf call away ([9991f39](ReVanced@9991f39)) * use Set instead of List since there are no dupes ([e65ebd2](ReVanced@e65ebd2)) * use String List and compare instead of any lambda ([5bd416b](ReVanced@5bd416b)) ### Reverts * AccessFlag extensions not working with IDE ([0bfb92a](ReVanced@0bfb92a)) * previous commits check for dupes in dexFile, not cache ([e810197](ReVanced@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<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.
- Loading branch information