Compare commits

..

624 Commits

Author SHA1 Message Date
semantic-release-bot
06a981a317 chore(release): 2.157.0-dev.4 [skip ci]
# [2.157.0-dev.4](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.3...v2.157.0-dev.4) (2023-01-28)

### Bug Fixes

* **youtube/return-youtube-dislike:** do not fetch voting stats when watching shorts ([#1532](https://github.com/revanced/revanced-patches/issues/1532)) ([dd3a9a4](dd3a9a4f38))
2023-01-28 07:30:33 +00:00
LisoUseInAIKyrios
dd3a9a4f38 fix(youtube/return-youtube-dislike): do not fetch voting stats when watching shorts (#1532)
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 08:28:48 +01:00
oSumAtrIX
5228700317 refactor(youtube/sponsorblock): remove dead code
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 08:11:52 +01:00
semantic-release-bot
e68a65c950 chore(release): 2.157.0-dev.3 [skip ci]
# [2.157.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.2...v2.157.0-dev.3) (2023-01-28)

### Bug Fixes

* **youtube/settings:** resolve fingerprints robustly ([3bf8d1d](3bf8d1d3cb))
* **youtube:** reliably resolve fingerprints ([57e13cf](57e13cf8a8))

### Features

* **youtube/general-ads:** remove hiding video shelf ([e4fa523](e4fa523b15))
2023-01-28 07:06:55 +00:00
oSumAtrIX
817ad0b9f2 chore(youtube): bump patches compatibility to v18.03.36
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 08:00:30 +01:00
oSumAtrIX
57e13cf8a8 fix(youtube): reliably resolve fingerprints
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 07:58:58 +01:00
oSumAtrIX
e4fa523b15 feat(youtube/general-ads): remove hiding video shelf
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 06:00:36 +01:00
oSumAtrIX
440278be33 refactor(youtube/custom-video-buffer): apply Kotlin idioms
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 05:30:44 +01:00
oSumAtrIX
3bf8d1d3cb fix(youtube/settings): resolve fingerprints robustly
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-28 03:55:20 +01:00
semantic-release-bot
246a6ce927 chore(release): 2.157.0-dev.2 [skip ci]
# [2.157.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.1...v2.157.0-dev.2) (2023-01-24)

### Features

* **music:** update patches compatibility to v5.40.51 ([#1541](https://github.com/revanced/revanced-patches/issues/1541)) ([225726f](225726feeb))
2023-01-24 12:32:28 +00:00
FineFindus
225726feeb feat(music): update patches compatibility to v5.40.51 (#1541) 2023-01-24 13:30:23 +01:00
oSumAtrIX
f0b384bbfe refactor: move classes to correct places and fix their access
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-23 02:30:43 +01:00
semantic-release-bot
160191b5cb chore(release): 2.157.0-dev.1 [skip ci]
# [2.157.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.156.0...v2.157.0-dev.1) (2023-01-23)

### Bug Fixes

* parse any kind of patch version ([bc06b4d](bc06b4dfda))
* **twitter/hide-views-stats:** constrain to last working version ([#1522](https://github.com/revanced/revanced-patches/issues/1522)) ([068f18c](068f18cd5b))

### Features

* **finanzonline:** `remove-bootloader-detection` patch ([c30bf18](c30bf18745))
* **finanzonline:** `remove-root-detection` patch ([1a94209](1a94209bfb))
* **youtube/microg-support:** check if Vanced MicroG is running in the background ([#1531](https://github.com/revanced/revanced-patches/issues/1531)) ([c6e0e79](c6e0e79cd5))
* **youtube:** `open-links-externally` patch ([#1524](https://github.com/revanced/revanced-patches/issues/1524)) ([53ab837](53ab837489))
2023-01-23 01:28:58 +00:00
oSumAtrIX
bc06b4dfda fix: parse any kind of patch version
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-23 02:26:12 +01:00
reis
c6e0e79cd5 feat(youtube/microg-support): check if Vanced MicroG is running in the background (#1531)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-22 17:28:46 +01:00
johnconner122
53ab837489 feat(youtube): open-links-externally patch (#1524)
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-22 15:43:55 +01:00
oSumAtrIX
1a94209bfb feat(finanzonline): remove-root-detection patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-21 05:52:50 +01:00
1fexd
c30bf18745 feat(finanzonline): remove-bootloader-detection patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-21 05:52:50 +01:00
LisoUseInAIKyrios
068f18cd5b fix(twitter/hide-views-stats): constrain to last working version (#1522) 2023-01-19 20:53:10 +01:00
semantic-release-bot
06105f4c87 chore(release): 2.156.0 [skip ci]
# [2.156.0](https://github.com/revanced/revanced-patches/compare/v2.155.0...v2.156.0) (2023-01-17)

### Bug Fixes

* **reddit/general-reddit-ads:** specify last version that works correctly ([#1495](https://github.com/revanced/revanced-patches/issues/1495)) ([1f1519c](1f1519ca33))

### Features

* explain how to capture crash logs [skip ci] ([68f941d](68f941deda))
* **id-austria:** `remove-root-detection` patch ([b888eaf](b888eafce1))
* **id-austria:** `spoof-signature` patch ([df3316b](df3316b804))
* **nova-launcher:** `unlock-prime` patch ([#1463](https://github.com/revanced/revanced-patches/issues/1463)) ([939c084](939c084e31))
2023-01-17 23:41:30 +00:00
oSumAtrIX
5359965a0b chore: merge branch dev to main (#1496) 2023-01-18 00:38:58 +01:00
semantic-release-bot
3881fda3f4 chore(release): 2.156.0-dev.1 [skip ci]
# [2.156.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.155.1-dev.1...v2.156.0-dev.1) (2023-01-17)

### Features

* explain how to capture crash logs [skip ci] ([68f941d](68f941deda))
* **id-austria:** `remove-root-detection` patch ([b888eaf](b888eafce1))
* **id-austria:** `spoof-signature` patch ([df3316b](df3316b804))
* **nova-launcher:** `unlock-prime` patch ([#1463](https://github.com/revanced/revanced-patches/issues/1463)) ([939c084](939c084e31))
2023-01-17 23:37:40 +00:00
oSumAtrIX
cc43f356b5 build: update dependencies
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-18 00:34:55 +01:00
illerokcob
939c084e31 feat(nova-launcher): unlock-prime patch (#1463)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-17 22:50:04 +01:00
1fexd
b888eafce1 feat(id-austria): remove-root-detection patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-17 22:44:19 +01:00
1fexd
df3316b804 feat(id-austria): spoof-signature patch 2023-01-17 22:44:19 +01:00
oSumAtrIX
68f941deda feat: explain how to capture crash logs [skip ci] 2023-01-16 17:34:13 +01:00
semantic-release-bot
0b18ed8f7f chore(release): 2.155.1-dev.1 [skip ci]
## [2.155.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.155.0...v2.155.1-dev.1) (2023-01-15)

### Bug Fixes

* **reddit/general-reddit-ads:** specify last version that works correctly ([#1495](https://github.com/revanced/revanced-patches/issues/1495)) ([1f1519c](1f1519ca33))
2023-01-15 14:01:12 +00:00
LisoUseInAIKyrios
1f1519ca33 fix(reddit/general-reddit-ads): specify last version that works correctly (#1495) 2023-01-15 14:59:27 +01:00
semantic-release-bot
6bc5025e1f chore(release): 2.155.0 [skip ci]
# [2.155.0](https://github.com/revanced/revanced-patches/compare/v2.154.0...v2.155.0) (2023-01-15)

### Bug Fixes

* bump patcher dependency version ([9c3a8aa](9c3a8aad83))
* **youtube/open-links-directly:** use better titles and correct descriptions ([#1488](https://github.com/revanced/revanced-patches/issues/1488)) ([34c1b4a](34c1b4a871))

### Features

* **youtube:** remove `fix-playback` patch ([474cc4d](474cc4d5e6))
2023-01-15 05:19:12 +00:00
oSumAtrIX
94f7897a34 chore: merge branch dev to main (#1492) 2023-01-15 06:16:42 +01:00
oSumAtrIX
9c3a8aad83 fix: bump patcher dependency version
This commit addresses https://github.com/revanced/multidexlib2/issues/2.
2023-01-15 05:34:51 +01:00
semantic-release-bot
44451c9b95 chore(release): 2.155.0-dev.1 [skip ci]
# [2.155.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.154.1-dev.1...v2.155.0-dev.1) (2023-01-15)

### Features

* **youtube:** remove `fix-playback` patch ([474cc4d](474cc4d5e6))
2023-01-15 04:26:36 +00:00
oSumAtrIX
474cc4d5e6 feat(youtube): remove fix-playback patch 2023-01-15 05:24:15 +01:00
semantic-release-bot
d492ff23af chore(release): 2.154.1-dev.1 [skip ci]
## [2.154.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.154.0...v2.154.1-dev.1) (2023-01-15)

### Bug Fixes

* **youtube/open-links-directly:** use better titles and correct descriptions ([#1488](https://github.com/revanced/revanced-patches/issues/1488)) ([34c1b4a](34c1b4a871))
2023-01-15 02:59:27 +00:00
johnconner122
34c1b4a871 fix(youtube/open-links-directly): use better titles and correct descriptions (#1488) 2023-01-15 03:57:42 +01:00
semantic-release-bot
e6360285eb chore(release): 2.154.0 [skip ci]
# [2.154.0](https://github.com/revanced/revanced-patches/compare/v2.153.0...v2.154.0) (2023-01-13)

### Bug Fixes

* **youtube/hide-info-cards:** allow toggling visibility of info-cards ([#1464](https://github.com/revanced/revanced-patches/issues/1464)) ([3789a20](3789a205cb))

### Features

* `remove-screenshot-restriction` patch ([#1455](https://github.com/revanced/revanced-patches/issues/1455)) ([efe814f](efe814f2e1))
* **music:** update patches compatibility to v5.38.53 ([#1453](https://github.com/revanced/revanced-patches/issues/1453)) ([e13db69](e13db6934f))
* **music:** update patches compatibility to v5.39.52 ([#1484](https://github.com/revanced/revanced-patches/issues/1484)) ([772d3ae](772d3ae073))
* **tiktok:** update patches compatibility to v27.8.3 ([#1483](https://github.com/revanced/revanced-patches/issues/1483)) ([1e728b4](1e728b4ecf))
* **youtube/return-youtube-dislike:** style for minimum width ([#1454](https://github.com/revanced/revanced-patches/issues/1454)) ([e4cc17e](e4cc17e6ef))
* **youtube:** `spoof-app-version` patch ([#1449](https://github.com/revanced/revanced-patches/issues/1449)) ([b57eee8](b57eee8582))
2023-01-13 21:28:57 +00:00
oSumAtrIX
7814ce9a5d chore: merge branch dev to main (#1486) 2023-01-13 22:26:23 +01:00
oSumAtrIX
9013eea406 ci: use PAT in step Release 2023-01-13 22:25:48 +01:00
oSumAtrIX
5240e749e1 chore: merge branch dev to main (#1452) 2023-01-13 16:03:22 +01:00
semantic-release-bot
0310fa434c chore(release): 2.154.0-dev.3 [skip ci]
# [2.154.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.154.0-dev.2...v2.154.0-dev.3) (2023-01-13)

### Features

* **tiktok:** update patches compatibility to v27.8.3 ([#1483](https://github.com/revanced/revanced-patches/issues/1483)) ([1e728b4](1e728b4ecf))
2023-01-13 15:02:40 +00:00
d4rkk3y
1e728b4ecf feat(tiktok): update patches compatibility to v27.8.3 (#1483) 2023-01-13 16:00:45 +01:00
semantic-release-bot
b285183554 chore(release): 2.154.0-dev.2 [skip ci]
# [2.154.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.154.0-dev.1...v2.154.0-dev.2) (2023-01-13)

### Features

* **music:** update patches compatibility to v5.39.52 ([#1484](https://github.com/revanced/revanced-patches/issues/1484)) ([772d3ae](772d3ae073))
2023-01-13 14:45:02 +00:00
FineFindus
772d3ae073 feat(music): update patches compatibility to v5.39.52 (#1484) 2023-01-13 15:43:06 +01:00
oSumAtrIX
b7390de6bf refactor: fix formatting 2023-01-13 14:41:37 +01:00
oSumAtrIX
8ac6ab6a9c ci: give jobs names 2023-01-13 14:41:17 +01:00
Titoot
67bf5a0d16 chore: fix typo in comment (#1472) 2023-01-11 13:31:46 +01:00
oSumAtrIX
4ce31eedd7 ci: bypass push permission on protected branches with owner PAT
RE: https://github.com/semantic-release/github/issues/175#issuecomment-484964034
2023-01-10 21:53:34 +01:00
semantic-release-bot
270916bb43 chore(release): 2.154.0-dev.1 [skip ci]
# [2.154.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.153.0...v2.154.0-dev.1) (2023-01-10)

### Bug Fixes

* **youtube/hide-info-cards:** allow toggling visibility of info-cards ([#1464](https://github.com/revanced/revanced-patches/issues/1464)) ([3789a20](3789a205cb))

### Features

* `remove-screenshot-restriction` patch ([#1455](https://github.com/revanced/revanced-patches/issues/1455)) ([efe814f](efe814f2e1))
* **music:** update patches compatibility to v5.38.53 ([#1453](https://github.com/revanced/revanced-patches/issues/1453)) ([e13db69](e13db6934f))
* **youtube/return-youtube-dislike:** style for minimum width ([#1454](https://github.com/revanced/revanced-patches/issues/1454)) ([e4cc17e](e4cc17e6ef))
* **youtube:** `spoof-app-version` patch ([#1449](https://github.com/revanced/revanced-patches/issues/1449)) ([b57eee8](b57eee8582))
2023-01-10 20:10:36 +00:00
oSumAtrIX
3944521a01 ci: downgrade semantic release and plugins to v19 (#1467) 2023-01-10 21:08:42 +01:00
LisoUseInAIKyrios
b57eee8582 feat(youtube): spoof-app-version patch (#1449)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-10 19:27:53 +01:00
LisoUseInAIKyrios
e4cc17e6ef feat(youtube/return-youtube-dislike): style for minimum width (#1454) 2023-01-10 19:01:29 +01:00
LisoUseInAIKyrios
3789a205cb fix(youtube/hide-info-cards): allow toggling visibility of info-cards (#1464) 2023-01-10 10:53:57 +01:00
Linus
efe814f2e1 feat: remove-screenshot-restriction patch (#1455)
Co-authored-by: Linus789 <Linus789@users.noreply.github.com>
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-08 22:23:54 +01:00
FineFindus
e13db6934f feat(music): update patches compatibility to v5.38.53 (#1453) 2023-01-08 16:42:46 +01:00
LisoUseInAIKyrios
7e8c544d42 fix:(youtube/return-youtube-dislike): always modify span content of the like button (#1448) 2023-01-08 08:14:40 +01:00
semantic-release-bot
8a3c0e1bcb chore(release): 2.153.0 [skip ci]
# [2.153.0](https://github.com/revanced/revanced-patches/compare/v2.152.0...v2.153.0) (2023-01-07)

### Bug Fixes

* **youtube/general-ads:** move settings to correct preference screens ([b885bf8](b885bf82cd))

### Features

* **youtube/remember-video-quality:** simplify settings switch state description ([6b35ffc](6b35ffc5b8))
* **youtube:** `remember-playback-rate` patch ([f0b0017](f0b0017ff1))
2023-01-07 08:50:06 +00:00
oSumAtrIX
ce0158db3a chore: merge branch dev to main (#1441) 2023-01-07 09:47:33 +01:00
semantic-release-bot
2c8550c7e7 chore(release): 2.153.0-dev.1 [skip ci]
# [2.153.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.152.1-dev.1...v2.153.0-dev.1) (2023-01-07)

### Features

* **youtube/remember-video-quality:** simplify settings switch state description ([6b35ffc](6b35ffc5b8))
* **youtube:** `remember-playback-rate` patch ([f0b0017](f0b0017ff1))
2023-01-07 08:45:47 +00:00
oSumAtrIX
6b35ffc5b8 feat(youtube/remember-video-quality): simplify settings switch state description 2023-01-07 09:43:56 +01:00
oSumAtrIX
f0b0017ff1 feat(youtube): remember-playback-rate patch 2023-01-07 09:43:56 +01:00
semantic-release-bot
a3e7ee6454 chore(release): 2.152.1-dev.1 [skip ci]
## [2.152.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.152.0...v2.152.1-dev.1) (2023-01-07)

### Bug Fixes

* **youtube/general-ads:** move settings to correct preference screens ([b885bf8](b885bf82cd))
2023-01-07 03:05:12 +00:00
oSumAtrIX
b885bf82cd fix(youtube/general-ads): move settings to correct preference screens 2023-01-07 04:03:14 +01:00
semantic-release-bot
09ea24938c chore(release): 2.152.0 [skip ci]
# [2.152.0](https://github.com/revanced/revanced-patches/compare/v2.151.0...v2.152.0) (2023-01-04)

### Features

* **youtube/copy-video-url:** match icon style with native icon ([#1419](https://github.com/revanced/revanced-patches/issues/1419)) ([62a8ac4](62a8ac4f9b))
2023-01-04 15:51:55 +00:00
oSumAtrIX
58994b14f8 chore: merge branch dev to main (#1420) 2023-01-04 16:50:04 +01:00
semantic-release-bot
370067266c chore(release): 2.152.0-dev.1 [skip ci]
# [2.152.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.151.0...v2.152.0-dev.1) (2023-01-02)

### Features

* **youtube/copy-video-url:** match icon style with native icon ([#1419](https://github.com/revanced/revanced-patches/issues/1419)) ([62a8ac4](62a8ac4f9b))
2023-01-02 18:45:45 +00:00
KAZI MMT
62a8ac4f9b feat(youtube/copy-video-url): match icon style with native icon (#1419)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-01-02 19:43:35 +01:00
oSumAtrIX
4d74458023 chore: merge branch dev to main (#1416) 2023-01-02 09:14:53 +01:00
oSumAtrIX
37cfb6900c build: bump patcher dependency version (#1415) 2023-01-02 09:11:16 +01:00
semantic-release-bot
c0bc6fe658 chore(release): 2.151.0 [skip ci]
# [2.151.0](https://github.com/revanced/revanced-patches/compare/v2.150.0...v2.151.0) (2022-12-31)

### Bug Fixes

* **youtube/general-ads:** restore swipe back to exit gesture ([#1405](https://github.com/revanced/revanced-patches/issues/1405)) ([47dce0d](47dce0d01e))

### Features

* **youtube:** `copy-video-url` patch ([#1402](https://github.com/revanced/revanced-patches/issues/1402)) ([b777d2e](b777d2e230))
2022-12-31 20:22:21 +00:00
oSumAtrIX
ec64b8d1ff chore: merge branch dev to main (#1409) 2022-12-31 21:20:25 +01:00
semantic-release-bot
a52a692062 chore(release): 2.151.0-dev.1 [skip ci]
# [2.151.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.150.0...v2.151.0-dev.1) (2022-12-31)

### Bug Fixes

* **youtube/general-ads:** restore swipe back to exit gesture ([#1405](https://github.com/revanced/revanced-patches/issues/1405)) ([47dce0d](47dce0d01e))

### Features

* **youtube:** `copy-video-url` patch ([#1402](https://github.com/revanced/revanced-patches/issues/1402)) ([b777d2e](b777d2e230))
2022-12-31 20:16:54 +00:00
oSumAtrIX
c372d7823c build: do not comment on successful releases 2022-12-31 21:14:58 +01:00
0xrxL
47dce0d01e fix(youtube/general-ads): restore swipe back to exit gesture (#1405)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-31 21:14:58 +01:00
aliernfrog
b777d2e230 feat(youtube): copy-video-url patch (#1402) 2022-12-31 21:13:47 +01:00
semantic-release-bot
c98baf93fc chore(release): 2.150.0 [skip ci]
# [2.150.0](https://github.com/revanced/revanced-patches/compare/v2.149.0...v2.150.0) (2022-12-31)

### Bug Fixes

* **youtube/bottom-controls-resource-patch:** use correct length for `nameSpaceLength` ([#1401](https://github.com/revanced/revanced-patches/issues/1401)) ([7966be8](7966be827f))
* **youtube/general-ads:** resolve fingerprint to correct method ([#1404](https://github.com/revanced/revanced-patches/issues/1404)) ([50e210d](50e210d94f))

### Features

* **youtube/return-youtube-dislike:** better formatting and LTR support  ([#1370](https://github.com/revanced/revanced-patches/issues/1370)) ([e8391b3](e8391b3e93))
2022-12-31 06:42:46 +00:00
oSumAtrIX
4e4b0ecb0d chore: merge branch dev to main (#1403) 2022-12-31 07:41:02 +01:00
LisoUseInAIKyrios
e8391b3e93 feat(youtube/return-youtube-dislike): better formatting and LTR support (#1370) 2022-12-31 07:39:37 +01:00
semantic-release-bot
1db7eebeaa chore(release): 2.149.1-dev.2 [skip ci]
## [2.149.1-dev.2](https://github.com/revanced/revanced-patches/compare/v2.149.1-dev.1...v2.149.1-dev.2) (2022-12-31)

### Bug Fixes

* **youtube/general-ads:** resolve fingerprint to correct method ([#1404](https://github.com/revanced/revanced-patches/issues/1404)) ([50e210d](50e210d94f))
2022-12-31 02:50:40 +00:00
0xrxL
50e210d94f fix(youtube/general-ads): resolve fingerprint to correct method (#1404) 2022-12-31 03:48:57 +01:00
semantic-release-bot
ad6fab930d chore(release): 2.149.1-dev.1 [skip ci]
## [2.149.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.149.0...v2.149.1-dev.1) (2022-12-30)

### Bug Fixes

* **youtube/bottom-controls-resource-patch:** use correct length for `nameSpaceLength` ([#1401](https://github.com/revanced/revanced-patches/issues/1401)) ([7966be8](7966be827f))
2022-12-30 21:11:17 +00:00
aliernfrog
7966be827f fix(youtube/bottom-controls-resource-patch): use correct length for nameSpaceLength (#1401) 2022-12-30 22:09:29 +01:00
semantic-release-bot
6a6f05e2cb chore(release): 2.149.0 [skip ci]
# [2.149.0](https://github.com/revanced/revanced-patches/compare/v2.148.0...v2.149.0) (2022-12-30)

### Bug Fixes

* **tasker/unlock-license:** resolve fingerprint correctly ([9158fd5](9158fd5054))

### Features

* **youtube/general-ads-patch:** hide channel member shelf ([#1380](https://github.com/revanced/revanced-patches/issues/1380)) ([6441b03](6441b031e3))
2022-12-30 04:22:43 +00:00
oSumAtrIX
752b12b66d chore: merge branch dev to main (#1391) 2022-12-30 05:20:53 +01:00
semantic-release-bot
623a9bce98 chore(release): 2.149.0-dev.1 [skip ci]
# [2.149.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.148.0...v2.149.0-dev.1) (2022-12-30)

### Bug Fixes

* **tasker/unlock-license:** resolve fingerprint correctly ([9158fd5](9158fd5054))

### Features

* **youtube/general-ads-patch:** hide channel member shelf ([#1380](https://github.com/revanced/revanced-patches/issues/1380)) ([6441b03](6441b031e3))
2022-12-30 04:18:42 +00:00
0xrxL
6441b031e3 feat(youtube/general-ads-patch): hide channel member shelf (#1380)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-30 05:16:28 +01:00
oSumAtrIX
4227ffa40f refactor(tasker/unlock-trial): rename patch to unlock-trial 2022-12-30 05:14:30 +01:00
oSumAtrIX
9158fd5054 fix(tasker/unlock-license): resolve fingerprint correctly 2022-12-30 05:13:28 +01:00
oSumAtrIX
7f529d1038 ci: do not escape in environment variable MESSAGE 2022-12-29 19:07:32 +01:00
semantic-release-bot
bb38c02b51 chore(release): 2.148.0 [skip ci]
# [2.148.0](https://github.com/revanced/revanced-patches/compare/v2.147.0...v2.148.0) (2022-12-29)

### Bug Fixes

* **youtube/general-ads:** don't early return when not necessary ([#1353](https://github.com/revanced/revanced-patches/issues/1353)) ([3227d66](3227d66dc2))

### Features

* **tasker:** `unlock-license` patch ([#1339](https://github.com/revanced/revanced-patches/issues/1339)) ([e60173a](e60173addf))
* **twitter:** `hide-views-stats` patch ([#1371](https://github.com/revanced/revanced-patches/issues/1371)) ([63f5af5](63f5af5c3b))
* **youtube/general-ads-patch:** hide guidelines for subscriber ([#1352](https://github.com/revanced/revanced-patches/issues/1352)) ([adc2f73](adc2f738c0))
* **youtube/theme:** add option to color the seekbar ([2374af6](2374af6f82))
* **youtube/theme:** include the patch by default ([4da3e4f](4da3e4f369))
* **youtube:** `hide-breaking-news-shelf` patch ([#1381](https://github.com/revanced/revanced-patches/issues/1381)) ([7e3184b](7e3184b5f7))
2022-12-29 18:01:13 +00:00
oSumAtrIX
b927e8b93f chore: merge branch dev to main (#1389) 2022-12-29 18:59:20 +01:00
semantic-release-bot
ba4676d500 chore(release): 2.148.0-dev.6 [skip ci]
# [2.148.0-dev.6](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.5...v2.148.0-dev.6) (2022-12-29)

### Features

* **youtube/theme:** add option to color the seekbar ([2374af6](2374af6f82))
* **youtube/theme:** include the patch by default ([4da3e4f](4da3e4f369))
2022-12-29 17:42:40 +00:00
oSumAtrIX
1af1bf8342 refactor(youtube/theme): apply default formatting 2022-12-29 18:40:28 +01:00
oSumAtrIX
2374af6f82 feat(youtube/theme): add option to color the seekbar 2022-12-29 18:39:54 +01:00
oSumAtrIX
4da3e4f369 feat(youtube/theme): include the patch by default 2022-12-29 18:22:25 +01:00
semantic-release-bot
f89027609f chore(release): 2.148.0-dev.5 [skip ci]
# [2.148.0-dev.5](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.4...v2.148.0-dev.5) (2022-12-29)

### Features

* **youtube:** `hide-breaking-news-shelf` patch ([#1381](https://github.com/revanced/revanced-patches/issues/1381)) ([7e3184b](7e3184b5f7))
2022-12-29 16:44:25 +00:00
0xrxL
7e3184b5f7 feat(youtube): hide-breaking-news-shelf patch (#1381)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-29 17:42:33 +01:00
semantic-release-bot
49cca5a258 chore(release): 2.148.0-dev.4 [skip ci]
# [2.148.0-dev.4](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.3...v2.148.0-dev.4) (2022-12-29)

### Features

* **twitter:** `hide-views-stats` patch ([#1371](https://github.com/revanced/revanced-patches/issues/1371)) ([63f5af5](63f5af5c3b))
2022-12-29 02:11:55 +00:00
Franck V
63f5af5c3b feat(twitter): hide-views-stats patch (#1371)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-29 03:10:04 +01:00
semantic-release-bot
82df77460f chore(release): 2.148.0-dev.3 [skip ci]
# [2.148.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.2...v2.148.0-dev.3) (2022-12-26)

### Bug Fixes

* **youtube/general-ads:** don't early return when not necessary ([#1353](https://github.com/revanced/revanced-patches/issues/1353)) ([3227d66](3227d66dc2))
2022-12-26 17:35:06 +00:00
0xrxL
3227d66dc2 fix(youtube/general-ads): don't early return when not necessary (#1353) 2022-12-26 18:33:18 +01:00
semantic-release-bot
62102c9543 chore(release): 2.148.0-dev.2 [skip ci]
# [2.148.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.1...v2.148.0-dev.2) (2022-12-26)

### Features

* **youtube/general-ads-patch:** hide guidelines for subscriber ([#1352](https://github.com/revanced/revanced-patches/issues/1352)) ([adc2f73](adc2f738c0))
2022-12-26 17:30:22 +00:00
0xrxL
adc2f738c0 feat(youtube/general-ads-patch): hide guidelines for subscriber (#1352) 2022-12-26 18:28:10 +01:00
semantic-release-bot
a3b3b613e2 chore(release): 2.148.0-dev.1 [skip ci]
# [2.148.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.147.0...v2.148.0-dev.1) (2022-12-21)

### Features

* **tasker:** `unlock-license` patch ([#1339](https://github.com/revanced/revanced-patches/issues/1339)) ([e60173a](e60173addf))
2022-12-21 23:39:59 +00:00
oSumAtrIX
e60173addf feat(tasker): unlock-license patch (#1339) 2022-12-22 00:38:16 +01:00
semantic-release-bot
be80837218 chore(release): 2.147.0 [skip ci]
# [2.147.0](https://github.com/revanced/revanced-patches/compare/v2.146.0...v2.147.0) (2022-12-21)

### Features

* **youtube/return-youtube-dislike:** debug connection statistics, toast on error, high priority background threads ([#1320](https://github.com/revanced/revanced-patches/issues/1320)) ([7f1f317](7f1f317c08))
2022-12-21 21:36:07 +00:00
oSumAtrIX
528cbfc171 chore: merge branch dev to main (#1338) 2022-12-21 22:34:32 +01:00
semantic-release-bot
dc055a0b20 chore(release): 2.147.0-dev.1 [skip ci]
# [2.147.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.146.0...v2.147.0-dev.1) (2022-12-21)

### Features

* **youtube/return-youtube-dislike:** debug connection statistics, toast on error, high priority background threads ([#1320](https://github.com/revanced/revanced-patches/issues/1320)) ([7f1f317](7f1f317c08))
2022-12-21 21:21:16 +00:00
LisoUseInAIKyrios
7f1f317c08 feat(youtube/return-youtube-dislike): debug connection statistics, toast on error, high priority background threads (#1320) 2022-12-21 22:19:19 +01:00
0xrxL
b18256a2a2 refactor(youtube/theme): remove unnecessary attributes (#1303) 2022-12-18 23:26:10 +01:00
oSumAtrIX
a3ece1e154 ci: stash before rebasing 2022-12-18 23:25:20 +01:00
semantic-release-bot
5ead461caf chore(release): 2.146.0 [skip ci]
# [2.146.0](https://github.com/revanced/revanced-patches/compare/v2.145.0...v2.146.0) (2022-12-18)

### Features

* **predictive-back-gesture:** exclude by default ([e67f18b](e67f18b9c2))
* **twitter/timeline-ads:** add clarifying notice to description ([89215d6](89215d6513))
* **youtube:** bump patches compatibility to v17.49.37 ([6e08309](6e0830929c))
2022-12-18 21:33:25 +00:00
oSumAtrIX
66c582795e chore: merge branch dev to main (#1300) 2022-12-18 22:30:27 +01:00
semantic-release-bot
c3641d90dd chore(release): 2.146.0-dev.1 [skip ci]
# [2.146.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.145.0...v2.146.0-dev.1) (2022-12-18)

### Features

* **predictive-back-gesture:** exclude by default ([e67f18b](e67f18b9c2))
* **twitter/timeline-ads:** add clarifying notice to description ([89215d6](89215d6513))
* **youtube:** bump patches compatibility to v17.49.37 ([6e08309](6e0830929c))
2022-12-18 21:29:55 +00:00
oSumAtrIX
da108ca9bb chore: bump patcher dependency version 2022-12-18 22:28:07 +01:00
oSumAtrIX
96d88ae0fb chore(youtube): remove compatibility for v17.45.36 in favour of v17.49.37 2022-12-18 22:28:06 +01:00
oSumAtrIX
6e0830929c feat(youtube): bump patches compatibility to v17.49.37 2022-12-18 22:28:06 +01:00
oSumAtrIX
e67f18b9c2 feat(predictive-back-gesture): exclude by default 2022-12-18 22:28:06 +01:00
Palm
b2b1108c47 ci: fix invalid syntax in .releaserc 2022-12-18 22:28:05 +01:00
oSumAtrIX
89215d6513 feat(twitter/timeline-ads): add clarifying notice to description 2022-12-18 22:26:33 +01:00
semantic-release-bot
ce4d144910 chore(release): 2.145.0 [skip ci]
# [2.145.0](https://github.com/revanced/revanced-patches/compare/v2.144.0...v2.145.0) (2022-12-18)

### Bug Fixes

* **tiktok/settings:** make compatible with newer versions ([c90069f](c90069f9c5))

### Features

* **crunchyroll:** remove `enable-downloads` patch ([df2a051](df2a051724))
* **youtube-music:** bump compatibility to 5.36.51 ([6831b3c](6831b3ce25))
2022-12-18 01:46:16 +00:00
oSumAtrIX
dbd2f5b7da chore: merge branch dev to main (#1286) 2022-12-18 02:44:33 +01:00
semantic-release-bot
ed7b86072c chore(release): 2.145.0-dev.1 [skip ci]
# [2.145.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.144.0...v2.145.0-dev.1) (2022-12-18)

### Bug Fixes

* **tiktok/settings:** make compatible with newer versions ([c90069f](c90069f9c5))

### Features

* **crunchyroll:** remove `enable-downloads` patch ([df2a051](df2a051724))
* **youtube-music:** bump compatibility to 5.36.51 ([6831b3c](6831b3ce25))
2022-12-18 01:42:41 +00:00
oSumAtrIX
c90069f9c5 fix(tiktok/settings): make compatible with newer versions 2022-12-18 02:39:54 +01:00
oSumAtrIX
df2a051724 feat(crunchyroll): remove enable-downloads patch 2022-12-18 02:39:54 +01:00
FineFindus
6831b3ce25 feat(youtube-music): bump compatibility to 5.36.51 2022-12-18 02:39:28 +01:00
oSumAtrIX
c201f6dc2c chore: merge branch dev to main (#1276) 2022-12-15 23:43:43 +01:00
oSumAtrIX
9849df5814 ci: clean after running task generateMeta 2022-12-15 23:40:39 +01:00
semantic-release-bot
677fd639b7 chore(release): 2.144.0 [skip ci]
# [2.144.0](https://github.com/revanced/revanced-patches/compare/v2.143.0...v2.144.0) (2022-12-15)

### Features

* **citra:** add compatibility for canary package ([#1256](https://github.com/revanced/revanced-patches/issues/1256)) ([76b6c15](76b6c1561a))
* link packages to Google PlayStore ([#1272](https://github.com/revanced/revanced-patches/issues/1272)) ([2ef3625](2ef3625cac))
2022-12-15 20:56:43 +00:00
oSumAtrIX
63b63a394d chore: merge branch dev to main (#1268) 2022-12-15 21:53:26 +01:00
oSumAtrIX
936780038b ci: do not release on build commit type 2022-12-15 19:47:31 +01:00
semantic-release-bot
6c4c834587 chore(release): 2.144.0-dev.2 [skip ci]
# [2.144.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.144.0-dev.1...v2.144.0-dev.2) (2022-12-15)

### Features

* link packages to Google PlayStore ([#1272](https://github.com/revanced/revanced-patches/issues/1272)) ([2ef3625](2ef3625cac))
2022-12-15 14:08:49 +00:00
afn
2ef3625cac feat: link packages to Google PlayStore (#1272) 2022-12-15 15:06:55 +01:00
semantic-release-bot
10107919bd chore(release): 2.144.0-dev.1 [skip ci]
# [2.144.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.143.0...v2.144.0-dev.1) (2022-12-15)

### Features

* **citra:** add compatibility for canary package ([#1256](https://github.com/revanced/revanced-patches/issues/1256)) ([76b6c15](76b6c1561a))
2022-12-15 00:21:41 +00:00
FineFindus
76b6c1561a feat(citra): add compatibility for canary package (#1256) 2022-12-15 01:15:08 +01:00
semantic-release-bot
73023cd45e chore(release): 2.143.0 [skip ci]
# [2.143.0](https://github.com/revanced/revanced-patches/compare/v2.142.0...v2.143.0) (2022-12-14)

### Bug Fixes

* **predictive-back-gesture:** create attribute, if it does not exist ([e6e5864](e6e5864450))

### Features

* **sleepasandroid:** remove `unlock-premium` patch ([#1253](https://github.com/revanced/revanced-patches/issues/1253)) ([9432211](943221173e))
2022-12-14 00:06:53 +00:00
oSumAtrIX
456c6ce2bf chore: merge branch dev to main (#1254)
chore: merge branch `dev` to `main`
2022-12-14 01:04:17 +01:00
semantic-release-bot
d32782962f chore(release): 2.143.0-dev.2 [skip ci]
# [2.143.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.143.0-dev.1...v2.143.0-dev.2) (2022-12-14)

### Bug Fixes

* **predictive-back-gesture:** create attribute, if it does not exist ([e6e5864](e6e5864450))
2022-12-14 00:01:51 +00:00
oSumAtrIX
0fe7cacb31 ci: only back-merge from main branch to dev 2022-12-14 00:59:12 +01:00
oSumAtrIX
e6e5864450 fix(predictive-back-gesture): create attribute, if it does not exist 2022-12-14 00:47:03 +01:00
semantic-release-bot
a767f77b72 chore(release): 2.143.0-dev.1 [skip ci]
# [2.143.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.142.0...v2.143.0-dev.1) (2022-12-13)

### Features

* **sleepasandroid:** remove `unlock-premium` patch ([#1253](https://github.com/revanced/revanced-patches/issues/1253)) ([9432211](943221173e))
2022-12-13 23:31:44 +00:00
oSumAtrIX
3dc88e2578 ci: back-merge releases back into dev branch 2022-12-14 00:28:02 +01:00
oSumAtrIX
2df07cad36 chore: bump patcher dependency version 2022-12-14 00:25:33 +01:00
Jiří Richter
943221173e feat(sleepasandroid): remove unlock-premium patch (#1253) 2022-12-14 00:25:17 +01:00
semantic-release-bot
6ff3f3c974 chore(release): 2.142.0 [skip ci]
# [2.142.0](https://github.com/revanced/revanced-patches/compare/v2.141.0...v2.142.0) (2022-12-11)

### Features

* `predictive-back-gesture` patch ([#1236](https://github.com/revanced/revanced-patches/issues/1236)) ([170c5da](170c5daa33))
* **twitch/block-embedded-ads:** `block-embedded-ads` patch ([#1166](https://github.com/revanced/revanced-patches/issues/1166)) ([9af1fef](9af1fef0b7))
2022-12-11 04:11:04 +00:00
oSumAtrIX
e4c2bb9d39 chore: merge branch dev to main (#1235) 2022-12-11 05:08:31 +01:00
oSumAtrIX
67e2e00cdc ci: open pull requests to merge dev to main 2022-12-11 04:53:14 +01:00
bennett-sh
170c5daa33 feat: predictive-back-gesture patch (#1236)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-11 04:52:31 +01:00
oSumAtrIX
ce1099cd9c refactor: move ResourceUtils.mergeStrings to correct class 2022-12-11 04:52:30 +01:00
Ushie
9af1fef0b7 feat(twitch/block-embedded-ads): block-embedded-ads patch (#1166)
Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
2022-12-11 04:52:19 +01:00
oSumAtrIX
a421da53f3 ci: refactor release workflow 2022-12-11 04:52:19 +01:00
semantic-release-bot
6a49b617fd chore(release): 2.141.0 [skip ci]
# [2.141.0](https://github.com/revanced/revanced-patches/compare/v2.140.0...v2.141.0) (2022-12-09)

### Bug Fixes

* inconsistencies in preference switches ([#1207](https://github.com/revanced/revanced-patches/issues/1207)) ([d5bff77](d5bff774ed))

### Features

* **youtube/return-youtube-dislike:** simplify preference descriptions ([#1216](https://github.com/revanced/revanced-patches/issues/1216)) ([72dacd7](72dacd7c9d))
2022-12-09 17:37:35 +00:00
Lisouseinaikyrios
d5bff774ed fix: inconsistencies in preference switches (#1207)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-09 18:11:16 +01:00
Lisouseinaikyrios
72dacd7c9d feat(youtube/return-youtube-dislike): simplify preference descriptions (#1216) 2022-12-06 23:30:15 +01:00
semantic-release-bot
2afdb1a70d chore(release): 2.140.0 [skip ci]
# [2.140.0](https://github.com/revanced/revanced-patches/compare/v2.139.0...v2.140.0) (2022-12-05)

### Features

* **music:** bump compatibility to v5.34.51 ([9a7e36c](127ab85d5e))
2022-12-05 20:46:00 +00:00
oSumAtrIX
127ab85d5e feat(music): bump compatibility to v5.34.51 2022-12-05 21:43:49 +01:00
semantic-release-bot
817a6a9f87 chore(release): 2.139.0 [skip ci]
# [2.139.0](https://github.com/revanced/revanced-patches/compare/v2.138.0...v2.139.0) (2022-12-05)

### Features

* **youtube/return-youtube-dislike:** improve settings labels ([#1203](https://github.com/revanced/revanced-patches/issues/1203)) ([7913046](18b39a448e))
2022-12-05 12:53:00 +00:00
LisousEinaiKyrios
18b39a448e feat(youtube/return-youtube-dislike): improve settings labels (#1203) 2022-12-05 13:50:49 +01:00
semantic-release-bot
13e74c9946 chore(release): 2.138.0 [skip ci]
# [2.138.0](https://github.com/revanced/revanced-patches/compare/v2.137.0...v2.138.0) (2022-12-05)

### Features

* **youtube/debugging:** print stack traces ([4289a49](d77c9fec15))
2022-12-05 05:36:21 +00:00
oSumAtrIX
d77c9fec15 feat(youtube/debugging): print stack traces 2022-12-05 06:34:01 +01:00
semantic-release-bot
27c66f7d12 chore(release): 2.137.0 [skip ci]
# [2.137.0](https://github.com/revanced/revanced-patches/compare/v2.136.0...v2.137.0) (2022-12-03)

### Features

* **youtube/return-youtube-dislike:** show dislike as a percentage ([#1185](https://github.com/revanced/revanced-patches/issues/1185)) ([e5cb571](ad3041635f))
2022-12-03 16:25:19 +00:00
LisousEinaiKyrios
ad3041635f feat(youtube/return-youtube-dislike): show dislike as a percentage (#1185)
Co-authored-by: LisousEinaiKyrios <>
2022-12-03 17:23:28 +01:00
semantic-release-bot
8ff56f557c chore(release): 2.136.0 [skip ci]
# [2.136.0](https://github.com/revanced/revanced-patches/compare/v2.135.0...v2.136.0) (2022-12-02)

### Bug Fixes

* syntax error in compatiblity annotation ([#1181](https://github.com/revanced/revanced-patches/issues/1181)) ([23bf905](6369b24f64))

### Features

* **youtube:** drop support for compatibility of old versions ([2e3d004](f1960310b6))
2022-12-02 14:20:41 +00:00
Robert
6369b24f64 fix: syntax error in compatiblity annotation (#1181) 2022-12-02 15:19:16 +01:00
oSumAtrIX
f1960310b6 feat(youtube): drop support for compatibility of old versions 2022-12-02 05:07:41 +01:00
semantic-release-bot
0aaa2a40ec chore(release): 2.135.0 [skip ci]
# [2.135.0](https://github.com/revanced/revanced-patches/compare/v2.134.1...v2.135.0) (2022-12-02)

### Features

* sort README patch table by amount of patches per package ([791dcb5](9d6c99930b))
2022-12-02 03:36:42 +00:00
oSumAtrIX
9d6c99930b feat: sort README patch table by amount of patches per package 2022-12-02 04:35:06 +01:00
semantic-release-bot
d50a58900c chore(release): 2.134.1 [skip ci]
## [2.134.1](https://github.com/revanced/revanced-patches/compare/v2.134.0...v2.134.1) (2022-12-02)

### Bug Fixes

* **youtube:** swipe gesture on home screen ([f7644ae](f057ba8eab)), closes [#610](https://github.com/revanced/revanced-patches/issues/610)
2022-12-02 03:07:15 +00:00
oSumAtrIX
139f9a88eb chore: bump patcher dependency version 2022-12-02 04:04:49 +01:00
oSumAtrIX
f057ba8eab fix(youtube): swipe gesture on home screen
Fixes #610
2022-12-02 04:04:49 +01:00
semantic-release-bot
7bd544e171 refactor: move patches to correct package 2022-12-02 04:04:48 +01:00
semantic-release-bot
796d4dc407 chore(release): 2.134.0 [skip ci]
# [2.134.0](https://github.com/revanced/revanced-patches/compare/v2.133.0...v2.134.0) (2022-12-02)

### Bug Fixes

* **anytracker:** syntax error in fingerprint ([#1165](https://github.com/revanced/revanced-patches/issues/1165)) ([4f757ac](f63cfb52b0))

### Features

* **anytracker:** `unlock-premium` patch ([#1165](https://github.com/revanced/revanced-patches/issues/1165)) ([041fb72](583ec5d8e3))
2022-12-02 01:38:22 +00:00
oSumAtrIX
99f6363606 chore: bump patcher dependency version 2022-12-02 02:35:34 +01:00
oSumAtrIX
f63cfb52b0 fix(anytracker): syntax error in fingerprint (#1165) 2022-12-02 02:19:04 +01:00
oSumAtrIX
583ec5d8e3 feat(anytracker): unlock-premium patch (#1165)
Co-authored-by: FineFindus <63370021+FineFindus@users.noreply.github.com>
2022-12-01 22:48:33 +01:00
semantic-release-bot
b675adef30 chore(release): 2.133.0 [skip ci]
# [2.133.0](https://github.com/revanced/revanced-patches/compare/v2.132.0...v2.133.0) (2022-12-01)

### Features

* **moneymanager:** `unlock-premium` patch ([#1173](https://github.com/revanced/revanced-patches/issues/1173)) ([4da1d53](a08fe535b1))
2022-12-01 17:51:15 +00:00
johnconner122
a08fe535b1 feat(moneymanager): unlock-premium patch (#1173)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-01 18:49:40 +01:00
semantic-release-bot
7e5c963e36 chore(release): 2.132.0 [skip ci]
# [2.132.0](https://github.com/revanced/revanced-patches/compare/v2.131.0...v2.132.0) (2022-12-01)

### Features

* **sleepasandroid:** `unlock-premium` patch ([#1172](https://github.com/revanced/revanced-patches/issues/1172)) ([9d9d938](05ea840b8f))
* **twitch:** remove `block-embedded-ads` patch ([#1164](https://github.com/revanced/revanced-patches/issues/1164)) ([403e887](da4b80c5dd))
2022-12-01 17:20:22 +00:00
aliveoutside
05ea840b8f feat(sleepasandroid): unlock-premium patch (#1172)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-12-01 18:18:43 +01:00
Ushie
da4b80c5dd feat(twitch): remove block-embedded-ads patch (#1164) 2022-11-30 22:36:21 +01:00
semantic-release-bot
4ca19b7fd2 chore(release): 2.131.0 [skip ci]
# [2.131.0](https://github.com/revanced/revanced-patches/compare/v2.130.0...v2.131.0) (2022-11-30)

### Features

* **twitch/block-embedded-ads:** `block-embedded-ads` patch support ([#1160](https://github.com/revanced/revanced-patches/issues/1160)) ([69590fd](260b395426))
2022-11-30 14:11:58 +00:00
Tim Schneeberger
260b395426 feat(twitch/block-embedded-ads): block-embedded-ads patch support (#1160) 2022-11-30 15:10:07 +01:00
semantic-release-bot
b4d8dbcc3d chore(release): 2.130.0 [skip ci]
# [2.130.0](https://github.com/revanced/revanced-patches/compare/v2.129.0...v2.130.0) (2022-11-29)

### Features

* **youtube/enable-wide-searchbar:** bump compatibility to v17.45.36 ([5451a52](7180914df1))
2022-11-29 00:46:01 +00:00
oSumAtrIX
7180914df1 feat(youtube/enable-wide-searchbar): bump compatibility to v17.45.36 2022-11-29 01:44:18 +01:00
semantic-release-bot
748b14d547 chore(release): 2.129.0 [skip ci]
# [2.129.0](https://github.com/revanced/revanced-patches/compare/v2.128.0...v2.129.0) (2022-11-28)

### Features

* **youtube/hide-create-button:** bump compatibility to v17.45.36 ([37e9df2](d9d4d1f38c))
* **youtube/hide-shorts-button:** bump compatibility to v17.45.36 ([e5e33f2](0f73a9dd5e))
2022-11-28 23:57:26 +00:00
oSumAtrIX
d9d4d1f38c feat(youtube/hide-create-button): bump compatibility to v17.45.36 2022-11-29 00:55:34 +01:00
oSumAtrIX
0f73a9dd5e feat(youtube/hide-shorts-button): bump compatibility to v17.45.36 2022-11-29 00:55:31 +01:00
semantic-release-bot
fafcd751b2 chore(release): 2.128.0 [skip ci]
# [2.128.0](https://github.com/revanced/revanced-patches/compare/v2.127.0...v2.128.0) (2022-11-28)

### Features

* **twitch:** settings for patches ([#1142](https://github.com/revanced/revanced-patches/issues/1142)) ([02bb641](ea7b3f5529))
2022-11-28 23:22:34 +00:00
Tim Schneeberger
ea7b3f5529 feat(twitch): settings for patches (#1142) 2022-11-29 00:20:58 +01:00
semantic-release-bot
4935c00aa5 chore(release): 2.127.0 [skip ci]
# [2.127.0](https://github.com/revanced/revanced-patches/compare/v2.126.1...v2.127.0) (2022-11-28)

### Features

* **twitch:** `settings` patch ([#1075](https://github.com/revanced/revanced-patches/issues/1075)) ([632a083](06098713bb))
2022-11-28 22:52:01 +00:00
Tim Schneeberger
06098713bb feat(twitch): settings patch (#1075)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-28 23:50:04 +01:00
Tim Schneeberger
eb505d802a refactor: abstract settings patch (#1109)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-28 20:13:34 +01:00
semantic-release-bot
e8b7cdfa35 chore(release): 2.126.1 [skip ci]
## [2.126.1](https://github.com/revanced/revanced-patches/compare/v2.126.0...v2.126.1) (2022-11-28)

### Bug Fixes

* **youtube/custom-video-speed:** fuzzy scan on fingerprint  ([#1135](https://github.com/revanced/revanced-patches/issues/1135)) ([920e72a](986951dc8a))
2022-11-28 10:58:11 +00:00
FineFindus
986951dc8a fix(youtube/custom-video-speed): fuzzy scan on fingerprint (#1135) 2022-11-28 11:56:12 +01:00
d4rkk3y
b88fda959c refactor(tiktok): simplify names (#1085) 2022-11-28 03:11:32 +01:00
semantic-release-bot
96c36dca74 chore(release): 2.126.0 [skip ci]
# [2.126.0](https://github.com/revanced/revanced-patches/compare/v2.125.0...v2.126.0) (2022-11-28)

### Features

* **backdrops:** `pro-unlock` patch ([#1121](https://github.com/revanced/revanced-patches/issues/1121)) ([285169e](4ce3fd4ff7))
2022-11-28 01:38:21 +00:00
josesilveiraa
4ce3fd4ff7 feat(backdrops): pro-unlock patch (#1121) 2022-11-28 02:36:39 +01:00
semantic-release-bot
81c5c3870c chore(release): 2.125.0 [skip ci]
# [2.125.0](https://github.com/revanced/revanced-patches/compare/v2.124.0...v2.125.0) (2022-11-26)

### Features

* **myexpenses:** `unlock-pro` patch ([#1120](https://github.com/revanced/revanced-patches/issues/1120)) ([b3796d6](30aeaf70d8))
2022-11-26 14:44:43 +00:00
Jonathan
30aeaf70d8 feat(myexpenses): unlock-pro patch (#1120) 2022-11-26 15:43:04 +01:00
semantic-release-bot
712423789e chore(release): 2.124.0 [skip ci]
# [2.124.0](https://github.com/revanced/revanced-patches/compare/v2.123.0...v2.124.0) (2022-11-26)

### Features

* **citra:** `premium-unlock` patch ([#1115](https://github.com/revanced/revanced-patches/issues/1115)) ([7a07f57](1ad2db1ca4))
* **crunchyroll:** `enable-downloads` patch ([#1119](https://github.com/revanced/revanced-patches/issues/1119)) ([e6e8f5d](16b4e78d79))
2022-11-26 14:11:37 +00:00
josesilveiraa
1ad2db1ca4 feat(citra): premium-unlock patch (#1115)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-26 15:10:09 +01:00
johnconner122
16b4e78d79 feat(crunchyroll): enable-downloads patch (#1119)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-26 15:08:28 +01:00
semantic-release-bot
f57c555395 chore(release): 2.123.0 [skip ci]
# [2.123.0](https://github.com/revanced/revanced-patches/compare/v2.122.0...v2.123.0) (2022-11-26)

### Features

* **windyapp:** `unlock-pro` patch ([#1118](https://github.com/revanced/revanced-patches/issues/1118)) ([20a7edf](53f1f6fc96))
2022-11-26 14:07:55 +00:00
Jonathan
53f1f6fc96 feat(windyapp): unlock-pro patch (#1118) 2022-11-26 15:06:15 +01:00
semantic-release-bot
b4b8f62c7b chore(release): 2.122.0 [skip ci]
# [2.122.0](https://github.com/revanced/revanced-patches/compare/v2.121.0...v2.122.0) (2022-11-25)

### Features

* **tiktok:** `sim-spoof` patch ([#1088](https://github.com/revanced/revanced-patches/issues/1088)) ([526b312](8b2703273a))
2022-11-25 10:21:36 +00:00
d4rkk3y
8b2703273a feat(tiktok): sim-spoof patch (#1088)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-25 11:20:04 +01:00
oSumAtrIX
9e2a6eead1 refactor: remove unused extension methods 2022-11-25 00:30:35 +01:00
Tim Schneeberger
5afd49a111 refactor: abstract settings patch away from YouTube (#1103)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-25 00:05:54 +01:00
oSumAtrIX
e79ad750d4 refactor(youtube/hide-cast-button): quality of life changes 2022-11-24 23:14:16 +01:00
semantic-release-bot
97ea238520 chore(release): 2.121.0 [skip ci]
# [2.121.0](https://github.com/revanced/revanced-patches/compare/v2.120.0...v2.121.0) (2022-11-23)

### Features

* **anytracker:** remove `unlock-premium` patch ([#1094](https://github.com/revanced/revanced-patches/issues/1094)) ([7f9fb09](700ca5b543))
2022-11-23 16:21:42 +00:00
Shervin Koushan
700ca5b543 feat(anytracker): remove unlock-premium patch (#1094) 2022-11-23 17:19:48 +01:00
semantic-release-bot
b792be5b78 chore(release): 2.120.0 [skip ci]
# [2.120.0](https://github.com/revanced/revanced-patches/compare/v2.119.0...v2.120.0) (2022-11-23)

### Features

* **youtube:** `remove-player-button-background` patch ([#855](https://github.com/revanced/revanced-patches/issues/855)) ([5988f63](025b480175))
2022-11-23 06:36:16 +00:00
johnconner122
025b480175 feat(youtube): remove-player-button-background patch (#855)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-23 07:34:39 +01:00
semantic-release-bot
e1b53b214f chore(release): 2.119.0 [skip ci]
# [2.119.0](https://github.com/revanced/revanced-patches/compare/v2.118.1...v2.119.0) (2022-11-23)

### Features

* **twitch:** ˋintegrationsˋ  dependency patch ([#1074](https://github.com/revanced/revanced-patches/issues/1074)) ([8196f26](30939e5efe))
2022-11-23 06:32:04 +00:00
Tim Schneeberger
30939e5efe feat(twitch): ˋintegrationsˋ dependency patch (#1074) 2022-11-23 07:30:11 +01:00
semantic-release-bot
4d9c41488d chore(release): 2.118.1 [skip ci]
## [2.118.1](https://github.com/revanced/revanced-patches/compare/v2.118.0...v2.118.1) (2022-11-22)
2022-11-22 23:37:23 +00:00
oSumAtrIX
2fffcde357 build: bump dependencies 2022-11-23 00:35:08 +01:00
oSumAtrIX
7af08e0ba7 feat!: apply changes from ReVanced Patcher 2022-11-23 00:35:07 +01:00
semantic-release-bot
228834fda8 chore(release): 2.118.0 [skip ci]
# [2.118.0](https://github.com/revanced/revanced-patches/compare/v2.117.1...v2.118.0) (2022-11-22)

### Features

* **youtube:** bump patches compatibility to v17.45.36 ([5ee123f](7466aecc5b))
2022-11-22 22:56:01 +00:00
oSumAtrIX
7466aecc5b feat(youtube): bump patches compatibility to v17.45.36 2022-11-22 23:54:07 +01:00
semantic-release-bot
8ee36541b4 chore(release): 2.117.1 [skip ci]
## [2.117.1](https://github.com/revanced/revanced-patches/compare/v2.117.0...v2.117.1) (2022-11-22)

### Bug Fixes

* **youtube/general-ads:** hide reels shelf ([2f8b911](a4fd6603fe))
2022-11-22 22:43:58 +00:00
oSumAtrIX
a4fd6603fe fix(youtube/general-ads): hide reels shelf 2022-11-22 23:41:53 +01:00
oSumAtrIX
510cb8f590 refactor: apply auto-refactor 2022-11-22 20:18:29 +01:00
Sculas
c02ebd752c refactor(integrations): merge integrations code (#1052)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-21 22:26:43 +01:00
semantic-release-bot
b4d7eca5fa chore(release): 2.117.0 [skip ci]
# [2.117.0](https://github.com/revanced/revanced-patches/compare/v2.116.0...v2.117.0) (2022-11-21)

### Features

* **tiktok:** `tiktok-web-login` patch ([#593](https://github.com/revanced/revanced-patches/issues/593)) ([879f9c5](c6125c071b))
2022-11-21 15:16:45 +00:00
d4rkk3y
c6125c071b feat(tiktok): tiktok-web-login patch (#593) 2022-11-21 16:14:58 +01:00
d4rkk3y
478de297f9 frat(tiktok/settings): make patch name unique (#1082) 2022-11-21 16:12:44 +01:00
semantic-release-bot
ebc4a12cd7 chore(release): 2.116.0 [skip ci]
# [2.116.0](https://github.com/revanced/revanced-patches/compare/v2.115.0...v2.116.0) (2022-11-21)

### Features

* **youtube/theme:** make amoled the default color for dark theme background" ([5a904ce](b3c0291e70))
2022-11-21 02:55:24 +00:00
oSumAtrIX
b3c0291e70 feat(youtube/theme): make amoled the default color for dark theme background"
This reverts commit 91ae954210.
2022-11-21 03:53:18 +01:00
semantic-release-bot
c43588ee40 chore(release): 2.115.0 [skip ci]
# [2.115.0](https://github.com/revanced/revanced-patches/compare/v2.114.2...v2.115.0) (2022-11-21)

### Features

* **youtube/general-ads:** normalize switch names ([e9d5a5e](c2122494bc))
* **youtube/theme:** exclude the patch by default ([bfda80c](c74b5d4e47))
* **youtube/theme:** make dark the default color for dark theme background ([b099d8b](91ae954210))
2022-11-21 00:00:19 +00:00
oSumAtrIX
c74b5d4e47 feat(youtube/theme): exclude the patch by default 2022-11-21 00:58:56 +01:00
oSumAtrIX
91ae954210 feat(youtube/theme): make dark the default color for dark theme background 2022-11-21 00:58:56 +01:00
oSumAtrIX
65172cad4f refactor(youtube/general-ads): apply auto-refactor 2022-11-21 00:58:55 +01:00
oSumAtrIX
c2122494bc feat(youtube/general-ads): normalize switch names 2022-11-21 00:58:55 +01:00
semantic-release-bot
6ed94935ca chore(release): 2.114.2 [skip ci]
## [2.114.2](https://github.com/revanced/revanced-patches/compare/v2.114.1...v2.114.2) (2022-11-20)

### Bug Fixes

* **youtube/general-ads:** hide bytecode home ad view ([a2717d1](f3785c4e47))
* **youtube/general-ads:** remove unused switch ([e05dd02](a934821fa7))
2022-11-20 23:27:07 +00:00
oSumAtrIX
a934821fa7 fix(youtube/general-ads): remove unused switch 2022-11-21 00:25:31 +01:00
oSumAtrIX
f3785c4e47 fix(youtube/general-ads): hide bytecode home ad view 2022-11-21 00:25:30 +01:00
oSumAtrIX
67e0db5ac9 refactor(youtube/resource-mapping): move to appropriate package 2022-11-21 00:25:30 +01:00
oSumAtrIX
aaa820430b style(youtube/resource-mapping): use shorter name for class 2022-11-21 00:25:29 +01:00
semantic-release-bot
cf5ed1baea chore(release): 2.114.1 [skip ci]
## [2.114.1](https://github.com/revanced/revanced-patches/compare/v2.114.0...v2.114.1) (2022-11-20)

### Bug Fixes

* **tiktok/settings:** make compatible with newer versions ([#1057](https://github.com/revanced/revanced-patches/issues/1057)) ([79e6fcb](206341cec4))
2022-11-20 16:12:02 +00:00
d4rkk3y
206341cec4 fix(tiktok/settings): make compatible with newer versions (#1057)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-20 17:09:59 +01:00
semantic-release-bot
e8f4890edd chore(release): 2.114.0 [skip ci]
# [2.114.0](https://github.com/revanced/revanced-patches/compare/v2.113.0...v2.114.0) (2022-11-20)

### Features

* **youtube:** `disable-zoom-haptics` patch ([#1079](https://github.com/revanced/revanced-patches/issues/1079)) ([974a042](9463f11dbf))
2022-11-20 13:26:23 +00:00
aliernfrog
9463f11dbf feat(youtube): disable-zoom-haptics patch (#1079) 2022-11-20 14:24:41 +01:00
semantic-release-bot
2b3e153b60 chore(release): 2.113.0 [skip ci]
# [2.113.0](https://github.com/revanced/revanced-patches/compare/v2.112.0...v2.113.0) (2022-11-19)

### Bug Fixes

* **youtube/general-ads:** hide ads with buttons ([8909a06](3175e864af))

### Features

* **youtube/general-ads:** custom component filter ([b315b6f](4b6bf69366))
* **youtube/general-ads:** hide gray separators ([478ef39](38e8e7898b))
2022-11-19 22:34:33 +00:00
oSumAtrIX
4b6bf69366 feat(youtube/general-ads): custom component filter 2022-11-19 23:21:57 +01:00
oSumAtrIX
38e8e7898b feat(youtube/general-ads): hide gray separators 2022-11-19 23:21:38 +01:00
oSumAtrIX
3175e864af fix(youtube/general-ads): hide ads with buttons 2022-11-19 23:21:22 +01:00
semantic-release-bot
d320dd4e58 chore(release): 2.112.0 [skip ci]
# [2.112.0](https://github.com/revanced/revanced-patches/compare/v2.111.3...v2.112.0) (2022-11-19)

### Features

* **anytracker:** `unlock-premium` patch ([#1076](https://github.com/revanced/revanced-patches/issues/1076)) ([5e28da1](f5ae96defb))
2022-11-19 16:14:23 +00:00
Jonathan
f5ae96defb feat(anytracker): unlock-premium patch (#1076) 2022-11-19 17:12:51 +01:00
semantic-release-bot
bfe3876cea chore(release): 2.111.3 [skip ci]
## [2.111.3](https://github.com/revanced/revanced-patches/compare/v2.111.2...v2.111.3) (2022-11-18)

### Bug Fixes

* **youtube/litho-filter:** use correct type for switch case ([#1068](https://github.com/revanced/revanced-patches/issues/1068)) ([c0123af](3ad2c42a53))
2022-11-18 19:16:21 +00:00
Canny
3ad2c42a53 fix(youtube/litho-filter): use correct type for switch case (#1068)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-18 20:13:09 +01:00
semantic-release-bot
0d22fc2d2f chore(release): 2.111.2 [skip ci]
## [2.111.2](https://github.com/revanced/revanced-patches/compare/v2.111.1...v2.111.2) (2022-11-18)

### Bug Fixes

* **youtube/general-ads:** import correct compatibility annotation ([#1065](https://github.com/revanced/revanced-patches/issues/1065)) ([3f2383c](6e6dbd0c1a))
2022-11-18 10:10:36 +00:00
Ushie
6e6dbd0c1a fix(youtube/general-ads): import correct compatibility annotation (#1065) 2022-11-18 11:08:29 +01:00
semantic-release-bot
4272fade4f chore(release): 2.111.1 [skip ci]
## [2.111.1](https://github.com/revanced/revanced-patches/compare/v2.111.0...v2.111.1) (2022-11-18)
2022-11-18 01:39:35 +00:00
oSumAtrIX
2095e34db8 refactor(youtube/general-ads): abstract into LithoFilterPatch 2022-11-18 02:36:47 +01:00
oSumAtrIX
1483a9d8bb build: bump patcher dependency version 2022-11-18 02:36:47 +01:00
semantic-release-bot
ea113f01a3 chore(release): 2.111.0 [skip ci]
# [2.111.0](https://github.com/revanced/revanced-patches/compare/v2.110.0...v2.111.0) (2022-11-15)

### Features

* **iconpackstudio:** `unlock-pro` patch ([#1047](https://github.com/revanced/revanced-patches/issues/1047)) ([a48af3c](d4658c7056))
2022-11-15 23:05:39 +00:00
Jonathan
d4658c7056 feat(iconpackstudio): unlock-pro patch (#1047) 2022-11-16 00:03:24 +01:00
semantic-release-bot
a615717580 chore(release): 2.110.0 [skip ci]
# [2.110.0](https://github.com/revanced/revanced-patches/compare/v2.109.0...v2.110.0) (2022-11-15)

### Features

* **youtube/debugging:** include by default & add option to debug on Android ([c9564ee](cc1b283cb7))
* **youtube/debugging:** use more suitable preference title ([9c3d48c](6f04169117))
* **youtube/general-ads:** hide chapter teaser under videos ([33b7ec8](04db353154))
* **youtube/general-ads:** hide self sponsored cards ([b8b9ab6](62083ead98))
* **youtube/general-ads:** hide shorts in search ([e29803f](7cb0312a9d))
2022-11-15 01:37:55 +00:00
oSumAtrIX
04db353154 feat(youtube/general-ads): hide chapter teaser under videos 2022-11-15 02:35:34 +01:00
oSumAtrIX
7cb0312a9d feat(youtube/general-ads): hide shorts in search 2022-11-15 02:35:34 +01:00
oSumAtrIX
5357ff2e48 refactor(youtube/general-ads): apply auto-formatting 2022-11-15 02:35:34 +01:00
oSumAtrIX
62083ead98 feat(youtube/general-ads): hide self sponsored cards 2022-11-15 02:35:33 +01:00
oSumAtrIX
6f04169117 feat(youtube/debugging): use more suitable preference title 2022-11-15 02:35:33 +01:00
oSumAtrIX
cc1b283cb7 feat(youtube/debugging): include by default & add option to debug on Android 2022-11-15 02:35:33 +01:00
semantic-release-bot
4597a74e32 chore(release): 2.109.0 [skip ci]
# [2.109.0](https://github.com/revanced/revanced-patches/compare/v2.108.0...v2.109.0) (2022-11-13)

### Features

* **twitch:** `block-audio-ads` patch ([#1041](https://github.com/revanced/revanced-patches/issues/1041)) ([fb9e091](60ef90c745))
* **twitch:** `block-video-ads` patch  ([#1040](https://github.com/revanced/revanced-patches/issues/1040)) ([9fa40d8](3734545ca6))
2022-11-13 23:30:15 +00:00
Tim Schneeberger
3734545ca6 feat(twitch): block-video-ads patch (#1040)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-14 00:28:23 +01:00
Tim Schneeberger
60ef90c745 feat(twitch): block-audio-ads patch (#1041)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-14 00:27:59 +01:00
semantic-release-bot
ece4ac1a9e chore(release): 2.108.0 [skip ci]
# [2.108.0](https://github.com/revanced/revanced-patches/compare/v2.107.0...v2.108.0) (2022-11-13)

### Features

* **twitch:** `debug-mode` patch ([#1031](https://github.com/revanced/revanced-patches/issues/1031)) ([a586d1c](d6e17f948d))
2022-11-13 01:28:02 +00:00
Tim Schneeberger
d6e17f948d feat(twitch): debug-mode patch (#1031)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-13 02:26:14 +01:00
semantic-release-bot
9ab3bd0313 chore(release): 2.107.0 [skip ci]
# [2.107.0](https://github.com/revanced/revanced-patches/compare/v2.106.1...v2.107.0) (2022-11-13)

### Features

* **ticktick:** `unlock-themes` patch ([#1028](https://github.com/revanced/revanced-patches/issues/1028)) ([a7eda35](0f10888aa3))
* **twitch/show-deleted-messages:** `show-deleted-messages` patch ([#1030](https://github.com/revanced/revanced-patches/issues/1030)) ([2612f55](63c0e5dc84))
2022-11-13 01:24:46 +00:00
Jonathan
0f10888aa3 feat(ticktick): unlock-themes patch (#1028) 2022-11-13 02:22:40 +01:00
Tim Schneeberger
63c0e5dc84 feat(twitch/show-deleted-messages): show-deleted-messages patch (#1030)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-13 02:21:40 +01:00
semantic-release-bot
41bc0222b9 chore(release): 2.106.1 [skip ci]
## [2.106.1](https://github.com/revanced/revanced-patches/compare/v2.106.0...v2.106.1) (2022-11-11)

### Bug Fixes

* **youtube/custom-branding:** use high resolution icons ([#1018](https://github.com/revanced/revanced-patches/issues/1018)) ([2f626a3](71e4cc964b))
2022-11-11 10:56:27 +00:00
KAZI MMT
71e4cc964b fix(youtube/custom-branding): use high resolution icons (#1018) 2022-11-11 11:54:05 +01:00
semantic-release-bot
afc9886ebd chore(release): 2.106.0 [skip ci]
# [2.106.0](https://github.com/revanced/revanced-patches/compare/v2.105.0...v2.106.0) (2022-11-09)

### Features

* **youtube:** `open-links-directly` patch ([#999](https://github.com/revanced/revanced-patches/issues/999)) ([2e06b8d](de06d96ea0))
2022-11-09 20:43:55 +00:00
johnconner122
de06d96ea0 feat(youtube): open-links-directly patch (#999)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-09 21:42:07 +01:00
semantic-release-bot
1139f77cb9 chore(release): 2.105.0 [skip ci]
# [2.105.0](https://github.com/revanced/revanced-patches/compare/v2.104.2...v2.105.0) (2022-11-09)

### Features

* **nyx:** `unlock-pro` patch ([#1004](https://github.com/revanced/revanced-patches/issues/1004)) ([f72fd91](5a801b1562))
2022-11-09 12:48:57 +00:00
Jonathan
5a801b1562 feat(nyx): unlock-pro patch (#1004) 2022-11-09 13:46:55 +01:00
OxrxL
7f301090b9 refactor(youtube/general-ads-patch): squash extension classes (#1006) 2022-11-09 06:21:56 +01:00
OxrxL
28a687c605 refactor(youtube/general-ads-patch): remove unused code (#1005) 2022-11-09 01:20:13 +01:00
OxrxL
9b74a08ae1 refactor(youtube/general-ads-patch): removed redundant code (#1003) 2022-11-08 18:10:04 +01:00
semantic-release-bot
1177c41373 chore(release): 2.104.2 [skip ci]
## [2.104.2](https://github.com/revanced/revanced-patches/compare/v2.104.1...v2.104.2) (2022-11-08)

### Bug Fixes

* **youtube/hide-endscreen-cards:** restore functionality ([#993](https://github.com/revanced/revanced-patches/issues/993)) ([38eceb7](be4de62c8f))
2022-11-08 17:05:54 +00:00
OxrxL
be4de62c8f fix(youtube/hide-endscreen-cards): restore functionality (#993)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-08 18:04:16 +01:00
semantic-release-bot
528156aec9 chore(release): 2.104.1 [skip ci]
## [2.104.1](https://github.com/revanced/revanced-patches/compare/v2.104.0...v2.104.1) (2022-11-07)

### Bug Fixes

* **youtube/general-ads:** incorrect description for info panels ([bd5c64d](fa147bd6cc))
* **youtube/hide-info-cards:** remove initial popup of info-cards ([#992](https://github.com/revanced/revanced-patches/issues/992)) ([47fdda8](e377ecf208))
2022-11-07 23:13:02 +00:00
OxrxL
e377ecf208 fix(youtube/hide-info-cards): remove initial popup of info-cards (#992)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-08 00:11:12 +01:00
oSumAtrIX
fa147bd6cc fix(youtube/general-ads): incorrect description for info panels 2022-11-08 00:09:28 +01:00
OxrxL
88211e28ca refactor(youtube/general-ads-patch): remove unnecessary patches (#994) 2022-11-07 13:55:31 +01:00
semantic-release-bot
a4e3a97937 chore(release): 2.104.0 [skip ci]
# [2.104.0](https://github.com/revanced/revanced-patches/compare/v2.103.0...v2.104.0) (2022-11-06)

### Features

* **hexeditor:** `disable-ads` patch ([#973](https://github.com/revanced/revanced-patches/issues/973)) ([1866e1d](02bd807a27))
2022-11-06 12:00:48 +00:00
johnconner122
02bd807a27 feat(hexeditor): disable-ads patch (#973)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-11-06 12:58:43 +01:00
semantic-release-bot
a06e81ae39 chore(release): 2.103.0 [skip ci]
# [2.103.0](https://github.com/revanced/revanced-patches/compare/v2.102.1...v2.103.0) (2022-11-05)

### Bug Fixes

* apply multiple changes from integrations, refactor package structure, class names and implementations ([cdc7086](80ab1592c3))
* **youtube/video-information:** use correct compatibility annotation ([303732e](a87d0bc440))

### Features

* **debugging:** simplify patch name and description ([a2a3a88](e17f476c46))
2022-11-05 21:02:39 +00:00
oSumAtrIX
a87d0bc440 fix(youtube/video-information): use correct compatibility annotation 2022-11-05 22:00:37 +01:00
Nico Mexis
a2b64f63e0 build: update workflow actions (#982) [skip ci] 2022-11-05 15:26:13 +01:00
oSumAtrIX
80ab1592c3 fix: apply multiple changes from integrations, refactor package structure, class names and implementations 2022-11-05 06:30:31 +01:00
oSumAtrIX
e17f476c46 feat(debugging): simplify patch name and description 2022-11-05 06:30:31 +01:00
oSumAtrIX
bfa9abe4cf refactor: remove unused strings 2022-11-05 06:30:30 +01:00
semantic-release-bot
0e0118eaa6 chore(release): 2.102.1 [skip ci]
## [2.102.1](https://github.com/revanced/revanced-patches/compare/v2.102.0...v2.102.1) (2022-11-04)

### Bug Fixes

* use original app name ([#977](https://github.com/revanced/revanced-patches/issues/977)) ([c2e5bd3](7b6439b200))
2022-11-04 19:54:12 +00:00
KAZI MMT
7b6439b200 fix: use original app name (#977) 2022-11-04 20:51:54 +01:00
semantic-release-bot
65e3b21d64 chore(release): 2.102.0 [skip ci]
# [2.102.0](https://github.com/revanced/revanced-patches/compare/v2.101.0...v2.102.0) (2022-11-03)

### Features

* **youtube-music:** bump patches compatibility to v5.31.50 ([#962](https://github.com/revanced/revanced-patches/issues/962)) ([393f510](d90bcc3135))
2022-11-03 10:24:11 +00:00
KAZI MMT
d90bcc3135 feat(youtube-music): bump patches compatibility to v5.31.50 (#962) 2022-11-03 11:22:13 +01:00
semantic-release-bot
eee47ee37c chore(release): 2.101.0 [skip ci]
# [2.101.0](https://github.com/revanced/revanced-patches/compare/v2.100.3...v2.101.0) (2022-11-01)

### Features

* **youtube:** bump patches compatibility to v17.43.36 ([#924](https://github.com/revanced/revanced-patches/issues/924)) ([74da7c0](d340dd0e0d))
2022-11-01 17:23:50 +00:00
OxrxL
d340dd0e0d feat(youtube): bump patches compatibility to v17.43.36 (#924) 2022-11-01 18:21:56 +01:00
semantic-release-bot
2193a0307e chore(release): 2.100.3 [skip ci]
## [2.100.3](https://github.com/revanced/revanced-patches/compare/v2.100.2...v2.100.3) (2022-11-01)

### Bug Fixes

* **youtube/video-ads:** add switch to temporarily fix buffering issues ([1d5fb1b](58dcd172f9))
2022-11-01 06:13:16 +00:00
oSumAtrIX
58dcd172f9 fix(youtube/video-ads): add switch to temporarily fix buffering issues 2022-11-01 07:10:54 +01:00
semantic-release-bot
f818396243 chore(release): 2.100.2 [skip ci]
## [2.100.2](https://github.com/revanced/revanced-patches/compare/v2.100.1...v2.100.2) (2022-10-31)

### Bug Fixes

* **youtube/theme-patch:** respect app specific theme ([#946](https://github.com/revanced/revanced-patches/issues/946)) ([40cc03c](3d124af58c))
2022-10-31 23:08:40 +00:00
OxrxL
3d124af58c fix(youtube/theme-patch): respect app specific theme (#946) 2022-11-01 00:06:42 +01:00
semantic-release-bot
df18d4a15a chore(release): 2.100.1 [skip ci]
## [2.100.1](https://github.com/revanced/revanced-patches/compare/v2.100.0...v2.100.1) (2022-10-31)
2022-10-31 14:17:35 +00:00
SriBalaji
f08a2b6a90 build: update actions/checkout to v3 (#942) 2022-10-31 15:15:14 +01:00
semantic-release-bot
fce8df8284 chore(release): 2.100.0 [skip ci]
# [2.100.0](https://github.com/revanced/revanced-patches/compare/v2.99.0...v2.100.0) (2022-10-30)

### Features

* `hide-watch-in-vr` patch ([#911](https://github.com/revanced/revanced-patches/issues/911)) ([df84368](6ec99045d7))
2022-10-30 12:03:30 +00:00
inotia00
6ec99045d7 feat: hide-watch-in-vr patch (#911)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-30 13:01:40 +01:00
semantic-release-bot
757784b038 chore(release): 2.99.0 [skip ci]
# [2.99.0](https://github.com/revanced/revanced-patches/compare/v2.98.0...v2.99.0) (2022-10-29)

### Features

* **youtube/sponsorblock:** skip segments once automatically ([#907](https://github.com/revanced/revanced-patches/issues/907)) ([cbce50c](7e06f23e29))
2022-10-29 21:15:08 +00:00
thebestnom
7e06f23e29 feat(youtube/sponsorblock): skip segments once automatically (#907) 2022-10-29 23:13:15 +02:00
semantic-release-bot
26a43b1753 chore(release): 2.98.0 [skip ci]
# [2.98.0](https://github.com/revanced/revanced-patches/compare/v2.97.0...v2.98.0) (2022-10-29)

### Features

* **youtube/comments:** hide shorts comments button ([#866](https://github.com/revanced/revanced-patches/issues/866)) ([2004d79](c8023f0b66))
2022-10-29 14:04:09 +00:00
OxrxL
c8023f0b66 feat(youtube/comments): hide shorts comments button (#866)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-29 16:01:52 +02:00
semantic-release-bot
25f65c7c02 chore(release): 2.97.0 [skip ci]
# [2.97.0](https://github.com/revanced/revanced-patches/compare/v2.96.0...v2.97.0) (2022-10-29)

### Features

* **youtube/microg-support:** handle availability of Vanced MicroG ([b9e875c](07d39f2b81))
2022-10-29 01:06:18 +00:00
oSumAtrIX
07d39f2b81 feat(youtube/microg-support): handle availability of Vanced MicroG 2022-10-29 03:03:57 +02:00
semantic-release-bot
01e226d0c9 chore(release): 2.96.0 [skip ci]
# [2.96.0](https://github.com/revanced/revanced-patches/compare/v2.95.0...v2.96.0) (2022-10-28)

### Features

* **youtube/return-youtube-dislike:** compatibility for old and new button layout ([03b9b94](c98e10adf7))
2022-10-28 23:56:07 +00:00
oSumAtrIX
c98e10adf7 feat(youtube/return-youtube-dislike): compatibility for old and new button layout 2022-10-29 01:54:28 +02:00
semantic-release-bot
858b8a6fa8 chore(release): 2.95.0 [skip ci]
# [2.95.0](https://github.com/revanced/revanced-patches/compare/v2.94.0...v2.95.0) (2022-10-28)

### Features

* **youtube:** bump patches compatibility to v17.41.37 ([#888](https://github.com/revanced/revanced-patches/issues/888)) ([8aba027](53a66f64ab))
2022-10-28 13:09:21 +00:00
OxrxL
53a66f64ab feat(youtube): bump patches compatibility to v17.41.37 (#888) 2022-10-28 15:07:32 +02:00
semantic-release-bot
e2b9baed25 chore(release): 2.94.0 [skip ci]
# [2.94.0](https://github.com/revanced/revanced-patches/compare/v2.93.0...v2.94.0) (2022-10-28)

### Features

* remove compatibility for YouTube  v17.41.37 ([#886](https://github.com/revanced/revanced-patches/issues/886)) ([fc6226d](6bc24755d5))
2022-10-28 09:57:40 +00:00
oSumAtrIX
6bc24755d5 feat: remove compatibility for YouTube v17.41.37 (#886) 2022-10-28 11:55:51 +02:00
semantic-release-bot
e871d655d2 chore(release): 2.93.0 [skip ci]
# [2.93.0](https://github.com/revanced/revanced-patches/compare/v2.92.3...v2.93.0) (2022-10-27)

### Features

* bump YouTube patches to v17.41.37 ([#878](https://github.com/revanced/revanced-patches/issues/878)) ([d2e6c45](1fa0d5da0e))
2022-10-27 23:42:10 +00:00
OxrxL
1fa0d5da0e feat: bump YouTube patches to v17.41.37 (#878) 2022-10-28 01:40:24 +02:00
semantic-release-bot
461e4bef09 chore(release): 2.92.3 [skip ci]
## [2.92.3](https://github.com/revanced/revanced-patches/compare/v2.92.2...v2.92.3) (2022-10-27)

### Bug Fixes

* **youtube:** resolve fingerprints on mutable methods ([c769c42](9b1df03087))
2022-10-27 20:48:42 +00:00
oSumAtrIX
9b1df03087 fix(youtube): resolve fingerprints on mutable methods 2022-10-27 22:46:51 +02:00
semantic-release-bot
541a1a0e0a chore(release): 2.92.2 [skip ci]
## [2.92.2](https://github.com/revanced/revanced-patches/compare/v2.92.1...v2.92.2) (2022-10-27)

### Bug Fixes

* **youtube/theme:** theme missing gray color ([#873](https://github.com/revanced/revanced-patches/issues/873)) ([324d022](ce2f7042da))
2022-10-27 14:03:24 +00:00
OxrxL
ce2f7042da fix(youtube/theme): theme missing gray color (#873) 2022-10-27 16:00:49 +02:00
semantic-release-bot
ca3438b640 chore(release): 2.92.1 [skip ci]
## [2.92.1](https://github.com/revanced/revanced-patches/compare/v2.92.0...v2.92.1) (2022-10-26)

### Bug Fixes

* **youtube/custom-branding:** use proper scaled icons ([ba82fb8](666b241a53))
2022-10-26 23:13:00 +00:00
oSumAtrIX
5121c3d45b refactor(youtube/custom-branding): improve general code quality 2022-10-27 01:11:10 +02:00
oSumAtrIX
666b241a53 fix(youtube/custom-branding): use proper scaled icons 2022-10-27 01:11:10 +02:00
semantic-release-bot
b961bdf9d3 chore(release): 2.92.0 [skip ci]
# [2.92.0](https://github.com/revanced/revanced-patches/compare/v2.91.0...v2.92.0) (2022-10-26)

### Features

* **youtube/hide-mix-playlists:** hide in video suggestions ([#854](https://github.com/revanced/revanced-patches/issues/854)) ([2bf9a54](8aa1d58b76))
2022-10-26 20:54:00 +00:00
johnconner122
8aa1d58b76 feat(youtube/hide-mix-playlists): hide in video suggestions (#854)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-26 22:51:49 +02:00
semantic-release-bot
570723bb59 chore(release): 2.91.0 [skip ci]
# [2.91.0](https://github.com/revanced/revanced-patches/compare/v2.90.0...v2.91.0) (2022-10-26)

### Features

* remove partially complete patch ([74f7d57](7027929e30))
2022-10-26 04:59:06 +00:00
oSumAtrIX
7027929e30 feat: remove partially complete patch 2022-10-26 06:56:18 +02:00
semantic-release-bot
f11f269c2f chore(release): 2.90.0 [skip ci]
# [2.90.0](https://github.com/revanced/revanced-patches/compare/v2.89.0...v2.90.0) (2022-10-25)

### Features

* `comment` patch ([#858](https://github.com/revanced/revanced-patches/issues/858)) ([9a257c3](b0cd520b1a))
2022-10-25 21:35:38 +00:00
OxrxL
b0cd520b1a feat: comment patch (#858) 2022-10-25 23:33:49 +02:00
semantic-release-bot
5c0fd8a6da chore(release): 2.89.0 [skip ci]
# [2.89.0](https://github.com/revanced/revanced-patches/compare/v2.88.0...v2.89.0) (2022-10-25)

### Features

* `hide-album-cards` patch ([#857](https://github.com/revanced/revanced-patches/issues/857)) ([622acc0](e34d67f01e))
2022-10-25 18:46:34 +00:00
OxrxL
e34d67f01e feat: hide-album-cards patch (#857) 2022-10-25 20:44:34 +02:00
semantic-release-bot
72703d6a56 chore(release): 2.88.0 [skip ci]
# [2.88.0](https://github.com/revanced/revanced-patches/compare/v2.87.0...v2.88.0) (2022-10-25)

### Features

* `hide-artist-card` patch ([#859](https://github.com/revanced/revanced-patches/issues/859)) ([54e8dd1](b8c473796a))
2022-10-25 18:19:50 +00:00
OxrxL
b8c473796a feat: hide-artist-card patch (#859) 2022-10-25 20:17:56 +02:00
semantic-release-bot
25e86c5545 chore(release): 2.87.0 [skip ci]
# [2.87.0](https://github.com/revanced/revanced-patches/compare/v2.86.0...v2.87.0) (2022-10-25)

### Bug Fixes

* **metanav/fix-scaling:** use semantic versioning in package versions ([d45279f](f1bf2c589b))
* **youtube/theme:** theme litho ui components & use correct theme for settings ([#791](https://github.com/revanced/revanced-patches/issues/791)) ([03b565c](8cf0343f29))

### Features

* `fix-metanav-scaling` patch ([#831](https://github.com/revanced/revanced-patches/issues/831)) ([2ddc846](3761dbd7b2))
* `hide-crowdfunding-box` patch ([#856](https://github.com/revanced/revanced-patches/issues/856)) ([823beeb](8b54559953))
2022-10-25 18:15:10 +00:00
oSumAtrIX
f1bf2c589b fix(metanav/fix-scaling): use semantic versioning in package versions 2022-10-25 20:12:49 +02:00
OxrxL
8b54559953 feat: hide-crowdfunding-box patch (#856)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-25 18:20:05 +02:00
Caroline Joy Bell
3761dbd7b2 feat: fix-metanav-scaling patch (#831) 2022-10-25 08:39:28 +02:00
OxrxL
8cf0343f29 fix(youtube/theme): theme litho ui components & use correct theme for settings (#791) 2022-10-25 08:36:59 +02:00
semantic-release-bot
f3753a22da chore(release): 2.86.0 [skip ci]
# [2.86.0](https://github.com/revanced/revanced-patches/compare/v2.85.2...v2.86.0) (2022-10-25)

### Features

* **youtube/theme:** extend theming to splash screen ([#769](https://github.com/revanced/revanced-patches/issues/769)) ([297db08](c90312a925))
2022-10-25 06:32:58 +00:00
OxrxL
c90312a925 feat(youtube/theme): extend theming to splash screen (#769) 2022-10-25 08:30:42 +02:00
semantic-release-bot
c1d6aa3e49 chore(release): 2.85.2 [skip ci]
## [2.85.2](https://github.com/revanced/revanced-patches/compare/v2.85.1...v2.85.2) (2022-10-22)

### Bug Fixes

* **youtube/integrations:** set context for remaining activities ([#828](https://github.com/revanced/revanced-patches/issues/828)) ([ba515d2](c097370960))
2022-10-22 10:46:54 +00:00
Canny
c097370960 fix(youtube/integrations): set context for remaining activities (#828) 2022-10-22 12:45:10 +02:00
semantic-release-bot
8ffa3b4746 chore(release): 2.85.1 [skip ci]
## [2.85.1](https://github.com/revanced/revanced-patches/compare/v2.85.0...v2.85.1) (2022-10-21)

### Bug Fixes

* **youtube/theme:** extend dark mode theming ([#827](https://github.com/revanced/revanced-patches/issues/827)) ([1e26d6a](1e6d0f7f62))
2022-10-21 13:16:26 +00:00
OxrxL
1e6d0f7f62 fix(youtube/theme): extend dark mode theming (#827) 2022-10-21 15:14:24 +02:00
semantic-release-bot
e73c5dfebd chore(release): 2.85.0 [skip ci]
# [2.85.0](https://github.com/revanced/revanced-patches/compare/v2.84.1...v2.85.0) (2022-10-20)

### Features

* **youtube:** `hide-captions-button` patch ([#770](https://github.com/revanced/revanced-patches/issues/770)) ([a13fdbd](32309ac007))
2022-10-20 20:07:51 +00:00
OxrxL
32309ac007 feat(youtube): hide-captions-button patch (#770)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-20 22:05:34 +02:00
semantic-release-bot
079800aa1a chore(release): 2.84.1 [skip ci]
## [2.84.1](https://github.com/revanced/revanced-patches/compare/v2.84.0...v2.84.1) (2022-10-20)

### Bug Fixes

* **youtube/hide-mix-playlists:** correct switch title, summary and defaults ([#821](https://github.com/revanced/revanced-patches/issues/821)) ([c37b8cd](06f0d05d19))
2022-10-20 18:31:56 +00:00
johnconner122
06f0d05d19 fix(youtube/hide-mix-playlists): correct switch title, summary and defaults (#821) 2022-10-20 20:29:41 +02:00
semantic-release-bot
c618a18851 chore(release): 2.84.0 [skip ci]
# [2.84.0](https://github.com/revanced/revanced-patches/compare/v2.83.3...v2.84.0) (2022-10-20)

### Features

* **youtube:** `hide-mix-playlists` patch  ([#816](https://github.com/revanced/revanced-patches/issues/816)) ([a5b5e78](1aac521af3))
2022-10-20 17:09:55 +00:00
johnconner122
1aac521af3 feat(youtube): hide-mix-playlists patch (#816) 2022-10-20 19:07:44 +02:00
semantic-release-bot
68fe1cc792 chore(release): 2.83.3 [skip ci]
## [2.83.3](https://github.com/revanced/revanced-patches/compare/v2.83.2...v2.83.3) (2022-10-20)

### Bug Fixes

* **youtube/video-ads:** revert faulty method patch ([#820](https://github.com/revanced/revanced-patches/issues/820)) ([d93f5ee](ba519d4b10))
2022-10-20 17:05:54 +00:00
OxrxL
ba519d4b10 fix(youtube/video-ads): revert faulty method patch (#820) 2022-10-20 19:04:11 +02:00
semantic-release-bot
0351c8a50d chore(release): 2.83.2 [skip ci]
## [2.83.2](https://github.com/revanced/revanced-patches/compare/v2.83.1...v2.83.2) (2022-10-19)

### Bug Fixes

* **youtube/video-ads:** add back initial method to block ads ([#818](https://github.com/revanced/revanced-patches/issues/818)) ([86e09c5](d0c4ac5d8a))
2022-10-19 22:01:39 +00:00
OxrxL
d0c4ac5d8a fix(youtube/video-ads): add back initial method to block ads (#818) 2022-10-19 23:59:18 +02:00
semantic-release-bot
daa55c59e2 chore(release): 2.83.1 [skip ci]
## [2.83.1](https://github.com/revanced/revanced-patches/compare/v2.83.0...v2.83.1) (2022-10-19)

### Bug Fixes

* **youtube/video-ads:** block earlier in call hirarchy ([#813](https://github.com/revanced/revanced-patches/issues/813)) ([a764e07](4ad057b748))
2022-10-19 09:33:19 +00:00
OxrxL
4ad057b748 fix(youtube/video-ads): block earlier in call hirarchy (#813) 2022-10-19 11:31:42 +02:00
semantic-release-bot
3eaefc7979 chore(release): 2.83.0 [skip ci]
# [2.83.0](https://github.com/revanced/revanced-patches/compare/v2.82.1...v2.83.0) (2022-10-18)

### Features

* bump YouTube Music patches compatibility ([#809](https://github.com/revanced/revanced-patches/issues/809)) ([9a6ba89](d81ce614a8))
2022-10-18 19:37:38 +00:00
Palm
d81ce614a8 feat: bump YouTube Music patches compatibility (#809) 2022-10-18 21:35:50 +02:00
semantic-release-bot
dcd711b341 chore(release): 2.82.1 [skip ci]
## [2.82.1](https://github.com/revanced/revanced-patches/compare/v2.82.0...v2.82.1) (2022-10-17)

### Bug Fixes

* **youtube/video-ads:** return empty ad list earlier ([dac833f](96d500bc70))
2022-10-17 23:47:49 +00:00
oSumAtrIX
96d500bc70 fix(youtube/video-ads): return empty ad list earlier 2022-10-18 01:45:51 +02:00
afn
031b517245 style(reddit/premium-icon-reddit): fix consistency of patch description (#795) 2022-10-16 00:30:19 +02:00
semantic-release-bot
79a0ea78cf chore(release): 2.82.0 [skip ci]
# [2.82.0](https://github.com/revanced/revanced-patches/compare/v2.81.11...v2.82.0) (2022-10-13)

### Features

* **youtube/remember-video-quality:** remember the quality until changed by default ([c6a01df](2a54e624a0))
2022-10-13 04:04:21 +00:00
oSumAtrIX
2a54e624a0 feat(youtube/remember-video-quality): remember the quality until changed by default 2022-10-13 06:02:04 +02:00
semantic-release-bot
e8cc0de11c chore(release): 2.81.11 [skip ci]
## [2.81.11](https://github.com/revanced/revanced-patches/compare/v2.81.10...v2.81.11) (2022-10-11)

### Bug Fixes

* **youtube/theme:** add missing theme condition check ([#771](https://github.com/revanced/revanced-patches/issues/771)) ([1408058](d2209569e0))
2022-10-11 23:38:39 +00:00
OxrxL
d2209569e0 fix(youtube/theme): add missing theme condition check (#771) 2022-10-12 01:36:38 +02:00
semantic-release-bot
492cce9452 chore(release): 2.81.10 [skip ci]
## [2.81.10](https://github.com/revanced/revanced-patches/compare/v2.81.9...v2.81.10) (2022-10-11)

### Bug Fixes

* **spotify/disable-capture-restriction:** dynamically find indices ([#759](https://github.com/revanced/revanced-patches/issues/759)) ([3829a10](a17232da24))
2022-10-11 12:43:42 +00:00
Tim Schneeberger
a17232da24 fix(spotify/disable-capture-restriction): dynamically find indices (#759) 2022-10-11 14:41:23 +02:00
semantic-release-bot
3ae7858adf chore(release): 2.81.9 [skip ci]
## [2.81.9](https://github.com/revanced/revanced-patches/compare/v2.81.8...v2.81.9) (2022-10-11)

### Bug Fixes

* **youtube/general-ads:** hide ads on wide screens ([#765](https://github.com/revanced/revanced-patches/issues/765)) ([48778cf](2b10b834c7))
* **youtube/theme:** colore the comment action bar ([#762](https://github.com/revanced/revanced-patches/issues/762)) ([38d1f6d](1a6bb30789))
2022-10-11 12:39:59 +00:00
OxrxL
1a6bb30789 fix(youtube/theme): colore the comment action bar (#762)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-11 14:38:11 +02:00
TheNoFace
2b10b834c7 fix(youtube/general-ads): hide ads on wide screens (#765) 2022-10-11 14:36:39 +02:00
semantic-release-bot
35c86c6ff5 chore(release): 2.81.8 [skip ci]
## [2.81.8](https://github.com/revanced/revanced-patches/compare/v2.81.7...v2.81.8) (2022-10-10)

### Bug Fixes

* **youtube/video-ads:** invert condition to hide ads ([b0df548](f4897e41a9))
2022-10-10 20:20:12 +00:00
oSumAtrIX
f4897e41a9 fix(youtube/video-ads): invert condition to hide ads
This reverts commit 7eb2a0b1bc.
2022-10-10 22:17:52 +02:00
semantic-release-bot
1eadafb098 chore(release): 2.81.7 [skip ci]
## [2.81.7](https://github.com/revanced/revanced-patches/compare/v2.81.6...v2.81.7) (2022-10-10)

### Bug Fixes

* **video-ads:** invert the condition to hide ads ([ac66364](7eb2a0b1bc))
2022-10-10 15:15:45 +00:00
oSumAtrIX
7eb2a0b1bc fix(video-ads): invert the condition to hide ads 2022-10-10 17:12:53 +02:00
semantic-release-bot
a13e294978 chore(release): 2.81.6 [skip ci]
## [2.81.6](https://github.com/revanced/revanced-patches/compare/v2.81.5...v2.81.6) (2022-10-10)

### Bug Fixes

* **video-ads:** return empty list in correct method ([ef095b1](a3548ed524))
2022-10-10 13:53:46 +00:00
oSumAtrIX
a3548ed524 fix(video-ads): return empty list in correct method 2022-10-10 15:51:32 +02:00
semantic-release-bot
37cbbccec5 chore(release): 2.81.5 [skip ci]
## [2.81.5](https://github.com/revanced/revanced-patches/compare/v2.81.4...v2.81.5) (2022-10-10)

### Bug Fixes

* **video-ads:** clobber unused register ([d5fbf10](4e83400de4))
2022-10-10 13:08:57 +00:00
oSumAtrIX
4e83400de4 fix(video-ads): clobber unused register 2022-10-10 15:06:27 +02:00
semantic-release-bot
e9e5f7b018 chore(release): 2.81.4 [skip ci]
## [2.81.4](https://github.com/revanced/revanced-patches/compare/v2.81.3...v2.81.4) (2022-10-10)

### Bug Fixes

* **general-ads:** invalid smali syntax ([1772dcf](01be9fd79e))
2022-10-10 12:30:28 +00:00
oSumAtrIX
01be9fd79e fix(general-ads): invalid smali syntax 2022-10-10 14:28:35 +02:00
semantic-release-bot
e8faa5d944 chore(release): 2.81.3 [skip ci]
## [2.81.3](https://github.com/revanced/revanced-patches/compare/v2.81.2...v2.81.3) (2022-10-10)

### Bug Fixes

* **video-ads:** return empty ad list instead of null ([9f9ad19](9ac84ae720))
2022-10-10 11:56:13 +00:00
oSumAtrIX
9ac84ae720 fix(video-ads): return empty ad list instead of null 2022-10-10 13:50:24 +02:00
semantic-release-bot
52424bd6ab chore(release): 2.81.2 [skip ci]
## [2.81.2](https://github.com/revanced/revanced-patches/compare/v2.81.1...v2.81.2) (2022-10-08)

### Bug Fixes

* **theme:** include coloring the playlist action bar ([#742](https://github.com/revanced/revanced-patches/issues/742)) ([24f52e9](4c2d6466cc))
2022-10-08 23:47:09 +00:00
OxrxL
4c2d6466cc fix(theme): include coloring the playlist action bar (#742) 2022-10-09 01:44:50 +02:00
semantic-release-bot
6bcae6ddeb chore(release): 2.81.1 [skip ci]
## [2.81.1](https://github.com/revanced/revanced-patches/compare/v2.81.0...v2.81.1) (2022-10-07)

### Bug Fixes

* **video-ads:** block remaining video ads ([6618e53](65cee57493))
2022-10-07 21:04:25 +00:00
oSumAtrIX
65cee57493 fix(video-ads): block remaining video ads 2022-10-07 23:02:01 +02:00
semantic-release-bot
5058fd3c43 chore(release): 2.81.0 [skip ci]
# [2.81.0](https://github.com/revanced/revanced-patches/compare/v2.80.0...v2.81.0) (2022-10-06)

### Features

* **youtube/general-ads:** do not hide community posts by default ([6f4c37c](b2affc5493))
2022-10-06 08:11:29 +00:00
oSumAtrIX
b2affc5493 feat(youtube/general-ads): do not hide community posts by default 2022-10-06 10:08:54 +02:00
oSumAtrIX
01a4349a3f chore: migrate to new changes from the patcher 2022-10-05 04:13:14 +02:00
semantic-release-bot
3a25dc4fa2 chore(release): 2.80.0 [skip ci]
# [2.80.0](https://github.com/revanced/revanced-patches/compare/v2.79.2...v2.80.0) (2022-10-04)

### Features

* **youtube/remember-video-quality:** remember current quality option ([038041f](7f1a918649))
2022-10-04 05:53:56 +00:00
oSumAtrIX
7f1a918649 feat(youtube/remember-video-quality): remember current quality option 2022-10-04 07:51:47 +02:00
semantic-release-bot
c26de68a27 chore(release): 2.79.2 [skip ci]
## [2.79.2](https://github.com/revanced/revanced-patches/compare/v2.79.1...v2.79.2) (2022-10-04)

### Bug Fixes

* **youtube/disable-startup-shorts-player:** don't affect functionality of navigation bar  ([#716](https://github.com/revanced/revanced-patches/issues/716)) ([f344603](9381508678))
2022-10-04 05:44:44 +00:00
OxrxL
9381508678 fix(youtube/disable-startup-shorts-player): don't affect functionality of navigation bar (#716) 2022-10-04 07:43:01 +02:00
semantic-release-bot
6d9c743618 chore(release): 2.79.1 [skip ci]
## [2.79.1](https://github.com/revanced/revanced-patches/compare/v2.79.0...v2.79.1) (2022-10-03)

### Bug Fixes

* **youtube/disable-startup-shorts-player:** do not prevent playing videos on startup ([#714](https://github.com/revanced/revanced-patches/issues/714)) ([5711cd8](6c9986290b))
2022-10-03 23:42:37 +00:00
OxrxL
6c9986290b fix(youtube/disable-startup-shorts-player): do not prevent playing videos on startup (#714) 2022-10-04 01:40:11 +02:00
semantic-release-bot
adc7f670d1 chore(release): 2.79.0 [skip ci]
# [2.79.0](https://github.com/revanced/revanced-patches/compare/v2.78.0...v2.79.0) (2022-10-03)

### Features

* `hide-video-buttons` patch ([39da5b7](1e54bc457f))
2022-10-03 11:42:13 +00:00
oSumAtrIX
fdc34023fc refactor(youtube/general-ads): abstract integrations code 2022-10-03 13:38:07 +02:00
oSumAtrIX
1e54bc457f feat: hide-video-buttons patch 2022-10-03 13:37:30 +02:00
semantic-release-bot
9552100878 chore(release): 2.78.0 [skip ci]
# [2.78.0](https://github.com/revanced/revanced-patches/compare/v2.77.1...v2.78.0) (2022-10-02)

### Features

* **youtube/general-ads:** check for ad in identifier ([fe6f3bd](9166024b01))
2022-10-02 23:26:59 +00:00
oSumAtrIX
9166024b01 feat(youtube/general-ads): check for ad in identifier 2022-10-03 01:25:08 +02:00
semantic-release-bot
acc0f5018c chore(release): 2.77.1 [skip ci]
## [2.77.1](https://github.com/revanced/revanced-patches/compare/v2.77.0...v2.77.1) (2022-10-01)

### Bug Fixes

* **tiktok/tiktok-downloads:** add missing patch dependencies ([#686](https://github.com/revanced/revanced-patches/issues/686)) ([2b6bbba](05c043ada3))
2022-10-01 04:30:50 +00:00
d4rkk3y
05c043ada3 fix(tiktok/tiktok-downloads): add missing patch dependencies (#686) 2022-10-01 06:28:40 +02:00
semantic-release-bot
e30967bedd chore(release): 2.77.0 [skip ci]
# [2.77.0](https://github.com/revanced/revanced-patches/compare/v2.76.3...v2.77.0) (2022-10-01)

### Features

* **youtube/hdr-auto-brightness:** increase strength of fingerprint ([91e2f88](40d56f6e59))
2022-10-01 03:22:03 +00:00
oSumAtrIX
40d56f6e59 feat(youtube/hdr-auto-brightness): increase strength of fingerprint 2022-10-01 05:19:00 +02:00
semantic-release-bot
8bdfe8b74f chore(release): 2.76.3 [skip ci]
## [2.76.3](https://github.com/revanced/revanced-patches/compare/v2.76.2...v2.76.3) (2022-10-01)

### Performance Improvements

* **general-ads:** hook pathBuilder ([ebe922d](c7c9440a60))
2022-10-01 02:01:13 +00:00
oSumAtrIX
c7c9440a60 perf(general-ads): hook pathBuilder 2022-10-01 03:58:19 +02:00
semantic-release-bot
4dcd487275 chore(release): 2.76.2 [skip ci]
## [2.76.2](https://github.com/revanced/revanced-patches/compare/v2.76.1...v2.76.2) (2022-09-30)

### Bug Fixes

* **twitter/monochrome-icon:** add missing `File.write` call ([#682](https://github.com/revanced/revanced-patches/issues/682)) ([7f78d6f](68eff6fd76))
2022-09-30 18:02:24 +00:00
Ushie
68eff6fd76 fix(twitter/monochrome-icon): add missing File.write call (#682) 2022-09-30 20:00:29 +02:00
semantic-release-bot
9b58c642f3 chore(release): 2.76.1 [skip ci]
## [2.76.1](https://github.com/revanced/revanced-patches/compare/v2.76.0...v2.76.1) (2022-09-30)

### Bug Fixes

* **disable-startup-shorts-player:** remove redundant opcode pattern ([#679](https://github.com/revanced/revanced-patches/issues/679)) ([2774c0f](f9c16396d6))
2022-09-30 17:59:47 +00:00
OxrxL
f9c16396d6 fix(disable-startup-shorts-player): remove redundant opcode pattern (#679)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-30 19:58:09 +02:00
semantic-release-bot
7c528856e1 chore(release): 2.76.0 [skip ci]
# [2.76.0](https://github.com/revanced/revanced-patches/compare/v2.75.2...v2.76.0) (2022-09-30)

### Features

* bump YouTube Music patches compatibility to v5.26.52 ([#681](https://github.com/revanced/revanced-patches/issues/681)) ([24bfab8](29c18ad537))
2022-09-30 14:52:51 +00:00
Palm
29c18ad537 feat: bump YouTube Music patches compatibility to v5.26.52 (#681) 2022-09-30 16:50:36 +02:00
Sculas
1654d4121b refactor(twitter/dynamic-color): remove formatting in XML (#680) 2022-09-30 16:49:07 +02:00
semantic-release-bot
05c6c9e683 chore(release): 2.75.2 [skip ci]
## [2.75.2](https://github.com/revanced/revanced-patches/compare/v2.75.1...v2.75.2) (2022-09-30)

### Bug Fixes

* **twitter patches.:** use wider compatible Java API for writing to file ([#678](https://github.com/revanced/revanced-patches/issues/678)) ([bbf5ccf](facb808e37))
2022-09-30 14:39:21 +00:00
Aunali321
facb808e37 fix(twitter patches.): use wider compatible Java API for writing to file (#678)
Allows running the patch on Android
2022-09-30 16:37:40 +02:00
semantic-release-bot
fe1427b88a chore(release): 2.75.1 [skip ci]
## [2.75.1](https://github.com/revanced/revanced-patches/compare/v2.75.0...v2.75.1) (2022-09-29)

### Bug Fixes

* **disable-startup-shorts-player:** incorrect offsets, invert branch condition ([#672](https://github.com/revanced/revanced-patches/issues/672)) ([c5a772b](634c6c3344))
2022-09-29 22:27:30 +00:00
OxrxL
634c6c3344 fix(disable-startup-shorts-player): incorrect offsets, invert branch condition (#672) 2022-09-30 00:25:29 +02:00
semantic-release-bot
d438d9b866 chore(release): 2.75.0 [skip ci]
# [2.75.0](https://github.com/revanced/revanced-patches/compare/v2.74.0...v2.75.0) (2022-09-29)

### Features

* `disable-capture-restriction` patch ([#655](https://github.com/revanced/revanced-patches/issues/655)) ([87cf71a](e4139a112e))
2022-09-29 22:01:52 +00:00
Tim Schneeberger
e4139a112e feat: disable-capture-restriction patch (#655)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-30 00:00:16 +02:00
semantic-release-bot
559d7ad50c chore(release): 2.74.0 [skip ci]
# [2.74.0](https://github.com/revanced/revanced-patches/compare/v2.73.0...v2.74.0) (2022-09-29)

### Features

* `disable-startup-shorts-player` patch ([#670](https://github.com/revanced/revanced-patches/issues/670)) ([c4f4d4a](e1bbe59b40))
2022-09-29 21:56:14 +00:00
OxrxL
e1bbe59b40 feat: disable-startup-shorts-player patch (#670)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-29 23:53:58 +02:00
semantic-release-bot
2f932d697b chore(release): 2.73.0 [skip ci]
# [2.73.0](https://github.com/revanced/revanced-patches/compare/v2.72.1...v2.73.0) (2022-09-29)

### Features

* `dynamic-color` patch ([#652](https://github.com/revanced/revanced-patches/issues/652)) ([47d4b90](237129d327))
2022-09-29 20:09:46 +00:00
bennett-sh
237129d327 feat: dynamic-color patch (#652) 2022-09-29 22:08:00 +02:00
oSumAtrIX
e4d7dc0aa9 chore: bump patcher dependency version 2022-09-29 21:42:45 +02:00
semantic-release-bot
fed9e4aafa chore(release): 2.72.1 [skip ci]
## [2.72.1](https://github.com/revanced/revanced-patches/compare/v2.72.0...v2.72.1) (2022-09-29)

### Bug Fixes

* **hdr-brightness:** trim list of compatible versions ([#602](https://github.com/revanced/revanced-patches/issues/602)) ([eb900b1](85aa45d3f2))
2022-09-29 17:26:19 +00:00
OxrxL
85aa45d3f2 fix(hdr-brightness): trim list of compatible versions (#602) 2022-09-29 19:24:32 +02:00
semantic-release-bot
16df8d5ebc chore(release): 2.72.0 [skip ci]
# [2.72.0](https://github.com/revanced/revanced-patches/compare/v2.71.2...v2.72.0) (2022-09-29)

### Features

* `tiktok-speed` patch ([#668](https://github.com/revanced/revanced-patches/issues/668)) ([805d301](0f78f621c7))
* bump YouTube Music patches to v5.25.51 ([#669](https://github.com/revanced/revanced-patches/issues/669)) ([ca88b01](e89c3dad39))
2022-09-29 15:27:16 +00:00
sandip93291
e89c3dad39 feat: bump YouTube Music patches to v5.25.51 (#669) 2022-09-29 17:25:01 +02:00
d4rkk3y
0f78f621c7 feat: tiktok-speed patch (#668) 2022-09-29 17:23:58 +02:00
semantic-release-bot
fe30cea22d chore(release): 2.71.2 [skip ci]
## [2.71.2](https://github.com/revanced/revanced-patches/compare/v2.71.1...v2.71.2) (2022-09-28)

### Bug Fixes

* **hide-email-address:** invalid instruction offsets ([#654](https://github.com/revanced/revanced-patches/issues/654)) ([6c8f447](5a30d8564c))
2022-09-28 13:44:59 +00:00
OxrxL
5a30d8564c fix(hide-email-address): invalid instruction offsets (#654) 2022-09-28 15:42:35 +02:00
semantic-release-bot
34222d9f2c chore(release): 2.71.1 [skip ci]
## [2.71.1](https://github.com/revanced/revanced-patches/compare/v2.71.0...v2.71.1) (2022-09-28)

### Bug Fixes

* **disable-auto-player-popup-panels:** swap switch toggle state description ([#653](https://github.com/revanced/revanced-patches/issues/653)) ([632323a](f765af0929))
2022-09-28 13:24:22 +00:00
NRJ YDV
f765af0929 fix(disable-auto-player-popup-panels): swap switch toggle state description (#653) 2022-09-28 15:21:55 +02:00
semantic-release-bot
298c33deb6 chore(release): 2.71.0 [skip ci]
# [2.71.0](https://github.com/revanced/revanced-patches/compare/v2.70.0...v2.71.0) (2022-09-28)

### Features

* `hide-email-address` patch ([#578](https://github.com/revanced/revanced-patches/issues/578)) ([9ed8f94](111db2a499))
2022-09-28 11:29:51 +00:00
OxrxL
111db2a499 feat: hide-email-address patch (#578) 2022-09-28 13:28:07 +02:00
semantic-release-bot
fa536957cc chore(release): 2.70.0 [skip ci]
# [2.70.0](https://github.com/revanced/revanced-patches/compare/v2.69.4...v2.70.0) (2022-09-28)

### Features

* `monochrome-icon` patch ([#643](https://github.com/revanced/revanced-patches/issues/643)) ([b744c37](980deec6af))
2022-09-28 11:16:24 +00:00
bennett-sh
980deec6af feat: monochrome-icon patch (#643) 2022-09-28 13:14:39 +02:00
semantic-release-bot
658638bfad chore(release): 2.69.4 [skip ci]
## [2.69.4](https://github.com/revanced/revanced-patches/compare/v2.69.3...v2.69.4) (2022-09-27)

### Bug Fixes

* **sponsorblock:** dynamically insert `setSponsorBarRect` call ([#644](https://github.com/revanced/revanced-patches/issues/644)) ([88940dd](d5ee3b006d))
2022-09-27 20:02:25 +00:00
d4rkk3y
d5ee3b006d fix(sponsorblock): dynamically insert setSponsorBarRect call (#644) 2022-09-27 22:00:24 +02:00
semantic-release-bot
36ab007924 chore(release): 2.69.3 [skip ci]
## [2.69.3](https://github.com/revanced/revanced-patches/compare/v2.69.2...v2.69.3) (2022-09-27)

### Bug Fixes

* **sponsorblock:** correct class name for field reference ([#582](https://github.com/revanced/revanced-patches/issues/582)) ([c584092](31ae362d18))
2022-09-27 13:32:48 +00:00
semantic-release-bot
c46705f21a chore(release): 2.69.3 [skip ci]
## [2.69.3](https://github.com/revanced/revanced-patches/compare/v2.69.2...v2.69.3) (2022-09-27)

### Bug Fixes

* **sponsorblock:** correct class name for field reference ([#582](https://github.com/revanced/revanced-patches/issues/582)) ([c584092](31ae362d18))
2022-09-27 04:57:01 +00:00
inotia00
31ae362d18 fix(sponsorblock): correct class name for field reference (#582) 2022-09-27 06:55:15 +02:00
semantic-release-bot
b64f7bb400 chore(release): 2.69.2 [skip ci]
## [2.69.2](https://github.com/revanced/revanced-patches/compare/v2.69.1...v2.69.2) (2022-09-26)

### Performance Improvements

* **resource-mapping:** map resources with multiple threads ([81e86c4](64244ec476))
2022-09-26 02:33:00 +00:00
oSumAtrIX
64244ec476 perf(resource-mapping): map resources with multiple threads 2022-09-26 04:30:49 +02:00
oSumAtrIX
f005314358 chore: bump patcher dependency version 2022-09-26 04:30:49 +02:00
shadow578
ae1aeffc62 refactor(microg-support): share code between music-microg-support patch 2022-09-26 04:30:49 +02:00
semantic-release-bot
56768caa4c chore(release): 2.69.1 [skip ci]
## [2.69.1](https://github.com/revanced/revanced-patches/compare/v2.69.0...v2.69.1) (2022-09-24)

### Bug Fixes

* **sponsorblock:** reflect changes to strings ([#585](https://github.com/revanced/revanced-patches/issues/585)) ([ee3a9c5](19484ca2bc))
2022-09-24 21:46:59 +00:00
Michael M. Chang
19484ca2bc fix(sponsorblock): reflect changes to strings (#585) 2022-09-24 23:45:02 +02:00
semantic-release-bot
a8a98646e7 chore(release): 2.69.0 [skip ci]
# [2.69.0](https://github.com/revanced/revanced-patches/compare/v2.68.3...v2.69.0) (2022-09-24)

### Features

* `spotify-theme` patch ([#608](https://github.com/revanced/revanced-patches/issues/608)) ([468ec3e](4927bc7451))
2022-09-24 13:45:49 +00:00
bogadana
4927bc7451 feat: spotify-theme patch (#608) 2022-09-24 15:44:04 +02:00
semantic-release-bot
66a5ca3fa8 chore(release): 2.68.3 [skip ci]
## [2.68.3](https://github.com/revanced/revanced-patches/compare/v2.68.2...v2.68.3) (2022-09-23)

### Bug Fixes

* **seekbar-tapping:** do not disable seekbar when hiding it ([#600](https://github.com/revanced/revanced-patches/issues/600)) ([f251ae7](6c0b9213fe))
2022-09-23 19:11:44 +00:00
OxrxL
6c0b9213fe fix(seekbar-tapping): do not disable seekbar when hiding it (#600) 2022-09-23 21:09:47 +02:00
semantic-release-bot
70e21500cc chore(release): 2.68.2 [skip ci]
## [2.68.2](https://github.com/revanced/revanced-patches/compare/v2.68.1...v2.68.2) (2022-09-23)

### Bug Fixes

* **hide-time-and-seekbar:** don't draw the seekbar ([#594](https://github.com/revanced/revanced-patches/issues/594)) ([8b3ab04](784e97591a))
2022-09-23 10:53:30 +00:00
OxrxL
784e97591a fix(hide-time-and-seekbar): don't draw the seekbar (#594) 2022-09-23 12:51:58 +02:00
semantic-release-bot
26ff3b338e chore(release): 2.68.1 [skip ci]
## [2.68.1](https://github.com/revanced/revanced-patches/compare/v2.68.0...v2.68.1) (2022-09-23)

### Bug Fixes

* **sponsorblock:** resolve unresolved fingerprint ([986a396](28c864ae95))
2022-09-23 09:51:06 +00:00
oSumAtrIX
28c864ae95 fix(sponsorblock): resolve unresolved fingerprint 2022-09-23 11:49:08 +02:00
semantic-release-bot
deb829c791 chore(release): 2.68.0 [skip ci]
# [2.68.0](https://github.com/revanced/revanced-patches/compare/v2.67.1...v2.68.0) (2022-09-23)

### Bug Fixes

* **hide-premium-navbar:** remove the correct instructions ([#591](https://github.com/revanced/revanced-patches/issues/591)) ([d82a947](3c0f3ac968))

### Features

* **tiktok:** adapt `tiktok-download` with `tiktok-settings`. ([#586](https://github.com/revanced/revanced-patches/issues/586)) ([459963c](2f6da4ed27))
2022-09-23 05:42:52 +00:00
Tim Wüstenhagen
3c0f3ac968 fix(hide-premium-navbar): remove the correct instructions (#591) 2022-09-23 07:40:50 +02:00
d4rkk3y
2f6da4ed27 feat(tiktok): adapt tiktok-download with tiktok-settings. (#586) 2022-09-23 07:40:16 +02:00
semantic-release-bot
1b653c77c4 chore(release): 2.67.1 [skip ci]
## [2.67.1](https://github.com/revanced/revanced-patches/compare/v2.67.0...v2.67.1) (2022-09-23)
2022-09-23 04:47:01 +00:00
oSumAtrIX
82ea2d3498 build: update patcher dependency 2022-09-23 06:35:29 +02:00
semantic-release-bot
07dee5b87a chore(release): 2.67.0 [skip ci]
# [2.67.0](https://github.com/revanced/revanced-patches/compare/v2.66.2...v2.67.0) (2022-09-23)

### Bug Fixes

* **hide-premium-nav-bar:** invalid import ([#590](https://github.com/revanced/revanced-patches/issues/590)) ([78f0200](7713516ed8))

### Features

* `hide-premium-nav-bar` patch ([#589](https://github.com/revanced/revanced-patches/issues/589)) ([950f7e2](22fa09dc27))
2022-09-23 00:27:51 +00:00
Tim Wüstenhagen
7713516ed8 fix(hide-premium-nav-bar): invalid import (#590) 2022-09-23 02:26:06 +02:00
Tim Wüstenhagen
22fa09dc27 feat: hide-premium-nav-bar patch (#589) 2022-09-23 02:05:41 +02:00
semantic-release-bot
24d03387de chore(release): 2.66.2 [skip ci]
## [2.66.2](https://github.com/revanced/revanced-patches/compare/v2.66.1...v2.66.2) (2022-09-22)

### Bug Fixes

* **custom-playback-speed:** implement own method instead of `takeWhile` ([4070744](04310901b7))
2022-09-22 06:40:39 +00:00
oSumAtrIX
04310901b7 fix(custom-playback-speed): implement own method instead of takeWhile 2022-09-22 08:38:49 +02:00
semantic-release-bot
3011c1fa45 chore(release): 2.66.1 [skip ci]
## [2.66.1](https://github.com/revanced/revanced-patches/compare/v2.66.0...v2.66.1) (2022-09-22)

### Bug Fixes

* **sponsorblock:** broken fingerprint and invert setting `shorts_playing` ([#579](https://github.com/revanced/revanced-patches/issues/579)) ([0125b09](6b83fe572a))
2022-09-22 05:46:12 +00:00
OxrxL
6b83fe572a fix(sponsorblock): broken fingerprint and invert setting shorts_playing (#579)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-22 07:43:54 +02:00
semantic-release-bot
32d303f4b7 chore(release): 2.66.0 [skip ci]
# [2.66.0](https://github.com/revanced/revanced-patches/compare/v2.65.0...v2.66.0) (2022-09-22)

### Features

* **custom-playback-speed:** max, min, granularity option ([61df23c](837c381e19))
2022-09-22 05:21:14 +00:00
oSumAtrIX
837c381e19 feat(custom-playback-speed): max, min, granularity option 2022-09-22 07:17:10 +02:00
semantic-release-bot
09ae60bb28 chore(release): 2.65.0 [skip ci]
# [2.65.0](https://github.com/revanced/revanced-patches/compare/v2.64.2...v2.65.0) (2022-09-21)

### Features

* `tiktok-feed-filter` , `tiktok-settings` and `tiktok-force-login` patch ([#501](https://github.com/revanced/revanced-patches/issues/501)) ([f506bff](c40181140d))
* **theme:** arbitrary background color for light theme  ([#565](https://github.com/revanced/revanced-patches/issues/565)) ([741d005](f9d180aad4))
2022-09-21 21:03:06 +00:00
Pranshu Goyal
f9d180aad4 feat(theme): arbitrary background color for light theme (#565) 2022-09-21 23:01:23 +02:00
d4rkk3y
c40181140d feat: tiktok-feed-filter , tiktok-settings and tiktok-force-login patch (#501) 2022-09-21 23:00:03 +02:00
semantic-release-bot
c5e190a4d5 chore(release): 2.64.2 [skip ci]
## [2.64.2](https://github.com/revanced/revanced-patches/compare/v2.64.1...v2.64.2) (2022-09-21)

### Bug Fixes

* **custom-video-buffer:** use correct offset for `getMaxBuffer` call injection ([fa849b6](24e3f8b24e))
2022-09-21 14:46:28 +00:00
oSumAtrIX
24e3f8b24e fix(custom-video-buffer): use correct offset for getMaxBuffer call injection 2022-09-21 16:44:44 +02:00
semantic-release-bot
53b0485642 chore(release): 2.64.1 [skip ci]
## [2.64.1](https://github.com/revanced/revanced-patches/compare/v2.64.0...v2.64.1) (2022-09-21)
2022-09-21 02:17:40 +00:00
oSumAtrIX
b362b560b6 build: bump patcher dependency version to v5.0.0 2022-09-21 04:15:07 +02:00
semantic-release-bot
b285bf96bd chore(release): 2.64.0 [skip ci]
# [2.64.0](https://github.com/revanced/revanced-patches/compare/v2.63.0...v2.64.0) (2022-09-21)

### Features

* explicit support for YouTube v17.34.35 and v17.34.36 ([#527](https://github.com/revanced/revanced-patches/issues/527)) ([0620304](bfb47eb1c4))
2022-09-21 02:11:13 +00:00
Sourav Das
bfb47eb1c4 feat: explicit support for YouTube v17.34.35 and v17.34.36 (#527) 2022-09-21 04:09:26 +02:00
semantic-release-bot
4e2d30228a chore(release): 2.63.0 [skip ci]
# [2.63.0](https://github.com/revanced/revanced-patches/compare/v2.62.0...v2.63.0) (2022-09-21)

### Features

* `disable-auto-player-popup-panels` ([#543](https://github.com/revanced/revanced-patches/issues/543)) ([35f1323](68ec6d2258))
* disable sponsorblock on shorts ([#439](https://github.com/revanced/revanced-patches/issues/439)) ([5b0a6af](dce28760f5))
2022-09-21 01:06:10 +00:00
OxrxL
dce28760f5 feat: disable sponsorblock on shorts (#439) 2022-09-21 03:03:47 +02:00
OxrxL
68ec6d2258 feat: disable-auto-player-popup-panels (#543) 2022-09-21 03:02:20 +02:00
semantic-release-bot
83498fd29c chore(release): 2.62.0 [skip ci]
# [2.62.0](https://github.com/revanced/revanced-patches/compare/v2.61.1...v2.62.0) (2022-09-21)

### Features

* `hide-time-and-seekbar` patch ([#544](https://github.com/revanced/revanced-patches/issues/544)) ([9c86429](1ab35a1cfa))
2022-09-21 01:00:46 +00:00
OxrxL
1ab35a1cfa feat: hide-time-and-seekbar patch (#544) 2022-09-21 02:58:39 +02:00
semantic-release-bot
e0b45237bb chore(release): 2.61.1 [skip ci]
## [2.61.1](https://github.com/revanced/revanced-patches/compare/v2.61.0...v2.61.1) (2022-09-21)

### Bug Fixes

* **sponsorblock:** reflect strings from official guidelines ([#523](https://github.com/revanced/revanced-patches/issues/523)) ([8f8bcee](161a1b0af1))
2022-09-21 00:00:54 +00:00
Michael M. Chang
161a1b0af1 fix(sponsorblock): reflect strings from official guidelines (#523) 2022-09-21 01:58:29 +02:00
semantic-release-bot
7618376388 chore(release): 2.61.0 [skip ci]
# [2.61.0](https://github.com/revanced/revanced-patches/compare/v2.60.0...v2.61.0) (2022-09-20)

### Features

* section `acknowledgements` for issue templates ([8f4cdbb](2bdb857a9f))
2022-09-20 22:38:27 +00:00
oSumAtrIX
2bdb857a9f feat: section acknowledgements for issue templates
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-21 00:36:26 +02:00
semantic-release-bot
be02acecfc chore(release): 2.60.0 [skip ci]
# [2.60.0](https://github.com/revanced/revanced-patches/compare/v2.59.0...v2.60.0) (2022-09-19)

### Features

* **downloads:** missing package installation request ([ccb90e9](9e873329c6))
2022-09-19 22:39:17 +00:00
oSumAtrIX
9e873329c6 feat(downloads): missing package installation request 2022-09-20 00:37:30 +02:00
semantic-release-bot
8a2b79ec16 chore(release): 2.59.0 [skip ci]
# [2.59.0](https://github.com/revanced/revanced-patches/compare/v2.58.0...v2.59.0) (2022-09-18)

### Features

* **sponsorblock:** string for response error code 400 ([#512](https://github.com/revanced/revanced-patches/issues/512)) ([fd0a45f](9842f7ca0d))
2022-09-18 22:06:17 +00:00
Michael M. Chang
9842f7ca0d feat(sponsorblock): string for response error code 400 (#512) 2022-09-19 00:04:11 +02:00
semantic-release-bot
8a913c6a2a chore(release): 2.58.0 [skip ci]
# [2.58.0](https://github.com/revanced/revanced-patches/compare/v2.57.0...v2.58.0) (2022-09-18)

### Bug Fixes

* **hdr-auto-brightness:** increase patching compatibility across versions ([4933e58](886018d6fb))
* **hide-create-button:** increase patching compatibility across versions ([751fa45](c707dc8769))
* **hide-shorts-button:** increase patching compatibility across versions ([624215d](1bb93e3598))

### Features

* bump patches compatibility to v17.36.37 ([2a7222f](eb985942f0))
2022-09-18 06:28:04 +00:00
oSumAtrIX
84676ef33d build: bump patcher dependency version
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 08:25:37 +02:00
oSumAtrIX
eb985942f0 feat: bump patches compatibility to v17.36.37
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 08:10:53 +02:00
oSumAtrIX
886018d6fb fix(hdr-auto-brightness): increase patching compatibility across versions
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 08:10:31 +02:00
oSumAtrIX
e7a17ccbc6 refactor: move InjectionUtils to utils subpackage
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 07:35:59 +02:00
oSumAtrIX
c707dc8769 fix(hide-create-button): increase patching compatibility across versions
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 07:33:42 +02:00
oSumAtrIX
1bb93e3598 fix(hide-shorts-button): increase patching compatibility across versions
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-18 07:33:11 +02:00
semantic-release-bot
e8848171ac chore(release): 2.57.0 [skip ci]
# [2.57.0](https://github.com/revanced/revanced-patches/compare/v2.56.1...v2.57.0) (2022-09-16)

### Features

* **amoled:** remove in favour of `theme` patch ([0032301](47fbe3cb25))
* **theme:** arbitrary background color for dark theme ([afd5502](1791525b54))
2022-09-16 00:13:24 +00:00
oSumAtrIX
249288c8a5 docs(theme): proper wording in description
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-16 02:10:50 +02:00
oSumAtrIX
1791525b54 feat(theme): arbitrary background color for dark theme
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-16 02:10:19 +02:00
oSumAtrIX
47fbe3cb25 feat(amoled): remove in favour of theme patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-16 02:09:19 +02:00
semantic-release-bot
89235ca7fa chore(release): 2.56.1 [skip ci]
## [2.56.1](https://github.com/revanced/revanced-patches/compare/v2.56.0...v2.56.1) (2022-09-15)

### Bug Fixes

* `auto-captions` patch switch description ([#488](https://github.com/revanced/revanced-patches/issues/488)) ([57824fb](f63abb8eb3))
2022-09-15 14:28:30 +00:00
OxrxL
f63abb8eb3 fix: auto-captions patch switch description (#488) 2022-09-15 16:25:57 +02:00
semantic-release-bot
b701f86fa1 chore(release): 2.56.0 [skip ci]
# [2.56.0](https://github.com/revanced/revanced-patches/compare/v2.55.0...v2.56.0) (2022-09-15)

### Features

* **tiktok-download:** custom download path ([#479](https://github.com/revanced/revanced-patches/issues/479)) ([944aa48](3117ee7ba4))
2022-09-15 14:06:07 +00:00
d4rkk3y
3117ee7ba4 feat(tiktok-download): custom download path (#479) 2022-09-15 16:04:20 +02:00
semantic-release-bot
b8e084b9e1 chore(release): 2.55.0 [skip ci]
# [2.55.0](https://github.com/revanced/revanced-patches/compare/v2.54.1...v2.55.0) (2022-09-15)

### Features

* `disable-auto-captions` patch ([#435](https://github.com/revanced/revanced-patches/issues/435)) ([8ee12d0](bafeff84c2))
2022-09-15 01:02:51 +00:00
OxrxL
bafeff84c2 feat: disable-auto-captions patch (#435) 2022-09-15 03:00:19 +02:00
semantic-release-bot
8d193786cb chore(release): 2.54.1 [skip ci]
## [2.54.1](https://github.com/revanced/revanced-patches/compare/v2.54.0...v2.54.1) (2022-09-14)

### Bug Fixes

* alignment of download button icon ([#477](https://github.com/revanced/revanced-patches/issues/477)) ([2093f11](d78d271967))
2022-09-14 16:03:59 +00:00
Ushie
d78d271967 fix: alignment of download button icon (#477) 2022-09-14 18:02:11 +02:00
semantic-release-bot
59ea2bc636 chore(release): 2.54.0 [skip ci]
# [2.54.0](https://github.com/revanced/revanced-patches/compare/v2.53.0...v2.54.0) (2022-09-14)

### Features

* bump YouTube Music patches to v5.23.50 ([#462](https://github.com/revanced/revanced-patches/issues/462)) ([15c10b1](e8b550f5aa))
2022-09-14 13:48:11 +00:00
Suraj Anil Yadav
e8b550f5aa feat: bump YouTube Music patches to v5.23.50 (#462) 2022-09-14 15:46:25 +02:00
semantic-release-bot
e73c0e0a00 chore(release): 2.53.0 [skip ci]
# [2.53.0](https://github.com/revanced/revanced-patches/compare/v2.52.3...v2.53.0) (2022-09-13)

### Features

* patch requests issue template ([#467](https://github.com/revanced/revanced-patches/issues/467)) ([d8bb354](8c132be096)), closes [revanced/revanced-patches#463](https://github.com/revanced/revanced-patches/issues/463)
2022-09-13 20:32:58 +00:00
Sculas
8c132be096 feat: patch requests issue template (#467)
Closes: revanced/revanced-patches#463
2022-09-13 22:31:06 +02:00
semantic-release-bot
cb10ea1797 chore(release): 2.52.3 [skip ci]
## [2.52.3](https://github.com/revanced/revanced-patches/compare/v2.52.2...v2.52.3) (2022-09-11)

### Bug Fixes

* path for download icon ([#465](https://github.com/revanced/revanced-patches/issues/465)) ([bff22c3](6d6a0375c8))
2022-09-11 23:42:21 +00:00
afn
6d6a0375c8 fix: path for download icon (#465) 2022-09-12 01:40:36 +02:00
semantic-release-bot
8541ee0066 chore(release): 2.52.2 [skip ci]
## [2.52.2](https://github.com/revanced/revanced-patches/compare/v2.52.1...v2.52.2) (2022-09-11)

### Bug Fixes

* design language for download icon ([#464](https://github.com/revanced/revanced-patches/issues/464)) ([c24dc17](f7e0b46bc7))
2022-09-11 22:01:02 +00:00
afn
f7e0b46bc7 fix: design language for download icon (#464) 2022-09-11 23:58:23 +02:00
semantic-release-bot
59af825d0a chore(release): 2.52.1 [skip ci]
## [2.52.1](https://github.com/revanced/revanced-patches/compare/v2.52.0...v2.52.1) (2022-09-08)

### Bug Fixes

* multiple compatible pkgs on readme ([3f82a13](04ffffbdf2))
2022-09-08 20:05:20 +00:00
Sculas
04ffffbdf2 fix: multiple compatible pkgs on readme 2022-09-08 22:03:30 +02:00
semantic-release-bot
ecc131fa4f chore(release): 2.52.0 [skip ci]
# [2.52.0](https://github.com/revanced/revanced-patches/compare/v2.51.3...v2.52.0) (2022-09-08)

### Features

* add deprecated & options to patches.json ([759315b](a4f1d3558e))
2022-09-08 19:43:07 +00:00
Sculas
a4f1d3558e feat: add deprecated & options to patches.json 2022-09-08 21:40:59 +02:00
Sculas
4cbd58721d build: update patcher dependency 2022-09-08 21:10:41 +02:00
semantic-release-bot
7cfe43e666 chore(release): 2.51.3 [skip ci]
## [2.51.3](https://github.com/revanced/revanced-patches/compare/v2.51.2...v2.51.3) (2022-09-08)

### Bug Fixes

* cleanup & trigger release for ThemePatch ([8d25b21](c93d7bc212)), closes [#447](https://github.com/revanced/revanced-patches/issues/447) [revanced/revanced-patcher#99](https://github.com/revanced/revanced-patcher/issues/99)
2022-09-08 16:37:40 +00:00
Sculas
c93d7bc212 fix: cleanup & trigger release for ThemePatch
Closes #447
Closes revanced/revanced-patcher#99
2022-09-08 18:35:08 +02:00
Sculas
c28fd5cf20 Merge remote-tracking branch 'origin/main' into main 2022-09-08 17:06:32 +02:00
Sculas
069f754d51 refactor: set amoled theme default for ThemePatch 2022-09-08 17:06:16 +02:00
semantic-release-bot
cba04cf5a6 chore(release): 2.51.2 [skip ci]
## [2.51.2](https://github.com/revanced/revanced-patches/compare/v2.51.1...v2.51.2) (2022-09-08)
2022-09-08 15:03:32 +00:00
Sculas
5e358c7319 refactor: update to patcher 4.2.2 2022-09-08 17:01:28 +02:00
Sculas
ce69471684 build: update patcher dependency 2022-09-08 16:59:29 +02:00
semantic-release-bot
a0981dda9d chore(release): 2.51.1 [skip ci]
## [2.51.1](https://github.com/revanced/revanced-patches/compare/v2.51.0...v2.51.1) (2022-09-08)

### Bug Fixes

* wrap theme option ([150c173](6073181ee1))
2022-09-08 11:47:28 +00:00
Sculas
6073181ee1 fix: wrap theme option 2022-09-08 13:45:28 +02:00
Sculas
522587321c build: update patcher 2022-09-08 13:45:10 +02:00
semantic-release-bot
b16748794e chore(release): 2.51.0 [skip ci]
# [2.51.0](https://github.com/revanced/revanced-patches/compare/v2.50.8...v2.51.0) (2022-09-08)

### Features

* Theme Patch ([#440](https://github.com/revanced/revanced-patches/issues/440)) ([f3b92ca](01e9a396d6))
2022-09-08 09:57:04 +00:00
Sculas
01e9a396d6 feat: Theme Patch (#440)
* feat: Theme Patch

* refactor: deprecate AmoledPatch

* Update src/main/kotlin/app/revanced/patches/youtube/layout/theme/patch/ThemePatch.kt

Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>

* refactor: apply requested changes

Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-08 11:55:06 +02:00
semantic-release-bot
86fcd4d475 chore(release): 2.50.8 [skip ci]
## [2.50.8](https://github.com/revanced/revanced-patches/compare/v2.50.7...v2.50.8) (2022-09-08)
2022-09-08 09:34:38 +00:00
Sculas
8bbc744114 build: update patcher 2022-09-08 11:32:45 +02:00
semantic-release-bot
d7a4ad76ea chore(release): 2.50.7 [skip ci]
## [2.50.7](https://github.com/revanced/revanced-patches/compare/v2.50.6...v2.50.7) (2022-09-08)
2022-09-08 08:28:01 +00:00
E85Addict
7e6ee73908 build: bump patcher dependency version (#443) 2022-09-08 10:25:56 +02:00
semantic-release-bot
87954a1aaf chore(release): 2.50.6 [skip ci]
## [2.50.6](https://github.com/revanced/revanced-patches/compare/v2.50.5...v2.50.6) (2022-09-07)
2022-09-07 20:39:46 +00:00
Sculas
e5a2ed0f70 refactor: cleanup AmoledPatch 2022-09-07 22:37:53 +02:00
Sculas
2295aaebf4 chore: ignore kotlinc.xml 2022-09-07 22:37:38 +02:00
Sculas
a72bf150c2 build: update patcher 2022-09-07 22:34:36 +02:00
semantic-release-bot
0290cd3d36 chore(release): 2.50.5 [skip ci]
## [2.50.5](https://github.com/revanced/revanced-patches/compare/v2.50.4...v2.50.5) (2022-09-07)
2022-09-07 19:16:38 +00:00
Sculas
e8d61e0c0e refactor: adapt patcher 4.0.0 changes 2022-09-07 21:14:03 +02:00
Sculas
19769d80eb build: update patcher 2022-09-07 21:05:43 +02:00
Sculas
12c16d4644 refactor: cleanup CustomBrandingPatch 2022-09-07 21:03:03 +02:00
Sculas
75f4653c16 build: update patcher 2022-09-06 23:45:54 +02:00
semantic-release-bot
3286d26996 chore(release): 2.50.4 [skip ci]
## [2.50.4](https://github.com/revanced/revanced-patches/compare/v2.50.3...v2.50.4) (2022-09-03)

### Bug Fixes

* don't respect primary color for the download button icon ([#424](https://github.com/revanced/revanced-patches/issues/424)) ([3fa70f4](edbc36e90f))
2022-09-03 03:49:15 +00:00
Tititvoot Pangrit
edbc36e90f fix: don't respect primary color for the download button icon (#424) 2022-09-03 05:46:55 +02:00
semantic-release-bot
7ad2be7f27 chore(release): 2.50.3 [skip ci]
## [2.50.3](https://github.com/revanced/revanced-patches/compare/v2.50.2...v2.50.3) (2022-09-01)

### Bug Fixes

* partial ad blockage in `tiktok-ads` patch ([#420](https://github.com/revanced/revanced-patches/issues/420)) ([bc6d192](1702322671))
2022-09-01 17:13:54 +00:00
d4rkk3y
1702322671 fix: partial ad blockage in tiktok-ads patch (#420) 2022-09-01 19:12:16 +02:00
semantic-release-bot
9c9bfbd593 chore(release): 2.50.2 [skip ci]
## [2.50.2](https://github.com/revanced/revanced-patches/compare/v2.50.1...v2.50.2) (2022-08-31)

### Bug Fixes

* wrong dependency version ([1e63a57](3df662a39c))
2022-08-31 18:44:22 +00:00
oSumAtrIX
3df662a39c fix: wrong dependency version
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-08-31 20:42:18 +02:00
oSumAtrIX
572c110a6e refactor: make use of named arguments 2022-08-31 20:38:38 +02:00
oSumAtrIX
0be9f00915 build: bump patcher dependency version
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-08-31 20:36:57 +02:00
semantic-release-bot
0b6f643ff3 chore(release): 2.50.1 [skip ci]
## [2.50.1](https://github.com/revanced/revanced-patches/compare/v2.50.0...v2.50.1) (2022-08-31)

### Bug Fixes

* resolve fingerprint in `premium-icon-reddit` patch ([#413](https://github.com/revanced/revanced-patches/issues/413)) ([60ec2c6](1989d53938))
2022-08-31 16:04:43 +00:00
Technikte
1989d53938 fix: resolve fingerprint in premium-icon-reddit patch (#413) 2022-08-31 18:03:03 +02:00
semantic-release-bot
ac1acf10e6 chore(release): 2.50.0 [skip ci]
# [2.50.0](https://github.com/revanced/revanced-patches/compare/v2.49.0...v2.50.0) (2022-08-31)

### Features

* `tiktok-download` and `tiktok-seekbar` patch ([#405](https://github.com/revanced/revanced-patches/issues/405)) ([f36e000](0ad686da21))
2022-08-31 15:59:52 +00:00
d4rkk3y
0ad686da21 feat: tiktok-download and tiktok-seekbar patch (#405) 2022-08-31 17:57:51 +02:00
semantic-release-bot
e734b2231a chore(release): 2.49.0 [skip ci]
# [2.49.0](https://github.com/revanced/revanced-patches/compare/v2.48.2...v2.49.0) (2022-08-31)

### Features

* bump YouTube Music patches to v5.22.54 ([#409](https://github.com/revanced/revanced-patches/issues/409)) ([859176e](efe06d1cdc))
2022-08-31 00:06:04 +00:00
Ushie
efe06d1cdc feat: bump YouTube Music patches to v5.22.54 (#409) 2022-08-31 02:04:23 +02:00
semantic-release-bot
a0f9013fab chore(release): 2.48.2 [skip ci]
## [2.48.2](https://github.com/revanced/revanced-patches/compare/v2.48.1...v2.48.2) (2022-08-30)

### Bug Fixes

* do not constrain `amoled` patch to versions ([#408](https://github.com/revanced/revanced-patches/issues/408)) ([4af1714](93dcd542d5))
2022-08-30 23:37:08 +00:00
Ushie
93dcd542d5 fix: do not constrain amoled patch to versions (#408) 2022-08-31 01:35:26 +02:00
semantic-release-bot
3bac23f577 chore(release): 2.48.1 [skip ci]
## [2.48.1](https://github.com/revanced/revanced-patches/compare/v2.48.0...v2.48.1) (2022-08-30)

### Bug Fixes

* don't overwrite register in `compact-header` patch ([#406](https://github.com/revanced/revanced-patches/issues/406)) ([3da8ab5](febcf60efb))
2022-08-30 16:37:58 +00:00
Canny
febcf60efb fix: don't overwrite register in compact-header patch (#406) 2022-08-30 18:35:41 +02:00
semantic-release-bot
0d74a2dfa6 chore(release): 2.48.0 [skip ci]
# [2.48.0](https://github.com/revanced/revanced-patches/compare/v2.47.0...v2.48.0) (2022-08-30)

### Features

* bump YouTube Music patches to v5.21.52 ([#404](https://github.com/revanced/revanced-patches/issues/404)) ([0abb196](5b04fbb748))
2022-08-30 15:34:03 +00:00
Canny
5b04fbb748 feat: bump YouTube Music patches to v5.21.52 (#404) 2022-08-30 17:31:31 +02:00
semantic-release-bot
fbfa0ea3be chore(release): 2.47.0 [skip ci]
# [2.47.0](https://github.com/revanced/revanced-patches/compare/v2.46.0...v2.47.0) (2022-08-29)

### Features

* bump youtube version to v17.33.42 ([#398](https://github.com/revanced/revanced-patches/issues/398)) ([769aa25](4a30afe1e2))
2022-08-29 17:06:58 +00:00
Canny
4a30afe1e2 feat: bump youtube version to v17.33.42 (#398) 2022-08-29 19:05:19 +02:00
semantic-release-bot
dd1df32036 chore(release): 2.46.0 [skip ci]
# [2.46.0](https://github.com/revanced/revanced-patches/compare/v2.45.3...v2.46.0) (2022-08-29)

### Bug Fixes

* `seekbar-tapping` toggling ([#401](https://github.com/revanced/revanced-patches/issues/401)) ([5550244](67f6041bab))

### Features

* `premium-icon-reddit` patch ([#333](https://github.com/revanced/revanced-patches/issues/333)) ([6739e7b](6b3f8e46fd))
* blacklist `.vsc` folder in `.gitignore` ([#331](https://github.com/revanced/revanced-patches/issues/331)) ([1922253](a52d674cde))
2022-08-29 16:23:03 +00:00
Technikte
a52d674cde feat: blacklist .vsc folder in .gitignore (#331) 2022-08-29 18:21:24 +02:00
d4rkk3y
67f6041bab fix: seekbar-tapping toggling (#401) 2022-08-29 18:20:25 +02:00
Technikte
6b3f8e46fd feat: premium-icon-reddit patch (#333) 2022-08-29 18:19:15 +02:00
semantic-release-bot
b95058f20a chore(release): 2.45.3 [skip ci]
## [2.45.3](https://github.com/revanced/revanced-patches/compare/v2.45.2...v2.45.3) (2022-08-29)

### Bug Fixes

* release `patches.json` file ([#402](https://github.com/revanced/revanced-patches/issues/402)) ([17e351c](5b80ac1216))
2022-08-29 13:33:33 +00:00
reis
5b80ac1216 fix: release patches.json file (#402) 2022-08-29 15:31:37 +02:00
semantic-release-bot
6fe1bfb856 chore(release): 2.45.2 [skip ci]
## [2.45.2](https://github.com/revanced/revanced-patches/compare/v2.45.1...v2.45.2) (2022-08-28)

### Bug Fixes

* add `patches.json` as a release asset ([a0b2c89](589a7c01d1))
2022-08-28 20:26:45 +00:00
Sculas
589a7c01d1 fix: add patches.json as a release asset 2022-08-28 22:24:45 +02:00
semantic-release-bot
4cd6d4459a chore(release): 2.45.1 [skip ci]
## [2.45.1](https://github.com/revanced/revanced-patches/compare/v2.45.0...v2.45.1) (2022-08-28)

### Bug Fixes

* run meta generator ([70a2b45](89a92b2057))
2022-08-28 19:52:25 +00:00
Sculas
89a92b2057 fix: run meta generator 2022-08-28 21:50:38 +02:00
semantic-release-bot
9f265a46cf chore(release): 2.45.0 [skip ci]
# [2.45.0](https://github.com/revanced/revanced-patches/compare/v2.44.0...v2.45.0) (2022-08-28)

### Features

* Add JSON meta ([4c229d3](a740690a08))
2022-08-28 19:42:01 +00:00
Sculas
a740690a08 feat: Add JSON meta 2022-08-28 21:39:13 +02:00
oSumAtrIX
d722a64d3c refactor: remove integrations dependency 2022-08-27 04:59:04 +02:00
oSumAtrIX
abe2674290 refactor: addInstruction instead of addInstructions 2022-08-27 04:01:09 +02:00
semantic-release-bot
e5ec40f6fa chore(release): 2.44.0 [skip ci]
# [2.44.0](https://github.com/revanced/revanced-patches/compare/v2.43.2...v2.44.0) (2022-08-27)

### Features

* add debug switch ([#391](https://github.com/revanced/revanced-patches/issues/391)) ([ee4b776](96c43fc6f5))
2022-08-27 01:23:45 +00:00
Canny
96c43fc6f5 feat: add debug switch (#391) 2022-08-27 03:21:53 +02:00
semantic-release-bot
4e36d72c5c chore(release): 2.43.2 [skip ci]
## [2.43.2](https://github.com/revanced/revanced-patches/compare/v2.43.1...v2.43.2) (2022-08-26)

### Bug Fixes

* package name for Vanced ([#390](https://github.com/revanced/revanced-patches/issues/390)) ([85206b9](6197246e8e))
2022-08-26 23:32:49 +00:00
Robert
6197246e8e fix: package name for Vanced (#390) 2022-08-27 01:31:07 +02:00
semantic-release-bot
15a044cae1 chore(release): 2.43.1 [skip ci]
## [2.43.1](https://github.com/revanced/revanced-patches/compare/v2.43.0...v2.43.1) (2022-08-26)

### Bug Fixes

* `Patch` annotation for `client-spoof` patch ([6a8af47](ede60b994c))
2022-08-26 22:53:56 +00:00
oSumAtrIX
ede60b994c fix: Patch annotation for client-spoof patch 2022-08-27 00:52:10 +02:00
semantic-release-bot
c15cc431d6 chore(release): 2.43.0 [skip ci]
# [2.43.0](https://github.com/revanced/revanced-patches/compare/v2.42.1...v2.43.0) (2022-08-26)

### Features

* `client-spoof` patch ([5512c07](fb006f87ab))
2022-08-26 22:07:20 +00:00
epicsampler
fb006f87ab feat: client-spoof patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-08-27 00:05:21 +02:00
semantic-release-bot
28206fd804 chore(release): 2.42.1 [skip ci]
## [2.42.1](https://github.com/revanced/revanced-patches/compare/v2.42.0...v2.42.1) (2022-08-26)

### Bug Fixes

* changed default value for autorepeat setting ([#386](https://github.com/revanced/revanced-patches/issues/386)) ([d43add7](e425e75152))
2022-08-26 01:14:13 +00:00
afn
e425e75152 fix: changed default value for autorepeat setting (#386) 2022-08-26 03:11:46 +02:00
Levente Ilyó-Kovács
69d6c55942 docs: punctuation in microg-support patch description (#377) 2022-08-23 00:51:02 +02:00
semantic-release-bot
f2b29351b4 chore(release): 2.42.0 [skip ci]
# [2.42.0](https://github.com/revanced/revanced-patches/compare/v2.41.0...v2.42.0) (2022-08-22)

### Bug Fixes

* default values for settings ([834c4ad](b75e759348))

### Features

* setting for downloader package name ([965d05c](db0b468e71))
* v17.29.34 compatibility for `downloads` patch ([#374](https://github.com/revanced/revanced-patches/issues/374)) ([d81f1af](83b41322c4))
2022-08-22 17:16:38 +00:00
oSumAtrIX
db0b468e71 feat: setting for downloader package name 2022-08-22 19:14:17 +02:00
oSumAtrIX
b75e759348 fix: default values for settings 2022-08-22 19:13:57 +02:00
Robert
83b41322c4 feat: v17.29.34 compatibility for downloads patch (#374) 2022-08-22 14:38:21 +02:00
semantic-release-bot
8d8878aa08 chore(release): 2.41.0 [skip ci]
# [2.41.0](https://github.com/revanced/revanced-patches/compare/v2.40.2...v2.41.0) (2022-08-22)

### Features

* `downloads` patch ([#215](https://github.com/revanced/revanced-patches/issues/215)) ([304fbac](d628674cdd))
2022-08-22 03:00:31 +00:00
oSumAtrIX
d628674cdd feat: downloads patch (#215) 2022-08-22 04:58:17 +02:00
semantic-release-bot
23b182ccbb chore(release): 2.40.2 [skip ci]
## [2.40.2](https://github.com/revanced/revanced-patches/compare/v2.40.1...v2.40.2) (2022-08-22)

### Bug Fixes

* correct title for `tablet-miniplayer` setting switch ([6af6c02](4a784ecd6e))
2022-08-22 02:42:29 +00:00
oSumAtrIX
4a784ecd6e fix: correct title for tablet-miniplayer setting switch 2022-08-22 04:40:49 +02:00
semantic-release-bot
0165b53c6d chore(release): 2.40.1 [skip ci]
## [2.40.1](https://github.com/revanced/revanced-patches/compare/v2.40.0...v2.40.1) (2022-08-22)

### Bug Fixes

* add missing switch for `tablet-mini-player` patch ([244a1b2](17a0e16087))
2022-08-22 02:00:11 +00:00
oSumAtrIX
17a0e16087 fix: add missing switch for tablet-mini-player patch 2022-08-22 03:58:15 +02:00
semantic-release-bot
8cf91f39a5 chore(release): 2.40.0 [skip ci]
# [2.40.0](https://github.com/revanced/revanced-patches/compare/v2.39.1...v2.40.0) (2022-08-22)

### Features

* `settings` patch framework ([#266](https://github.com/revanced/revanced-patches/issues/266)) ([084a99b](9ef93f6618))
2022-08-22 00:02:00 +00:00
oSumAtrIX
9ef93f6618 feat: settings patch framework (#266) 2022-08-22 01:59:43 +02:00
semantic-release-bot
8c3866f5e3 chore(release): 2.39.1 [skip ci]
## [2.39.1](https://github.com/revanced/revanced-patches/compare/v2.39.0...v2.39.1) (2022-08-21)

### Bug Fixes

* make `custom-branding` cross-platform ([#366](https://github.com/revanced/revanced-patches/issues/366)) ([02ac62b](d115d649f4))
2022-08-21 00:35:21 +00:00
Alberto Ponces
d115d649f4 fix: make custom-branding cross-platform (#366) 2022-08-21 02:33:04 +02:00
semantic-release-bot
ddc789395e chore(release): 2.39.0 [skip ci]
# [2.39.0](https://github.com/revanced/revanced-patches/compare/v2.38.0...v2.39.0) (2022-08-19)

### Features

* bundle `dex` file into `jar` file ([#359](https://github.com/revanced/revanced-patches/issues/359)) ([f419252](e1200d4e3f))
2022-08-19 23:29:17 +00:00
Alberto Ponces
e1200d4e3f feat: bundle dex file into jar file (#359) 2022-08-20 01:26:59 +02:00
semantic-release-bot
8276340d2b chore(release): 2.38.0 [skip ci]
# [2.38.0](https://github.com/revanced/revanced-patches/compare/v2.37.0...v2.38.0) (2022-08-17)

### Features

* bump YouTube patches to `v17.32.35` ([#347](https://github.com/revanced/revanced-patches/issues/347)) ([5292a0e](8f32af4de1))
2022-08-17 17:13:42 +00:00
inotia00
8f32af4de1 feat: bump YouTube patches to v17.32.35 (#347) 2022-08-17 19:11:53 +02:00
semantic-release-bot
a2bc9f0722 chore(release): 2.37.0 [skip ci]
# [2.37.0](https://github.com/revanced/revanced-patches/compare/v2.36.2...v2.37.0) (2022-08-15)

### Features

* ˋpflotsh-ecmwf-subscription-unlockˋ patch ([#332](https://github.com/revanced/revanced-patches/issues/332)) ([ae2a1d8](f94bb06996))
2022-08-15 18:56:22 +00:00
Technikte
f94bb06996 feat: ˋpflotsh-ecmwf-subscription-unlockˋ patch (#332) 2022-08-15 20:54:22 +02:00
218 changed files with 3322 additions and 1336 deletions

View File

@@ -36,7 +36,7 @@ body:
- type: textarea
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. Capture crash logs by running `logcat | grep AndroidRuntime`.
render: shell
validations:
required: true
@@ -70,4 +70,4 @@ body:
- label: I have written a short but informative title.
required: true
- label: I filled out all of the requested information in this issue properly.
required: true
required: true

25
.github/workflows/pull_request.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: PR to main
on:
push:
branches:
- dev
workflow_dispatch:
env:
MESSAGE: merge branch `${{ github.head_ref || github.ref_name }}` to `main`
jobs:
pull-request:
name: Open pull request
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Open pull request
uses: repo-sync/pull-request@v2
with:
destination_branch: 'main'
pr_title: 'chore: ${{ env.MESSAGE }}'
pr_body: 'This pull request will ${{ env.MESSAGE }}.'
pr_draft: true

View File

@@ -1,4 +1,5 @@
name: Release
on:
workflow_dispatch:
push:
@@ -9,6 +10,7 @@ on:
branches:
- main
- dev
jobs:
release:
name: Release
@@ -17,12 +19,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
with:
# Make sure the release step uses its own credentials:
# https://github.com/cycjimmy/semantic-release-action#private-packages
persist-credentials: false
fetch-depth: 0
- name: Setup JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
distribution: 'zulu'
cache: gradle
- name: Setup Node.js
uses: actions/setup-node@v3
@@ -32,16 +37,16 @@ jobs:
- name: Setup Android SDK
uses: amyu/setup-android@v2
with:
cache-disabled: true
cache-disabled: false
sdk-version: '33'
build-tools-version: '33.0.1'
- name: Build with Gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew build generateMeta
run: ./gradlew generateMeta clean --no-daemon
- name: Setup semantic-release
run: npm install semantic-release @semantic-release/git @semantic-release/changelog gradle-semantic-release-plugin -D
run: npm install semantic-release@19.0.5 @saithodev/semantic-release-backmerge @semantic-release/git @semantic-release/changelog gradle-semantic-release-plugin@1.7.4 -D
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }}
run: npx semantic-release

View File

@@ -7,11 +7,7 @@
}
],
"plugins": [
["@semantic-release/commit-analyzer", {
"releaseRules": [
{"type": "build", "release": "patch"}
]
}],
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"gradle-semantic-release-plugin",
@@ -36,7 +32,15 @@
{
"path": "patches.json"
}
]
],
successComment: false
}
],
[
"@saithodev/semantic-release-backmerge",
{
branches: [{from: "main", to: "dev"}],
clearWorkspace: true
}
]
]

View File

@@ -1,4 +1,453 @@
## [2.140.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.140.0...v2.140.1-dev.1) (2022-12-05)
# [2.157.0-dev.4](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.3...v2.157.0-dev.4) (2023-01-28)
### Bug Fixes
* **youtube/return-youtube-dislike:** do not fetch voting stats when watching shorts ([#1532](https://github.com/revanced/revanced-patches/issues/1532)) ([f46fcad](https://github.com/revanced/revanced-patches/commit/f46fcadd855a13d9f8916f21980abcf5564e97d7))
# [2.157.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.2...v2.157.0-dev.3) (2023-01-28)
### Bug Fixes
* **youtube/settings:** resolve fingerprints robustly ([8e98605](https://github.com/revanced/revanced-patches/commit/8e98605a7491d69e99c6b1aeb2de3db9396faa20))
* **youtube:** reliably resolve fingerprints ([1598306](https://github.com/revanced/revanced-patches/commit/1598306eb58ae8f8dc38b472628b237e55ec0f1b))
### Features
* **youtube/general-ads:** remove hiding video shelf ([c4c9e5b](https://github.com/revanced/revanced-patches/commit/c4c9e5bb3765d08d6653864d33546c25ba367292))
# [2.157.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.157.0-dev.1...v2.157.0-dev.2) (2023-01-24)
### Features
* **music:** update patches compatibility to v5.40.51 ([#1541](https://github.com/revanced/revanced-patches/issues/1541)) ([13143cb](https://github.com/revanced/revanced-patches/commit/13143cb5260f8793d246633a6a506bdc9f3a3ce7))
# [2.157.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.156.0...v2.157.0-dev.1) (2023-01-23)
### Bug Fixes
* parse any kind of patch version ([66cd88f](https://github.com/revanced/revanced-patches/commit/66cd88f4d8a9161a4c51b70f2384dcee92fe2aea))
* **twitter/hide-views-stats:** constrain to last working version ([#1522](https://github.com/revanced/revanced-patches/issues/1522)) ([bf45817](https://github.com/revanced/revanced-patches/commit/bf45817677fd058f9b255dbef5c1ca9aaec95531))
### Features
* **finanzonline:** `remove-bootloader-detection` patch ([3952138](https://github.com/revanced/revanced-patches/commit/39521386c2296f46479e31c39ab245c2778ebd65))
* **finanzonline:** `remove-root-detection` patch ([1d46d63](https://github.com/revanced/revanced-patches/commit/1d46d63fdcf3cbce53a7719f4490225368c4d5ae))
* **youtube/microg-support:** check if Vanced MicroG is running in the background ([#1531](https://github.com/revanced/revanced-patches/issues/1531)) ([81934ef](https://github.com/revanced/revanced-patches/commit/81934efb39b8ed9b0a523ffd7c4d841227ac141f))
* **youtube:** `open-links-externally` patch ([#1524](https://github.com/revanced/revanced-patches/issues/1524)) ([caf3d70](https://github.com/revanced/revanced-patches/commit/caf3d70c30bc440923c0e76e7331010905f6e729))
# [2.156.0](https://github.com/revanced/revanced-patches/compare/v2.155.0...v2.156.0) (2023-01-17)
### Bug Fixes
* **reddit/general-reddit-ads:** specify last version that works correctly ([#1495](https://github.com/revanced/revanced-patches/issues/1495)) ([2a3bedd](https://github.com/revanced/revanced-patches/commit/2a3bedd5608d2f23b174c4227ac167e44e54215e))
### Features
* explain how to capture crash logs [skip ci] ([f938ba8](https://github.com/revanced/revanced-patches/commit/f938ba81ec98f06f508dbdceeabd29a0ea7bf1af))
* **id-austria:** `remove-root-detection` patch ([3cf77cd](https://github.com/revanced/revanced-patches/commit/3cf77cdb4ebbd128d29eedefa1ee35289e3c8058))
* **id-austria:** `spoof-signature` patch ([355a847](https://github.com/revanced/revanced-patches/commit/355a847b1ccd69c4ab2c356395c97b4871e53f1f))
* **nova-launcher:** `unlock-prime` patch ([#1463](https://github.com/revanced/revanced-patches/issues/1463)) ([cf710b2](https://github.com/revanced/revanced-patches/commit/cf710b27740cce4b9a0fbdf03a494eb8c65246da))
# [2.156.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.155.1-dev.1...v2.156.0-dev.1) (2023-01-17)
### Features
* explain how to capture crash logs [skip ci] ([f938ba8](https://github.com/revanced/revanced-patches/commit/f938ba81ec98f06f508dbdceeabd29a0ea7bf1af))
* **id-austria:** `remove-root-detection` patch ([3cf77cd](https://github.com/revanced/revanced-patches/commit/3cf77cdb4ebbd128d29eedefa1ee35289e3c8058))
* **id-austria:** `spoof-signature` patch ([355a847](https://github.com/revanced/revanced-patches/commit/355a847b1ccd69c4ab2c356395c97b4871e53f1f))
* **nova-launcher:** `unlock-prime` patch ([#1463](https://github.com/revanced/revanced-patches/issues/1463)) ([cf710b2](https://github.com/revanced/revanced-patches/commit/cf710b27740cce4b9a0fbdf03a494eb8c65246da))
## [2.155.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.155.0...v2.155.1-dev.1) (2023-01-15)
### Bug Fixes
* **reddit/general-reddit-ads:** specify last version that works correctly ([#1495](https://github.com/revanced/revanced-patches/issues/1495)) ([2a3bedd](https://github.com/revanced/revanced-patches/commit/2a3bedd5608d2f23b174c4227ac167e44e54215e))
# [2.155.0](https://github.com/revanced/revanced-patches/compare/v2.154.0...v2.155.0) (2023-01-15)
### Bug Fixes
* bump patcher dependency version ([a5d16d7](https://github.com/revanced/revanced-patches/commit/a5d16d7a22168b519180684e0efa3b0450915d7b))
* **youtube/open-links-directly:** use better titles and correct descriptions ([#1488](https://github.com/revanced/revanced-patches/issues/1488)) ([2874bbe](https://github.com/revanced/revanced-patches/commit/2874bbef154d28e56b5928048a255409a956a012))
### Features
* **youtube:** remove `fix-playback` patch ([edcb6cc](https://github.com/revanced/revanced-patches/commit/edcb6cc94961aaebe2df884db3049b2afa79f38f))
# [2.155.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.154.1-dev.1...v2.155.0-dev.1) (2023-01-15)
### Features
* **youtube:** remove `fix-playback` patch ([edcb6cc](https://github.com/revanced/revanced-patches/commit/edcb6cc94961aaebe2df884db3049b2afa79f38f))
## [2.154.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.154.0...v2.154.1-dev.1) (2023-01-15)
### Bug Fixes
* **youtube/open-links-directly:** use better titles and correct descriptions ([#1488](https://github.com/revanced/revanced-patches/issues/1488)) ([2874bbe](https://github.com/revanced/revanced-patches/commit/2874bbef154d28e56b5928048a255409a956a012))
# [2.154.0](https://github.com/revanced/revanced-patches/compare/v2.153.0...v2.154.0) (2023-01-13)
### Bug Fixes
* **youtube/hide-info-cards:** allow toggling visibility of info-cards ([#1464](https://github.com/revanced/revanced-patches/issues/1464)) ([e6dcb55](https://github.com/revanced/revanced-patches/commit/e6dcb55382441f03c4b1322ccd652a22db104254))
### Features
* `remove-screenshot-restriction` patch ([#1455](https://github.com/revanced/revanced-patches/issues/1455)) ([a16ab79](https://github.com/revanced/revanced-patches/commit/a16ab7969d98b1e05ac896a4b9aa834cdac8734e))
* **music:** update patches compatibility to v5.38.53 ([#1453](https://github.com/revanced/revanced-patches/issues/1453)) ([c7d116a](https://github.com/revanced/revanced-patches/commit/c7d116afd7293924760e7b6c1de0ba5d6cbd00a0))
* **music:** update patches compatibility to v5.39.52 ([#1484](https://github.com/revanced/revanced-patches/issues/1484)) ([81d6527](https://github.com/revanced/revanced-patches/commit/81d65273be81b5934e1cca543850db58f8df019e))
* **tiktok:** update patches compatibility to v27.8.3 ([#1483](https://github.com/revanced/revanced-patches/issues/1483)) ([e72b3bd](https://github.com/revanced/revanced-patches/commit/e72b3bd4e22f5ade7193ba6a3cdf61fcd91fba55))
* **youtube/return-youtube-dislike:** style for minimum width ([#1454](https://github.com/revanced/revanced-patches/issues/1454)) ([fd782aa](https://github.com/revanced/revanced-patches/commit/fd782aa0a37edf2344425c80afafb2c87851bc1a))
* **youtube:** `spoof-app-version` patch ([#1449](https://github.com/revanced/revanced-patches/issues/1449)) ([bd4d3b5](https://github.com/revanced/revanced-patches/commit/bd4d3b5706f26e398292df952ca8aec6c7dd1d6a))
# [2.154.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.154.0-dev.2...v2.154.0-dev.3) (2023-01-13)
### Features
* **tiktok:** update patches compatibility to v27.8.3 ([#1483](https://github.com/revanced/revanced-patches/issues/1483)) ([e72b3bd](https://github.com/revanced/revanced-patches/commit/e72b3bd4e22f5ade7193ba6a3cdf61fcd91fba55))
# [2.154.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.154.0-dev.1...v2.154.0-dev.2) (2023-01-13)
### Features
* **music:** update patches compatibility to v5.39.52 ([#1484](https://github.com/revanced/revanced-patches/issues/1484)) ([81d6527](https://github.com/revanced/revanced-patches/commit/81d65273be81b5934e1cca543850db58f8df019e))
# [2.154.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.153.0...v2.154.0-dev.1) (2023-01-10)
### Bug Fixes
* **youtube/hide-info-cards:** allow toggling visibility of info-cards ([#1464](https://github.com/revanced/revanced-patches/issues/1464)) ([e6dcb55](https://github.com/revanced/revanced-patches/commit/e6dcb55382441f03c4b1322ccd652a22db104254))
### Features
* `remove-screenshot-restriction` patch ([#1455](https://github.com/revanced/revanced-patches/issues/1455)) ([a16ab79](https://github.com/revanced/revanced-patches/commit/a16ab7969d98b1e05ac896a4b9aa834cdac8734e))
* **music:** update patches compatibility to v5.38.53 ([#1453](https://github.com/revanced/revanced-patches/issues/1453)) ([c7d116a](https://github.com/revanced/revanced-patches/commit/c7d116afd7293924760e7b6c1de0ba5d6cbd00a0))
* **youtube/return-youtube-dislike:** style for minimum width ([#1454](https://github.com/revanced/revanced-patches/issues/1454)) ([fd782aa](https://github.com/revanced/revanced-patches/commit/fd782aa0a37edf2344425c80afafb2c87851bc1a))
* **youtube:** `spoof-app-version` patch ([#1449](https://github.com/revanced/revanced-patches/issues/1449)) ([bd4d3b5](https://github.com/revanced/revanced-patches/commit/bd4d3b5706f26e398292df952ca8aec6c7dd1d6a))
# [2.153.0](https://github.com/revanced/revanced-patches/compare/v2.152.0...v2.153.0) (2023-01-07)
### Bug Fixes
* **youtube/general-ads:** move settings to correct preference screens ([cde45fc](https://github.com/revanced/revanced-patches/commit/cde45fca769eddea64072f13f836d46560a4a89a))
### Features
* **youtube/remember-video-quality:** simplify settings switch state description ([9bd42ec](https://github.com/revanced/revanced-patches/commit/9bd42ec1a1b54b103cd2550211515acdaf90e9de))
* **youtube:** `remember-playback-rate` patch ([177e908](https://github.com/revanced/revanced-patches/commit/177e908dba260f184a2835b73b834563ca9c29fd))
# [2.153.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.152.1-dev.1...v2.153.0-dev.1) (2023-01-07)
### Features
* **youtube/remember-video-quality:** simplify settings switch state description ([9bd42ec](https://github.com/revanced/revanced-patches/commit/9bd42ec1a1b54b103cd2550211515acdaf90e9de))
* **youtube:** `remember-playback-rate` patch ([177e908](https://github.com/revanced/revanced-patches/commit/177e908dba260f184a2835b73b834563ca9c29fd))
## [2.152.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.152.0...v2.152.1-dev.1) (2023-01-07)
### Bug Fixes
* **youtube/general-ads:** move settings to correct preference screens ([cde45fc](https://github.com/revanced/revanced-patches/commit/cde45fca769eddea64072f13f836d46560a4a89a))
# [2.152.0](https://github.com/revanced/revanced-patches/compare/v2.151.0...v2.152.0) (2023-01-04)
### Features
* **youtube/copy-video-url:** match icon style with native icon ([#1419](https://github.com/revanced/revanced-patches/issues/1419)) ([e89e54c](https://github.com/revanced/revanced-patches/commit/e89e54c316a2d99195d2b79e9176d34f6de0113c))
# [2.152.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.151.0...v2.152.0-dev.1) (2023-01-02)
### Features
* **youtube/copy-video-url:** match icon style with native icon ([#1419](https://github.com/revanced/revanced-patches/issues/1419)) ([e89e54c](https://github.com/revanced/revanced-patches/commit/e89e54c316a2d99195d2b79e9176d34f6de0113c))
# [2.151.0](https://github.com/revanced/revanced-patches/compare/v2.150.0...v2.151.0) (2022-12-31)
### Bug Fixes
* **youtube/general-ads:** restore swipe back to exit gesture ([#1405](https://github.com/revanced/revanced-patches/issues/1405)) ([2440587](https://github.com/revanced/revanced-patches/commit/24405877dd935a757fa61c7580887c1a47a25ea9))
### Features
* **youtube:** `copy-video-url` patch ([#1402](https://github.com/revanced/revanced-patches/issues/1402)) ([bf982e8](https://github.com/revanced/revanced-patches/commit/bf982e8d7765c2a89a5475b6db8b203a3ac4ddf9))
# [2.151.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.150.0...v2.151.0-dev.1) (2022-12-31)
### Bug Fixes
* **youtube/general-ads:** restore swipe back to exit gesture ([#1405](https://github.com/revanced/revanced-patches/issues/1405)) ([2440587](https://github.com/revanced/revanced-patches/commit/24405877dd935a757fa61c7580887c1a47a25ea9))
### Features
* **youtube:** `copy-video-url` patch ([#1402](https://github.com/revanced/revanced-patches/issues/1402)) ([bf982e8](https://github.com/revanced/revanced-patches/commit/bf982e8d7765c2a89a5475b6db8b203a3ac4ddf9))
# [2.150.0](https://github.com/revanced/revanced-patches/compare/v2.149.0...v2.150.0) (2022-12-31)
### Bug Fixes
* **youtube/bottom-controls-resource-patch:** use correct length for `nameSpaceLength` ([#1401](https://github.com/revanced/revanced-patches/issues/1401)) ([7190066](https://github.com/revanced/revanced-patches/commit/7190066a8ded8b59970483a81d7902526d552093))
* **youtube/general-ads:** resolve fingerprint to correct method ([#1404](https://github.com/revanced/revanced-patches/issues/1404)) ([e135485](https://github.com/revanced/revanced-patches/commit/e1354852501cb582549cbf0634b1a15e1d0012d9))
### Features
* **youtube/return-youtube-dislike:** better formatting and LTR support ([#1370](https://github.com/revanced/revanced-patches/issues/1370)) ([fd0fe1c](https://github.com/revanced/revanced-patches/commit/fd0fe1c86ca99e395d340e85f4f1eb7b221e90ea))
## [2.149.1-dev.2](https://github.com/revanced/revanced-patches/compare/v2.149.1-dev.1...v2.149.1-dev.2) (2022-12-31)
### Bug Fixes
* **youtube/general-ads:** resolve fingerprint to correct method ([#1404](https://github.com/revanced/revanced-patches/issues/1404)) ([e135485](https://github.com/revanced/revanced-patches/commit/e1354852501cb582549cbf0634b1a15e1d0012d9))
## [2.149.1-dev.1](https://github.com/revanced/revanced-patches/compare/v2.149.0...v2.149.1-dev.1) (2022-12-30)
### Bug Fixes
* **youtube/bottom-controls-resource-patch:** use correct length for `nameSpaceLength` ([#1401](https://github.com/revanced/revanced-patches/issues/1401)) ([7190066](https://github.com/revanced/revanced-patches/commit/7190066a8ded8b59970483a81d7902526d552093))
# [2.149.0](https://github.com/revanced/revanced-patches/compare/v2.148.0...v2.149.0) (2022-12-30)
### Bug Fixes
* **tasker/unlock-license:** resolve fingerprint correctly ([92d7857](https://github.com/revanced/revanced-patches/commit/92d78576f033dd7155c80cb08d5911048b06c36c))
### Features
* **youtube/general-ads-patch:** hide channel member shelf ([#1380](https://github.com/revanced/revanced-patches/issues/1380)) ([ce2b104](https://github.com/revanced/revanced-patches/commit/ce2b104f508f1581ec531446d60bd3d41dafbd2c))
# [2.149.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.148.0...v2.149.0-dev.1) (2022-12-30)
### Bug Fixes
* **tasker/unlock-license:** resolve fingerprint correctly ([92d7857](https://github.com/revanced/revanced-patches/commit/92d78576f033dd7155c80cb08d5911048b06c36c))
### Features
* **youtube/general-ads-patch:** hide channel member shelf ([#1380](https://github.com/revanced/revanced-patches/issues/1380)) ([ce2b104](https://github.com/revanced/revanced-patches/commit/ce2b104f508f1581ec531446d60bd3d41dafbd2c))
# [2.148.0](https://github.com/revanced/revanced-patches/compare/v2.147.0...v2.148.0) (2022-12-29)
### Bug Fixes
* **youtube/general-ads:** don't early return when not necessary ([#1353](https://github.com/revanced/revanced-patches/issues/1353)) ([003a400](https://github.com/revanced/revanced-patches/commit/003a400ce41ff543fb5484c576f5ec2df0a87273))
### Features
* **tasker:** `unlock-license` patch ([#1339](https://github.com/revanced/revanced-patches/issues/1339)) ([78a43b8](https://github.com/revanced/revanced-patches/commit/78a43b8abd972172eab99519dfa636ce77d9e64f))
* **twitter:** `hide-views-stats` patch ([#1371](https://github.com/revanced/revanced-patches/issues/1371)) ([2f04a06](https://github.com/revanced/revanced-patches/commit/2f04a06e3b782931870d973fd0937f8731062f12))
* **youtube/general-ads-patch:** hide guidelines for subscriber ([#1352](https://github.com/revanced/revanced-patches/issues/1352)) ([2d10932](https://github.com/revanced/revanced-patches/commit/2d1093251d5d50b476ca44f76acb9a8597b37aea))
* **youtube/theme:** add option to color the seekbar ([53b91fe](https://github.com/revanced/revanced-patches/commit/53b91fe2b5a41f1a63deec8d919f2a1bc1cae12a))
* **youtube/theme:** include the patch by default ([c363997](https://github.com/revanced/revanced-patches/commit/c3639975683fb0ca0e271e8fc3ef7fbf79f33414))
* **youtube:** `hide-breaking-news-shelf` patch ([#1381](https://github.com/revanced/revanced-patches/issues/1381)) ([38a9877](https://github.com/revanced/revanced-patches/commit/38a987744fbb49c2b7d5d0e69297e95f5ee405c4))
# [2.148.0-dev.6](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.5...v2.148.0-dev.6) (2022-12-29)
### Features
* **youtube/theme:** add option to color the seekbar ([53b91fe](https://github.com/revanced/revanced-patches/commit/53b91fe2b5a41f1a63deec8d919f2a1bc1cae12a))
* **youtube/theme:** include the patch by default ([c363997](https://github.com/revanced/revanced-patches/commit/c3639975683fb0ca0e271e8fc3ef7fbf79f33414))
# [2.148.0-dev.5](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.4...v2.148.0-dev.5) (2022-12-29)
### Features
* **youtube:** `hide-breaking-news-shelf` patch ([#1381](https://github.com/revanced/revanced-patches/issues/1381)) ([38a9877](https://github.com/revanced/revanced-patches/commit/38a987744fbb49c2b7d5d0e69297e95f5ee405c4))
# [2.148.0-dev.4](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.3...v2.148.0-dev.4) (2022-12-29)
### Features
* **twitter:** `hide-views-stats` patch ([#1371](https://github.com/revanced/revanced-patches/issues/1371)) ([2f04a06](https://github.com/revanced/revanced-patches/commit/2f04a06e3b782931870d973fd0937f8731062f12))
# [2.148.0-dev.3](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.2...v2.148.0-dev.3) (2022-12-26)
### Bug Fixes
* **youtube/general-ads:** don't early return when not necessary ([#1353](https://github.com/revanced/revanced-patches/issues/1353)) ([003a400](https://github.com/revanced/revanced-patches/commit/003a400ce41ff543fb5484c576f5ec2df0a87273))
# [2.148.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.148.0-dev.1...v2.148.0-dev.2) (2022-12-26)
### Features
* **youtube/general-ads-patch:** hide guidelines for subscriber ([#1352](https://github.com/revanced/revanced-patches/issues/1352)) ([2d10932](https://github.com/revanced/revanced-patches/commit/2d1093251d5d50b476ca44f76acb9a8597b37aea))
# [2.148.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.147.0...v2.148.0-dev.1) (2022-12-21)
### Features
* **tasker:** `unlock-license` patch ([#1339](https://github.com/revanced/revanced-patches/issues/1339)) ([78a43b8](https://github.com/revanced/revanced-patches/commit/78a43b8abd972172eab99519dfa636ce77d9e64f))
# [2.147.0](https://github.com/revanced/revanced-patches/compare/v2.146.0...v2.147.0) (2022-12-21)
### Features
* **youtube/return-youtube-dislike:** debug connection statistics, toast on error, high priority background threads ([#1320](https://github.com/revanced/revanced-patches/issues/1320)) ([30273a9](https://github.com/revanced/revanced-patches/commit/30273a9bbdd40453baeb09f26ac9d218569a3e71))
# [2.147.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.146.0...v2.147.0-dev.1) (2022-12-21)
### Features
* **youtube/return-youtube-dislike:** debug connection statistics, toast on error, high priority background threads ([#1320](https://github.com/revanced/revanced-patches/issues/1320)) ([30273a9](https://github.com/revanced/revanced-patches/commit/30273a9bbdd40453baeb09f26ac9d218569a3e71))
# [2.146.0](https://github.com/revanced/revanced-patches/compare/v2.145.0...v2.146.0) (2022-12-18)
### Features
* **predictive-back-gesture:** exclude by default ([176d34b](https://github.com/revanced/revanced-patches/commit/176d34b2ff92d0eb627dad86ad87f559df3db815))
* **twitter/timeline-ads:** add clarifying notice to description ([0eca2af](https://github.com/revanced/revanced-patches/commit/0eca2af1a4a688903c61ff6469ffea90c60f06a6))
* **youtube:** bump patches compatibility to v17.49.37 ([83ebc73](https://github.com/revanced/revanced-patches/commit/83ebc731130d3d216ac4b815382d8f13548cf665))
# [2.146.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.145.0...v2.146.0-dev.1) (2022-12-18)
### Features
* **predictive-back-gesture:** exclude by default ([176d34b](https://github.com/revanced/revanced-patches/commit/176d34b2ff92d0eb627dad86ad87f559df3db815))
* **twitter/timeline-ads:** add clarifying notice to description ([0eca2af](https://github.com/revanced/revanced-patches/commit/0eca2af1a4a688903c61ff6469ffea90c60f06a6))
* **youtube:** bump patches compatibility to v17.49.37 ([83ebc73](https://github.com/revanced/revanced-patches/commit/83ebc731130d3d216ac4b815382d8f13548cf665))
# [2.145.0](https://github.com/revanced/revanced-patches/compare/v2.144.0...v2.145.0) (2022-12-18)
### Bug Fixes
* **tiktok/settings:** make compatible with newer versions ([c88740d](https://github.com/revanced/revanced-patches/commit/c88740dc2bf040747d9704d5bed52a7b533c22d6))
### Features
* **crunchyroll:** remove `enable-downloads` patch ([2ac1546](https://github.com/revanced/revanced-patches/commit/2ac15460f5734fc2c6d2d78d34083a8e6b2f7012))
* **youtube-music:** bump compatibility to 5.36.51 ([c4a3099](https://github.com/revanced/revanced-patches/commit/c4a3099c1ca39431fba9beb94cc2b43e260561d9))
# [2.145.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.144.0...v2.145.0-dev.1) (2022-12-18)
### Bug Fixes
* **tiktok/settings:** make compatible with newer versions ([c88740d](https://github.com/revanced/revanced-patches/commit/c88740dc2bf040747d9704d5bed52a7b533c22d6))
### Features
* **crunchyroll:** remove `enable-downloads` patch ([2ac1546](https://github.com/revanced/revanced-patches/commit/2ac15460f5734fc2c6d2d78d34083a8e6b2f7012))
* **youtube-music:** bump compatibility to 5.36.51 ([c4a3099](https://github.com/revanced/revanced-patches/commit/c4a3099c1ca39431fba9beb94cc2b43e260561d9))
# [2.144.0](https://github.com/revanced/revanced-patches/compare/v2.143.0...v2.144.0) (2022-12-15)
### Features
* **citra:** add compatibility for canary package ([#1256](https://github.com/revanced/revanced-patches/issues/1256)) ([42ec021](https://github.com/revanced/revanced-patches/commit/42ec0218d829ea15759f83562d24588ce97cb646))
* link packages to Google PlayStore ([#1272](https://github.com/revanced/revanced-patches/issues/1272)) ([97892e0](https://github.com/revanced/revanced-patches/commit/97892e01044c74916375aeebcc094d3304e14f4e))
# [2.144.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.144.0-dev.1...v2.144.0-dev.2) (2022-12-15)
### Features
* link packages to Google PlayStore ([#1272](https://github.com/revanced/revanced-patches/issues/1272)) ([97892e0](https://github.com/revanced/revanced-patches/commit/97892e01044c74916375aeebcc094d3304e14f4e))
# [2.144.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.143.0...v2.144.0-dev.1) (2022-12-15)
### Features
* **citra:** add compatibility for canary package ([#1256](https://github.com/revanced/revanced-patches/issues/1256)) ([42ec021](https://github.com/revanced/revanced-patches/commit/42ec0218d829ea15759f83562d24588ce97cb646))
# [2.143.0](https://github.com/revanced/revanced-patches/compare/v2.142.0...v2.143.0) (2022-12-14)
### Bug Fixes
* **predictive-back-gesture:** create attribute, if it does not exist ([c00e771](https://github.com/revanced/revanced-patches/commit/c00e7717053f806e3b5b3f0bf0ca9c2da07c289b))
### Features
* **sleepasandroid:** remove `unlock-premium` patch ([#1253](https://github.com/revanced/revanced-patches/issues/1253)) ([414f503](https://github.com/revanced/revanced-patches/commit/414f503e493f2dc27edf134f5db723da77636d81))
# [2.143.0-dev.2](https://github.com/revanced/revanced-patches/compare/v2.143.0-dev.1...v2.143.0-dev.2) (2022-12-14)
### Bug Fixes
* **predictive-back-gesture:** create attribute, if it does not exist ([c00e771](https://github.com/revanced/revanced-patches/commit/c00e7717053f806e3b5b3f0bf0ca9c2da07c289b))
# [2.143.0-dev.1](https://github.com/revanced/revanced-patches/compare/v2.142.0...v2.143.0-dev.1) (2022-12-13)
### Features
* **sleepasandroid:** remove `unlock-premium` patch ([#1253](https://github.com/revanced/revanced-patches/issues/1253)) ([414f503](https://github.com/revanced/revanced-patches/commit/414f503e493f2dc27edf134f5db723da77636d81))
# [2.142.0](https://github.com/revanced/revanced-patches/compare/v2.141.0...v2.142.0) (2022-12-11)
### Features
* `predictive-back-gesture` patch ([#1236](https://github.com/revanced/revanced-patches/issues/1236)) ([11b59f7](https://github.com/revanced/revanced-patches/commit/11b59f767c94514d49a84593618ff9d2aace2636))
* **twitch/block-embedded-ads:** `block-embedded-ads` patch ([#1166](https://github.com/revanced/revanced-patches/issues/1166)) ([018606e](https://github.com/revanced/revanced-patches/commit/018606e9832c43836b6b8f4fbd623adb8876d162))
# [2.141.0](https://github.com/revanced/revanced-patches/compare/v2.140.0...v2.141.0) (2022-12-09)
### Bug Fixes
* inconsistencies in preference switches ([#1207](https://github.com/revanced/revanced-patches/issues/1207)) ([b6ea5a4](https://github.com/revanced/revanced-patches/commit/b6ea5a43b3eec6a06c7514cd79569b97a2b7d333))
### Features
* **youtube/return-youtube-dislike:** simplify preference descriptions ([#1216](https://github.com/revanced/revanced-patches/issues/1216)) ([514b5da](https://github.com/revanced/revanced-patches/commit/514b5da9a7de6f8d0b0d00ec6269f836df3e9333))
# [2.140.0](https://github.com/revanced/revanced-patches/compare/v2.139.0...v2.140.0) (2022-12-05)

256
README.md
View File

@@ -4,122 +4,138 @@ The official Patch bundle provided by ReVanced and the community.
> Looking for the JSON variant of this? [Click here](patches.json).
### 📦 `com.google.android.youtube`
### [📦 `com.google.android.youtube`](https://play.google.com/store/apps/details?id=com.google.android.youtube)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `always-autorepeat` | Always repeats the playing video again. | 17.45.36 |
| `always-autorepeat` | Always repeats the playing video again. | 18.03.36 |
| `client-spoof` | Spoofs the YouTube or Vanced client to prevent playback issues. | all |
| `comments` | Hides components related to comments. | 17.45.36 |
| `comments` | Hides components related to comments. | 18.03.36 |
| `copy-video-url` | Adds buttons in player to copy video links. | 18.03.36 |
| `custom-branding` | Changes the YouTube launcher icon and name to your choice (defaults to ReVanced). | all |
| `custom-video-buffer` | Lets you change the buffers of videos. | 17.45.36 |
| `custom-video-speed` | Adds more video speed options. | 17.45.36 |
| `custom-video-buffer` | Lets you change the buffers of videos. | 18.03.36 |
| `custom-video-speed` | Adds more video speed options. | 18.03.36 |
| `debugging` | Adds debugging options. | all |
| `disable-auto-captions` | Disable forced captions from being automatically enabled. | 17.45.36 |
| `disable-auto-player-popup-panels` | Disable automatic popup panels (playlist or live chat) on video player. | 17.45.36 |
| `disable-fullscreen-panels` | Disables video description and comments panel in fullscreen view. | 17.45.36 |
| `disable-startup-shorts-player` | Disables playing YouTube Shorts when launching YouTube. | 17.45.36 |
| `disable-auto-captions` | Disable forced captions from being automatically enabled. | 18.03.36 |
| `disable-auto-player-popup-panels` | Disable automatic popup panels (playlist or live chat) on video player. | 18.03.36 |
| `disable-fullscreen-panels` | Disables video description and comments panel in fullscreen view. | 18.03.36 |
| `disable-startup-shorts-player` | Disables playing YouTube Shorts when launching YouTube. | 18.03.36 |
| `disable-zoom-haptics` | Disables haptics when zooming. | all |
| `downloads` | Enables downloading music and videos from YouTube. | 17.45.36 |
| `enable-wide-searchbar` | Replaces the search icon with a wide search bar. This will hide the YouTube logo when active. | 17.45.36 |
| `general-ads` | Removes general ads. | 17.45.36 |
| `hdr-auto-brightness` | Makes the brightness of HDR videos follow the system default. | 17.45.36 |
| `hide-album-cards` | Hides the album cards below the artist description. | 17.45.36 |
| `hide-artist-card` | Hides the artist card below the searchbar. | 17.45.36 |
| `hide-autoplay-button` | Hides the autoplay button in the video player. | 17.45.36 |
| `hide-captions-button` | Hides the captions button on video player. | 17.45.36 |
| `downloads` | Enables downloading music and videos from YouTube. | 18.03.36 |
| `enable-wide-searchbar` | Replaces the search icon with a wide search bar. This will hide the YouTube logo when active. | 18.03.36 |
| `general-ads` | Removes general ads. | 18.03.36 |
| `hdr-auto-brightness` | Makes the brightness of HDR videos follow the system default. | 18.03.36 |
| `hide-album-cards` | Hides the album cards below the artist description. | 18.03.36 |
| `hide-artist-card` | Hides the artist card below the searchbar. | 18.03.36 |
| `hide-autoplay-button` | Hides the autoplay button in the video player. | 18.03.36 |
| `hide-breaking-news-shelf` | Hides the breaking news shelf on the homepage tab. | 18.03.36 |
| `hide-captions-button` | Hides the captions button on video player. | 18.03.36 |
| `hide-cast-button` | Hides the cast button in the video player. | all |
| `hide-create-button` | Hides the create button in the navigation bar. | 17.45.36 |
| `hide-crowdfunding-box` | Hides the crowdfunding box between the player and video description. | 17.45.36 |
| `hide-email-address` | Hides the email address in the account switcher. | 17.45.36 |
| `hide-endscreen-cards` | Hides the suggested video cards at the end of a video in fullscreen. | 17.45.36 |
| `hide-info-cards` | Hides info-cards in videos. | 17.45.36 |
| `hide-my-mix` | Hides mix playlists. | 17.45.36 |
| `hide-shorts-button` | Hides the shorts button on the navigation bar. | 17.45.36 |
| `hide-time-and-seekbar` | Hides progress bar and time counter on videos. | 17.45.36 |
| `hide-video-buttons` | Adds options to hide action buttons under a video. | 17.45.36 |
| `hide-watch-in-vr` | Hides the Watch in VR option from the player settings flyout panel. | 17.45.36 |
| `hide-watermark` | Hides creator's watermarks on videos. | 17.45.36 |
| `microg-support` | Allows YouTube ReVanced to run without root and under a different package name with Vanced MicroG. | 17.45.36 |
| `minimized-playback` | Enables minimized and background playback. | 17.45.36 |
| `old-quality-layout` | Enables the original quality flyout menu. | 17.45.36 |
| `open-links-directly` | Bypasses redirect links and allows opening links directly. | 17.45.36 |
| `hide-create-button` | Hides the create button in the navigation bar. | 18.03.36 |
| `hide-crowdfunding-box` | Hides the crowdfunding box between the player and video description. | 18.03.36 |
| `hide-email-address` | Hides the email address in the account switcher. | 18.03.36 |
| `hide-endscreen-cards` | Hides the suggested video cards at the end of a video in fullscreen. | 18.03.36 |
| `hide-info-cards` | Hides info-cards in videos. | 18.03.36 |
| `hide-my-mix` | Hides mix playlists. | 18.03.36 |
| `hide-shorts-button` | Hides the shorts button on the navigation bar. | 18.03.36 |
| `hide-time-and-seekbar` | Hides progress bar and time counter on videos. | 18.03.36 |
| `hide-video-buttons` | Adds options to hide action buttons under a video. | 18.03.36 |
| `hide-watch-in-vr` | Hides the Watch in VR option in the player settings flyout panel. | 18.03.36 |
| `hide-watermark` | Hides creator's watermarks on videos. | 18.03.36 |
| `microg-support` | Allows YouTube ReVanced to run without root and under a different package name with Vanced MicroG. | 18.03.36 |
| `minimized-playback` | Enables minimized and background playback. | 18.03.36 |
| `old-quality-layout` | Enables the original video quality flyout in the video player settings | 18.03.36 |
| `open-links-directly` | Bypasses https://youtube.com/redirect URLs. | 18.03.36 |
| `open-links-externally` | Open links outside of the app directly in your browser. | 18.03.36 |
| `premium-heading` | Shows premium branding on the home screen. | all |
| `remember-video-quality` | Adds the ability to remember the video quality you chose in the video quality flyout. | 17.45.36 |
| `remove-player-button-background` | Removes the background from the video player buttons. | 17.45.36 |
| `return-youtube-dislike` | Shows the dislike count of videos using the Return YouTube Dislike API. | 17.45.36 |
| `seekbar-tapping` | Enables tap-to-seek on the seekbar of the video player. | 17.45.36 |
| `settings` | Adds settings for ReVanced to YouTube. | all |
| `sponsorblock` | Integrate SponsorBlock. | 17.45.36 |
| `swipe-controls` | Adds volume and brightness swipe controls. | 17.45.36 |
| `tablet-mini-player` | Enables the tablet mini player layout. | 17.45.36 |
| `remember-playback-rate` | Adds the ability to remember the playback rate you chose in the video playback rate flyout. | 18.03.36 |
| `remember-video-quality` | Adds the ability to remember the video quality you chose in the video quality flyout. | 18.03.36 |
| `remove-player-button-background` | Removes the background from the video player buttons. | 18.03.36 |
| `return-youtube-dislike` | Shows the dislike count of videos using the Return YouTube Dislike API. | 18.03.36 |
| `seekbar-tapping` | Enables tap-to-seek on the seekbar of the video player. | 18.03.36 |
| `sponsorblock` | Integrate SponsorBlock. | 18.03.36 |
| `spoof-app-version` | Tricks YouTube into thinking, you are running an older version of the app. One of the side effects also includes restoring the old UI. | 18.03.36 |
| `swipe-controls` | Adds volume and brightness swipe controls. | 18.03.36 |
| `tablet-mini-player` | Enables the tablet mini player layout. | 18.03.36 |
| `theme` | Applies a custom theme. | all |
| `video-ads` | Removes ads in the video player. | 17.45.36 |
| `video-ads` | Removes ads in the video player. | 18.03.36 |
</details>
### 📦 `com.google.android.apps.youtube.music`
### [📦 `com.google.android.apps.youtube.music`](https://play.google.com/store/apps/details?id=com.google.android.apps.youtube.music)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `background-play` | Enables playing music in the background. | 5.34.51 |
| `codecs-unlock` | Adds more audio codec options. The new audio codecs usually result in better audio quality. | 5.34.51 |
| `compact-header` | Hides the music category bar at the top of the homepage. | 5.34.51 |
| `exclusive-audio-playback` | Enables the option to play music without video. | 5.34.51 |
| `hide-get-premium` | Removes all "Get Premium" evidences from the avatar menu. | 5.34.51 |
| `minimized-playback-music` | Enables minimized playback on Kids music. | 5.34.51 |
| `music-microg-support` | Allows YouTube Music ReVanced to run without root and under a different package name. | 5.34.51 |
| `music-video-ads` | Removes ads in the music player. | 5.34.51 |
| `tasteBuilder-remover` | Removes the "Tell us which artists you like" card from the home screen. | 5.34.51 |
| `upgrade-button-remover` | Removes the upgrade tab from the pivot bar. | 5.34.51 |
| `background-play` | Enables playing music in the background. | 5.39.52 |
| `codecs-unlock` | Adds more audio codec options. The new audio codecs usually result in better audio quality. | 5.39.52 |
| `compact-header` | Hides the music category bar at the top of the homepage. | 5.39.52 |
| `exclusive-audio-playback` | Enables the option to play music without video. | 5.39.52 |
| `hide-get-premium` | Removes all "Get Premium" evidences from the avatar menu. | 5.39.52 |
| `minimized-playback-music` | Enables minimized playback on Kids music. | 5.39.52 |
| `music-microg-support` | Allows YouTube Music ReVanced to run without root and under a different package name. | 5.39.52 |
| `music-video-ads` | Removes ads in the music player. | 5.39.52 |
| `tasteBuilder-remover` | Removes the "Tell us which artists you like" card from the home screen. | 5.39.52 |
| `upgrade-button-remover` | Removes the upgrade tab from the pivot bar. | 5.39.52 |
</details>
### 📦 `com.ss.android.ugc.trill`
### [📦 `com.ss.android.ugc.trill`](https://play.google.com/store/apps/details?id=com.ss.android.ugc.trill)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `disable-login-requirement` | Do not force login. | all |
| `downloads` | Removes download restrictions and changes the default path to download to. | all |
| `feed-filter` | Filters tiktok videos: removing ads, removing livestreams. | all |
| `downloads` | Removes download restrictions and changes the default path to download to. | 27.8.3 |
| `feed-filter` | Filters tiktok videos: removing ads, removing livestreams. | 27.8.3 |
| `fix-google-login` | Allows logging in with a Google account. | all |
| `hide-ads` | Removes ads from TikTok. | all |
| `playback-speed` | Enables the playback speed option for all videos. | all |
| `settings` | Adds settings for ReVanced to TikTok. | all |
| `settings` | Adds ReVanced settings to TikTok. | 27.8.3 |
| `show-seekbar` | Shows progress bar for all video. | all |
| `sim-spoof` | Spoofs the information which is retrieved from the sim-card. | all |
| `sim-spoof` | Spoofs the information which is retrieved from the sim-card. | 27.8.3 |
</details>
### 📦 `com.zhiliaoapp.musically`
### [📦 `com.zhiliaoapp.musically`](https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `disable-login-requirement` | Do not force login. | all |
| `downloads` | Removes download restrictions and changes the default path to download to. | all |
| `feed-filter` | Filters tiktok videos: removing ads, removing livestreams. | all |
| `downloads` | Removes download restrictions and changes the default path to download to. | 27.8.3 |
| `feed-filter` | Filters tiktok videos: removing ads, removing livestreams. | 27.8.3 |
| `fix-google-login` | Allows logging in with a Google account. | all |
| `hide-ads` | Removes ads from TikTok. | all |
| `playback-speed` | Enables the playback speed option for all videos. | all |
| `settings` | Adds settings for ReVanced to TikTok. | all |
| `settings` | Adds ReVanced settings to TikTok. | 27.8.3 |
| `show-seekbar` | Shows progress bar for all video. | all |
| `sim-spoof` | Spoofs the information which is retrieved from the sim-card. | all |
| `sim-spoof` | Spoofs the information which is retrieved from the sim-card. | 27.8.3 |
</details>
### 📦 `tv.twitch.android.app`
### [📦 `tv.twitch.android.app`](https://play.google.com/store/apps/details?id=tv.twitch.android.app)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `block-audio-ads` | Blocks audio ads in streams and VODs. | all |
| `block-embedded-ads` | Blocks embedded steam ads using services like TTV.lol or PurpleAdBlocker. | all |
| `block-video-ads` | Blocks video ads in streams and VODs. | all |
| `debug-mode` | Enables Twitch's internal debugging mode. | all |
| `settings` | Adds settings menu to Twitch. | all |
| `show-deleted-messages` | Shows deleted chat messages behind a clickable spoiler. | all |
</details>
### 📦 `com.spotify.music`
### [📦 `com.twitter.android`](https://play.google.com/store/apps/details?id=com.twitter.android)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `dynamic-color` | Replaces the default Twitter Blue with the users Material You palette. | all |
| `hide-views-stats` | Hides the view stats under tweets. | 9.69.1-release.0 |
| `monochrome-icon` | Adds a monochrome icon. | all |
| `timeline-ads` | Removes ads from the Twitter timeline. Might require clearing app data to remove already cached ads. | all |
</details>
### [📦 `com.spotify.music`](https://play.google.com/store/apps/details?id=com.spotify.music)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -129,26 +145,34 @@ The official Patch bundle provided by ReVanced and the community.
| `spotify-theme` | Applies a custom theme. | all |
</details>
### 📦 `com.twitter.android`
### [📦 `com.reddit.frontpage`](https://play.google.com/store/apps/details?id=com.reddit.frontpage)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `dynamic-color` | Replaces the default Twitter Blue with the users Material You palette. | all |
| `monochrome-icon` | Adds a monochrome icon. | all |
| `timeline-ads` | Removes ads from the Twitter timeline. | all |
</details>
### 📦 `com.reddit.frontpage`
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `general-reddit-ads` | Removes general ads from the Reddit frontpage and subreddits. | all |
| `general-reddit-ads` | Removes general ads from the Reddit frontpage and subreddits. | 2022.43.0 |
| `premium-icon-reddit` | Unlocks premium Reddit app icons. | all |
</details>
### 📦 `com.vanced.android.youtube`
### [📦 `at.gv.bmf.bmf2go`](https://play.google.com/store/apps/details?id=at.gv.bmf.bmf2go)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `remove-bootloader-detection` | Removes the check for an unlocked bootloader. | 2.2.0 |
| `remove-root-detection` | Removes the check for root permissions | 2.2.0 |
</details>
### [📦 `at.gv.oe.app`](https://play.google.com/store/apps/details?id=at.gv.oe.app)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `remove-root-detection` | Removes the check for root permissions and unlocked bootloader. | 2.5.2 |
| `spoof-signature` | Spoofs the signature of the app. | 2.5.2 |
</details>
### [📦 `com.vanced.android.youtube`](https://play.google.com/store/apps/details?id=com.vanced.android.youtube)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -156,7 +180,7 @@ The official Patch bundle provided by ReVanced and the community.
| `client-spoof` | Spoofs the YouTube or Vanced client to prevent playback issues. | all |
</details>
### 📦 `com.myprog.hexedit`
### [📦 `com.myprog.hexedit`](https://play.google.com/store/apps/details?id=com.myprog.hexedit)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -164,23 +188,7 @@ The official Patch bundle provided by ReVanced and the community.
| `disable-ads` | Disables ads in HexEditor. | all |
</details>
### 📦 `com.crunchyroll.crunchyroid`
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `enable-downloads` | Enables downloads for Crunchyroll. | all |
</details>
### 📦 `com.garzotto.pflotsh.ecmwf_a`
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `pflotsh-ecmwf-subscription-unlock` | Unlocks all subscription features. | 3.5.4 |
</details>
### 📦 `org.citra.citra_emu`
### [📦 `org.citra.citra_emu`](https://play.google.com/store/apps/details?id=org.citra.citra_emu)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -188,7 +196,15 @@ The official Patch bundle provided by ReVanced and the community.
| `premium-unlock` | Unlocks premium functions. | all |
</details>
### 📦 `com.backdrops.wallpapers`
### [📦 `org.citra.citra_emu.canary`](https://play.google.com/store/apps/details?id=org.citra.citra_emu.canary)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `premium-unlock` | Unlocks premium functions. | all |
</details>
### [📦 `com.backdrops.wallpapers`](https://play.google.com/store/apps/details?id=com.backdrops.wallpapers)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -196,7 +212,7 @@ The official Patch bundle provided by ReVanced and the community.
| `pro-unlock` | Unlocks pro-only functions. | all |
</details>
### 📦 `de.dwd.warnapp`
### [📦 `de.dwd.warnapp`](https://play.google.com/store/apps/details?id=de.dwd.warnapp)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -204,23 +220,15 @@ The official Patch bundle provided by ReVanced and the community.
| `promo-code-unlock` | Disables the validation of promo code. Any code will work to unlock all features. | all |
</details>
### 📦 `com.shervinkoushan.anyTracker`
### [📦 `com.teslacoilsw.launcher`](https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `unlock-premium` | Unlocks all premium features. | all |
| `unlock-prime` | Unlocks Nova Prime and all functions of the app. | all |
</details>
### 📦 `com.urbandroid.sleep`
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `unlock-premium` | Unlocks all premium features. | all |
</details>
### 📦 `com.awedea.nyx`
### [📦 `co.windyapp.android`](https://play.google.com/store/apps/details?id=co.windyapp.android)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -228,7 +236,7 @@ The official Patch bundle provided by ReVanced and the community.
| `unlock-pro` | Unlocks all pro features. | all |
</details>
### 📦 `co.windyapp.android`
### [📦 `com.awedea.nyx`](https://play.google.com/store/apps/details?id=com.awedea.nyx)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -236,7 +244,15 @@ The official Patch bundle provided by ReVanced and the community.
| `unlock-pro` | Unlocks all pro features. | all |
</details>
### 📦 `org.totschnig.myexpenses`
### [📦 `ginlemon.iconpackstudio`](https://play.google.com/store/apps/details?id=ginlemon.iconpackstudio)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `unlock-pro` | Unlocks all pro features. | all |
</details>
### [📦 `org.totschnig.myexpenses`](https://play.google.com/store/apps/details?id=org.totschnig.myexpenses)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -244,7 +260,7 @@ The official Patch bundle provided by ReVanced and the community.
| `unlock-pro` | Unlocks all professional features. | all |
</details>
### 📦 `com.ithebk.expensemanager`
### [📦 `com.ithebk.expensemanager`](https://play.google.com/store/apps/details?id=com.ithebk.expensemanager)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -252,15 +268,7 @@ The official Patch bundle provided by ReVanced and the community.
| `unlock-pro` | Unlocks pro features. | all |
</details>
### 📦 `ginlemon.iconpackstudio`
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `unlock-pro` | Unlocks all pro features. | all |
</details>
### 📦 `com.ticktick.task`
### [📦 `com.ticktick.task`](https://play.google.com/store/apps/details?id=com.ticktick.task)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
@@ -268,6 +276,14 @@ The official Patch bundle provided by ReVanced and the community.
| `unlock-themes` | Unlocks all themes. | all |
</details>
### [📦 `net.dinglisch.android.taskerm`](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm)
<details>
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `unlock-trial` | Unlocks the trial version. | all |
</details>
## 📝 JSON Format

View File

@@ -20,10 +20,10 @@ repositories {
}
dependencies {
implementation("app.revanced:revanced-patcher:6.3.0")
implementation("app.revanced:multidexlib2:2.5.2.r2")
implementation("app.revanced:revanced-patcher:6.4.2")
implementation("app.revanced:multidexlib2:2.5.3-a3836654")
// Required for meta
implementation("com.google.code.gson:gson:2.10")
implementation("com.google.code.gson:gson:2.10.1")
}
tasks {
@@ -53,7 +53,7 @@ tasks {
dependsOn(build)
classpath = sourceSets["main"].runtimeClasspath
mainClass.set("app.revanced.meta.Meta")
mainClass.set("app.revanced.meta.PatchesFileGenerator")
}
// Dummy task to fix the Gradle semantic-release plugin.
// Remove this if you forked it to support building only.

View File

@@ -1,2 +1,2 @@
kotlin.code.style = official
version = 2.140.1-dev.1
version = 2.157.0-dev.4

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,5 @@
package app.revanced.extensions
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.MethodFingerprintExtensions.name
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import app.revanced.patcher.patch.PatchResultError
@@ -28,19 +27,6 @@ fun MutableClass.findMutableMethodOf(method: Method) = this.methods.first {
MethodUtil.methodSignaturesMatch(it, method)
}
/**
* traverse the class hierarchy starting from the given root class
*
* @param targetClass the class to start traversing the class hierarchy from
* @param callback function that is called for every class in the hierarchy
*/
fun BytecodeContext.traverseClassHierarchy(targetClass: MutableClass, callback: MutableClass.() -> Unit) {
callback(targetClass)
this.findClass(targetClass.superclass ?: return)?.mutableClass?.let {
traverseClassHierarchy(it, callback)
}
}
/**
* apply a transform to all methods of the class
*

View File

@@ -0,0 +1,70 @@
package app.revanced.meta
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
import app.revanced.patcher.extensions.PatchExtensions.dependencies
import app.revanced.patcher.extensions.PatchExtensions.description
import app.revanced.patcher.extensions.PatchExtensions.include
import app.revanced.patcher.extensions.PatchExtensions.options
import app.revanced.patcher.extensions.PatchExtensions.patchName
import app.revanced.patcher.extensions.PatchExtensions.version
import app.revanced.patcher.patch.PatchOption
import com.google.gson.GsonBuilder
import java.io.File
internal class JsonGenerator : PatchesFileGenerator {
override fun generate(bundle: PatchBundlePatches) {
val patches = bundle.map {
JsonPatch(
it.patchName,
it.description ?: "This patch has no description.",
it.version ?: "0.0.0",
!it.include,
it.options?.map { option ->
JsonPatch.Option(
option.key,
option.title,
option.description,
option.required,
option.let { listOption ->
if (listOption is PatchOption.ListOption<*>) {
listOption.options.toMutableList().toTypedArray()
} else null
}
)
}?.toTypedArray() ?: emptyArray(),
it.dependencies?.map { dep ->
dep.java.patchName
}?.toTypedArray() ?: emptyArray(),
it.compatiblePackages?.map { pkg ->
JsonPatch.CompatiblePackage(pkg.name, pkg.versions)
}?.toTypedArray() ?: emptyArray()
)
}
val json = File("patches.json")
json.writeText(GsonBuilder().serializeNulls().create().toJson(patches))
}
private class JsonPatch(
val name: String,
val description: String,
val version: String,
val excluded: Boolean,
val options: Array<Option>,
val dependencies: Array<String>,
val compatiblePackages: Array<CompatiblePackage>,
) {
class CompatiblePackage(
val name: String,
val versions: Array<String>,
)
class Option(
val key: String,
val title: String,
val description: String,
val required: Boolean,
val choices: Array<*>?,
)
}
}

View File

@@ -1,27 +0,0 @@
package app.revanced.meta
import app.revanced.meta.json.generateJson
import app.revanced.meta.readme.generateText
import app.revanced.patcher.data.Context
import app.revanced.patcher.patch.Patch
import app.revanced.patcher.util.patch.PatchBundle
import java.io.File
typealias Bundle = List<Class<out Patch<Context>>>
object Meta {
@JvmStatic
fun main(args: Array<String>) {
val patches = accumulatePatches()
if (patches.isEmpty()) throw IllegalStateException("No patches found")
generateText(patches)
generateJson(patches)
}
}
fun accumulatePatches() = PatchBundle.Jar(
File("build/libs/").listFiles()!!.first {
it.name.startsWith("revanced-patches-") && it.name.endsWith(".jar")
}.absolutePath
).loadPatches()

View File

@@ -0,0 +1,25 @@
package app.revanced.meta
import app.revanced.patcher.data.Context
import app.revanced.patcher.patch.Patch
import app.revanced.patcher.util.patch.PatchBundle
import java.io.File
typealias PatchBundlePatches = List<Class<out Patch<Context>>>
internal interface PatchesFileGenerator {
fun generate(bundle: PatchBundlePatches)
private companion object {
@JvmStatic
fun main(args: Array<String>) = PatchBundle.Jar(
File("build/libs/").listFiles()!!.first {
it.name.startsWith("revanced-patches-") && it.name.endsWith(".jar")
}.absolutePath
).loadPatches().also {
if (it.isEmpty()) throw IllegalStateException("No patches found")
}.let { bundle ->
arrayOf(JsonGenerator(), ReadmeGenerator()).forEach { it.generate(bundle) }
}
}
}

View File

@@ -0,0 +1,69 @@
package app.revanced.meta
import app.revanced.patcher.data.Context
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
import app.revanced.patcher.extensions.PatchExtensions.description
import app.revanced.patcher.extensions.PatchExtensions.patchName
import app.revanced.patcher.patch.Patch
import java.io.File
internal class ReadmeGenerator : PatchesFileGenerator {
private companion object {
private const val TABLE_HEADER =
"| \uD83D\uDC8A Patch | \uD83D\uDCDC Description | \uD83C\uDFF9 Target Version |\n" +
"|:--------:|:--------------:|:-----------------:|"
}
override fun generate(bundle: PatchBundlePatches) {
val output = StringBuilder()
mutableMapOf<String, MutableList<Class<out Patch<Context>>>>()
.apply {
for (patch in bundle) {
patch.compatiblePackages?.forEach { pkg ->
if (!contains(pkg.name)) put(pkg.name, mutableListOf())
this[pkg.name]!!.add(patch)
}
}
}
.entries
.sortedByDescending { it.value.size }
.forEach { (`package`, patches) ->
val mostCommonVersion = buildMap {
patches.forEach { patch ->
patch.compatiblePackages?.single { compatiblePackage -> compatiblePackage.name == `package` }?.versions?.let {
it.forEach { version -> merge(version, 1, Integer::sum) }
}
}
}.let { commonMap ->
commonMap.maxByOrNull { it.value }?.value?.let {
// This is not foolproof, because for example v1.0.0-dev.0 will be returned instead of v1.0.0-release.
// Unfortunately this can not be solved easily because versioning can be complex.
commonMap.entries.filter { mostCommon -> mostCommon.value == it }.maxBy { it.key }.key
} ?: "all"
}
output.apply {
appendLine("### [\uD83D\uDCE6 `${`package`}`](https://play.google.com/store/apps/details?id=${`package`})")
appendLine("<details>\n")
appendLine(TABLE_HEADER)
patches.forEach { patch ->
val recommendedPatchVersion = if (
patch.compatiblePackages?.single { it.name == `package` }?.versions?.isNotEmpty() == true
) mostCommonVersion else "all"
appendLine(
"| `${patch.patchName}` " +
"| ${patch.description} " +
"| $recommendedPatchVersion |"
)
}
appendLine("</details>\n")
}
}
StringBuilder(File("README-template.md").readText())
.replace(Regex("\\{\\{\\s?table\\s?}}"), output.toString())
.let(File("README.md")::writeText)
}
}

View File

@@ -1,48 +0,0 @@
package app.revanced.meta.json
import app.revanced.meta.Bundle
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
import app.revanced.patcher.extensions.PatchExtensions.dependencies
import app.revanced.patcher.extensions.PatchExtensions.description
import app.revanced.patcher.extensions.PatchExtensions.include
import app.revanced.patcher.extensions.PatchExtensions.options
import app.revanced.patcher.extensions.PatchExtensions.patchName
import app.revanced.patcher.extensions.PatchExtensions.version
import app.revanced.patcher.patch.PatchOption
import com.google.gson.GsonBuilder
import java.io.File
private val gson = GsonBuilder().serializeNulls().create()
fun generateJson(bundle: Bundle) {
val patches = bundle.map {
JsonPatch(
it.patchName,
it.description ?: "This patch has no description.",
it.version ?: "0.0.0",
!it.include,
it.options?.map { option ->
Option(
option.key,
option.title,
option.description,
option.required,
option.let { lo ->
if (lo is PatchOption.ListOption<*>) {
lo.options.toMutableList().toTypedArray()
} else null
}
)
}?.toTypedArray() ?: emptyArray(),
it.dependencies?.map { dep ->
dep.java.patchName
}?.toTypedArray() ?: emptyArray(),
it.compatiblePackages?.map { pkg ->
CompatiblePackage(pkg.name, pkg.versions)
}?.toTypedArray() ?: emptyArray()
)
}
val json = File("patches.json")
json.writeText(gson.toJson(patches))
}

View File

@@ -1,26 +0,0 @@
@file:Suppress("ArrayInDataClass") // We don't need it here.
package app.revanced.meta.json
data class JsonPatch(
val name: String,
val description: String,
val version: String,
val excluded: Boolean,
val options: Array<Option>,
val dependencies: Array<String>,
val compatiblePackages: Array<CompatiblePackage>,
)
data class CompatiblePackage(
val name: String,
val versions: Array<String>,
)
data class Option(
val key: String,
val title: String,
val description: String,
val required: Boolean,
val choices: Array<*>?,
)

View File

@@ -1,10 +0,0 @@
package app.revanced.meta.readme
import app.revanced.patcher.data.Context
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
import app.revanced.patcher.patch.Patch
internal fun Class<out Patch<Context>>.getLatestVersion() =
this.compatiblePackages?.first()?.versions?.map {
SemanticVersion.fromString(it)
}?.maxWithOrNull(SemanticVersionComparator)

View File

@@ -1,42 +0,0 @@
package app.revanced.meta.readme
import app.revanced.meta.Bundle
import app.revanced.patcher.data.Context
import app.revanced.patcher.extensions.PatchExtensions.compatiblePackages
import app.revanced.patcher.extensions.PatchExtensions.description
import app.revanced.patcher.extensions.PatchExtensions.patchName
import app.revanced.patcher.patch.Patch
import java.io.File
private const val TABLE_HEADER =
"| \uD83D\uDC8A Patch | \uD83D\uDCDC Description | \uD83C\uDFF9 Target Version |\n" + "|:--------:|:--------------:|:-----------------:|"
private val TABLE_REGEX = Regex("\\{\\{\\s?table\\s?}}")
fun generateText(bundle: Bundle) {
val output = StringBuilder()
val packages = mutableMapOf<String, MutableList<Class<out Patch<Context>>>>()
for (patch in bundle) {
patch.compatiblePackages?.forEach { pkg ->
if (!packages.contains(pkg.name)) packages[pkg.name] = mutableListOf()
packages[pkg.name]!!.add(patch)
}
}
for (pkg in packages.entries.sortedByDescending { it.value.size }) {
output.appendLine("### \uD83D\uDCE6 `${pkg.key}`")
output.appendLine("<details>\n")
output.appendLine(TABLE_HEADER)
pkg.value.forEach { output.appendLine("| `${it.patchName}` | ${it.description} | ${it.getLatestVersion() ?: "all"} |") }
output.appendLine("</details>\n")
}
val readmeTemplate = Template(File("README-template.md").readText())
readmeTemplate.replaceVariable(TABLE_REGEX, output.toString())
val readme = File("README.md")
readme.writeText(readmeTemplate.toString())
}

View File

@@ -1,22 +0,0 @@
package app.revanced.meta.readme
data class SemanticVersion(val major: Int, val minor: Int, val patch: Int) {
companion object {
fun fromString(version: String): SemanticVersion {
val parts = version.split(".")
if (parts.count() != 3) throw IllegalArgumentException("Invalid semantic version")
val versionNumbers = parts.map { it.toInt() }
return SemanticVersion(versionNumbers[0], versionNumbers[1], versionNumbers[2])
}
}
override fun toString(): String = "$major.$minor.$patch"
}
object SemanticVersionComparator : Comparator<SemanticVersion> {
override fun compare(a: SemanticVersion, b: SemanticVersion): Int = when {
a.major != b.major -> a.major - b.major
a.minor != b.minor -> a.minor - b.minor
else -> a.patch - b.patch
}
}

View File

@@ -1,12 +0,0 @@
package app.revanced.meta.readme
class Template(template: String) {
val result = StringBuilder(template)
fun replaceVariable(regex: Regex, value: String) {
val range = regex.find(result)!!.range
result.replace(range.first, range.last + 1, value)
}
override fun toString(): String = result.toString()
}

View File

@@ -0,0 +1,37 @@
package app.revanced.patches.all.interaction.gestures.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.Patch
@Patch(false)
@Name("predictive-back-gesture")
@Description("Enables the predictive back gesture introduced on Android 13.")
@Version("0.0.1")
class PredictiveBackGesturePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
context.xmlEditor["AndroidManifest.xml"].use { editor ->
val document = editor.file
with(document.getElementsByTagName("application").item(0)) {
if (attributes.getNamedItem(FLAG) != null) return@with
document.createAttribute(FLAG)
.apply { value = "true" }
.let(attributes::setNamedItem)
}
}
return PatchResultSuccess()
}
private companion object {
const val FLAG = "android:enableOnBackInvokedCallback"
}
}

View File

@@ -0,0 +1,106 @@
package app.revanced.patches.all.screenshot.removerestriction.patch
import app.revanced.extensions.findMutableMethodOf
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.replaceInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import org.jf.dexlib2.Opcode
import org.jf.dexlib2.iface.instruction.formats.Instruction35c
import org.jf.dexlib2.iface.reference.MethodReference
@Patch(false)
@Name("remove-screenshot-restriction")
@Description("Removes the restriction of making screenshots.")
@Version("0.0.1")
class RemoveScreenshotRestrictionPatch : BytecodePatch() {
private companion object {
const val INTEGRATIONS_CLASS_DESCRIPTOR = "Lapp/revanced/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch;"
}
// Information about method calls we want to replace
private enum class MethodCall(
val definedClassName: String,
val methodName: String,
val replacementMethodDefinition: String
) {
SetFlags(
"Landroid/view/Window;",
"setFlags",
"setFlags(Landroid/view/Window;II)V",
);
fun replaceInstruction(method: MutableMethod, instruction: Instruction35c, instructionIndex: Int) {
when (this) {
SetFlags -> {
method.replaceInstruction(
instructionIndex,
"invoke-static { v${instruction.registerC}, v${instruction.registerD}, v${instruction.registerE} }, ${INTEGRATIONS_CLASS_DESCRIPTOR}->${replacementMethodDefinition}"
)
}
}
}
companion object {
fun fromMethodReference(methodReference: MethodReference) = values().firstOrNull { search ->
search.definedClassName == methodReference.definingClass && search.methodName == methodReference.name
}
}
}
override fun execute(context: BytecodeContext): PatchResult {
// Find all instructions where one of the methods is called
buildMap {
context.classes.forEach { classDef ->
if (classDef.type == INTEGRATIONS_CLASS_DESCRIPTOR) {
// avoid infinite recursion
return@forEach
}
classDef.methods.let { methods ->
buildMap methodList@{
methods.forEach methods@{ method ->
with(method.implementation?.instructions ?: return@methods) {
ArrayDeque<Triple<MethodCall, Instruction35c, Int>>().also { patchIndices ->
this.forEachIndexed { index, instruction ->
if (instruction.opcode != Opcode.INVOKE_VIRTUAL) return@forEachIndexed
val invokeInstruction = instruction as Instruction35c
val methodRef = invokeInstruction.reference as MethodReference
val methodCall = MethodCall.fromMethodReference(methodRef) ?: return@forEachIndexed
patchIndices.add(Triple(methodCall, invokeInstruction, index))
}
}.also { if (it.isEmpty()) return@methods }.let { patches ->
put(method, patches)
}
}
}
}
}.also { if (it.isEmpty()) return@forEach }.let { methodPatches ->
put(classDef, methodPatches)
}
}
}.forEach { (classDef, methods) ->
// And finally replace the instructions...
with(context.proxy(classDef).mutableClass) {
methods.forEach { (method, patches) ->
val mutableMethod = findMutableMethodOf(method)
while (!patches.isEmpty()) {
val (methodType, instruction, instructionIndex) = patches.removeLast()
methodType.replaceInstruction(mutableMethod, instruction, instructionIndex)
}
}
}
}
return PatchResultSuccess()
}
}

View File

@@ -1,9 +0,0 @@
package app.revanced.patches.anytracker.misc.premium.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("com.shervinkoushan.anyTracker")])
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class UnlockPremiumCompatibility

View File

@@ -1,8 +0,0 @@
package app.revanced.patches.anytracker.misc.premium.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object IsPurchasedFlowFingerprint : MethodFingerprint(
"Landroidx/lifecycle/LiveData",
strings = listOf("premium_user", "sku"),
)

View File

@@ -1,48 +0,0 @@
package app.revanced.patches.anytracker.misc.premium.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.anytracker.misc.premium.annotations.UnlockPremiumCompatibility
import app.revanced.patches.anytracker.misc.premium.fingerprints.IsPurchasedFlowFingerprint
@Patch
@Name("unlock-premium")
@Description("Unlocks all premium features.")
@UnlockPremiumCompatibility
@Version("0.0.1")
class UnlockPremiumPatch : BytecodePatch(
listOf(
IsPurchasedFlowFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
val method = IsPurchasedFlowFingerprint.result!!.mutableMethod
method.addInstructions(
0,
"""
const/4 v0, 0x1
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
invoke-static {v0}, Lkotlinx/coroutines/flow/FlowKt;->flowOf(Ljava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
move-result-object v1
const/4 v2, 0x0
const-wide/16 v3, 0x0
const/4 v5, 0x3
const/4 v6, 0x0
invoke-static/range {v1 .. v6}, Landroidx/lifecycle/FlowLiveDataConversions;->asLiveData${'$'}default(Lkotlinx/coroutines/flow/Flow;Lkotlin/coroutines/CoroutineContext;JILjava/lang/Object;)Landroidx/lifecycle/LiveData;
move-result-object v0
return-object v0
"""
)
return PatchResultSuccess()
}
}

View File

@@ -3,5 +3,5 @@ package app.revanced.patches.citra.misc.premium.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("org.citra.citra_emu")])
internal annotation class PremiumUnlockCompatbility
@Compatibility([Package("org.citra.citra_emu"), Package("org.citra.citra_emu.canary")])
internal annotation class PremiumUnlockCompatbility

View File

@@ -1,23 +0,0 @@
package app.revanced.patches.crunchyroll.downloads.fingerprints
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import app.revanced.patches.crunchyroll.downloads.annotations.DownloadsCompatibility
import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode
@Name("downloads-fingerprint")
@DownloadsCompatibility
@Version("0.0.1")
object DownloadsFingerprint : MethodFingerprint(
"Z", AccessFlags.PUBLIC or AccessFlags.FINAL, null,
opcodes = listOf(
Opcode.CONST_STRING,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.RETURN
),
strings = listOf("offline_viewing"),
)

View File

@@ -1,37 +0,0 @@
package app.revanced.patches.crunchyroll.downloads.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.replaceInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.crunchyroll.downloads.annotations.DownloadsCompatibility
import app.revanced.patches.crunchyroll.downloads.fingerprints.DownloadsFingerprint
@Patch
@Name("enable-downloads")
@Description("Enables downloads for Crunchyroll.")
@DownloadsCompatibility
@Version("0.0.1")
class DownloadsPatch : BytecodePatch(
listOf(
DownloadsFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
with(DownloadsFingerprint.result!!.mutableMethod) {
val index = implementation!!.instructions.lastIndex
replaceInstruction(
index - 1,
"""
const/4 v0, 0x1
"""
)
}
return PatchResultSuccess()
}
}

View File

@@ -1,9 +0,0 @@
package app.revanced.patches.ecmwf.misc.subscription.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object SubscriptionUnlockFingerprint : MethodFingerprint(
"Z",
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("MapsActivity;") && methodDef.name == "t0"
}
)

View File

@@ -1,47 +0,0 @@
package app.revanced.patches.ecmwf.misc.subscription.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.extensions.removeInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.ecmwf.misc.subscription.annotations.SubscriptionUnlockCompatibility
import app.revanced.patches.ecmwf.misc.subscription.fingerprints.SubscriptionUnlockFingerprint
@Patch
@Name("pflotsh-ecmwf-subscription-unlock")
@Description("Unlocks all subscription features.")
@SubscriptionUnlockCompatibility
@Version("0.0.1")
class SubscriptionUnlockPatch : BytecodePatch(
listOf(
SubscriptionUnlockFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
val result = SubscriptionUnlockFingerprint.result!!
val method = result.mutableMethod
val index = method.implementation!!.instructions.size
// remove R() at 10212
method.removeInstruction(index - 3)
// remove R() at 10206
method.removeInstruction(index - 5)
val insertIndex = index
method.addInstructions(
insertIndex - 1 - 2,
"""
const/4 p1, 0x1
"""
)
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,13 @@
package app.revanced.patches.finanzonline.detection.bootloader.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object BootStateFingerprint : MethodFingerprint(
"Z",
access = AccessFlags.PUBLIC.value,
strings = listOf("Boot state of device: %s"),
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("/AttestationHelper;")
}
)

View File

@@ -0,0 +1,13 @@
package app.revanced.patches.finanzonline.detection.bootloader.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object BootloaderDetectionFingerprint : MethodFingerprint(
"Z",
access = AccessFlags.PUBLIC.value,
strings = listOf("Creation of attestation key succeeded", "Creation of attestation key failed"),
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("/AttestationHelper;")
}
)

View File

@@ -0,0 +1,38 @@
package app.revanced.patches.finanzonline.detection.bootloader.patch
import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.finanzonline.detection.bootloader.fingerprints.BootStateFingerprint
import app.revanced.patches.finanzonline.detection.bootloader.fingerprints.BootloaderDetectionFingerprint
import app.revanced.patches.finanzonline.detection.shared.annotations.DetectionCompatibility
@Patch
@Name("remove-bootloader-detection")
@Description("Removes the check for an unlocked bootloader.")
@DetectionCompatibility
@Version("0.0.1")
class BootloaderDetectionPatch : BytecodePatch(
listOf(BootloaderDetectionFingerprint, BootStateFingerprint)
) {
override fun execute(context: BytecodeContext): PatchResult {
arrayOf(BootloaderDetectionFingerprint, BootStateFingerprint).forEach { fingerprint ->
fingerprint.result?.mutableMethod?.addInstruction(
0,
"""
const/4 v0, 0x1
return v0
"""
) ?: return fingerprint.toErrorResult()
}
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.patches.finanzonline.detection.root.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object RootDetectionFingerprint : MethodFingerprint(
"L",
customFingerprint = { methodDef ->
methodDef.definingClass == "Lat/gv/bmf/bmf2go/tools/utils/z;"
}
)

View File

@@ -0,0 +1,34 @@
package app.revanced.patches.finanzonline.detection.root.patch
import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.finanzonline.detection.root.fingerprints.RootDetectionFingerprint
import app.revanced.patches.finanzonline.detection.shared.annotations.DetectionCompatibility
@Patch
@Name("remove-root-detection")
@Description("Removes the check for root permissions")
@DetectionCompatibility
@Version("0.0.1")
class RootDetectionPatch : BytecodePatch(
listOf(RootDetectionFingerprint)
) {
override fun execute(context: BytecodeContext): PatchResult {
RootDetectionFingerprint.result?.mutableMethod?.addInstructions(
0,
"""
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
return-object v0
"""
) ?: return RootDetectionFingerprint.toErrorResult()
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,9 @@
package app.revanced.patches.finanzonline.detection.shared.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("at.gv.bmf.bmf2go", arrayOf("2.2.0"))])
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class DetectionCompatibility

View File

@@ -0,0 +1,12 @@
package app.revanced.patches.idaustria.detection.root.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object RootDetectionFingerprint : MethodFingerprint(
"V",
access = AccessFlags.PUBLIC.value,
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("/DeviceIntegrityCheck;")
}
)

View File

@@ -0,0 +1,25 @@
package app.revanced.patches.idaustria.detection.root.patch
import app.revanced.patcher.annotation.*
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.idaustria.detection.root.fingerprints.RootDetectionFingerprint
import app.revanced.patches.idaustria.detection.shared.annotations.DetectionCompatibility
@Patch
@Name("remove-root-detection")
@Description("Removes the check for root permissions and unlocked bootloader.")
@DetectionCompatibility
@Version("0.0.1")
class RootDetectionPatch : BytecodePatch(
listOf(RootDetectionFingerprint)
) {
override fun execute(context: BytecodeContext): PatchResult {
RootDetectionFingerprint.result!!.mutableMethod.addInstructions(0, "return-void")
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,9 @@
package app.revanced.patches.idaustria.detection.shared.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("at.gv.oe.app", arrayOf("2.5.2"))])
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class DetectionCompatibility

View File

@@ -0,0 +1,13 @@
package app.revanced.patches.idaustria.detection.signature.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object SpoofSignatureFingerprint : MethodFingerprint(
"L",
parameters = listOf("L"),
access = AccessFlags.PRIVATE.value,
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("/SL2Step1Task;") && methodDef.name == "getPubKey"
}
)

View File

@@ -0,0 +1,45 @@
package app.revanced.patches.idaustria.detection.signature.patch
import app.revanced.patcher.annotation.*
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.idaustria.detection.shared.annotations.DetectionCompatibility
import app.revanced.patches.idaustria.detection.signature.fingerprints.SpoofSignatureFingerprint
@Patch
@Name("spoof-signature")
@Description("Spoofs the signature of the app.")
@DetectionCompatibility
@Version("0.0.1")
class SpoofSignaturePatch : BytecodePatch(
listOf(SpoofSignatureFingerprint)
) {
companion object {
const val EXPECTED_SIGNATURE = "OpenSSLRSAPublicKey{modulus=ac3e6fd6050aa7e0d6010ae58190404cd89a56935b44f6fee" +
"067c149768320026e10b24799a1339e414605e448e3f264444a327b9ae292be2b62ad567dd1800dbed4a88f718a33dc6db6b" +
"f5178aa41aa0efff8a3409f5ca95dbfccd92c7b4298966df806ea7a0204a00f0e745f6d9f13bdf24f3df715d7b62c1600906" +
"15de1c8a956b9286764985a3b3c060963c435fb9481a5543aaf0671fc2dba6c5c2b17d1ef1d85137f14dc9bbdf3490288087" +
"324cd48341cce64fabf6a9b55d1a7bf23b2fcdff451fd85bf0c7feb0a5e884d7c5c078e413149566a12a686e6efa70ae5161" +
"a0201307692834cda336c55157fef125e67c01c1359886f94742105596b42a790404bbcda5dad6a65f115aaff5e45ef3c28b" +
"2316ff6cef07aa49a45aa58c07bf258051b13ef449ccb37a3679afd5cfb9132f70bb9d931a937897544f90c3bcc80ed012e9" +
"f6ba020b8cdc23f8c29ac092b88f0e370ff9434e4f0f359e614ae0868dc526fa41e4b7596533e8d10279b66e923ecd9f0b20" +
"0def55be2c1f6f9c72c92fb45d7e0a9ac571cb38f0a9a37bb33ea06f223fde8c7a92e8c47769e386f9799776e8f110c21df2" +
"77ef1be61b2c01ebdabddcbf53cc4b6fd9a3c445606ee77b3758162c80ad8f8137b3c6864e92db904807dcb2be9d7717dd21" +
"bf42c121d620ddfb7914f7a95c713d9e1c1b7bdb4a03d618e40cf7e9e235c0b5687e03b7ab3,publicExponent=10001}"
}
override fun execute(context: BytecodeContext): PatchResult {
SpoofSignatureFingerprint.result!!.mutableMethod.addInstructions(
0,
"""
const-string v0, "$EXPECTED_SIGNATURE"
return-object v0
"""
)
return PatchResultSuccess()
}
}

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -22,7 +22,7 @@ object CodecsLockFingerprint : MethodFingerprint(
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_INTERFACE,
Opcode.INVOKE_DIRECT,
Opcode.INVOKE_VIRTUAL,
Opcode.RETURN_OBJECT
),
strings = listOf("eac3_supported")

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -19,7 +19,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,10 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52"
)
)]
)

View File

@@ -22,7 +22,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -20,7 +20,11 @@ import app.revanced.patcher.annotation.Package
"5.28.52",
"5.29.52",
"5.31.50",
"5.34.51"
"5.34.51",
"5.36.51",
"5.38.53",
"5.39.52",
"5.40.51"
)
)]
)

View File

@@ -1,13 +1,13 @@
package app.revanced.patches.crunchyroll.downloads.annotations
package app.revanced.patches.nova.prime.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.crunchyroll.crunchyroid")
Package("com.teslacoilsw.launcher")
]
)
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class DownloadsCompatibility
internal annotation class UnlockPrimeCompatibility

View File

@@ -0,0 +1,16 @@
package app.revanced.patches.nova.prime.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.Opcode
object UnlockPrimeFingerprint : MethodFingerprint(
"V",
opcodes = listOf(
Opcode.IPUT_OBJECT,
Opcode.CONST_STRING,
Opcode.CONST_4,
Opcode.INVOKE_INTERFACE,
Opcode.MOVE_RESULT
),
strings = listOf("1")
)

View File

@@ -0,0 +1,50 @@
package app.revanced.patches.nova.prime.patch
import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.nova.prime.annotations.UnlockPrimeCompatibility
import app.revanced.patches.nova.prime.fingerprints.UnlockPrimeFingerprint
import org.jf.dexlib2.builder.instruction.BuilderInstruction11x
@Patch
@Name("unlock-prime")
@Description("Unlocks Nova Prime and all functions of the app.")
@UnlockPrimeCompatibility
@Version("0.0.1")
class UnlockPrimePatch : BytecodePatch(
listOf(
UnlockPrimeFingerprint
)
) {
private companion object {
// Any value except 0 unlocks prime, but 512 is needed for a protection mechanism
// which would reset the preferences if the value on disk had changed after a restart.
const val PRIME_STATUS: Int = 512
}
override fun execute(context: BytecodeContext): PatchResult {
UnlockPrimeFingerprint.result?.apply {
val insertIndex = scanResult.patternScanResult!!.endIndex + 1
val primeStatusRegister =
(mutableMethod.implementation!!.instructions[insertIndex - 1] as BuilderInstruction11x).registerA
mutableMethod.addInstruction(
insertIndex,
"""
const/16 v$primeStatusRegister, $PRIME_STATUS
"""
)
} ?: UnlockPrimeFingerprint.toErrorResult()
return PatchResultSuccess()
}
}

View File

@@ -3,7 +3,11 @@ package app.revanced.patches.reddit.ad.general.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("com.reddit.frontpage")])
@Compatibility(
[Package(
"com.reddit.frontpage", arrayOf("2022.43.0")
)]
)
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class GeneralAdsCompatibility

View File

@@ -0,0 +1,9 @@
package app.revanced.patches.shared.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object SeekbarFingerprint : MethodFingerprint(
"V",
strings = listOf("timed_markers_width")
)

View File

@@ -0,0 +1,8 @@
package app.revanced.patches.shared.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object SeekbarOnDrawFingerprint : MethodFingerprint(
customFingerprint = { it.name == "onDraw" }
)

View File

@@ -25,7 +25,7 @@ internal data class ArrayResource(
resourceCallback?.invoke(item)
this.appendChild(ownerDocument.createElement("item").also { itemNode ->
itemNode.textContent = item.value
itemNode.textContent = "@string/${item.name}"
})
}
}

View File

@@ -92,7 +92,7 @@ abstract class AbstractSettingsResourcePatch(
* @param arrayResource The array resource to add.
*/
fun addArray(arrayResource: ArrayResource) =
arraysNode!!.addResource(arrayResource)
arraysNode!!.addResource(arrayResource) { it.include() }
/**
* Add a preference to the settings.

View File

@@ -1,8 +0,0 @@
package app.revanced.patches.sleepasandroid.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object IsTrialFingerprint : MethodFingerprint(
"Z",
customFingerprint = { it.name == "isTrial" }
)

View File

@@ -1,36 +0,0 @@
package app.revanced.patches.sleepasandroid.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.sleepasandroid.annotations.UnlockPremiumCompatibility
import app.revanced.patches.sleepasandroid.fingerprints.IsTrialFingerprint
@Patch
@Name("unlock-premium")
@Description("Unlocks all premium features.")
@UnlockPremiumCompatibility
class UnlockPremiumPatch : BytecodePatch(
listOf(
IsTrialFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
val method = IsTrialFingerprint.result!!.mutableMethod
method.addInstructions(
0,
"""
const/4 v0, 0x0
return v0
"""
)
return PatchResultSuccess()
}
}

View File

@@ -1,9 +1,9 @@
package app.revanced.patches.youtube.misc.settings.annotations
package app.revanced.patches.tasker.trial.unlock.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("com.google.android.youtube")])
@Compatibility([Package("net.dinglisch.android.taskerm")])
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class SettingsCompatibility
internal annotation class UnlockTrialCompatibility

View File

@@ -0,0 +1,7 @@
package app.revanced.patches.tasker.trial.unlock.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object CheckLicenseFingerprint : MethodFingerprint(
strings = listOf("Can't check license")
)

View File

@@ -0,0 +1,32 @@
package app.revanced.patches.tasker.trial.unlock.patch
import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.tasker.trial.unlock.annotations.UnlockTrialCompatibility
import app.revanced.patches.tasker.trial.unlock.fingerprints.CheckLicenseFingerprint
@Patch
@Name("unlock-trial")
@Description("Unlocks the trial version.")
@UnlockTrialCompatibility
@Version("0.0.1")
class UnlockLicensePatch : BytecodePatch(
listOf(
CheckLicenseFingerprint
)
) {
override fun execute(context: BytecodeContext) = CheckLicenseFingerprint
.result
?.mutableMethod
// Return the method early, which prompts the user with a non dismissible dialog, when the trial period is over.
?.addInstruction(0, "return-void")
?.let { PatchResultSuccess() }
?: CheckLicenseFingerprint.toErrorResult()
}

View File

@@ -5,8 +5,8 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.ss.android.ugc.trill"),
Package("com.zhiliaoapp.musically")
Package("com.ss.android.ugc.trill", arrayOf("27.8.3")),
Package("com.zhiliaoapp.musically", arrayOf("27.8.3"))
]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object FeedApiServiceLIZFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.STATIC or AccessFlags.FINAL or AccessFlags.SYNTHETIC,
access = AccessFlags.PUBLIC or AccessFlags.STATIC or AccessFlags.SYNTHETIC,
customFingerprint = { methodDef ->
methodDef.definingClass.endsWith("/FeedApiService;") && methodDef.name == "LIZ"
}

View File

@@ -5,8 +5,8 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.ss.android.ugc.trill"),
Package("com.zhiliaoapp.musically")
Package("com.ss.android.ugc.trill", arrayOf("27.8.3")),
Package("com.zhiliaoapp.musically", arrayOf("27.8.3"))
]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -5,8 +5,8 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.ss.android.ugc.trill"),
Package("com.zhiliaoapp.musically")
Package("com.ss.android.ugc.trill", arrayOf("27.8.3")),
Package("com.zhiliaoapp.musically", arrayOf("27.8.3"))
]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -1,12 +0,0 @@
package app.revanced.patches.tiktok.misc.settings.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object AboutOnClickMethodFingerprint : MethodFingerprint(
strings = listOf(
"//setting/about",
"enter_from",
"settings_page",
"enter_settings_about"
)
)

View File

@@ -0,0 +1,37 @@
package app.revanced.patches.tiktok.misc.settings.fingerprints
import app.revanced.patcher.fingerprint.method.annotation.FuzzyPatternScanMethod
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.Opcode
@FuzzyPatternScanMethod(4)
object AboutViewFingerprint : MethodFingerprint(
opcodes = listOf(
Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT,
Opcode.INVOKE_DIRECT_RANGE,
Opcode.INVOKE_DIRECT,
Opcode.IPUT_OBJECT,
Opcode.NEW_INSTANCE,
Opcode.NEW_INSTANCE,
Opcode.CONST,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.SGET_OBJECT,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT,
Opcode.CONST_4,
Opcode.CONST_STRING,
Opcode.INVOKE_DIRECT_RANGE,
Opcode.INVOKE_DIRECT,
Opcode.IPUT_OBJECT,
Opcode.CONST,
Opcode.SGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.IF_EQZ,
Opcode.CONST
)
)

View File

@@ -1,5 +1,6 @@
package app.revanced.patches.tiktok.misc.settings.patch
import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
@@ -7,6 +8,7 @@ import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.extensions.instruction
import app.revanced.patcher.extensions.replaceInstruction
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
@@ -15,13 +17,12 @@ import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.tiktok.misc.integrations.patch.IntegrationsPatch
import app.revanced.patches.tiktok.misc.settings.annotations.SettingsCompatibility
import app.revanced.patches.tiktok.misc.settings.fingerprints.AboutOnClickMethodFingerprint
import app.revanced.patches.tiktok.misc.settings.fingerprints.AboutViewFingerprint
import app.revanced.patches.tiktok.misc.settings.fingerprints.AdPersonalizationActivityOnCreateFingerprint
import app.revanced.patches.tiktok.misc.settings.fingerprints.SettingsOnViewCreatedFingerprint
import org.jf.dexlib2.Opcode
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
import org.jf.dexlib2.iface.instruction.ReferenceInstruction
import org.jf.dexlib2.iface.instruction.formats.Instruction21c
import org.jf.dexlib2.iface.instruction.formats.Instruction35c
import org.jf.dexlib2.iface.reference.StringReference
import org.jf.dexlib2.iface.reference.TypeReference
@@ -29,17 +30,19 @@ import org.jf.dexlib2.iface.reference.TypeReference
@Patch
@DependsOn([IntegrationsPatch::class])
@Name("settings")
@Description("Adds settings for ReVanced to TikTok.")
@Description("Adds ReVanced settings to TikTok.")
@SettingsCompatibility
@Version("0.0.1")
class SettingsPatch : BytecodePatch(
listOf(
AdPersonalizationActivityOnCreateFingerprint,
SettingsOnViewCreatedFingerprint,
AboutOnClickMethodFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
SettingsOnViewCreatedFingerprint.result?.let {
AboutViewFingerprint.resolve(context, it.method, it.classDef)
}
// Patch Settings UI to add 'Revanced Settings'.
val targetIndexes = findOptionsOnClickIndex()
with(SettingsOnViewCreatedFingerprint.result!!.mutableMethod) {
@@ -72,29 +75,21 @@ class SettingsPatch : BytecodePatch(
private fun findOptionsOnClickIndex(): IntArray {
val results = IntArray(2)
var found = 0
with(SettingsOnViewCreatedFingerprint.result!!.mutableMethod) {
for ((index, instruction) in implementation!!.instructions.withIndex()) {
SettingsOnViewCreatedFingerprint.result?.apply {
for ((index, instruction) in mutableMethod.implementation!!.instructions.withIndex()) {
// Old UI settings option to replace to 'Revanced Settings'
if (instruction.opcode == Opcode.CONST_STRING) {
val string = ((instruction as ReferenceInstruction).reference as StringReference).string
if (string == "copyright_policy") {
results[0] = index - 2
found++
break
}
}
// New UI settings option to replace to 'Revanced Settings'
if (instruction.opcode == Opcode.NEW_INSTANCE) {
val onClickClass = ((instruction as Instruction21c).reference as TypeReference).type
if (onClickClass == AboutOnClickMethodFingerprint.result!!.mutableMethod.definingClass) {
results[1] = index
found++
}
}
if (found > 1) break
}
}
// New UI settings option to replace to 'Revanced Settings'
results[1] = AboutViewFingerprint.result!!.scanResult.patternScanResult!!.startIndex
} ?: throw SettingsOnViewCreatedFingerprint.toErrorResult()
return results
}

View File

@@ -5,8 +5,8 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.ss.android.ugc.trill"),
Package("com.zhiliaoapp.musically")
Package("com.ss.android.ugc.trill", arrayOf("27.8.3")),
Package("com.zhiliaoapp.musically", arrayOf("27.8.3"))
]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -1,9 +1,10 @@
package app.revanced.patches.sleepasandroid.annotations
package app.revanced.patches.twitch.ad.embedded.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility([Package("com.urbandroid.sleep")])
@Compatibility([Package("tv.twitch.android.app")])
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class UnlockPremiumCompatibility
internal annotation class EmbeddedAdsCompatibility

View File

@@ -0,0 +1,9 @@
package app.revanced.patches.twitch.ad.embedded.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object CreateUsherClientFingerprint : MethodFingerprint(
customFingerprint = { method ->
method.definingClass.endsWith("Ltv/twitch/android/network/OkHttpClientFactory;") && method.name == "buildOkHttpClient"
}
)

View File

@@ -0,0 +1,78 @@
package app.revanced.patches.twitch.ad.embedded.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.MethodFingerprintExtensions.name
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.shared.settings.preference.impl.ArrayResource
import app.revanced.patches.shared.settings.preference.impl.ListPreference
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.twitch.ad.embedded.annotations.EmbeddedAdsCompatibility
import app.revanced.patches.twitch.ad.embedded.fingerprints.CreateUsherClientFingerprint
import app.revanced.patches.twitch.ad.video.patch.VideoAdsPatch
import app.revanced.patches.twitch.misc.integrations.patch.IntegrationsPatch
import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
@Patch
@DependsOn([VideoAdsPatch::class, IntegrationsPatch::class, SettingsPatch::class])
@Name("block-embedded-ads")
@Description("Blocks embedded steam ads using services like TTV.lol or PurpleAdBlocker.")
@EmbeddedAdsCompatibility
@Version("0.0.1")
class EmbeddedAdsPatch : BytecodePatch(
listOf(CreateUsherClientFingerprint)
) {
override fun execute(context: BytecodeContext): PatchResult {
val result = CreateUsherClientFingerprint.result ?: return PatchResultError("${CreateUsherClientFingerprint.name} not found")
// Inject OkHttp3 application interceptor
result.mutableMethod.addInstructions(
3,
"""
invoke-static {}, Lapp/revanced/twitch/patches/EmbeddedAdsPatch;->createRequestInterceptor()Lapp/revanced/twitch/api/RequestInterceptor;
move-result-object v2
invoke-virtual {v0, v2}, Lokhttp3/OkHttpClient${"$"}Builder;->addInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient${"$"}Builder;
"""
)
SettingsPatch.PreferenceScreen.ADS.SURESTREAM.addPreferences(
ListPreference(
"revanced_block_embedded_ads",
StringResource(
"revanced_block_embedded_ads",
"Block embedded video ads"
),
ArrayResource(
"revanced_hls_proxies",
listOf(
StringResource("revanced_proxy_disabled", "Disabled"),
StringResource("revanced_proxy_ttv_lol", "TTV LOL proxy"),
StringResource("revanced_proxy_purpleadblock", "PurpleAdBlock proxy"),
)
),
ArrayResource(
"revanced_hls_proxies_values",
listOf(
StringResource("key_revanced_proxy_disabled", "disabled"),
StringResource("key_revanced_proxy_ttv_lol", "ttv-lol"),
StringResource("key_revanced_proxy_purpleadblock", "purpleadblock")
)
),
"ttv-lol"
)
)
SettingsPatch.addString("revanced_embedded_ads_service_unavailable", "%s is unavailable. Ads may show. Try switching to another ad block service in settings.")
SettingsPatch.addString("revanced_embedded_ads_service_failed", "%s server returned an error. Ads may show. Try switching to another ad block service in settings.")
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,51 @@
package app.revanced.patches.twitch.ad.shared.util
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.extensions.instruction
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.util.smali.ExternalLabel
abstract class AbstractAdPatch(
val conditionCall: String,
val skipLabelName: String,
internal val fingerprints: Iterable<MethodFingerprint>? = null,
) : BytecodePatch(fingerprints) {
protected fun createConditionInstructions(register: String = "v0") = """
invoke-static { }, $conditionCall
move-result $register
if-eqz $register, :$skipLabelName
"""
protected data class ReturnMethod(val returnType: Char = 'V', val value: String = "")
protected fun BytecodeContext.blockMethods(clazz: String, vararg methodNames: String, returnMethod: ReturnMethod = ReturnMethod()): Boolean {
return with(findClass(clazz)?.mutableClass) {
this ?: return false
this.methods.filter { methodNames.contains(it.name) }.forEach {
val retIntructions = when(returnMethod.returnType) {
'V' -> "return-void"
'Z' -> """
const/4 v0, ${returnMethod.value}
return v0
"""
else -> throw NotImplementedError()
}
it.addInstructions(
0,
"""
${createConditionInstructions("v0")}
$retIntructions
""",
listOf(ExternalLabel(skipLabelName, it.instruction(0)))
)
}
true
}
}
}

View File

@@ -1,10 +1,9 @@
package app.revanced.patches.twitch.ad.video.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object AdsManagerFingerprint : MethodFingerprint(
object GetReadyToShowAdFingerprint : MethodFingerprint(
customFingerprint = { method ->
method.definingClass.endsWith("AdsManagerImpl;") && method.name == "playAds"
method.definingClass.endsWith("/StreamDisplayAdsPresenter;") && method.name == "getReadyToShowAdOrAbort"
}
)

View File

@@ -6,7 +6,6 @@ import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.addInstructions
import app.revanced.patcher.extensions.instruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn
@@ -14,10 +13,11 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.twitch.ad.shared.util.AbstractAdPatch
import app.revanced.patches.twitch.ad.video.annotations.VideoAdsCompatibility
import app.revanced.patches.twitch.ad.video.fingerprints.AdsManagerFingerprint
import app.revanced.patches.twitch.ad.video.fingerprints.CheckAdEligibilityLambdaFingerprint
import app.revanced.patches.twitch.ad.video.fingerprints.ContentConfigShowAdsFingerprint
import app.revanced.patches.twitch.ad.video.fingerprints.GetReadyToShowAdFingerprint
import app.revanced.patches.twitch.misc.integrations.patch.IntegrationsPatch
import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
@@ -27,20 +27,63 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
@Description("Blocks video ads in streams and VODs.")
@VideoAdsCompatibility
@Version("0.0.1")
class VideoAdsPatch : BytecodePatch(
class VideoAdsPatch : AbstractAdPatch(
"Lapp/revanced/twitch/patches/VideoAdsPatch;->shouldBlockVideoAds()Z",
"show_video_ads",
listOf(
ContentConfigShowAdsFingerprint,
AdsManagerFingerprint,
CheckAdEligibilityLambdaFingerprint
CheckAdEligibilityLambdaFingerprint,
GetReadyToShowAdFingerprint
)
) {
private fun createConditionInstructions(register: String = "v0") = """
invoke-static { }, Lapp/revanced/twitch/patches/VideoAdsPatch;->shouldBlockVideoAds()Z
move-result $register
if-eqz $register, :show_video_ads
"""
override fun execute(context: BytecodeContext): PatchResult {
/* Amazon ads SDK */
context.blockMethods(
"Lcom/amazon/ads/video/player/AdsManagerImpl;",
"playAds"
)
/* Twitch ads manager */
context.blockMethods(
"Ltv/twitch/android/shared/ads/VideoAdManager;",
"checkAdEligibilityAndRequestAd", "requestAd", "requestAds"
)
/* Various ad presenters */
context.blockMethods(
"Ltv/twitch/android/shared/ads/AdsPlayerPresenter;",
"requestAd", "requestFirstAd", "requestFirstAdIfEligible", "requestMidroll", "requestAdFromMultiAdFormatEvent"
)
context.blockMethods(
"Ltv/twitch/android/shared/ads/AdsVodPlayerPresenter;",
"requestAd", "requestFirstAd",
)
context.blockMethods(
"Ltv/twitch/android/feature/theatre/ads/AdEdgeAllocationPresenter;",
"parseAdAndCheckEligibility", "requestAdsAfterEligibilityCheck", "showAd", "bindMultiAdFormatAllocation"
)
/* A/B ad testing experiments */
context.blockMethods(
"Ltv/twitch/android/provider/experiments/helpers/DisplayAdsExperimentHelper;",
"areDisplayAdsEnabled",
returnMethod = ReturnMethod('Z', "0")
)
context.blockMethods(
"Ltv/twitch/android/shared/ads/tracking/MultiFormatAdsTrackingExperiment;",
"shouldUseMultiAdFormatTracker", "shouldUseVideoAdTracker",
returnMethod = ReturnMethod('Z', "0")
)
context.blockMethods(
"Ltv/twitch/android/shared/ads/MultiformatAdsExperiment;",
"shouldDisableClientSideLivePreroll", "shouldDisableClientSideVodPreroll",
returnMethod = ReturnMethod('Z', "1")
)
// Pretend our player is ineligible for all ads
with(CheckAdEligibilityLambdaFingerprint.result!!) {
mutableMethod.addInstructions(
@@ -52,7 +95,22 @@ class VideoAdsPatch : BytecodePatch(
move-result-object p0
return-object p0
""",
listOf(ExternalLabel("show_video_ads", mutableMethod.instruction(0)))
listOf(ExternalLabel(skipLabelName, mutableMethod.instruction(0)))
)
}
with(GetReadyToShowAdFingerprint.result!!) {
val adFormatDeclined = "Ltv/twitch/android/shared/display/ads/theatre/StreamDisplayAdsPresenter\$Action\$AdFormatDeclined;"
mutableMethod.addInstructions(
0,
"""
${createConditionInstructions()}
sget-object p2, $adFormatDeclined->INSTANCE:$adFormatDeclined
invoke-static {p1, p2}, Ltv/twitch/android/core/mvp/presenter/StateMachineKt;->plus(Ltv/twitch/android/core/mvp/presenter/PresenterState;Ltv/twitch/android/core/mvp/presenter/PresenterAction;)Ltv/twitch/android/core/mvp/presenter/StateAndAction;
move-result-object p1
return-object p1
""",
listOf(ExternalLabel(skipLabelName, mutableMethod.instruction(0)))
)
}
@@ -61,24 +119,12 @@ class VideoAdsPatch : BytecodePatch(
mutableMethod.addInstructions(0, """
${createConditionInstructions()}
const/4 v0, 0
:show_video_ads
:$skipLabelName
return v0
"""
)
}
// Block playAds call
with(AdsManagerFingerprint.result!!) {
mutableMethod.addInstructions(
0,
"""
${createConditionInstructions()}
return-void
""",
listOf(ExternalLabel("show_video_ads", mutableMethod.instruction(0)))
)
}
SettingsPatch.PreferenceScreen.ADS.CLIENT_SIDE.addPreferences(
SwitchPreference(
"revanced_block_video_ads",

View File

@@ -173,6 +173,7 @@ class SettingsPatch : BytecodePatch(
val GENERAL = CustomCategory("general", "General settings")
val OTHER = CustomCategory("other", "Other settings")
val CLIENT_SIDE = CustomCategory("client_ads", "Client-side ads")
val SURESTREAM = CustomCategory("surestream_ads", "Server-side surestream ads")
internal inner class CustomCategory(key: String, title: String) : Screen.Category(key, title) {
/* For Twitch, we need to load our CustomPreferenceCategory class instead of the default one. */

View File

@@ -25,7 +25,7 @@ import org.jf.dexlib2.iface.reference.StringReference
@Patch
@Name("timeline-ads")
@Description("Removes ads from the Twitter timeline.")
@Description("Removes ads from the Twitter timeline. Might require clearing app data to remove already cached ads.")
@TimelineAdsCompatibility
@Version("0.0.1")
class TimelineAdsPatch : BytecodePatch(

View File

@@ -1,13 +1,13 @@
package app.revanced.patches.youtube.misc.fix.playback.annotations
package app.revanced.patches.twitter.layout.hideviews.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility(
[Package(
"com.google.android.youtube", arrayOf("17.45.36")
"com.twitter.android", arrayOf("9.69.1-release.0")
)]
)
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class FixPlaybackCompatibility
internal annotation class HideViewsCompatibility

View File

@@ -0,0 +1,15 @@
package app.revanced.patches.twitter.layout.hideviews.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object InlineActionTypesFingerprint : MethodFingerprint(
returnType = "Ljava/util/List",
access = AccessFlags.PUBLIC or AccessFlags.STATIC,
strings = listOf(
"getCurrentMemoizing()",
"android_animated_reply_icon_enabled",
"reply_voting_android_position_before_favorite_enabled"
)
)

View File

@@ -0,0 +1,22 @@
package app.revanced.patches.twitter.layout.hideviews.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode
object TweetStatsContainerConstructorFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
parameters = listOf("L"),
opcodes = listOf(
Opcode.INVOKE_DIRECT,
Opcode.IPUT_OBJECT,
Opcode.CONST,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.CHECK_CAST,
Opcode.CONST_4,
Opcode.INVOKE_VIRTUAL,
Opcode.INVOKE_VIRTUAL
)
)

View File

@@ -0,0 +1,22 @@
package app.revanced.patches.twitter.layout.hideviews.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode
object TweetStatsContainerWrapperConstructorFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
parameters = listOf("L"),
opcodes = listOf(
Opcode.INVOKE_DIRECT,
Opcode.IPUT_OBJECT,
Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT,
Opcode.IPUT_OBJECT,
Opcode.IGET_OBJECT,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.IPUT_OBJECT
)
)

View File

@@ -0,0 +1,26 @@
package app.revanced.patches.twitter.layout.hideviews.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode
object TweetStatsViewDelegateBinderFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf(
Opcode.NEW_INSTANCE,
Opcode.CONST_16,
Opcode.INVOKE_DIRECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.IGET_OBJECT,
Opcode.NEW_INSTANCE,
Opcode.CONST_16,
Opcode.INVOKE_DIRECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.RETURN_OBJECT
)
)

View File

@@ -0,0 +1,114 @@
package app.revanced.patches.twitter.layout.hideviews.patch
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.removeInstruction
import app.revanced.patcher.extensions.removeInstructions
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprintResult
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.twitter.layout.hideviews.fingerprints.InlineActionTypesFingerprint
import app.revanced.patches.twitter.layout.hideviews.fingerprints.TweetStatsContainerConstructorFingerprint
import app.revanced.patches.twitter.layout.hideviews.fingerprints.TweetStatsContainerWrapperConstructorFingerprint
import app.revanced.patches.twitter.layout.hideviews.fingerprints.TweetStatsViewDelegateBinderFingerprint
import org.jf.dexlib2.Opcode
class HideViewsBytecodePatch : BytecodePatch(
listOf(
InlineActionTypesFingerprint,
TweetStatsContainerWrapperConstructorFingerprint,
TweetStatsContainerConstructorFingerprint,
TweetStatsViewDelegateBinderFingerprint
)
) {
override fun execute(context: BytecodeContext): PatchResult {
removeViewsFromTimeline(context)
removeTweetStatViewInitializer(context)
removeTweetStatViewWrapperInitializer(context)
removeViewDelegateBinderSubscription()
return PatchResultSuccess()
}
private fun removeViewsFromTimeline(context: BytecodeContext) {
val addViewsToActionBarMethodFingerprint = object : MethodFingerprint(
opcodes = listOf(
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT,
Opcode.IF_EQZ,
Opcode.SGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.IF_EQZ,
)
) {}
transformMethodAtPattern(
context,
InlineActionTypesFingerprint,
addViewsToActionBarMethodFingerprint
) { patternScanResult, method ->
method.removeInstruction(patternScanResult.endIndex - 1)
}
}
private fun removeTweetStatViewInitializer(context: BytecodeContext) {
val returnFingerprint = object : MethodFingerprint(
opcodes = listOf(Opcode.RETURN_VOID)
) {}
transformMethodAtPattern(
context,
TweetStatsContainerConstructorFingerprint,
returnFingerprint
) { patternScanResult, method ->
method.removeInstructions(patternScanResult.endIndex - 3, 2)
}
}
private fun removeTweetStatViewWrapperInitializer(context: BytecodeContext) {
val wrapperReturnFingerprint = object : MethodFingerprint(
opcodes = listOf(
Opcode.IGET_OBJECT,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT_OBJECT,
Opcode.IPUT_OBJECT,
Opcode.RETURN_VOID,
)
) {}
transformMethodAtPattern(
context,
TweetStatsContainerWrapperConstructorFingerprint,
wrapperReturnFingerprint
) { patternScanResult, method ->
method.removeInstructions(patternScanResult.startIndex - 4, 3)
}
}
private fun removeViewDelegateBinderSubscription() {
transformMethod(TweetStatsViewDelegateBinderFingerprint) { result, method ->
method.removeInstructions(result.scanResult.patternScanResult!!.startIndex - 4, 9)
}
}
private fun transformMethodAtPattern(
context: BytecodeContext, methodFingerprint: MethodFingerprint,
patternFingerprint: MethodFingerprint, transformer: TransformerAtPattern
) {
transformMethod(methodFingerprint) { result, method ->
val patternResult = patternFingerprint.also {
it.resolve(context, method, result.classDef)
}.result!!
transformer(patternResult.scanResult.patternScanResult!!, method)
}
}
private fun transformMethod(methodFingerprint: MethodFingerprint, transformer: Transformer) {
val result = methodFingerprint.result!!
val method = result.mutableMethod
transformer(result, method)
}
}
private typealias Transformer = (MethodFingerprintResult, MutableMethod) -> Unit
private typealias TransformerAtPattern = (MethodFingerprintResult.MethodFingerprintScanResult.PatternScanResult, MutableMethod) -> Unit

View File

@@ -0,0 +1,34 @@
package app.revanced.patches.twitter.layout.hideviews.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.*
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.twitter.layout.hideviews.annotations.HideViewsCompatibility
import org.w3c.dom.Element
@Patch
@DependsOn([HideViewsBytecodePatch::class])
@Name("hide-views-stats")
@Description("Hides the view stats under tweets.")
@HideViewsCompatibility
@Version("0.0.1")
class HideViewsResourcePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
arrayOf(
"res/layout/condensed_tweet_stats.xml",
"res/layout/focal_tweet_stats.xml"
).forEach { file ->
context.xmlEditor[file].use { editor ->
val tags = editor.file.getElementsByTagName("com.twitter.ui.tweet.TweetStatView")
List(tags.length) { tags.item(it) as Element }
.filter { it.getAttribute("android:id").contains("views_stat") }
.forEach { it.parentNode.removeChild(it) }
}
}
return PatchResultSuccess()
}
}

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[Package(
"com.google.android.youtube", arrayOf("17.45.36")
"com.google.android.youtube", arrayOf("17.49.37", "18.03.36")
)]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -17,6 +17,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.youtube.ad.general.annotation.GeneralAdsCompatibility
import app.revanced.patches.youtube.ad.general.bytecode.fingerprints.ReelConstructorFingerprint
import app.revanced.patches.youtube.ad.general.resource.patch.GeneralAdsResourcePatch
import app.revanced.patches.youtube.misc.fix.backtoexitgesture.patch.FixBackToExitGesturePatch
import app.revanced.patches.youtube.misc.fix.verticalscroll.patch.VerticalScrollPatch
import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction
import org.jf.dexlib2.iface.instruction.formats.Instruction31i
@@ -24,7 +25,7 @@ import org.jf.dexlib2.iface.instruction.formats.Instruction35c
@Patch
@DependsOn([GeneralAdsResourcePatch::class, VerticalScrollPatch::class])
@DependsOn([GeneralAdsResourcePatch::class, VerticalScrollPatch::class, FixBackToExitGesturePatch::class])
@Name("general-ads")
@Description("Removes general ads.")
@GeneralAdsCompatibility

View File

@@ -7,22 +7,21 @@ import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patches.shared.mapping.misc.patch.ResourceMappingPatch
import app.revanced.patches.shared.settings.preference.impl.InputType
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.shared.settings.preference.impl.TextPreference
import app.revanced.patches.shared.settings.preference.impl.*
import app.revanced.patches.youtube.ad.general.annotation.GeneralAdsCompatibility
import app.revanced.patches.youtube.misc.litho.filter.patch.LithoFilterPatch
import app.revanced.patches.youtube.misc.manifest.patch.FixLocaleConfigErrorPatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch.PreferenceScreen
@DependsOn(dependencies = [
FixLocaleConfigErrorPatch::class,
LithoFilterPatch::class,
SettingsPatch::class,
ResourceMappingPatch::class
])
@DependsOn(
dependencies = [
FixLocaleConfigErrorPatch::class,
LithoFilterPatch::class,
SettingsPatch::class,
ResourceMappingPatch::class
]
)
@GeneralAdsCompatibility
@Version("0.0.1")
class GeneralAdsResourcePatch : ResourcePatch {
@@ -32,20 +31,42 @@ class GeneralAdsResourcePatch : ResourcePatch {
}
override fun execute(context: ResourceContext): PatchResult {
PreferenceScreen.ADS.addPreferences(
PreferenceScreen.LAYOUT.addPreferences(
SwitchPreference(
"revanced_adremover_ad_removal",
StringResource("revanced_adremover_ad_removal_enabled_title", "Hide general ads"),
"revanced_adremover_separator",
StringResource("revanced_adremover_separator_title", "Hide gray separator"),
true,
StringResource("revanced_adremover_ad_removal_enabled_summary_on", "General ads are hidden"),
StringResource("revanced_adremover_ad_removal_enabled_summary_off", "General ads are shown")
StringResource("revanced_adremover_separator_summary_on", "Gray separators are hidden"),
StringResource("revanced_adremover_separator_summary_off", "Gray separators are shown")
),
SwitchPreference(
"revanced_adremover_buttoned",
StringResource("revanced_adremover_buttoned_enabled_title", "Hide buttoned ad"),
"revanced_adremover_hide_channel_guidelines",
StringResource("revanced_adremover_hide_channel_guidelines_enabled_title", "Hide channel guidelines"),
true,
StringResource("revanced_adremover_buttoned_enabled_summary_on", "Buttoned ads are hidden"),
StringResource("revanced_adremover_buttoned_enabled_summary_off", "Buttoned ads are shown")
StringResource(
"revanced_adremover_hide_channel_guidelines_enabled_summary_on",
"Channel guidelines are hidden"
),
StringResource(
"revanced_adremover_hide_channel_guidelines_enabled_summary_off",
"Channel guidelines are shown"
)
),
SwitchPreference(
"revanced_adremover_chapter_teaser",
StringResource(
"revanced_adremover_chapter_teaser_enabled_title",
"Hide chapter teaser under videos"
),
true,
StringResource(
"revanced_adremover_chapter_teaser_enabled_summary_on",
"Chapter teasers are hidden"
),
StringResource(
"revanced_adremover_chapter_teaser_enabled_summary_off",
"Chapter teasers are shown"
)
),
SwitchPreference(
"revanced_adremover_merchandise",
@@ -102,6 +123,35 @@ class GeneralAdsResourcePatch : ResourcePatch {
"Community guidelines are shown"
)
),
SwitchPreference(
"revanced_adremover_subscribers_community_guidelines_removal",
StringResource(
"revanced_adremover_subscribers_community_guidelines_enabled_title",
"Hide subscribers community guidelines"
),
true,
StringResource(
"revanced_adremover_subscribers_community_guidelines_enabled_summary_on",
"Subscribers community guidelines are hidden"
),
StringResource(
"revanced_adremover_subscribers_community_guidelines_enabled_summary_off",
"Subscribers community guidelines are shown"
)
),
SwitchPreference(
"revanced_adremover_channel_member_shelf_removal",
StringResource("revanced_adremover_channel_member_shelf_enabled_title", "Hide channel member shelf"),
true,
StringResource(
"revanced_adremover_channel_member_shelf_enabled_summary_on",
"Channel member shelf is hidden"
),
StringResource(
"revanced_adremover_channel_member_shelf_enabled_summary_off",
"Channel member shelf is shown"
)
),
SwitchPreference(
"revanced_adremover_emergency_box_removal",
StringResource("revanced_adremover_emergency_box_enabled_title", "Hide emergency boxes"),
@@ -123,6 +173,23 @@ class GeneralAdsResourcePatch : ResourcePatch {
StringResource("revanced_adremover_medical_panel_enabled_summary_on", "Medical panels are hidden"),
StringResource("revanced_adremover_medical_panel_enabled_summary_off", "Medical panels are shown")
),
)
PreferenceScreen.ADS.addPreferences(
SwitchPreference(
"revanced_adremover_ad_removal",
StringResource("revanced_adremover_ad_removal_enabled_title", "Hide general ads"),
true,
StringResource("revanced_adremover_ad_removal_enabled_summary_on", "General ads are hidden"),
StringResource("revanced_adremover_ad_removal_enabled_summary_off", "General ads are shown")
),
SwitchPreference(
"revanced_adremover_buttoned",
StringResource("revanced_adremover_buttoned_enabled_title", "Hide buttoned ad"),
true,
StringResource("revanced_adremover_buttoned_enabled_summary_on", "Buttoned ads are hidden"),
StringResource("revanced_adremover_buttoned_enabled_summary_off", "Buttoned ads are shown")
),
SwitchPreference(
"revanced_adremover_paid_content",
StringResource("revanced_adremover_paid_content_enabled_title", "Hide paid content"),
@@ -130,13 +197,6 @@ class GeneralAdsResourcePatch : ResourcePatch {
StringResource("revanced_adremover_paid_content_enabled_summary_on", "Paid content is hidden"),
StringResource("revanced_adremover_paid_content_enabled_summary_off", "Paid content is shown")
),
SwitchPreference(
"revanced_adremover_hide_suggestions",
StringResource("revanced_adremover_hide_suggestions_enabled_title", "Hide suggestions"),
true,
StringResource("revanced_adremover_hide_suggestions_enabled_summary_on", "Suggestions are hidden"),
StringResource("revanced_adremover_hide_suggestions_enabled_summary_off", "Suggestions are shown")
),
SwitchPreference(
"revanced_adremover_hide_latest_posts",
StringResource("revanced_adremover_hide_latest_posts_enabled_title", "Hide latest posts"),
@@ -144,19 +204,6 @@ class GeneralAdsResourcePatch : ResourcePatch {
StringResource("revanced_adremover_hide_latest_posts_enabled_summary_on", "Latest posts are hidden"),
StringResource("revanced_adremover_hide_latest_posts_enabled_summary_off", "Latest posts are shown")
),
SwitchPreference(
"revanced_adremover_hide_channel_guidelines",
StringResource("revanced_adremover_hide_channel_guidelines_enabled_title", "Hide channel guidelines"),
true,
StringResource(
"revanced_adremover_hide_channel_guidelines_enabled_summary_on",
"Channel guidelines are hidden"
),
StringResource(
"revanced_adremover_hide_channel_guidelines_enabled_summary_off",
"Channel guidelines are shown"
)
),
SwitchPreference(
"revanced_adremover_self_sponsor",
StringResource("revanced_adremover_self_sponsor_enabled_title", "Hide self sponsored cards"),
@@ -164,30 +211,7 @@ class GeneralAdsResourcePatch : ResourcePatch {
StringResource("revanced_adremover_self_sponsor_enabled_summary_on", "Self sponsored cards are hidden"),
StringResource("revanced_adremover_self_sponsor_enabled_summary_off", "Self sponsored cards are shown")
),
SwitchPreference(
"revanced_adremover_separator",
StringResource("revanced_adremover_separator_title", "Hide gray separator"),
true,
StringResource("revanced_adremover_separator_summary_on", "Gray separators are hidden"),
StringResource("revanced_adremover_separator_summary_off", "Gray separators are shown")
),
SwitchPreference(
"revanced_adremover_chapter_teaser",
StringResource(
"revanced_adremover_chapter_teaser_enabled_title",
"Hide chapter teaser under videos"
),
true,
StringResource(
"revanced_adremover_chapter_teaser_enabled_summary_on",
"Chapter teasers are hidden"
),
StringResource(
"revanced_adremover_chapter_teaser_enabled_summary_off",
"Chapter teasers are shown"
)
),
app.revanced.patches.shared.settings.preference.impl.PreferenceScreen(
PreferenceScreen(
"revanced_adremover_custom",
StringResource("revanced_adremover_custom_title", "Custom filter"),
listOf(
@@ -207,7 +231,7 @@ class GeneralAdsResourcePatch : ResourcePatch {
"Custom filter is disabled"
)
),
// TODO: This should be a ListPreference, which does not exist yet
// TODO: This should be a dynamic ListPreference, which does not exist yet
TextPreference(
"revanced_adremover_custom_strings",
StringResource("revanced_adremover_custom_strings_title", "Custom filter"),

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[Package(
"com.google.android.youtube", arrayOf("17.45.36")
"com.google.android.youtube", arrayOf("17.49.37", "18.03.36")
)]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -16,12 +16,11 @@ import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.youtube.ad.video.annotations.VideoAdsCompatibility
import app.revanced.patches.youtube.ad.video.fingerprints.LoadVideoAdsFingerprint
import app.revanced.patches.youtube.misc.fix.playback.patch.FixPlaybackPatch
import app.revanced.patches.youtube.misc.integrations.patch.IntegrationsPatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
@Patch
@DependsOn([IntegrationsPatch::class, SettingsPatch::class, FixPlaybackPatch::class])
@DependsOn([IntegrationsPatch::class, SettingsPatch::class])
@Name("video-ads")
@Description("Removes ads in the video player.")
@VideoAdsCompatibility

View File

@@ -0,0 +1,13 @@
package app.revanced.patches.youtube.interaction.copyvideourl.annotation
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package
@Compatibility(
[
Package("com.google.android.youtube", arrayOf("17.49.37", "18.03.36"))
]
)
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
internal annotation class CopyVideoUrlCompatibility

View File

@@ -0,0 +1,49 @@
package app.revanced.patches.youtube.interaction.copyvideourl.bytecode.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.interaction.copyvideourl.annotation.CopyVideoUrlCompatibility
import app.revanced.patches.youtube.interaction.copyvideourl.resource.patch.CopyVideoUrlResourcePatch
import app.revanced.patches.youtube.misc.playercontrols.bytecode.patch.PlayerControlsBytecodePatch
import app.revanced.patches.youtube.misc.video.information.patch.VideoInformationPatch
@Patch
@Name("copy-video-url")
@Description("Adds buttons in player to copy video links.")
@DependsOn([
CopyVideoUrlResourcePatch::class,
PlayerControlsBytecodePatch::class,
VideoInformationPatch::class
])
@CopyVideoUrlCompatibility
@Version("0.0.1")
class CopyVideoUrlBytecodePatch : BytecodePatch() {
private companion object {
const val INTEGRATIONS_PACKAGE = "Lapp/revanced/integrations"
const val INTEGRATIONS_PLAYER_PACKAGE = "$INTEGRATIONS_PACKAGE/videoplayer"
val BUTTONS_DESCRIPTORS = listOf(
"$INTEGRATIONS_PLAYER_PACKAGE/CopyVideoUrlButton;",
"$INTEGRATIONS_PLAYER_PACKAGE/CopyVideoUrlTimestampButton;"
)
}
override fun execute(context: BytecodeContext): PatchResult {
// Initialize buttons and inject visibility control
BUTTONS_DESCRIPTORS.forEach { descriptor ->
val initializeButtonDescriptor = "$descriptor->initializeButton(Ljava/lang/Object;)V"
val visibilityDescriptor = "$descriptor->changeVisibility(Z)V"
PlayerControlsBytecodePatch.initializeControl(initializeButtonDescriptor)
PlayerControlsBytecodePatch.injectVisibilityCheckCall(visibilityDescriptor)
}
return PatchResultSuccess()
}
}

View File

@@ -0,0 +1,62 @@
package app.revanced.patches.youtube.interaction.copyvideourl.resource.patch
import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name
import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.ResourceContext
import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patches.shared.settings.preference.impl.PreferenceScreen
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.youtube.interaction.copyvideourl.annotation.CopyVideoUrlCompatibility
import app.revanced.patches.youtube.misc.manifest.patch.FixLocaleConfigErrorPatch
import app.revanced.patches.youtube.misc.playercontrols.resource.patch.BottomControlsResourcePatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.copyResources
@Name("copy-video-url-resource")
@Description("Makes necessary changes to resources for copy video link buttons.")
@DependsOn([BottomControlsResourcePatch::class, FixLocaleConfigErrorPatch::class, SettingsPatch::class])
@CopyVideoUrlCompatibility
@Version("0.0.1")
class CopyVideoUrlResourcePatch : ResourcePatch {
override fun execute(context: ResourceContext): PatchResult {
SettingsPatch.PreferenceScreen.INTERACTIONS.addPreferences(
PreferenceScreen(
"revanced_copy_video_url",
StringResource("revanced_copy_video_url_title", "Copy video URL settings"),
listOf(
SwitchPreference(
"revanced_copy_video_url",
StringResource("revanced_copy_video_url_enabled_title", "Show copy video URL button"),
true,
StringResource("revanced_copy_video_url_enabled_summary_on", "Button is shown, click to copy video URL without timestamp"),
StringResource("revanced_copy_video_url_enabled_summary_off", "Button is not shown")
),
SwitchPreference(
"revanced_copy_video_url_timestamp",
StringResource("revanced_copy_video_url_timestamp_enabled_title", "Show copy timestamp URL button"),
true,
StringResource("revanced_copy_video_url_timestamp_enabled_summary_on", "Button is shown, click to copy video URL with timestamp"),
StringResource("revanced_copy_video_url_timestamp_enabled_summary_off", "Button is not shown")
)
),
StringResource("revanced_copy_video_url_summary", "Settings related to copy URL buttons in video player")
)
)
context.copyResources("copyvideourl", ResourceUtils.ResourceGroup(
resourceDirectoryName = "drawable",
"revanced_yt_copy.xml",
"revanced_yt_copy_timestamp.xml"
))
BottomControlsResourcePatch.addControls("copyvideourl/host/layout/${BottomControlsResourcePatch.TARGET_RESOURCE_NAME}")
return PatchResultSuccess()
}
}

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[Package(
"com.google.android.youtube", arrayOf("17.45.36")
"com.google.android.youtube", arrayOf("17.49.37", "18.03.36")
)]
)
@Target(AnnotationTarget.CLASS)

View File

@@ -12,11 +12,11 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.interaction.downloads.annotation.DownloadsCompatibility
import app.revanced.patches.youtube.interaction.downloads.resource.patch.DownloadsResourcePatch
import app.revanced.patches.youtube.misc.playercontrols.bytecode.patch.PlayerControlsBytecodePatch
import app.revanced.patches.youtube.misc.video.videoid.patch.VideoIdPatch
import app.revanced.patches.youtube.misc.video.information.patch.VideoInformationPatch
@Patch
@Name("downloads")
@DependsOn([DownloadsResourcePatch::class, PlayerControlsBytecodePatch::class, VideoIdPatch::class])
@DependsOn([DownloadsResourcePatch::class, PlayerControlsBytecodePatch::class, VideoInformationPatch::class])
@Description("Enables downloading music and videos from YouTube.")
@DownloadsCompatibility
@Version("0.0.1")
@@ -29,7 +29,7 @@ class DownloadsBytecodePatch : BytecodePatch() {
initialize the control
*/
val initializeDownloadsDescriptor = "$classDescriptor->initializeDownloadButton(Ljava/lang/Object;)V"
val initializeDownloadsDescriptor = "$classDescriptor->initializeButton(Ljava/lang/Object;)V"
PlayerControlsBytecodePatch.initializeControl(initializeDownloadsDescriptor)
/*
@@ -39,14 +39,6 @@ class DownloadsBytecodePatch : BytecodePatch() {
val changeVisibilityDescriptor = "$classDescriptor->changeVisibility(Z)V"
PlayerControlsBytecodePatch.injectVisibilityCheckCall(changeVisibilityDescriptor)
/*
add code to change to update the video id
*/
val setVideoIdDescriptor =
"L$integrationsPackage/patches/downloads/DownloadsPatch;->setVideoId(Ljava/lang/String;)V"
VideoIdPatch.injectCall(setVideoIdDescriptor)
return PatchResultSuccess()
}
}

View File

@@ -8,18 +8,14 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.ResourcePatch
import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.shared.settings.preference.impl.TextPreference
import app.revanced.patches.shared.settings.preference.impl.InputType
import app.revanced.patches.shared.settings.preference.impl.PreferenceScreen
import app.revanced.patches.shared.settings.preference.impl.*
import app.revanced.patches.youtube.interaction.downloads.annotation.DownloadsCompatibility
import app.revanced.patches.youtube.misc.manifest.patch.FixLocaleConfigErrorPatch
import app.revanced.patches.youtube.misc.playercontrols.resource.patch.BottomControlsResourcePatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.Settings.mergeStrings
import app.revanced.util.resources.ResourceUtils.copyResources
import app.revanced.util.resources.ResourceUtils.mergeStrings
@Name("downloads-resource-patch")
@DependsOn([BottomControlsResourcePatch::class, FixLocaleConfigErrorPatch::class, SettingsPatch::class])
@@ -37,8 +33,8 @@ class DownloadsResourcePatch : ResourcePatch {
"revanced_downloads",
StringResource("revanced_downloads_enabled_title", "Show download button"),
true,
StringResource("revanced_downloads_enabled_summary_on", "Download button is visible"),
StringResource("revanced_downloads_enabled_summary_off", "Download button is hidden")
StringResource("revanced_downloads_enabled_summary_on", "Download button is shown"),
StringResource("revanced_downloads_enabled_summary_off", "Download button is not shown")
),
TextPreference(
"revanced_downloads_package_name",

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.annotation.Package
@Compatibility(
[Package(
"com.google.android.youtube", arrayOf("17.45.36")
"com.google.android.youtube", arrayOf("17.49.37", "18.03.36")
)]
)
@Target(AnnotationTarget.CLASS)

Some files were not shown because too many files have changed in this diff Show More