Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Patch Options CLI implementation #132

Merged
merged 2 commits into from
Sep 8, 2022
Merged

feat: Patch Options CLI implementation #132

merged 2 commits into from
Sep 8, 2022

Conversation

Sculas
Copy link
Contributor

@Sculas Sculas commented Sep 8, 2022

This PR implements Patch Options for the CLI.

When the CLI is first run, it creates a options.toml file containing all Patch Options if the file does not exist. Defaults are added if they don't exist yet. Being able to supply options via CLI is for a future PR.

This file currently looks like this:

['custom-branding']
appName = "YouTube ReVanced Testing"
appIconPath = "null"

[theme]
theme = "Amoled"

I chose TOML because it's the de-facto standard for configuration/options. It's also the most straightforward format to edit, and the library I used is lightweight.

Added CLI args:

  • --options custom-options.toml - use a different options toml file, default options.toml

@Sculas Sculas self-assigned this Sep 8, 2022
@Sculas Sculas merged commit 3f5345a into main Sep 8, 2022
@Sculas Sculas deleted the feat/patch-options branch September 8, 2022 20:35
github-actions bot pushed a commit that referenced this pull request Sep 8, 2022
# [2.10.0](v2.9.10...v2.10.0) (2022-09-08)

### Features

* Patch Options CLI implementation ([#132](#132)) ([3f5345a](3f5345a))
@github-actions
Copy link

github-actions bot commented Sep 8, 2022

🎉 This PR is included in version 2.10.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@AMSAMSAMSAMS
Copy link

then how to remove that Amoled in theme?

@Sculas
Copy link
Contributor Author

Sculas commented Sep 9, 2022

You mean disable amoled theme? Exclude the theme patch.

@Crescendo-BLYAT
Copy link

yes, how to?
I tried to omit the theme part but it keeps coming back while patching...
I even used: -e amoled

changing it to Dark or null in the options.toml will spew out error.

@Sculas
Copy link
Contributor Author

Sculas commented Sep 9, 2022

-e theme -e amoled

@Crescendo-BLYAT
Copy link

-e theme -e amoled

thanks a lot...

github-actions bot pushed a commit to ThexXTURBOXx/revanced-cli that referenced this pull request Nov 5, 2022
# 1.0.0 (2022-11-05)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/ThexXTURBOXx/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* align every file ([96ec6a0](96ec6a0))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* deploy to `adb` ([f9b987e](f9b987e))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* fix noSuchMethodError ([00fec25](00fec25))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/ThexXTURBOXx/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* keystore file not found exception ([ReVanced#57](https://github.com/ThexXTURBOXx/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log not showing in CLI  ([ReVanced#80](https://github.com/ThexXTURBOXx/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/ThexXTURBOXx/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/ThexXTURBOXx/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/ThexXTURBOXx/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/ThexXTURBOXx/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* update workflow actions ([fc5897a](fc5897a))
* use absolute file path for key store ([d335846](d335846))
* use latest version of patches dependency ([029f1ad](029f1ad))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/ThexXTURBOXx/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/ThexXTURBOXx/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/ThexXTURBOXx/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/ThexXTURBOXx/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add CLI ([6664f49](6664f49))
* add logging back ([4a23cb6](4a23cb6))
* add option to specify keystore file path ([9331594](9331594))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/ThexXTURBOXx/revanced-cli/issues/42)) ([b977d70](b977d70))
* better output for excluded patches ([ReVanced#77](https://github.com/ThexXTURBOXx/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* check, if input file exists ([b6dff6d](b6dff6d))
* debugging option ([1b645c6](1b645c6))
* handle unmounting deleted files ([ReVanced#148](https://github.com/ThexXTURBOXx/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* improve logging ([df85fa3](df85fa3))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/ThexXTURBOXx/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* remove extra zipalign step ([ReVanced#106](https://github.com/ThexXTURBOXx/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/ThexXTURBOXx/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/ThexXTURBOXx/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* support for `--install` ([d1ceab4](d1ceab4))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/ThexXTURBOXx/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/ThexXTURBOXx/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to chiraitori/revanced-cli that referenced this pull request Dec 13, 2022
# 1.0.0 (2022-12-13)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/tathaha/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* align every file ([96ec6a0](96ec6a0))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* deploy to `adb` ([f9b987e](f9b987e))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* fix noSuchMethodError ([00fec25](00fec25))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/tathaha/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* keystore file not found exception ([ReVanced#57](https://github.com/tathaha/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log not showing in CLI  ([ReVanced#80](https://github.com/tathaha/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/tathaha/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/tathaha/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/tathaha/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/tathaha/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* use latest version of patches dependency ([029f1ad](029f1ad))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/tathaha/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/tathaha/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/tathaha/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/tathaha/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add CLI ([6664f49](6664f49))
* add logging back ([4a23cb6](4a23cb6))
* add option to specify keystore file path ([9331594](9331594))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/tathaha/revanced-cli/issues/42)) ([b977d70](b977d70))
* better output for excluded patches ([ReVanced#77](https://github.com/tathaha/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* check, if input file exists ([b6dff6d](b6dff6d))
* debugging option ([1b645c6](1b645c6))
* do not warn on incompatible packages ([39e377b](39e377b))
* handle unmounting deleted files ([ReVanced#148](https://github.com/tathaha/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* improve logging ([df85fa3](df85fa3))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/tathaha/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* remove extra zipalign step ([ReVanced#106](https://github.com/tathaha/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/tathaha/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/tathaha/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* support for `--install` ([d1ceab4](d1ceab4))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/tathaha/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/tathaha/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to shadow578/revanced-cli that referenced this pull request Dec 23, 2022
# 1.0.0 (2022-12-23)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/shadow578/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* align every file ([96ec6a0](96ec6a0))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* deploy to `adb` ([f9b987e](f9b987e))
* don't log when package is incompatible and `exclusive` option is used ([ad81a1b](ad81a1b))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* exclude patcher dependency from minimizing ([d5794b9](d5794b9))
* fix noSuchMethodError ([00fec25](00fec25))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/shadow578/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* invalid header when writing a `ZipFile` ([ReVanced#169](https://github.com/shadow578/revanced-cli/issues/169)) ([6e703eb](6e703eb))
* keystore file not found exception ([ReVanced#57](https://github.com/shadow578/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log not showing in CLI  ([ReVanced#80](https://github.com/shadow578/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/shadow578/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/shadow578/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/shadow578/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* start with uppercase in log message ([ae91b0d](ae91b0d))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/shadow578/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* use correct prefix in log message ([1a67cd8](1a67cd8))
* use latest version of patches dependency ([029f1ad](029f1ad))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/shadow578/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/shadow578/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/shadow578/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/shadow578/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add CLI ([6664f49](6664f49))
* add logging back ([4a23cb6](4a23cb6))
* add option to specify keystore file path ([9331594](9331594))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/shadow578/revanced-cli/issues/42)) ([b977d70](b977d70))
* better output for excluded patches ([ReVanced#77](https://github.com/shadow578/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* check, if input file exists ([b6dff6d](b6dff6d))
* debugging option ([1b645c6](1b645c6))
* do not warn on incompatible packages ([39e377b](39e377b))
* handle unmounting deleted files ([ReVanced#148](https://github.com/shadow578/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* improve logging ([df85fa3](df85fa3))
* improve missing compatibility annotation tracing log ([2c7eb72](2c7eb72))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/shadow578/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* remove extra zipalign step ([ReVanced#106](https://github.com/shadow578/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/shadow578/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/shadow578/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* simplify log message ([74d73ca](74d73ca))
* support for `--install` ([d1ceab4](d1ceab4))
* trace logs when compatibility annotation is missing ([ReVanced#166](https://github.com/shadow578/revanced-cli/issues/166)) ([c590bf5](c590bf5))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/shadow578/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/shadow578/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to mikjori/revanced-cli that referenced this pull request Dec 28, 2022
# 1.0.0 (2022-12-28)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/mikjori/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* align every file ([96ec6a0](96ec6a0))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* deploy to `adb` ([f9b987e](f9b987e))
* don't log when package is incompatible and `exclusive` option is used ([ad81a1b](ad81a1b))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* exclude patcher dependency from minimizing ([d5794b9](d5794b9))
* fix noSuchMethodError ([00fec25](00fec25))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/mikjori/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* invalid header when writing a `ZipFile` ([ReVanced#169](https://github.com/mikjori/revanced-cli/issues/169)) ([6e703eb](6e703eb))
* keystore file not found exception ([ReVanced#57](https://github.com/mikjori/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log not showing in CLI  ([ReVanced#80](https://github.com/mikjori/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/mikjori/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/mikjori/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/mikjori/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* start with uppercase in log message ([ae91b0d](ae91b0d))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/mikjori/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* use correct prefix in log message ([1a67cd8](1a67cd8))
* use latest version of patches dependency ([029f1ad](029f1ad))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/mikjori/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/mikjori/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/mikjori/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/mikjori/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add CLI ([6664f49](6664f49))
* add logging back ([4a23cb6](4a23cb6))
* add option to specify keystore file path ([9331594](9331594))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/mikjori/revanced-cli/issues/42)) ([b977d70](b977d70))
* better output for excluded patches ([ReVanced#77](https://github.com/mikjori/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* check, if input file exists ([b6dff6d](b6dff6d))
* debugging option ([1b645c6](1b645c6))
* do not warn on incompatible packages ([39e377b](39e377b))
* handle unmounting deleted files ([ReVanced#148](https://github.com/mikjori/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* improve logging ([df85fa3](df85fa3))
* improve missing compatibility annotation tracing log ([2c7eb72](2c7eb72))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/mikjori/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* remove extra zipalign step ([ReVanced#106](https://github.com/mikjori/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/mikjori/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/mikjori/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* simplify log message ([74d73ca](74d73ca))
* support for `--install` ([d1ceab4](d1ceab4))
* trace logs when compatibility annotation is missing ([ReVanced#166](https://github.com/mikjori/revanced-cli/issues/166)) ([c590bf5](c590bf5))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/mikjori/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/mikjori/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to TanNhatCMS/revanced-cli that referenced this pull request Jun 29, 2023
# 1.0.0 (2023-06-29)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/TanNhatCMS/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* align every file ([96ec6a0](96ec6a0))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* bump patcher dependency version ([51c04b7](51c04b7))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* correct spelling mistake ([31fb316](31fb316))
* correctly word option descriptions ([ac3a8f6](ac3a8f6))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* deploy to `adb` ([f9b987e](f9b987e))
* do not list compatible packages if patches do not define them ([31e4a41](31e4a41))
* don't log when package is incompatible and `exclusive` option is used ([ad81a1b](ad81a1b))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* exclude patcher dependency from minimizing ([d5794b9](d5794b9))
* fix noSuchMethodError ([00fec25](00fec25))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/TanNhatCMS/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* invalid header when writing a `ZipFile` ([ReVanced#169](https://github.com/TanNhatCMS/revanced-cli/issues/169)) ([6e703eb](6e703eb))
* keystore file not found exception ([ReVanced#57](https://github.com/TanNhatCMS/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log not showing in CLI  ([ReVanced#80](https://github.com/TanNhatCMS/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/TanNhatCMS/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/TanNhatCMS/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove duplicate options entries. ([d0fc886](d0fc886))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/TanNhatCMS/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* start with uppercase in log message ([ae91b0d](ae91b0d))
* **tests:** set order of tests ([2ef48af](2ef48af))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/TanNhatCMS/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* use correct prefix in log message ([1a67cd8](1a67cd8))
* use latest version of patches dependency ([029f1ad](029f1ad))
* use working JADB dependency version ([ReVanced#222](https://github.com/TanNhatCMS/revanced-cli/issues/222)) ([da2c918](da2c918))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/TanNhatCMS/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/TanNhatCMS/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/TanNhatCMS/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/TanNhatCMS/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* add appreciation message for new contributors ([6962fc2](6962fc2))
* Add CLI ([6664f49](6664f49))
* add logging back ([4a23cb6](4a23cb6))
* add option to specify keystore file path ([9331594](9331594))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/TanNhatCMS/revanced-cli/issues/42)) ([b977d70](b977d70))
* better output for excluded patches ([ReVanced#77](https://github.com/TanNhatCMS/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* check, if input file exists ([b6dff6d](b6dff6d))
* connect to first device if given device was not found ([6485e47](6485e47))
* debugging option ([1b645c6](1b645c6))
* do not warn on incompatible packages ([39e377b](39e377b))
* handle unmounting deleted files ([ReVanced#148](https://github.com/TanNhatCMS/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* improve description of options ([ReVanced#185](https://github.com/TanNhatCMS/revanced-cli/issues/185)) ([b69e784](b69e784))
* improve logging ([df85fa3](df85fa3))
* improve missing compatibility annotation tracing log ([2c7eb72](2c7eb72))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/TanNhatCMS/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* remove extra zipalign step ([ReVanced#106](https://github.com/TanNhatCMS/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove option `--with-descriptions` ([07a423b](07a423b))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* rip-lib and unsigned ([6195039](6195039))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/TanNhatCMS/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/TanNhatCMS/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* simplify log message ([74d73ca](74d73ca))
* support for `--install` ([d1ceab4](d1ceab4))
* trace logs when compatibility annotation is missing ([ReVanced#166](https://github.com/TanNhatCMS/revanced-cli/issues/166)) ([c590bf5](c590bf5))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/TanNhatCMS/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/TanNhatCMS/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to FiorenMas/revanced-cli that referenced this pull request Feb 5, 2024
# 1.0.0 (2024-02-05)

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/FiorenMas/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* Add missing punctuation in command description ([8210351](8210351))
* align every file ([96ec6a0](96ec6a0))
* also delete temporary files when uninstalling ([52c3be2](52c3be2))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* bump patcher dependency version ([51c04b7](51c04b7))
* check for package compatibility at first ([9fe5a0b](9fe5a0b))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* Check, if mounting is possible ([3e13fb5](3e13fb5))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* correct spelling mistake ([31fb316](31fb316))
* Correct warning message ([ba573f7](ba573f7))
* correctly word option descriptions ([ac3a8f6](ac3a8f6))
* Create options if it does not exist when updating them ([ca809f0](ca809f0))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* Delete temporal files if it exists ([a022feb](a022feb))
* delete temporary files after root installation ([a3d8705](a3d8705))
* deploy to `adb` ([f9b987e](f9b987e))
* do not delete output file ([0f3e090](0f3e090))
* do not filter explicitly included patches ([a3d8f00](a3d8f00))
* do not list compatible packages if patches do not define them ([31e4a41](31e4a41))
* Do not sign if mounting ([578e16b](578e16b))
* do not use absolute path from custom AAPT2 binary option ([a9c2a5f](a9c2a5f))
* don't log when package is incompatible and `exclusive` option is used ([ad81a1b](ad81a1b))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* exclude patcher dependency from minimizing ([d5794b9](d5794b9))
* Filter logs correctly ([43fc20d](43fc20d))
* filtration of patches malfunctioning ([2d5a7fd](2d5a7fd))
* fix noSuchMethodError ([00fec25](00fec25))
* fix running commands not running ([2c7fcaf](2c7fcaf))
* Fix typo ([ReVanced#300](https://github.com/FiorenMas/revanced-cli/issues/300)) ([9d96bb7](9d96bb7))
* format patches input ([bbb1a63](bbb1a63))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/FiorenMas/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* invalid header when writing a `ZipFile` ([ReVanced#169](https://github.com/FiorenMas/revanced-cli/issues/169)) ([6e703eb](6e703eb))
* keystore file not found exception ([ReVanced#57](https://github.com/FiorenMas/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log correct options command ([ReVanced#262](https://github.com/FiorenMas/revanced-cli/issues/262)) ([96c196d](96c196d))
* Log logs with levels over warning to error output stream ([075f6ad](075f6ad))
* Log not showing in CLI  ([ReVanced#80](https://github.com/FiorenMas/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/FiorenMas/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* Move file to output even when mounting ([59dfc98](59dfc98))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/FiorenMas/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only check once for patch options ([11c3a6c](11c3a6c))
* Only open files for reading and writing if writeable ([3846f72](3846f72))
* Only set options for filtered patches ([64d9127](64d9127))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* print original instead of kebab cased names ([5eaad33](5eaad33))
* print stack trace when a patch failed ([924c1f8](924c1f8))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove duplicate options entries. ([d0fc886](d0fc886))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/FiorenMas/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* specify correct class containing entry-point ([1fcc591](1fcc591))
* start with uppercase in log message ([ae91b0d](ae91b0d))
* **tests:** set order of tests ([2ef48af](2ef48af))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/FiorenMas/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* use correct option name ([f8972ea](f8972ea))
* use correct prefix in log message ([1a67cd8](1a67cd8))
* use latest version of patches dependency ([029f1ad](029f1ad))
* Use punctuation in option descriptions ([da4469f](da4469f))
* use working JADB dependency version ([ReVanced#222](https://github.com/FiorenMas/revanced-cli/issues/222)) ([da2c918](da2c918))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

* refactor!: restructure code ([07da528](07da528))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/FiorenMas/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/FiorenMas/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/FiorenMas/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/FiorenMas/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add `list-versions` command ([a974b8e](a974b8e))
* add appreciation message for new contributors ([6962fc2](6962fc2))
* Add CLI ([6664f49](6664f49))
* Add function to get the most common compatible version ([77d9173](77d9173))
* add install command ([0350b7f](0350b7f))
* add logging back ([4a23cb6](4a23cb6))
* Add option to filter patches to be listed by package name ([50c0f98](50c0f98))
* add option to specify keystore file path ([9331594](9331594))
* Add option to warn about patches not being found in supplied patch bundles ([e46d855](e46d855))
* add options command ([9edbbf3](9edbbf3))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* Add ReVanced Library subproject ([ReVanced#265](https://github.com/FiorenMas/revanced-cli/issues/265)) ([157278c](157278c))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/FiorenMas/revanced-cli/issues/42)) ([b977d70](b977d70))
* Allow selecting first Adb device, if none supplied automatically by updating dependencies ([e7c3d64](e7c3d64))
* better output for excluded patches ([ReVanced#77](https://github.com/FiorenMas/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* Check for missing integrations ([c93186f](c93186f))
* check, if input file exists ([b6dff6d](b6dff6d))
* connect to first device if given device was not found ([6485e47](6485e47))
* debugging option ([1b645c6](1b645c6))
* Do not format patch names ([80a8d88](80a8d88))
* do not warn on incompatible packages ([39e377b](39e377b))
* Exit application with CLI exit code ([36c6a6a](36c6a6a))
* Extend signing API ([592dc1c](592dc1c))
* handle unmounting deleted files ([ReVanced#148](https://github.com/FiorenMas/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* Improve command line argument descriptions ([f9cf7d2](f9cf7d2))
* improve description of options ([ReVanced#185](https://github.com/FiorenMas/revanced-cli/issues/185)) ([b69e784](b69e784))
* improve logging ([df85fa3](df85fa3))
* improve missing compatibility annotation tracing log ([2c7eb72](2c7eb72))
* Improve option descriptions ([d5ea5a0](d5ea5a0))
* Include or exclude patches by their index in relation to supplied patch bundles ([b2055ce](b2055ce))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* List patches which are compatible with any app ([ReVanced#297](https://github.com/FiorenMas/revanced-cli/issues/297)) ([0139dfe](0139dfe))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* Log saved patched APK file path ([16109bd](16109bd))
* Log stacktrace in new line ([c67e3c7](c67e3c7))
* Make `--out´ option optional ([3765957](3765957))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/FiorenMas/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* properly make use of logging facade ([41898d7](41898d7))
* remove extra zipalign step ([ReVanced#106](https://github.com/FiorenMas/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove option `--with-descriptions` ([07a423b](07a423b))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* rip-lib and unsigned ([2db4cba](2db4cba))
* rollback the default values of keystore alias and password to CLI v3.0 (compatible with old keystore) ([cc7ec55](cc7ec55))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/FiorenMas/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/FiorenMas/revanced-cli/issues/60)) ([52b3161](52b3161))
* show description when listing patches ([af32572](af32572))
* show full package name when listing patches ([ReVanced#240](https://github.com/FiorenMas/revanced-cli/issues/240)) ([7174364](7174364))
* Simplify command description ([3b3f7c7](3b3f7c7))
* simplify log message ([74d73ca](74d73ca))
* support for `--install` ([d1ceab4](d1ceab4))
* trace logs when compatibility annotation is missing ([ReVanced#166](https://github.com/FiorenMas/revanced-cli/issues/166)) ([c590bf5](c590bf5))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/FiorenMas/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/FiorenMas/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))
* use better logging text ([b0e748d](b0e748d))
* use friendly descriptions ([3dd875d](3dd875d))
* use new patch naming convention ([f6c221d](f6c221d))
* Use ReVanced Library in ReVanced CLI ([7794327](7794327))
* use separate command to list patches ([b74213f](b74213f))
* use separate command to patch ([32da961](32da961))
* use separate command to uninstall ([c0cc909](c0cc909))
* use simpler log ([ba758f0](ba758f0))
* Word log message better ([6942b22](6942b22))

### Performance Improvements

* Do not check, if the options file exists twice ([e3c5550](e3c5550))
* Use a `HashSet` to check for included and excluded patches ([616d14f](616d14f))
* Use multiple threads for writing dex files ([28648a1](28648a1))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* This changes many signatures of existing APIs and adds new functions for signing
* This changes the log handler signature
* This introduces major changes to how ReVanced CLI is used from the command line.
* Not backwards compatible, since a lot of classes where renamed.
github-actions bot pushed a commit to E85Addicts/revanced-cli that referenced this pull request Nov 8, 2024
# 1.0.0-dev.1 (2024-11-08)

* refactor!: restructure code ([07da528](07da528))

### Bug Fixes

* `defaultExclude` unused ([2015c2a](2015c2a))
* `Main-Class` attribute pointing to wrong method ([6e82418](6e82418))
* `ZipAligner` not correctly calculating the file offset ([2975a47](2975a47))
* add back in: option to specify keystore file path ([c94471f](c94471f))
* add callback for addFiles ([87ffaa4](87ffaa4))
* add execute permission to `./gradlew` file ([ReVanced#36](https://github.com/E85Addicts/revanced-cli/issues/36)) ([072d9e1](072d9e1))
* Add missing punctuation in command description ([8210351](8210351))
* align every file ([96ec6a0](96ec6a0))
* also delete temporary files when uninstalling ([52c3be2](52c3be2))
* breaking changes by `revanced-patcher` dependency ([51d2504](51d2504))
* broken control flow of `includeFilter` ([a0644c7](a0644c7))
* broken deprecation message ([e3e74ac](e3e74ac))
* broken script `CONTENT_UNMOUNT_SCRIPT` ([be53e64](be53e64))
* Bump dependencies to support BCS keystore ([1c10a77](1c10a77))
* bump patcher dependency version ([51c04b7](51c04b7))
* Check for null when no device serial was specified ([1da8ae9](1da8ae9))
* check for package compatibility at first ([9fe5a0b](9fe5a0b))
* check for root even though when not needed ([0d7581a](0d7581a))
* check if `packageVersion` is compatible with any from `compatiblePackages` ([32589c8](32589c8))
* Check, if mounting is possible ([3e13fb5](3e13fb5))
* ClassLoader not working with Java 9+ ([3a11e11](3a11e11))
* CLI not working ([29105ba](29105ba))
* Copy APK to output path when it is not being signed ([366f400](366f400))
* correct spelling mistake ([31fb316](31fb316))
* Correct warning message ([ba573f7](ba573f7))
* correctly word option descriptions ([ac3a8f6](ac3a8f6))
* Create options if it does not exist when updating them ([ca809f0](ca809f0))
* delete `outputFile` after deploying ([329f8a3](329f8a3))
* Delete temporal files if it exists ([a022feb](a022feb))
* delete temporary files after root installation ([a3d8705](a3d8705))
* deploy to `adb` ([f9b987e](f9b987e))
* do not delete output file ([0f3e090](0f3e090))
* do not filter explicitly included patches ([a3d8f00](a3d8f00))
* do not list compatible packages if patches do not define them ([31e4a41](31e4a41))
* Do not sign if mounting ([578e16b](578e16b))
* do not use absolute path from custom AAPT2 binary option ([a9c2a5f](a9c2a5f))
* don't log when package is incompatible and `exclusive` option is used ([ad81a1b](ad81a1b))
* don't print same patch multiple times ([f4b0469](f4b0469))
* dummy publish task (1/2) [skip ci] ([afff4c8](afff4c8))
* escape quotation mark in string ([6e21d81](6e21d81))
* exclude patcher dependency from minimizing ([d5794b9](d5794b9))
* Filter logs correctly ([43fc20d](43fc20d))
* filtration of patches malfunctioning ([2d5a7fd](2d5a7fd))
* fix noSuchMethodError ([00fec25](00fec25))
* fix running commands not running ([2c7fcaf](2c7fcaf))
* Fix typo ([ReVanced#300](https://github.com/E85Addicts/revanced-cli/issues/300)) ([9d96bb7](9d96bb7))
* format patches input ([bbb1a63](bbb1a63))
* **gitignore:** ignore `options.toml` ([ReVanced#158](https://github.com/E85Addicts/revanced-cli/issues/158)) ([7be9af0](7be9af0))
* gradle build script ([6ffba3e](6ffba3e))
* gradle sync dependencies ([407efdc](407efdc))
* improper use of mount variable ([31853fe](31853fe))
* invalid code flow when adding patches ([206f202](206f202))
* invalid header when writing a `ZipFile` ([ReVanced#169](https://github.com/E85Addicts/revanced-cli/issues/169)) ([6e703eb](6e703eb))
* keystore file not found exception ([ReVanced#57](https://github.com/E85Addicts/revanced-cli/issues/57)) ([5b8537e](5b8537e))
* leftover TODOs ([5b1139c](5b1139c))
* Log correct options command ([ReVanced#262](https://github.com/E85Addicts/revanced-cli/issues/262)) ([96c196d](96c196d))
* Log logs with levels over warning to error output stream ([075f6ad](075f6ad))
* Log not showing in CLI  ([ReVanced#80](https://github.com/E85Addicts/revanced-cli/issues/80)) ([d9c5a17](d9c5a17)), closes [ReVanced#79](https://github.com/E85Addicts/revanced-cli/issues/79)
* Make clear what the --exclusive command actually does ([a26b0ea](a26b0ea))
* Make CLI ArgGroup non-exclusive to be able to disable and enable patches at the same time ([1bb0d13](1bb0d13))
* make cli compatible with breaking changes of the patcher ([555b38f](555b38f))
* make integrations optional ([bea8b82](bea8b82))
* Make patches selectable by using a mutable collection for the selection option ([751fa1d](751fa1d))
* Make the patch command work without specifying any selection ([ba159a3](ba159a3))
* migrate from `PatchLoader.load(...)` to `JarPatchBundle(...).loadPatches()` ([cabd32f](cabd32f))
* migrate to changes of patcher ([b30c737](b30c737))
* migrate to latest patcher api changes ([ace70e4](ace70e4))
* missing implementation ([48102c6](48102c6))
* mount bind revanced.apk from magisk's mirror ([372470c](372470c))
* Move file to output even when mounting ([59dfc98](59dfc98))
* move the keystore to the output directory ([6ceb449](6ceb449))
* null exception when resource patching is disabled ([ReVanced#85](https://github.com/E85Addicts/revanced-cli/issues/85)) ([125fa06](125fa06))
* only accept directories when looking for files in resource patch ([c76da7e](c76da7e))
* only check once for patch options ([11c3a6c](11c3a6c))
* Only open files for reading and writing if writeable ([3846f72](3846f72))
* Only set options for filtered patches ([64d9127](64d9127))
* only upload `-all.jar` asset ([ca8e1ba](ca8e1ba))
* overwrite output file ([2bfbbc2](2bfbbc2))
* Print in new line correctly ([c2dc9d7](c2dc9d7))
* print original instead of kebab cased names ([5eaad33](5eaad33))
* print stack trace when a patch failed ([924c1f8](924c1f8))
* releases (2/2) ([227d8d9](227d8d9))
* remove `-e` from `experimental` option ([3829136](3829136))
* remove `excludePatches` check ([eb83cab](eb83cab))
* remove duplicate options entries. ([d0fc886](d0fc886))
* remove logger from Signer.kt ([51e091c](51e091c))
* remove requirement for solution [skip ci] ([ReVanced#108](https://github.com/E85Addicts/revanced-cli/issues/108)) ([0ce680a](0ce680a))
* resolve signatures before applying patches ([c9941fe](c9941fe))
* resource patcher ([9da4f70](9da4f70))
* show actual version in CLI ([1dcdbc9](1dcdbc9))
* Show path for missing files instead of just the name ([f0f3e56](f0f3e56))
* Sign APKs correctly ([5ff105c](5ff105c))
* sign the aligned file instead of the input file ([22d2535](22d2535))
* specify correct class containing entry-point ([1fcc591](1fcc591))
* start with uppercase in log message ([ae91b0d](ae91b0d))
* **tests:** set order of tests ([2ef48af](2ef48af))
* this tiny thing has caused me the worst headache ever in my life ([a37304e](a37304e))
* uncomment merging integrations ([f2d9da4](f2d9da4))
* unfinished todo message ([fb068ef](fb068ef))
* unmount script `CONTENT_UMOUNT_SCRIPT` ([3a2fa30](3a2fa30))
* update cli for new patcher version ([9fc2f96](9fc2f96))
* update patcher to 1.2.5 ([055c282](055c282))
* update patcher version ([499ce0a](499ce0a))
* update patcher version ([0df936e](0df936e))
* update patcher version ([80c11fe](80c11fe))
* update patcher version ([09b9027](09b9027)), closes [ReVanced#45](https://github.com/E85Addicts/revanced-cli/issues/45)
* update patcher version (fix apktool) ([496f821](496f821))
* use absolute file path for key store ([d335846](d335846))
* Use correct option description ([45a2ffa](45a2ffa))
* use correct option name ([f8972ea](f8972ea))
* use correct prefix in log message ([1a67cd8](1a67cd8))
* use latest version of patches dependency ([029f1ad](029f1ad))
* Use punctuation in option descriptions ([da4469f](da4469f))
* Use the first connected device when no ADB device is specified ([5f952f3](5f952f3))
* use working JADB dependency version ([ReVanced#222](https://github.com/E85Addicts/revanced-cli/issues/222)) ([da2c918](da2c918))
* wrong keystore output path ([20fa179](20fa179))
* wrong label in additional items [skip ci] ([cd3ded1](cd3ded1))
* wrong separator when using `ZipFileSystemUtils` ([20e15de](20e15de))
* wrong use of dependency to `revanced-patches` ([351de6c](351de6c))
* wrong use of variable substitution / typo ([81d53b5](81d53b5)), closes [ReVanced#12](ReVanced#12)
* wrong variable inverted ([f694542](f694542))

### Code Refactoring

* migrate from `Signature` to `Fingerprint` ([88852a4](88852a4))

### Features

* `--custom-aapt2-binary` option ([ReVanced#104](https://github.com/E85Addicts/revanced-cli/issues/104)) ([d8dbffd](d8dbffd))
* `--exclusive` switch ([ReVanced#78](https://github.com/E85Addicts/revanced-cli/issues/78)) ([8e91c12](8e91c12))
* `--include` option ([ReVanced#76](https://github.com/E85Addicts/revanced-cli/issues/76)) ([57a1e7c](57a1e7c))
* `--uninstall` switch ([ReVanced#84](https://github.com/E85Addicts/revanced-cli/issues/84)) ([131100e](131100e))
* `frameworkFolderLocation` patcher option ([bc17298](bc17298))
* Add `list-versions` command ([a974b8e](a974b8e))
* add appreciation message for new contributors ([6962fc2](6962fc2))
* Add CLI ([6664f49](6664f49))
* Add function to get the most common compatible version ([77d9173](77d9173))
* add install command ([0350b7f](0350b7f))
* add logging back ([4a23cb6](4a23cb6))
* Add option to filter patches to be listed by package name ([50c0f98](50c0f98))
* add option to specify keystore file path ([9331594](9331594))
* Add option to warn about patches not being found in supplied patch bundles ([e46d855](e46d855))
* add options command ([9edbbf3](9edbbf3))
* add path for `cacheDirectory` and enable resource patching by default ([54c0a03](54c0a03))
* Add progress bar ([8d96ec8](8d96ec8))
* Add ReVanced Library subproject ([ReVanced#265](https://github.com/E85Addicts/revanced-cli/issues/265)) ([157278c](157278c))
* add semantic-release ([78d7aa3](78d7aa3))
* Added root-only adb runner (tested on emulator) ([37ecc5e](37ecc5e))
* allow listing patches without other parameters ([ReVanced#42](https://github.com/E85Addicts/revanced-cli/issues/42)) ([b977d70](b977d70))
* Allow selecting first Adb device, if none supplied automatically by updating dependencies ([e7c3d64](e7c3d64))
* better output for excluded patches ([ReVanced#77](https://github.com/E85Addicts/revanced-cli/issues/77)) ([ac7c7a9](ac7c7a9))
* chcon on mount ([e1c7d10](e1c7d10))
* Check for missing integrations ([c93186f](c93186f))
* check, if input file exists ([b6dff6d](b6dff6d))
* connect to first device if given device was not found ([6485e47](6485e47))
* debugging option ([1b645c6](1b645c6))
* Do not format patch names ([80a8d88](80a8d88))
* do not warn on incompatible packages ([39e377b](39e377b))
* Exit application with CLI exit code ([36c6a6a](36c6a6a))
* Extend signing API ([592dc1c](592dc1c))
* handle unmounting deleted files ([ReVanced#148](https://github.com/E85Addicts/revanced-cli/issues/148)) ([3a733e5](3a733e5))
* Improve command line argument descriptions ([f9cf7d2](f9cf7d2))
* improve description of options ([ReVanced#185](https://github.com/E85Addicts/revanced-cli/issues/185)) ([b69e784](b69e784))
* improve logging ([df85fa3](df85fa3))
* improve missing compatibility annotation tracing log ([2c7eb72](2c7eb72))
* Improve option descriptions ([d5ea5a0](d5ea5a0))
* Include or exclude patches by their index in relation to supplied patch bundles ([b2055ce](b2055ce))
* integrations merge ([919b34e](919b34e))
* issue templates [skip ci] ([bac8c67](bac8c67))
* List patches which are compatible with any app ([ReVanced#297](https://github.com/E85Addicts/revanced-cli/issues/297)) ([0139dfe](0139dfe))
* load patches dynamically & use kotlinx.cli ([4624384](4624384))
* Log saved patched APK file path ([16109bd](16109bd))
* Log stacktrace in new line ([c67e3c7](c67e3c7))
* Make `--out´ option optional ([3765957](3765957))
* migrate logger to `slf4j` ([6c4c192](6c4c192))
* more efficient zipalign ([a942a57](a942a57))
* Patch Options CLI implementation ([ReVanced#132](https://github.com/E85Addicts/revanced-cli/issues/132)) ([3f5345a](3f5345a))
* properly make use of logging facade ([41898d7](41898d7))
* Remove deprecated CLI options ([48a1a39](48a1a39))
* remove extra zipalign step ([ReVanced#106](https://github.com/E85Addicts/revanced-cli/issues/106)) ([c8e793e](c8e793e))
* remove option `--with-descriptions` ([07a423b](07a423b))
* remove unused option `-r` ([467d838](467d838))
* rename `debugging` option to `experimental` ([98bd6f3](98bd6f3))
* run `release.yml` workflow on branch `dev` ([9a64730](9a64730))
* section `acknowledgements` for issue templates ([0e3ecc3](0e3ecc3))
* separate logger to stdout & stderr ([ReVanced#63](https://github.com/E85Addicts/revanced-cli/issues/63)) ([0ddc2b5](0ddc2b5))
* separate options for `--list` ([ReVanced#60](https://github.com/E85Addicts/revanced-cli/issues/60)) ([52b3161](52b3161))
* Set patch options via CLI ([ReVanced#336](https://github.com/E85Addicts/revanced-cli/issues/336)) ([2300243](2300243))
* show description when listing patches ([af32572](af32572))
* Show error about no installation device found at the beginning ([3300e6b](3300e6b))
* show full package name when listing patches ([ReVanced#240](https://github.com/E85Addicts/revanced-cli/issues/240)) ([7174364](7174364))
* Simplify command and option names and descriptions ([ReVanced#338](https://github.com/E85Addicts/revanced-cli/issues/338)) ([6e7797a](6e7797a))
* Simplify command description ([3b3f7c7](3b3f7c7))
* simplify log message ([74d73ca](74d73ca))
* Simplify option descriptions ([45c998b](45c998b))
* support for `--install` ([d1ceab4](d1ceab4))
* trace logs when compatibility annotation is missing ([ReVanced#166](https://github.com/E85Addicts/revanced-cli/issues/166)) ([c590bf5](c590bf5))
* unmount all occurrences in `/proc/mounts` ([ReVanced#131](https://github.com/E85Addicts/revanced-cli/issues/131)) ([4f4e1f9](4f4e1f9))
* use `am` instead of `monkey` to launch the app ([ReVanced#159](https://github.com/E85Addicts/revanced-cli/issues/159)) ([6a35cf7](6a35cf7))
* use `install` mode by default ([1a3db77](1a3db77))
* use better logging text ([b0e748d](b0e748d))
* use friendly descriptions ([3dd875d](3dd875d))
* Use more consistent option name ([223629c](223629c))
* use new patch naming convention ([f6c221d](f6c221d))
* Use ReVanced Library in ReVanced CLI ([7794327](7794327))
* use separate command to list patches ([b74213f](b74213f))
* use separate command to patch ([32da961](32da961))
* use separate command to uninstall ([c0cc909](c0cc909))
* use simpler log ([ba758f0](ba758f0))
* Word log message better ([6942b22](6942b22))

### Performance Improvements

* --rip-lib and --unsigned ([0026a49](0026a49))
* Do not check, if the options file exists twice ([e3c5550](e3c5550))
* Personal Sync Upstream ([a615944](a615944))
* Use a `HashSet` to check for included and excluded patches ([616d14f](616d14f))
* Use multiple threads for writing dex files ([28648a1](28648a1))

### Reverts

* feat: remove extra zipalign step ([c3d8fec](c3d8fec))

### BREAKING CHANGES

* Options have been renamed.
* This commit changes various CLI options and removes the `options.json` file. Instead, patch options can now be passed via CLI options
* This changes many signatures of existing APIs and adds new functions for signing
* This changes the log handler signature
* This introduces major changes to how ReVanced CLI is used from the command line.
* Not backwards compatible, since a lot of classes where renamed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants