mirror of
https://github.com/revanced/revanced-patcher.git
synced 2025-05-01 05:44:24 +02:00

# 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:** fix cd57a8c9a0db7e3ae5ad0bca202e5955930319ab ([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.
Patcher
Languages
Kotlin
100%