Skip to content

Commit

Permalink
chore(release): 1.0.0 [skip ci]
Browse files Browse the repository at this point in the history
# 1.0.0 (2022-11-05)

### Bug Fixes

* `compareSignatureToMethod` not matching correctly in case opcodes are null ([cca12aa](ThexXTURBOXx@cca12aa))
* `ConcurrentModificationException` while iterating through `proxies` and modifying it ([6cb7cdb](ThexXTURBOXx@6cb7cdb))
* `InlineSmaliCompiler.compile` using 0 registers instead of 1 by default ([835a421](ThexXTURBOXx@835a421))
* `JarPatchBundle` loading non-class files to class loader ([849616d](ThexXTURBOXx@849616d))
* `MethodWalker` not accounting for all reference instructions ([48068cb](ThexXTURBOXx@48068cb))
* `PackageMetadata` ([7399450](ThexXTURBOXx@7399450))
* `replaceWith` not replacing classes with used class proxies ([4178a1e](ThexXTURBOXx@4178a1e))
* `String.toInstructions` defaulting `forStaticMethod` to `false` ([5a2f02b](ThexXTURBOXx@5a2f02b)), closes [ReVanced/revanced-patches#46](ReVanced/revanced-patches#46)
* add docs (trigger release) ([6628b78](ThexXTURBOXx@6628b78))
* add execute permission to `./gradlew` file ([#46](https://github.com/ThexXTURBOXx/revanced-patcher/issues/46)) ([34f607a](ThexXTURBOXx@34f607a))
* add tests for PathOption ([d6308e1](ThexXTURBOXx@d6308e1))
* adding existing classes to the patchers cache ([9659a61](ThexXTURBOXx@9659a61))
* always return PatchResultSuccess on patch success ([996c4ac](ThexXTURBOXx@996c4ac))
* applying no patches throwing error ([5ca5a1c](ThexXTURBOXx@5ca5a1c))
* applyPatches not returning successful patches ([f806cb3](ThexXTURBOXx@f806cb3))
* avoid ignoring test resources (fixes [#1](https://github.com/ThexXTURBOXx/revanced-patcher/issues/1)) ([d5a3c76](ThexXTURBOXx@d5a3c76))
* broken deprecation message ([62aa295](ThexXTURBOXx@62aa295))
* callback for each file instead of class ([930768d](ThexXTURBOXx@930768d))
* callback only when inteded ([e3bf367](ThexXTURBOXx@e3bf367))
* check dependencies for resource patches ([9c07ffc](ThexXTURBOXx@9c07ffc))
* check if patch option requirement is met ([14a73bf](ThexXTURBOXx@14a73bf))
* Classes not being written properly because of array shifting ([6e4db11](ThexXTURBOXx@6e4db11))
* close open files ([#75](https://github.com/ThexXTURBOXx/revanced-patcher/issues/75)) ([123ad54](ThexXTURBOXx@123ad54))
* close stream when closing `DomFileEditor` ([77604d4](ThexXTURBOXx@77604d4))
* compare any methods parameters ([#101](https://github.com/ThexXTURBOXx/revanced-patcher/issues/101)) ([085a3a4](ThexXTURBOXx@085a3a4))
* current must be calculated after increment ([5f12bab](ThexXTURBOXx@5f12bab))
* dexlib must be propagated ([b738dcd](ThexXTURBOXx@b738dcd))
* DomFileEditor opening in- and output streams on the same file ([83187c9](ThexXTURBOXx@83187c9))
* enforce aapt v2 ([b68b0bf](ThexXTURBOXx@b68b0bf))
* failing tests temporarily ([fc05fe7](ThexXTURBOXx@fc05fe7))
* **fingerprint:** do not throw on `MethodFingerprint.result` getter ([2f7e62e](ThexXTURBOXx@2f7e62e))
* fix classes having multiple instances of fields ([7cc8a7d](ThexXTURBOXx@7cc8a7d))
* fix classes having multiple method instances ([398239d](ThexXTURBOXx@398239d))
* Fixed writer & signature resolver, improved tests & speed, minor refactoring ([e6c2501](ThexXTURBOXx@e6c2501))
* fuzzy resolver warning params were turned around ([e5bea06](ThexXTURBOXx@e5bea06))
* give ClassWriter a ClassReader for symtable ([41749ba](ThexXTURBOXx@41749ba))
* goodbye security ([8f3ac77](ThexXTURBOXx@8f3ac77))
* **gradle:** publish source and javadocs ([c236ebe](ThexXTURBOXx@c236ebe))
* handle null properly ([#64](https://github.com/ThexXTURBOXx/revanced-patcher/issues/64)) ([482af78](ThexXTURBOXx@482af78))
* handle option types and nulls properly ([aff4968](ThexXTURBOXx@aff4968))
* handle private companion objects ([ad3d332](ThexXTURBOXx@ad3d332))
* incorrect pattern offset ([f3b5f67](ThexXTURBOXx@f3b5f67))
* invalid type propagation in options ([b873228](ThexXTURBOXx@b873228)), closes [#98](https://github.com/ThexXTURBOXx/revanced-patcher/issues/98)
* invalid types for example options ([79f91e0](ThexXTURBOXx@79f91e0))
* invert fingerprint resolution condition of `customFingerprint` ([e2faf4c](ThexXTURBOXx@e2faf4c))
* **Io:** fix finding classes by name ([b957501](ThexXTURBOXx@b957501))
* **Io:** JAR loading and saving ([#8](https://github.com/ThexXTURBOXx/revanced-patcher/issues/8)) ([310a7c4](ThexXTURBOXx@310a7c4))
* make `methodMetadata` nullable in `MethodSignatureMetadata` ([4e56652](ThexXTURBOXx@4e56652))
* make patcher version public ([76c45dd](ThexXTURBOXx@76c45dd))
* make warnings nullable instead of lateinit ([8f1a629](ThexXTURBOXx@8f1a629))
* match to correct signature method parameters ([1ee2e4b](ThexXTURBOXx@1ee2e4b))
* **MethodResolver:** fix cd57a8c ([cbd8df2](ThexXTURBOXx@cbd8df2))
* **MethodResolver:** strip labels and line numbers so opcode patterns match ([699c730](ThexXTURBOXx@699c730))
* **MethodResolver:** strip labels nodes so opcode patterns match ([82c5306](ThexXTURBOXx@82c5306))
* MethodSignature#resolved throwing an exception ([c612676](ThexXTURBOXx@c612676))
* missing additional items [skip ci] ([0ebab8b](ThexXTURBOXx@0ebab8b))
* more useful error message ([4b2e323](ThexXTURBOXx@4b2e323))
* Move proxy package out of cache package ([ce21bd6](ThexXTURBOXx@ce21bd6))
* mutability of local variable `modified` ([0e87ef5](ThexXTURBOXx@0e87ef5))
* null check causing an exception ([338bd9f](ThexXTURBOXx@338bd9f))
* nullable signature members ([#10](https://github.com/ThexXTURBOXx/revanced-patcher/issues/10)) ([674461f](ThexXTURBOXx@674461f))
* only run list option check if not null ([4055939](ThexXTURBOXx@4055939))
* Patch should have access to the Cache ([4dd820f](ThexXTURBOXx@4dd820f))
* Patcher not writing resolved methods ([fac44a5](ThexXTURBOXx@fac44a5))
* Patcher setting BuildOptions too late ([6a5c873](ThexXTURBOXx@6a5c873))
* PathOption should be open, not sealed ([a562e47](ThexXTURBOXx@a562e47))
* qualifying `Element` with wrong package ([024fa86](ThexXTURBOXx@024fa86))
* reaching all constructors not possible ([c459beb](ThexXTURBOXx@c459beb))
* reformat (trigger release) ([bf48945](ThexXTURBOXx@bf48945))
* remove broken code ([0e72a6e](ThexXTURBOXx@0e72a6e))
* remove default param from Package.versions ([4b81318](ThexXTURBOXx@4b81318))
* remove dependency to fork of Apktool ([11abc67](ThexXTURBOXx@11abc67))
* remove javadoc jar (also trigger release) ([56f6ca3](ThexXTURBOXx@56f6ca3))
* remove leftover debug code ([0f30eac](ThexXTURBOXx@0f30eac))
* remove repeatable from PatchDeprecated ([6e73631](ThexXTURBOXx@6e73631))
* remove requirement for solution [skip ci] ([#80](https://github.com/ThexXTURBOXx/revanced-patcher/issues/80)) ([9a4d30e](ThexXTURBOXx@9a4d30e))
* resource patcher ([31815ca](ThexXTURBOXx@31815ca))
* return mutable set of classes ([66a9b76](ThexXTURBOXx@66a9b76))
* return resourceFile to caller ([1f75777](ThexXTURBOXx@1f75777))
* returning failure on success ([48c4ea2](ThexXTURBOXx@48c4ea2))
* revert soft dependencies ([7b2d058](ThexXTURBOXx@7b2d058))
* Search method map for existing class proxy ([a1e909b](ThexXTURBOXx@a1e909b))
* set index for insertAt to 0 by default ([d5b4c99](ThexXTURBOXx@d5b4c99))
* set marklimit to Integer.MAX_VALUE ([e6e468f](ThexXTURBOXx@e6e468f))
* show error message if cause is null ([f9da2ad](ThexXTURBOXx@f9da2ad))
* show error message instead of `null` ([8d95b14](ThexXTURBOXx@8d95b14))
* string signature in `SignatureResolver` ([e5ae970](ThexXTURBOXx@e5ae970))
* Suppress unused for addFiles ([3d6a1d3](ThexXTURBOXx@3d6a1d3))
* **tests:** access `patternScanResult` through `scanResult` ([76676fb](ThexXTURBOXx@76676fb))
* throwing in case the opcode patterns do not match ([3144ec8](ThexXTURBOXx@3144ec8))
* typo in ListOption ([3921648](ThexXTURBOXx@3921648))
* update apktool ([ab866bb](ThexXTURBOXx@ab866bb))
* update apktool ([051afd9](ThexXTURBOXx@051afd9))
* update apktool to fork ([566ecef](ThexXTURBOXx@566ecef))
* update workflow actions ([20caab2](ThexXTURBOXx@20caab2))
* use `Exception` instead of `MethodNotFoundException` ([2fc4ec4](ThexXTURBOXx@2fc4ec4))
* use Array instead of Iterable for methodParameters ([dfac8f0](ThexXTURBOXx@dfac8f0))
* use instruction index instead of strings list index for `StringMatch` ([843e62a](ThexXTURBOXx@843e62a))
* using old instance of `Androlib` when saving ([a4d8be2](ThexXTURBOXx@a4d8be2))
* version not working with apktool due to cache ([03f5ee0](ThexXTURBOXx@03f5ee0))
* workflow on dev branch ([428f7f4](ThexXTURBOXx@428f7f4))
* write all classes ([f068fc8](ThexXTURBOXx@f068fc8))
* wrong value for iterator in PatchOptions ([e31ac1f](ThexXTURBOXx@e31ac1f))

### Code Refactoring

* bump multidexlib2 to 2.5.2.r2 ([a6c6b49](ThexXTURBOXx@a6c6b49))
* Change all references from Array to Iterable ([72f3cad](ThexXTURBOXx@72f3cad))
* convert Patch to abstract class ([cb9b1b9](ThexXTURBOXx@cb9b1b9))
* Improve Patch Options ([6b909c1](ThexXTURBOXx@6b909c1))
* improve structuring of classes and their implementations ([4aa14bb](ThexXTURBOXx@4aa14bb))
* migrate from `Signature` to `Fingerprint` ([efa8ea1](ThexXTURBOXx@efa8ea1))
* Optimize Signature class ([#11](https://github.com/ThexXTURBOXx/revanced-patcher/issues/11)) ([7faa001](ThexXTURBOXx@7faa001))
* Rename `net.revanced` to `app.revanced` ([7087230](ThexXTURBOXx@7087230))

* refactor!: move utility methods from `MethodFingerprintUtils` `MethodFingerprint` ([d802ef8](ThexXTURBOXx@d802ef8))
* feat(fingerprint)!: `StringsScanResult` for `MethodFingerprint` ([3813e28](ThexXTURBOXx@3813e28))

### Features

* `Closeable` patches ([bbd40bf](ThexXTURBOXx@bbd40bf))
* `Dependencies` annotation ([893d4c6](ThexXTURBOXx@893d4c6))
* `parametersCount` for `InlineSmaliCompiler` instead of `parameters` ([ad6c5c8](ThexXTURBOXx@ad6c5c8))
* `PatchLoader` ([ec9fd15](ThexXTURBOXx@ec9fd15))
* Add `findParentMethod` utility method ([#4](https://github.com/ThexXTURBOXx/revanced-patcher/issues/4)) ([bbb2c54](ThexXTURBOXx@bbb2c54))
* add `MethodWalker` ([7755bbc](ThexXTURBOXx@7755bbc))
* add `p` naming scheme to smali compiler ([79909cf](ThexXTURBOXx@79909cf))
* add extensions for cloning methods ([01bfbd6](ThexXTURBOXx@01bfbd6))
* add findClass method with className ([4087f49](ThexXTURBOXx@4087f49))
* Add first tests ([544bcf7](ThexXTURBOXx@544bcf7))
* add fuzzy resolver ([7a56dca](ThexXTURBOXx@7a56dca))
* add getValue & setValue for PatchOption ([2572cd0](ThexXTURBOXx@2572cd0))
* add immutableMethod ([c63b20f](ThexXTURBOXx@c63b20f))
* add inline smali compiler ([bfe4e3e](ThexXTURBOXx@bfe4e3e))
* add missing test for fields ([6b8b057](ThexXTURBOXx@6b8b057))
* add or extension for AccessFlags ([00c85b5](ThexXTURBOXx@00c85b5))
* Add patch metadata ([642e903](ThexXTURBOXx@642e903)), closes [ReVancedTeam/revanced-patches#1](https://github.com/ReVancedTeam/revanced-patches/issues/1)
* add Patch#dependsOn extension ([523f67b](ThexXTURBOXx@523f67b))
* add PathOption back ([172655b](ThexXTURBOXx@172655b))
* add replace and remove extensions ([#50](https://github.com/ThexXTURBOXx/revanced-patcher/issues/50)) ([92ac5e4](ThexXTURBOXx@92ac5e4))
* add SafeClassWriter ([6626014](ThexXTURBOXx@6626014))
* Add warnings for Fuzzy resolver ([715a2ad](ThexXTURBOXx@715a2ad))
* allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([1db735b](ThexXTURBOXx@1db735b))
* allow custom aapt path to be specified ([8eb4a8f](ThexXTURBOXx@8eb4a8f))
* allow custom framework path to be specified ([d3a580e](ThexXTURBOXx@d3a580e))
* Allow unknown opcodes using `null` ([0e5f4ba](ThexXTURBOXx@0e5f4ba))
* default value for `Package.versions` annotation parameter ([131dedd](ThexXTURBOXx@131dedd))
* deprecation for patches ([80c2e80](ThexXTURBOXx@80c2e80))
* exclusive mutable access to files ([814ce0b](ThexXTURBOXx@814ce0b))
* feature request issue template ([1b39278](ThexXTURBOXx@1b39278))
* Finish first patcher test ([0d8d19e](ThexXTURBOXx@0d8d19e))
* Improve `SignatureResolver` ([139a23b](ThexXTURBOXx@139a23b))
* improve logging ([c20dfe1](ThexXTURBOXx@c20dfe1))
* Improve Smali Compiler ([6bfe571](ThexXTURBOXx@6bfe571))
* improved Patch Options ([e722e3f](ThexXTURBOXx@e722e3f))
* issue templates [skip ci] ([112bc99](ThexXTURBOXx@112bc99))
* log failed patches due to failed dependencies ([a467fbb](ThexXTURBOXx@a467fbb))
* logging class ([caf2745](ThexXTURBOXx@caf2745))
* migrate logger to `slf4j` ([8f66f9f](ThexXTURBOXx@8f66f9f))
* migrate to `DexPatchBundle` and `JarPatchBundle` ([8615798](ThexXTURBOXx@8615798))
* migrate to dexlib ([3651981](ThexXTURBOXx@3651981))
* Minor refactor and return proxy, if class has been proxied already ([4b26305](ThexXTURBOXx@4b26305))
* nullability for `BytecodePatch` constructor ([#59](https://github.com/ThexXTURBOXx/revanced-patcher/issues/59)) ([4ea030d](ThexXTURBOXx@4ea030d))
* nullable parameters ([7882a8d](ThexXTURBOXx@7882a8d))
* optional `forStaticMethod` parameter for `InlineSmaliCompiler.compileMethodInstructions` ([41e8860](ThexXTURBOXx@41e8860))
* patch dependencies annotation and `PatcherOptions` ([6c65952](ThexXTURBOXx@6c65952))
* patch options ([#81](https://github.com/ThexXTURBOXx/revanced-patcher/issues/81)) ([fbb09f3](ThexXTURBOXx@fbb09f3))
* PatchOptions#nullify to nullify an option ([371f0c4](ThexXTURBOXx@371f0c4))
* properly manage `ClassProxy` & add `ProxyBackedClassList` ([6cb1fdf](ThexXTURBOXx@6cb1fdf))
* registry for patch options ([2431785](ThexXTURBOXx@2431785))
* remaining mutable `EncodedValue` classes ([3f97cc8](ThexXTURBOXx@3f97cc8))
* remove deprecated functions ([ada5a03](ThexXTURBOXx@ada5a03))
* remove unused annotation `DirectPatternScanMethod` ([538b2a8](ThexXTURBOXx@538b2a8))
* remove unused annotation `SincePatcher` ([4ae9ad0](ThexXTURBOXx@4ae9ad0))
* remove unused extension `dependsOn` ([797286b](ThexXTURBOXx@797286b))
* remove unused patch extensions ([5583904](ThexXTURBOXx@5583904))
* return a `File` instance instead of `ExtFile` ([68174bb](ThexXTURBOXx@68174bb))
* RwLock for opening files in `DomFileEditor` ([db4348c](ThexXTURBOXx@db4348c))
* section `acknowledgements` for issue templates ([a0cb449](ThexXTURBOXx@a0cb449))
* simplify adding instructions ([e47b67d](ThexXTURBOXx@e47b67d))
* SincePatcher annotation ([25f74dc](ThexXTURBOXx@25f74dc))
* Soft Dependencies for Patches ([8c12f8d](ThexXTURBOXx@8c12f8d))
* streams overload for `XmlFileHolder` ([6f72c4c](ThexXTURBOXx@6f72c4c))
* string signature ([#22](https://github.com/ThexXTURBOXx/revanced-patcher/issues/22)) ([612515a](ThexXTURBOXx@612515a))
* use annotations instead of metadata objects ([d20f7fd](ThexXTURBOXx@d20f7fd))
* use streams to write the dex files ([64bae88](ThexXTURBOXx@64bae88))
* utility functions to get metadata of patch & sigs ([54511a4](ThexXTURBOXx@54511a4))
* validator for patch options ([4e2e772](ThexXTURBOXx@4e2e772))
* yield the patch result ([dde5385](ThexXTURBOXx@dde5385))

### Performance Improvements

* check type instead of class ([c7ef264](ThexXTURBOXx@c7ef264))
* decode manifest only when not using resource patcher ([4f60bea](ThexXTURBOXx@4f60bea))
* decode resources only when necessary ([3ba4be2](ThexXTURBOXx@3ba4be2))
* depend on `androlib` instead of `ApkDecoder` ([cc9416d](ThexXTURBOXx@cc9416d))
* do not resolve empty signatures list ([b1eebc9](ThexXTURBOXx@b1eebc9))
* **fingerprint:** do not resolve already resolved fingerprints ([4bfd7eb](ThexXTURBOXx@4bfd7eb))
* lazy-ify all mutable clones ([d18a3b6](ThexXTURBOXx@d18a3b6))
* make exception an object ([75d2be8](ThexXTURBOXx@75d2be8))
* optimize indexOf call away ([9991f39](ThexXTURBOXx@9991f39))
* use Set instead of List since there are no dupes ([e65ebd2](ThexXTURBOXx@e65ebd2))
* use String List and compare instead of any lambda ([5bd416b](ThexXTURBOXx@5bd416b))

### Reverts

* "fix: enforce aapt v1" ([dfd8a24](ThexXTURBOXx@dfd8a24))
* AccessFlag extensions not working with IDE ([0bfb92a](ThexXTURBOXx@0bfb92a))
* previous commits check for dupes in dexFile, not cache ([e810197](ThexXTURBOXx@e810197))
* propagate dependencies ([365e1d7](ThexXTURBOXx@365e1d7))
* revert breaking changes ([#106](https://github.com/ThexXTURBOXx/revanced-patcher/issues/106)) ([124332f](ThexXTURBOXx@124332f))

### BREAKING CHANGES

* various changes in which packages classes previously where and their implementation
* These extensions do not exist anymore and any use should be removed
* The extension does not exist anymore and any use should be removed
* The annotation does not exist anymore and any use should be removed
* Imports will have to be updated from `MethodFingerprintUtils` to `MethodFingerprint.Companion`.

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
* `MethodFingerprint` now has a field for `MethodFingerprintScanResult`. `MethodFingerprintScanResult` now holds the previous field `MethodFingerprint.patternScanResult`.

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
* Options has been moved from Patch to a new interface called OptionsContainer and are now handled entirely different. Make sure to check the examples to understand how it works.
* Patch options now use the PatchOptions registry class instead of an Iterable. This change requires modifications to existing patches using this API.
* Not backwards compatible, since a lot of classes where renamed.
* 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
semantic-release-bot committed Nov 5, 2022
1 parent 20caab2 commit 363fc96
Show file tree
Hide file tree
Showing 2 changed files with 247 additions and 1 deletion.
Loading

0 comments on commit 363fc96

Please sign in to comment.