Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat(Mi Fitness): Add Force English locale and Fix login patch #2734

Merged
merged 11 commits into from
Mar 25, 2024

Conversation

pisek
Copy link
Contributor

@pisek pisek commented Feb 15, 2024

Added patches for MiFitness to get Mi Band CN version to use english language without changing the phone locale to EN

override fun execute(context: BytecodeContext) {
LoginFingerprint.result?.mutableMethod?.addInstruction(
0,
"const/4 p2, 0x0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure parameter 2 is never gonna change?

Copy link
Contributor Author

@pisek pisek Feb 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, no i am not sure as i am not the owner of the original app;)
Any proposal of how to do it in a better way?
It is a constructor fingerprint that takes boolean as second param. This param, if false, disables Android phone account login and enables login/password login

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this parameter is used somewhere in the code, you can obtain it from one of the instructions. If the compiled code updates the register count, the parameter 2 shifts accordingly, but since you'd obtain it from an existing instruction, you'd correctly reference the necessary register.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pisek The parameter seems still to be hardcoded

Copy link
Contributor Author

@pisek pisek Mar 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oSumAtrIX , what do you mean?
I have changed XiaomiAccountManagerConstructorFingerprint to point directly to the param that i need.

package app.revanced.patches.mifitness.misc.login.fingerprints

import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags

internal object XiaomiAccountManagerConstructorFingerprint : MethodFingerprint(
    accessFlags = AccessFlags.PRIVATE or AccessFlags.CONSTRUCTOR,
    customFingerprint = { methodDef, _ ->
        methodDef.definingClass == "Lcom/xiaomi/passport/accountmanager/XiaomiAccountManager;"
    },
    parameters = listOf(
        "Landroid/content/Context;",
        "Z",
    ),
)

So in this case i will always use 2nd param - boolean.

The instruction that uses p2 is if-nez p2, :cond_0

What do you propose?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case, the fingerprint could fail to resolve, which is about as fatal as the parameter changing because the patch would stop working in both cases. Instead, if you obtain the register from an existing instruction, the failure would be reduced down to the instruction shifting changing or moving. For now this is fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, i have updated the code to get the reg from instruction. Could you re-review?

@pisek pisek requested a review from oSumAtrIX February 19, 2024 12:02
override fun execute(context: BytecodeContext) {
LoginFingerprint.result?.mutableMethod?.addInstruction(
0,
"const/4 p2, 0x0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this parameter is used somewhere in the code, you can obtain it from one of the instructions. If the compiled code updates the register count, the parameter 2 shifts accordingly, but since you'd obtain it from an existing instruction, you'd correctly reference the necessary register.

@pisek
Copy link
Contributor Author

pisek commented Feb 26, 2024

Could anyone of you guy take a look at what is wrong with the build?
Error: Input required and not supplied: gpg_private_key
I am not sure what to do with it...

@LisoUseInAIKyrios
Copy link
Contributor

Try rebasing off dev branch (or merge dev and accept dev branch for the conflicts)

@oSumAtrIX
Copy link
Member

The GPG key is necessary for the publication tasks; this is not relevant in the build task:

image

@LisoUseInAIKyrios
Copy link
Contributor

Could anyone of you guy take a look at what is wrong with the build? Error: Input required and not supplied: gpg_private_key I am not sure what to do with it...

The error is only on your GitHub branch because you don't have a publishing key setup to create GitHub releases. You can ignore the error.

This PR branch is building locally for me without any issues.

@pisek
Copy link
Contributor Author

pisek commented Feb 29, 2024

Ok, so as I understand, it is ready to be merged :)

@LisoUseInAIKyrios LisoUseInAIKyrios marked this pull request as ready for review February 29, 2024 11:36
override fun execute(context: BytecodeContext) {
LoginFingerprint.result?.mutableMethod?.addInstruction(
0,
"const/4 p2, 0x0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pisek The parameter seems still to be hardcoded

@oSumAtrIX oSumAtrIX marked this pull request as draft March 2, 2024 07:28
@LisoUseInAIKyrios LisoUseInAIKyrios marked this pull request as ready for review March 19, 2024 16:08
@pisek pisek requested a review from oSumAtrIX March 20, 2024 11:37
@oSumAtrIX oSumAtrIX changed the title feat(Mi Fitness): MiBand CN language fix + app login to mi servers feat(Mi Fitness): Add Force English locale patch Mar 25, 2024
@oSumAtrIX oSumAtrIX changed the title feat(Mi Fitness): Add Force English locale patch feat(Mi Fitness): Add Force English locale and `Fix login´ patch Mar 25, 2024
@oSumAtrIX oSumAtrIX changed the title feat(Mi Fitness): Add Force English locale and `Fix login´ patch feat(Mi Fitness): Add Force English locale and Fix login patch Mar 25, 2024
@oSumAtrIX oSumAtrIX merged commit 7a25791 into ReVanced:dev Mar 25, 2024
2 checks passed
Copy link

welcome bot commented Mar 25, 2024

Thank you for contributing to ReVanced. Join us on Discord to receive a role for your contribution.

revanced-bot pushed a commit that referenced this pull request Mar 25, 2024
# [4.4.0-dev.11](v4.4.0-dev.10...v4.4.0-dev.11) (2024-03-25)

### Features

* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([#2734](#2734)) ([7a25791](7a25791))
* **Sync for Lemmy:** Add `Disable ads` patch ([#2872](#2872)) ([0785819](0785819))
revanced-bot pushed a commit that referenced this pull request Mar 27, 2024
# [4.4.0](v4.3.0...v4.4.0) (2024-03-27)

### Bug Fixes

* **TikTok:** Hook application context earlier to prevent crash ([#2893](#2893)) ([395ccda](395ccda))
* **YouTube - Client spoof:** Spoof all user agents ([44a8a13](44a8a13))
* **YouTube - Downloads:** Use new task context ([#2841](#2841)) ([6d88cb4](6d88cb4))
* **YouTube - Hide ads:** Prevent app crash if hiding fullscreen ads is not possible ([#2910](#2910)) ([9f50470](9f50470))
* **YouTube Music:** Fix compatibility with latest versions ([#2924](#2924)) ([8378c84](8378c84))
* **YouTube:** Fix video playback by switching to ReVanced GmsCore vendor ([#2907](#2907)) ([33ea122](33ea122))
* **YouTube:** Move setting to correct screen ([a16eda8](a16eda8))

### Features

* **Instagram - Hide timeline ads:** Make compatible with latest versions ([a212f29](a212f29))
* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([#2734](#2734)) ([7a25791](7a25791))
* **Sync for Lemmy:** Add `Disable ads` patch ([#2872](#2872)) ([0785819](0785819))
* **YouTube - Downloads:** Use external downloader when selecting 'Download' in home feed flyout menu ([#2881](#2881)) ([10afc8c](10afc8c))
* **YouTube - External downloader:** Add ability to use in-app download button ([d900011](d900011))
* **YouTube - Hide layout components:** Filter home/search results by keywords ([#2853](#2853)) ([5916204](5916204))
* **YouTube - Hide Shorts components:** Hide like and dislike buttons ([2df0892](2df0892))
* **YouTube - Hide Shorts components:** Hide sound metadata label ([ea7d1e0](ea7d1e0))
* **YouTube - Hide Shorts components:** Hide title and full video link label ([e7b64e1](e7b64e1))
* **YouTube - Hide Shorts components:** Selectively hide Shorts for home / subscription / search ([#2925](#2925)) ([497c067](497c067))
* **YouTube :** Remove `HDR auto brightness` patch ([#2863](#2863)) ([b4c7bf4](b4c7bf4))
* **YouTube Vanced:** Remove `Hide ads` patch ([87887e4](87887e4))
* **YouTube:** Support version `19.05`, `19.06`, `19.07`, `19.08` and `19.09` ([#2862](#2862)) ([f044dde](f044dde))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Mar 27, 2024
# [4.4.0](v4.3.0...v4.4.0) (2024-03-27)

### Bug Fixes

* **TikTok:** Hook application context earlier to prevent crash ([ReVanced#2893](https://github.com/E85Addict/revanced-patches/issues/2893)) ([395ccda](395ccda))
* **YouTube - Client spoof:** Spoof all user agents ([44a8a13](44a8a13))
* **YouTube - Downloads:** Use new task context ([ReVanced#2841](https://github.com/E85Addict/revanced-patches/issues/2841)) ([6d88cb4](6d88cb4))
* **YouTube - Hide ads:** Prevent app crash if hiding fullscreen ads is not possible ([ReVanced#2910](https://github.com/E85Addict/revanced-patches/issues/2910)) ([9f50470](9f50470))
* **YouTube Music:** Fix compatibility with latest versions ([ReVanced#2924](https://github.com/E85Addict/revanced-patches/issues/2924)) ([8378c84](8378c84))
* **YouTube:** Fix video playback by switching to ReVanced GmsCore vendor ([ReVanced#2907](https://github.com/E85Addict/revanced-patches/issues/2907)) ([33ea122](33ea122))
* **YouTube:** Move setting to correct screen ([a16eda8](a16eda8))

### Features

* **Instagram - Hide timeline ads:** Make compatible with latest versions ([a212f29](a212f29))
* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([ReVanced#2734](https://github.com/E85Addict/revanced-patches/issues/2734)) ([7a25791](7a25791))
* **Sync for Lemmy:** Add `Disable ads` patch ([ReVanced#2872](https://github.com/E85Addict/revanced-patches/issues/2872)) ([0785819](0785819))
* **YouTube - Downloads:** Use external downloader when selecting 'Download' in home feed flyout menu ([ReVanced#2881](https://github.com/E85Addict/revanced-patches/issues/2881)) ([10afc8c](10afc8c))
* **YouTube - External downloader:** Add ability to use in-app download button ([d900011](d900011))
* **YouTube - Hide layout components:** Filter home/search results by keywords ([ReVanced#2853](https://github.com/E85Addict/revanced-patches/issues/2853)) ([5916204](5916204))
* **YouTube - Hide Shorts components:** Hide like and dislike buttons ([2df0892](2df0892))
* **YouTube - Hide Shorts components:** Hide sound metadata label ([ea7d1e0](ea7d1e0))
* **YouTube - Hide Shorts components:** Hide title and full video link label ([e7b64e1](e7b64e1))
* **YouTube - Hide Shorts components:** Selectively hide Shorts for home / subscription / search ([ReVanced#2925](https://github.com/E85Addict/revanced-patches/issues/2925)) ([497c067](497c067))
* **YouTube :** Remove `HDR auto brightness` patch ([ReVanced#2863](https://github.com/E85Addict/revanced-patches/issues/2863)) ([b4c7bf4](b4c7bf4))
* **YouTube Vanced:** Remove `Hide ads` patch ([87887e4](87887e4))
* **YouTube:** Support version `19.05`, `19.06`, `19.07`, `19.08` and `19.09` ([ReVanced#2862](https://github.com/E85Addict/revanced-patches/issues/2862)) ([f044dde](f044dde))

### Performance Improvements

* Personal Logo && Add upstream sync ([5022724](5022724))
n-34 pushed a commit to n-34/revanced-patches that referenced this pull request May 22, 2024
# [4.0.0](v3.1.0...v4.0.0) (2024-05-22)

### Bug Fixes

* Case patch option title correctly ([259c8b4](259c8b4))
* Compile DEX without debugging information ([f5df957](f5df957))
* Correctly handle patches jar path if it contains exclamation marks ([056e2d7](056e2d7))
* Indent patch option description correctly ([bd86ef6](bd86ef6))
* **Infinity for Reddit - Unlock subscription:** Do not crash by patching billing client ([7d76e2e](7d76e2e))
* **Infinity for Reddit - Unlock subscription:** Restore functionality on v7.0.0 ([bf19af9](bf19af9))
* **Mi Fitness - Fix login:** Patch correct register ([ReVanced#2942](https://github.com/n-34/revanced-patches/issues/2942)) ([dc96942](dc96942))
* Only set Android key if not null to prevent build errors ([1181b0b](1181b0b))
* **Override certificate pinning:** Always overwrite with a generic network security configuration ([2a842a1](2a842a1))
* Publicize abstract property ([b7c108e](b7c108e))
* **Reddit is Fun - Spoof client:** Fix login by updating the authorization subdomain from "old" to "ssl" ([b156cb1](b156cb1))
* Remove extra space from patch description ([ReVanced#2780](https://github.com/n-34/revanced-patches/issues/2780)) ([96a3f35](96a3f35))
* **Spoof SIM country:** Validate patch option value correctly ([8105463](8105463))
* **Tiktok - Remember clear display:** Use correct name ([d7e44cb](d7e44cb))
* **TikTok:** Hook application context earlier to prevent crash ([ReVanced#2893](https://github.com/n-34/revanced-patches/issues/2893)) ([395ccda](395ccda))
* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/n-34/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **Tumblr:** Restore compatibility with latest versions ([ReVanced#2955](https://github.com/n-34/revanced-patches/issues/2955)) ([2954ba7](2954ba7))
* **Twitch:** Correct patch resources to fix build ([1b63898](1b63898))
* URL decode path to JAR containing spaces to get JAR manifest ([ReVanced#3079](https://github.com/n-34/revanced-patches/issues/3079)) ([e1bbcb3](e1bbcb3))
* Use correct preference key ([3732b2c](3732b2c))
* Use deprecated members to ensure backwards compatibility ([083bd40](083bd40))
* Use new integrations patch path ([51e2f3b](51e2f3b))
* Use UrlDecoder API available in older Android versions ([d42fbb1](d42fbb1))
* **YouTube - Alternative thumbnails:** Clarify DeArrow support is for thumbnails ([ReVanced#2531](https://github.com/n-34/revanced-patches/issues/2531)) ([828abb0](828abb0))
* **YouTube - Change header:** Improve patch descriptions ([ReVanced#2581](https://github.com/n-34/revanced-patches/issues/2581)) ([43a5677](43a5677))
* **YouTube - Client spoof:** Spoof all user agents ([44a8a13](44a8a13))
* **YouTube - Client spoof:** Spoof client to fix playback ([ReVanced#3199](https://github.com/n-34/revanced-patches/issues/3199)) ([bec1eef](bec1eef))
* **YouTube - Downloads:** Use new task context ([ReVanced#2841](https://github.com/n-34/revanced-patches/issues/2841)) ([6d88cb4](6d88cb4))
* **YouTube - Enable slide to seek:** Change patch default to excluded and add description disclaimer ([ReVanced#2610](https://github.com/n-34/revanced-patches/issues/2610)) ([2fdc4c2](2fdc4c2))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/n-34/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** Fix string typo ([ecc56d6](ecc56d6))
* **YouTube - Hide ads:** Prevent app crash if hiding fullscreen ads is not possible ([ReVanced#2910](https://github.com/n-34/revanced-patches/issues/2910)) ([9f50470](9f50470))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/n-34/revanced-patches/issues/3026)) ([17e4ac9](17e4ac9))
* **YouTube - Hide load more button:** Include patch with `Hide layout components`, and hide button only in search feed  ([ReVanced#2959](https://github.com/n-34/revanced-patches/issues/2959)) ([b007e8e](b007e8e))
* **YouTube - Hide Shorts components:** Correctly hide Shorts if navigation tab is changed using device back button ([ReVanced#3007](https://github.com/n-34/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Hide Shorts components:** Rename option title to make it consistent ([4d6e34b](4d6e34b))
* **YouTube - Hide video action buttons:** Remove obsolete `hide Shop button` ([ReVanced#3057](https://github.com/n-34/revanced-patches/issues/3057)) ([b5e34f3](b5e34f3))
* **YouTube - Navigation buttons:** Adjust summary text of switch notification button ([ReVanced#3130](https://github.com/n-34/revanced-patches/issues/3130)) ([cc8b4c9](cc8b4c9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/n-34/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Player flyout menu:** Remove obsolete `Hide report menu` ([d627d44](d627d44))
* **YouTube - Restore old video quality menu:** Show advanced quality menu in Shorts quality flyout ([ReVanced#3155](https://github.com/n-34/revanced-patches/issues/3155)) ([c2b5bb7](c2b5bb7))
* **YouTube - SponsorBlock:** Export local statistics with saved settings ([f8365b4](f8365b4))
* **YouTube - SponsorBlock:** Show correct segment times if video is over 24 hours in length ([ReVanced#3138](https://github.com/n-34/revanced-patches/issues/3138)) ([6cdf697](6cdf697))
* **YouTube - Spoof app version:** Remove broken versions ([ReVanced#2776](https://github.com/n-34/revanced-patches/issues/2776)) ([9466d97](9466d97))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/n-34/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube - Spoof signature:** Fix tracking such as history or watch time ([bcd8b48](bcd8b48))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/n-34/revanced-patches/issues/3045)) ([80de996](80de996))
* **YouTube Music:** Fix compatibility with latest versions ([ReVanced#2924](https://github.com/n-34/revanced-patches/issues/2924)) ([8378c84](8378c84))
* **YouTube Music:** Make `Hide 'Get Music Premium' label` and `Remove upgrade button` compatible with latest version ([ReVanced#3164](https://github.com/n-34/revanced-patches/issues/3164)) ([3ff20de](3ff20de))
* **YouTube:** Correctly show channel page on tablet devices ([ReVanced#2656](https://github.com/n-34/revanced-patches/issues/2656)) ([c7c9700](c7c9700))
* **YouTube:** Do not crash on startup for root installs ([ReVanced#2655](https://github.com/n-34/revanced-patches/issues/2655)) ([02abace](02abace))
* **YouTube:** Fix grammer mistakes in patch descriptions ([ReVanced#2543](https://github.com/n-34/revanced-patches/issues/2543)) ([ebf5993](ebf5993))
* **YouTube:** Fix video playback by switching to ReVanced GmsCore vendor ([ReVanced#2907](https://github.com/n-34/revanced-patches/issues/2907)) ([33ea122](33ea122))
* **YouTube:** Move setting to correct screen ([a16eda8](a16eda8))
* **YouTube:** Shorten setting titles to fit on screen ([ReVanced#2579](https://github.com/n-34/revanced-patches/issues/2579)) ([b2a5dd3](b2a5dd3))

### Code Refactoring

* Fix package and code structure ([ReVanced#2541](https://github.com/n-34/revanced-patches/issues/2541)) ([a08457e](a08457e))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/n-34/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/n-34/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Change package name:** Mention caveat of the patch in the description ([427b81a](427b81a))
* **ID Austria:** Remove constraint on any version ([ReVanced#2526](https://github.com/n-34/revanced-patches/issues/2526)) ([de2cb88](de2cb88))
* **Instagram - Hide timeline ads:** Make compatible with latest versions ([a212f29](a212f29))
* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([ReVanced#2734](https://github.com/n-34/revanced-patches/issues/2734)) ([7a25791](7a25791))
* Move strings to resources for localization ([ReVanced#2440](https://github.com/n-34/revanced-patches/issues/2440)) ([060ab8f](060ab8f))
* **MyFitnessPal:** Add `Hide ads` patch ([ReVanced#2594](https://github.com/n-34/revanced-patches/issues/2594)) ([fd4b3c7](fd4b3c7))
* **OpeningHours:** Add `Fix crash` patch ([ReVanced#2697](https://github.com/n-34/revanced-patches/issues/2697)) ([0d011b8](0d011b8))
* **Photomath:** Add `Hide update popup` patch ([ReVanced#2637](https://github.com/n-34/revanced-patches/issues/2637)) ([fbbecd3](fbbecd3))
* **Photomath:** Support version `8.37.0` ([ReVanced#3109](https://github.com/n-34/revanced-patches/issues/3109)) ([fb02b48](fb02b48))
* **Piccoma:** Add `Disable tracking` patch ([ReVanced#3143](https://github.com/n-34/revanced-patches/issues/3143)) ([8ab9e8f](8ab9e8f))
* **Piccoma:** Add `Spoof Android device ID` patch ([ReVanced#3145](https://github.com/n-34/revanced-patches/issues/3145)) ([d953c6b](d953c6b))
* **Public API:** Deprecate `HideEmailAddressPatch` ([866bceb](866bceb))
* **Public API:** Make `BottomControlsResource#addControls` public ([ReVanced#2514](https://github.com/n-34/revanced-patches/issues/2514)) ([f4e2257](f4e2257))
* Remove unnecessary description from patch ([1a89dd9](1a89dd9))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Sync for Lemmy:** Add `Disable ads` patch ([ReVanced#2872](https://github.com/n-34/revanced-patches/issues/2872)) ([0785819](0785819))
* **Sync for Reddit:** Add `Fix /s/ links` patch ([f15ef3f](f15ef3f))
* **Tiktok - Playback speed:** Remember playback speed ([ReVanced#2506](https://github.com/n-34/revanced-patches/issues/2506)) ([d2970e5](d2970e5))
* **Tiktok:** Add `Remember clear mode` patch ([ReVanced#2509](https://github.com/n-34/revanced-patches/issues/2509)) ([048bf59](048bf59))
* **Tumblr:** Add `Disable Ad-Free Banner` patch ([ReVanced#3091](https://github.com/n-34/revanced-patches/issues/3091)) ([54baf08](54baf08))
* **Tumblr:** Add `Fix old versions` patch ([ReVanced#2954](https://github.com/n-34/revanced-patches/issues/2954)) ([2fde60e](2fde60e))
* **Twitter - Unlock downloads:** Unlock GIF downloads ([d0f91c8](d0f91c8))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/n-34/revanced-patches/issues/3003)) ([186b887](186b887))
* **VSCO - Unlock pro:** Constrain to last working version ([6dd4a7c](6dd4a7c))
* **WarnWetter - Promo code unlock:** Constrain to last working version ([ReVanced#3110](https://github.com/n-34/revanced-patches/issues/3110)) ([92fc8aa](92fc8aa))
* **X:** Add `Hide view count` patch ([bf064ec](bf064ec))
* **X:** Add `Open links as query` patch ([ReVanced#2730](https://github.com/n-34/revanced-patches/issues/2730)) ([ba75a51](ba75a51))
* **X:** Add `Unlock downloads` patch ([2c20844](2c20844))
* **YouTube - Alternative thumbnails:** Selectively enable for home / subscription / search ([ReVanced#2926](https://github.com/n-34/revanced-patches/issues/2926)) ([8549e1b](8549e1b))
* **YouTube - Change header:** Change to ReVanced borderless logo header by default ([ReVanced#2512](https://github.com/n-34/revanced-patches/issues/2512)) ([75f785d](75f785d))
* **YouTube - Change header:** Improve patch option description ([3b8bc08](3b8bc08))
* **YouTube - Change start page:** Add more start pages ([cc1d9b7](cc1d9b7))
* **YouTube - Comments:** Add option to hide timestamp and emoji buttons ([ReVanced#3076](https://github.com/n-34/revanced-patches/issues/3076)) ([7efe5ae](7efe5ae))
* **YouTube - Custom branding:** Improve patch option description ([e27f56c](e27f56c))
* **YouTube - Custom filter:** Custom filtering of the protocol buffer ([ReVanced#2682](https://github.com/n-34/revanced-patches/issues/2682)) ([872a5b6](872a5b6))
* **YouTube - Downloads:** Use external downloader when selecting 'Download' in home feed flyout menu ([ReVanced#2881](https://github.com/n-34/revanced-patches/issues/2881)) ([10afc8c](10afc8c))
* **YouTube - External downloader:** Add ability to use in-app download button ([d900011](d900011))
* **YouTube - GmsCore:** Require ignoring battery optimizations ([ReVanced#2952](https://github.com/n-34/revanced-patches/issues/2952)) ([c0bef25](c0bef25))
* **YouTube - Hide ads:** Add option to hide the 'Visit store' button on channel pages ([ReVanced#3077](https://github.com/n-34/revanced-patches/issues/3077)) ([03d2cfa](03d2cfa))
* **YouTube - Hide ads:** Hide fullscreen ads ([bdc9a12](bdc9a12))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/n-34/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Filter home/search results by keywords ([ReVanced#2853](https://github.com/n-34/revanced-patches/issues/2853)) ([5916204](5916204))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide layout components:** Hide search result recommendations ([55cc7f1](55cc7f1))
* **YouTube - Hide Shorts components:** Hide 'Buy super thanks' button ([ReVanced#3176](https://github.com/n-34/revanced-patches/issues/3176)) ([89c1548](89c1548))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/n-34/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide like / dislike button in video ads ([ReVanced#3062](https://github.com/n-34/revanced-patches/issues/3062)) ([1296985](1296985))
* **YouTube - Hide Shorts components:** Hide like and dislike buttons ([2df0892](2df0892))
* **YouTube - Hide Shorts components:** Hide sound metadata label ([ea7d1e0](ea7d1e0))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/n-34/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Hide Shorts components:** Hide title and full video link label ([e7b64e1](e7b64e1))
* **YouTube - Hide Shorts components:** Selectively hide Shorts for home / subscription / search ([ReVanced#2925](https://github.com/n-34/revanced-patches/issues/2925)) ([497c067](497c067))
* **YouTube - Navigation buttons:** Add option to hide navigation button labels ([ReVanced#3189](https://github.com/n-34/revanced-patches/issues/3189)) ([f9dc705](f9dc705))
* **YouTube - Spoof app version:** Add `18.09.39` to restore library tab ([ReVanced#2643](https://github.com/n-34/revanced-patches/issues/2643)) ([dd108ff](dd108ff))
* **YouTube - Spoof app version:** Add target versions ([ReVanced#2787](https://github.com/n-34/revanced-patches/issues/2787)) ([83a7bd8](83a7bd8))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/n-34/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube - Theme:** Add classic dark color to presets ([ReVanced#2542](https://github.com/n-34/revanced-patches/issues/2542)) ([4e1dc00](4e1dc00))
* **YouTube :** Remove `HDR auto brightness` patch ([ReVanced#2863](https://github.com/n-34/revanced-patches/issues/2863)) ([b4c7bf4](b4c7bf4))
* **YouTube Vanced:** Remove `Hide ads` patch ([87887e4](87887e4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/n-34/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Add `Remove viewer discretion dialog` patch ([a07f83f](a07f83f))
* **YouTube:** Improve patch descriptions ([ReVanced#2519](https://github.com/n-34/revanced-patches/issues/2519)) ([e8d1389](e8d1389))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/n-34/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Remove `Hide email address` patch ([3b84305](3b84305))
* **YouTube:** Reorganize settings menu ([ReVanced#2737](https://github.com/n-34/revanced-patches/issues/2737)) ([36132df](36132df))
* **YouTube:** Support version `19.02.34` ([ReVanced#2627](https://github.com/n-34/revanced-patches/issues/2627)) ([94e08b7](94e08b7))
* **YouTube:** Support version `19.03.35` ([ReVanced#2640](https://github.com/n-34/revanced-patches/issues/2640)) ([ff08f58](ff08f58))
* **YouTube:** Support version `19.04.37` ([ReVanced#2687](https://github.com/n-34/revanced-patches/issues/2687)) ([c23e023](c23e023))
* **YouTube:** Support version `19.05`, `19.06`, `19.07`, `19.08` and `19.09` ([ReVanced#2862](https://github.com/n-34/revanced-patches/issues/2862)) ([f044dde](f044dde))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/n-34/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YouTube:** Support versions `18.48.39`, `18.49.37` and `19.01.34` ([ReVanced#2551](https://github.com/n-34/revanced-patches/issues/2551)) ([a938e73](a938e73))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/n-34/revanced-patches/issues/3046)) ([10e170a](10e170a))
* **YT Music:** Add support for `7.01.52` ([ReVanced#3177](https://github.com/n-34/revanced-patches/issues/3177)) ([e9bfb25](e9bfb25))

### BREAKING CHANGES

* **Photomath:** Some packages have changed locations.
* Various APIs have been changed.
* Various public APIs have changed names and packages or were removed entirely
n-34 pushed a commit to n-34/revanced-patches that referenced this pull request May 22, 2024
# [4.0.0](v3.1.0...v4.0.0) (2024-05-22)

### Bug Fixes

* Case patch option title correctly ([259c8b4](259c8b4))
* Compile DEX without debugging information ([f5df957](f5df957))
* Correctly handle patches jar path if it contains exclamation marks ([056e2d7](056e2d7))
* Indent patch option description correctly ([bd86ef6](bd86ef6))
* **Infinity for Reddit - Unlock subscription:** Do not crash by patching billing client ([7d76e2e](7d76e2e))
* **Infinity for Reddit - Unlock subscription:** Restore functionality on v7.0.0 ([bf19af9](bf19af9))
* **Mi Fitness - Fix login:** Patch correct register ([ReVanced#2942](https://github.com/n-34/revanced-patches/issues/2942)) ([dc96942](dc96942))
* Only set Android key if not null to prevent build errors ([1181b0b](1181b0b))
* **Override certificate pinning:** Always overwrite with a generic network security configuration ([2a842a1](2a842a1))
* Publicize abstract property ([b7c108e](b7c108e))
* **Reddit is Fun - Spoof client:** Fix login by updating the authorization subdomain from "old" to "ssl" ([b156cb1](b156cb1))
* Remove extra space from patch description ([ReVanced#2780](https://github.com/n-34/revanced-patches/issues/2780)) ([96a3f35](96a3f35))
* **Spoof SIM country:** Validate patch option value correctly ([8105463](8105463))
* **Tiktok - Remember clear display:** Use correct name ([d7e44cb](d7e44cb))
* **TikTok:** Hook application context earlier to prevent crash ([ReVanced#2893](https://github.com/n-34/revanced-patches/issues/2893)) ([395ccda](395ccda))
* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/n-34/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **Tumblr:** Restore compatibility with latest versions ([ReVanced#2955](https://github.com/n-34/revanced-patches/issues/2955)) ([2954ba7](2954ba7))
* **Twitch:** Correct patch resources to fix build ([1b63898](1b63898))
* URL decode path to JAR containing spaces to get JAR manifest ([ReVanced#3079](https://github.com/n-34/revanced-patches/issues/3079)) ([e1bbcb3](e1bbcb3))
* Use correct preference key ([3732b2c](3732b2c))
* Use deprecated members to ensure backwards compatibility ([083bd40](083bd40))
* Use new integrations patch path ([51e2f3b](51e2f3b))
* Use UrlDecoder API available in older Android versions ([d42fbb1](d42fbb1))
* **YouTube - Alternative thumbnails:** Clarify DeArrow support is for thumbnails ([ReVanced#2531](https://github.com/n-34/revanced-patches/issues/2531)) ([828abb0](828abb0))
* **YouTube - Change header:** Improve patch descriptions ([ReVanced#2581](https://github.com/n-34/revanced-patches/issues/2581)) ([43a5677](43a5677))
* **YouTube - Client spoof:** Spoof all user agents ([44a8a13](44a8a13))
* **YouTube - Client spoof:** Spoof client to fix playback ([ReVanced#3199](https://github.com/n-34/revanced-patches/issues/3199)) ([bec1eef](bec1eef))
* **YouTube - Downloads:** Use new task context ([ReVanced#2841](https://github.com/n-34/revanced-patches/issues/2841)) ([6d88cb4](6d88cb4))
* **YouTube - Enable slide to seek:** Change patch default to excluded and add description disclaimer ([ReVanced#2610](https://github.com/n-34/revanced-patches/issues/2610)) ([2fdc4c2](2fdc4c2))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/n-34/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** Fix string typo ([ecc56d6](ecc56d6))
* **YouTube - Hide ads:** Prevent app crash if hiding fullscreen ads is not possible ([ReVanced#2910](https://github.com/n-34/revanced-patches/issues/2910)) ([9f50470](9f50470))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/n-34/revanced-patches/issues/3026)) ([17e4ac9](17e4ac9))
* **YouTube - Hide load more button:** Include patch with `Hide layout components`, and hide button only in search feed  ([ReVanced#2959](https://github.com/n-34/revanced-patches/issues/2959)) ([b007e8e](b007e8e))
* **YouTube - Hide Shorts components:** Correctly hide Shorts if navigation tab is changed using device back button ([ReVanced#3007](https://github.com/n-34/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Hide Shorts components:** Rename option title to make it consistent ([4d6e34b](4d6e34b))
* **YouTube - Hide video action buttons:** Remove obsolete `hide Shop button` ([ReVanced#3057](https://github.com/n-34/revanced-patches/issues/3057)) ([b5e34f3](b5e34f3))
* **YouTube - Navigation buttons:** Adjust summary text of switch notification button ([ReVanced#3130](https://github.com/n-34/revanced-patches/issues/3130)) ([cc8b4c9](cc8b4c9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/n-34/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Player flyout menu:** Remove obsolete `Hide report menu` ([d627d44](d627d44))
* **YouTube - Restore old video quality menu:** Show advanced quality menu in Shorts quality flyout ([ReVanced#3155](https://github.com/n-34/revanced-patches/issues/3155)) ([c2b5bb7](c2b5bb7))
* **YouTube - SponsorBlock:** Export local statistics with saved settings ([f8365b4](f8365b4))
* **YouTube - SponsorBlock:** Show correct segment times if video is over 24 hours in length ([ReVanced#3138](https://github.com/n-34/revanced-patches/issues/3138)) ([6cdf697](6cdf697))
* **YouTube - Spoof app version:** Remove broken versions ([ReVanced#2776](https://github.com/n-34/revanced-patches/issues/2776)) ([9466d97](9466d97))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/n-34/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube - Spoof signature:** Fix tracking such as history or watch time ([bcd8b48](bcd8b48))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/n-34/revanced-patches/issues/3045)) ([80de996](80de996))
* **YouTube Music:** Fix compatibility with latest versions ([ReVanced#2924](https://github.com/n-34/revanced-patches/issues/2924)) ([8378c84](8378c84))
* **YouTube Music:** Make `Hide 'Get Music Premium' label` and `Remove upgrade button` compatible with latest version ([ReVanced#3164](https://github.com/n-34/revanced-patches/issues/3164)) ([3ff20de](3ff20de))
* **YouTube:** Correctly show channel page on tablet devices ([ReVanced#2656](https://github.com/n-34/revanced-patches/issues/2656)) ([c7c9700](c7c9700))
* **YouTube:** Do not crash on startup for root installs ([ReVanced#2655](https://github.com/n-34/revanced-patches/issues/2655)) ([02abace](02abace))
* **YouTube:** Fix grammer mistakes in patch descriptions ([ReVanced#2543](https://github.com/n-34/revanced-patches/issues/2543)) ([ebf5993](ebf5993))
* **YouTube:** Fix video playback by switching to ReVanced GmsCore vendor ([ReVanced#2907](https://github.com/n-34/revanced-patches/issues/2907)) ([33ea122](33ea122))
* **YouTube:** Move setting to correct screen ([a16eda8](a16eda8))
* **YouTube:** Shorten setting titles to fit on screen ([ReVanced#2579](https://github.com/n-34/revanced-patches/issues/2579)) ([b2a5dd3](b2a5dd3))

### Code Refactoring

* Fix package and code structure ([ReVanced#2541](https://github.com/n-34/revanced-patches/issues/2541)) ([a08457e](a08457e))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/n-34/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/n-34/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Change package name:** Mention caveat of the patch in the description ([427b81a](427b81a))
* **ID Austria:** Remove constraint on any version ([ReVanced#2526](https://github.com/n-34/revanced-patches/issues/2526)) ([de2cb88](de2cb88))
* **Instagram - Hide timeline ads:** Make compatible with latest versions ([a212f29](a212f29))
* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([ReVanced#2734](https://github.com/n-34/revanced-patches/issues/2734)) ([7a25791](7a25791))
* Move strings to resources for localization ([ReVanced#2440](https://github.com/n-34/revanced-patches/issues/2440)) ([060ab8f](060ab8f))
* **MyFitnessPal:** Add `Hide ads` patch ([ReVanced#2594](https://github.com/n-34/revanced-patches/issues/2594)) ([fd4b3c7](fd4b3c7))
* **OpeningHours:** Add `Fix crash` patch ([ReVanced#2697](https://github.com/n-34/revanced-patches/issues/2697)) ([0d011b8](0d011b8))
* **Photomath:** Add `Hide update popup` patch ([ReVanced#2637](https://github.com/n-34/revanced-patches/issues/2637)) ([fbbecd3](fbbecd3))
* **Photomath:** Support version `8.37.0` ([ReVanced#3109](https://github.com/n-34/revanced-patches/issues/3109)) ([fb02b48](fb02b48))
* **Piccoma:** Add `Disable tracking` patch ([ReVanced#3143](https://github.com/n-34/revanced-patches/issues/3143)) ([8ab9e8f](8ab9e8f))
* **Piccoma:** Add `Spoof Android device ID` patch ([ReVanced#3145](https://github.com/n-34/revanced-patches/issues/3145)) ([d953c6b](d953c6b))
* **Public API:** Deprecate `HideEmailAddressPatch` ([866bceb](866bceb))
* **Public API:** Make `BottomControlsResource#addControls` public ([ReVanced#2514](https://github.com/n-34/revanced-patches/issues/2514)) ([f4e2257](f4e2257))
* Remove unnecessary description from patch ([1a89dd9](1a89dd9))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Sync for Lemmy:** Add `Disable ads` patch ([ReVanced#2872](https://github.com/n-34/revanced-patches/issues/2872)) ([0785819](0785819))
* **Sync for Reddit:** Add `Fix /s/ links` patch ([f15ef3f](f15ef3f))
* **Tiktok - Playback speed:** Remember playback speed ([ReVanced#2506](https://github.com/n-34/revanced-patches/issues/2506)) ([d2970e5](d2970e5))
* **Tiktok:** Add `Remember clear mode` patch ([ReVanced#2509](https://github.com/n-34/revanced-patches/issues/2509)) ([048bf59](048bf59))
* **Tumblr:** Add `Disable Ad-Free Banner` patch ([ReVanced#3091](https://github.com/n-34/revanced-patches/issues/3091)) ([54baf08](54baf08))
* **Tumblr:** Add `Fix old versions` patch ([ReVanced#2954](https://github.com/n-34/revanced-patches/issues/2954)) ([2fde60e](2fde60e))
* **Twitter - Unlock downloads:** Unlock GIF downloads ([d0f91c8](d0f91c8))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/n-34/revanced-patches/issues/3003)) ([186b887](186b887))
* **VSCO - Unlock pro:** Constrain to last working version ([6dd4a7c](6dd4a7c))
* **WarnWetter - Promo code unlock:** Constrain to last working version ([ReVanced#3110](https://github.com/n-34/revanced-patches/issues/3110)) ([92fc8aa](92fc8aa))
* **X:** Add `Hide view count` patch ([bf064ec](bf064ec))
* **X:** Add `Open links as query` patch ([ReVanced#2730](https://github.com/n-34/revanced-patches/issues/2730)) ([ba75a51](ba75a51))
* **X:** Add `Unlock downloads` patch ([2c20844](2c20844))
* **YouTube - Alternative thumbnails:** Selectively enable for home / subscription / search ([ReVanced#2926](https://github.com/n-34/revanced-patches/issues/2926)) ([8549e1b](8549e1b))
* **YouTube - Change header:** Change to ReVanced borderless logo header by default ([ReVanced#2512](https://github.com/n-34/revanced-patches/issues/2512)) ([75f785d](75f785d))
* **YouTube - Change header:** Improve patch option description ([3b8bc08](3b8bc08))
* **YouTube - Change start page:** Add more start pages ([cc1d9b7](cc1d9b7))
* **YouTube - Comments:** Add option to hide timestamp and emoji buttons ([ReVanced#3076](https://github.com/n-34/revanced-patches/issues/3076)) ([7efe5ae](7efe5ae))
* **YouTube - Custom branding:** Improve patch option description ([e27f56c](e27f56c))
* **YouTube - Custom filter:** Custom filtering of the protocol buffer ([ReVanced#2682](https://github.com/n-34/revanced-patches/issues/2682)) ([872a5b6](872a5b6))
* **YouTube - Downloads:** Use external downloader when selecting 'Download' in home feed flyout menu ([ReVanced#2881](https://github.com/n-34/revanced-patches/issues/2881)) ([10afc8c](10afc8c))
* **YouTube - External downloader:** Add ability to use in-app download button ([d900011](d900011))
* **YouTube - GmsCore:** Require ignoring battery optimizations ([ReVanced#2952](https://github.com/n-34/revanced-patches/issues/2952)) ([c0bef25](c0bef25))
* **YouTube - Hide ads:** Add option to hide the 'Visit store' button on channel pages ([ReVanced#3077](https://github.com/n-34/revanced-patches/issues/3077)) ([03d2cfa](03d2cfa))
* **YouTube - Hide ads:** Hide fullscreen ads ([bdc9a12](bdc9a12))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/n-34/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Filter home/search results by keywords ([ReVanced#2853](https://github.com/n-34/revanced-patches/issues/2853)) ([5916204](5916204))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide layout components:** Hide search result recommendations ([55cc7f1](55cc7f1))
* **YouTube - Hide Shorts components:** Hide 'Buy super thanks' button ([ReVanced#3176](https://github.com/n-34/revanced-patches/issues/3176)) ([89c1548](89c1548))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/n-34/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide like / dislike button in video ads ([ReVanced#3062](https://github.com/n-34/revanced-patches/issues/3062)) ([1296985](1296985))
* **YouTube - Hide Shorts components:** Hide like and dislike buttons ([2df0892](2df0892))
* **YouTube - Hide Shorts components:** Hide sound metadata label ([ea7d1e0](ea7d1e0))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/n-34/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Hide Shorts components:** Hide title and full video link label ([e7b64e1](e7b64e1))
* **YouTube - Hide Shorts components:** Selectively hide Shorts for home / subscription / search ([ReVanced#2925](https://github.com/n-34/revanced-patches/issues/2925)) ([497c067](497c067))
* **YouTube - Navigation buttons:** Add option to hide navigation button labels ([ReVanced#3189](https://github.com/n-34/revanced-patches/issues/3189)) ([f9dc705](f9dc705))
* **YouTube - Spoof app version:** Add `18.09.39` to restore library tab ([ReVanced#2643](https://github.com/n-34/revanced-patches/issues/2643)) ([dd108ff](dd108ff))
* **YouTube - Spoof app version:** Add target versions ([ReVanced#2787](https://github.com/n-34/revanced-patches/issues/2787)) ([83a7bd8](83a7bd8))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/n-34/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube - Theme:** Add classic dark color to presets ([ReVanced#2542](https://github.com/n-34/revanced-patches/issues/2542)) ([4e1dc00](4e1dc00))
* **YouTube :** Remove `HDR auto brightness` patch ([ReVanced#2863](https://github.com/n-34/revanced-patches/issues/2863)) ([b4c7bf4](b4c7bf4))
* **YouTube Vanced:** Remove `Hide ads` patch ([87887e4](87887e4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/n-34/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Add `Remove viewer discretion dialog` patch ([a07f83f](a07f83f))
* **YouTube:** Improve patch descriptions ([ReVanced#2519](https://github.com/n-34/revanced-patches/issues/2519)) ([e8d1389](e8d1389))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/n-34/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Remove `Hide email address` patch ([3b84305](3b84305))
* **YouTube:** Reorganize settings menu ([ReVanced#2737](https://github.com/n-34/revanced-patches/issues/2737)) ([36132df](36132df))
* **YouTube:** Support version `19.02.34` ([ReVanced#2627](https://github.com/n-34/revanced-patches/issues/2627)) ([94e08b7](94e08b7))
* **YouTube:** Support version `19.03.35` ([ReVanced#2640](https://github.com/n-34/revanced-patches/issues/2640)) ([ff08f58](ff08f58))
* **YouTube:** Support version `19.04.37` ([ReVanced#2687](https://github.com/n-34/revanced-patches/issues/2687)) ([c23e023](c23e023))
* **YouTube:** Support version `19.05`, `19.06`, `19.07`, `19.08` and `19.09` ([ReVanced#2862](https://github.com/n-34/revanced-patches/issues/2862)) ([f044dde](f044dde))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/n-34/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YouTube:** Support versions `18.48.39`, `18.49.37` and `19.01.34` ([ReVanced#2551](https://github.com/n-34/revanced-patches/issues/2551)) ([a938e73](a938e73))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/n-34/revanced-patches/issues/3046)) ([10e170a](10e170a))
* **YT Music:** Add support for `7.01.52` ([ReVanced#3177](https://github.com/n-34/revanced-patches/issues/3177)) ([e9bfb25](e9bfb25))

### BREAKING CHANGES

* **Photomath:** Some packages have changed locations.
* Various APIs have been changed.
* Various public APIs have changed names and packages or were removed entirely
n-34 pushed a commit to n-34/revanced-patches that referenced this pull request May 22, 2024
# [4.0.0](v3.1.0...v4.0.0) (2024-05-22)

### Bug Fixes

* Case patch option title correctly ([259c8b4](259c8b4))
* Compile DEX without debugging information ([f5df957](f5df957))
* Correctly handle patches jar path if it contains exclamation marks ([056e2d7](056e2d7))
* Indent patch option description correctly ([bd86ef6](bd86ef6))
* **Infinity for Reddit - Unlock subscription:** Do not crash by patching billing client ([7d76e2e](7d76e2e))
* **Infinity for Reddit - Unlock subscription:** Restore functionality on v7.0.0 ([bf19af9](bf19af9))
* **Mi Fitness - Fix login:** Patch correct register ([ReVanced#2942](https://github.com/n-34/revanced-patches/issues/2942)) ([dc96942](dc96942))
* Only set Android key if not null to prevent build errors ([1181b0b](1181b0b))
* **Override certificate pinning:** Always overwrite with a generic network security configuration ([2a842a1](2a842a1))
* Publicize abstract property ([b7c108e](b7c108e))
* **Reddit is Fun - Spoof client:** Fix login by updating the authorization subdomain from "old" to "ssl" ([b156cb1](b156cb1))
* Remove extra space from patch description ([ReVanced#2780](https://github.com/n-34/revanced-patches/issues/2780)) ([96a3f35](96a3f35))
* **Spoof SIM country:** Validate patch option value correctly ([8105463](8105463))
* **Tiktok - Remember clear display:** Use correct name ([d7e44cb](d7e44cb))
* **TikTok:** Hook application context earlier to prevent crash ([ReVanced#2893](https://github.com/n-34/revanced-patches/issues/2893)) ([395ccda](395ccda))
* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/n-34/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **Tumblr:** Restore compatibility with latest versions ([ReVanced#2955](https://github.com/n-34/revanced-patches/issues/2955)) ([2954ba7](2954ba7))
* **Twitch:** Correct patch resources to fix build ([1b63898](1b63898))
* URL decode path to JAR containing spaces to get JAR manifest ([ReVanced#3079](https://github.com/n-34/revanced-patches/issues/3079)) ([e1bbcb3](e1bbcb3))
* Use correct preference key ([3732b2c](3732b2c))
* Use deprecated members to ensure backwards compatibility ([083bd40](083bd40))
* Use new integrations patch path ([51e2f3b](51e2f3b))
* Use UrlDecoder API available in older Android versions ([d42fbb1](d42fbb1))
* **YouTube - Alternative thumbnails:** Clarify DeArrow support is for thumbnails ([ReVanced#2531](https://github.com/n-34/revanced-patches/issues/2531)) ([828abb0](828abb0))
* **YouTube - Change header:** Improve patch descriptions ([ReVanced#2581](https://github.com/n-34/revanced-patches/issues/2581)) ([43a5677](43a5677))
* **YouTube - Client spoof:** Spoof all user agents ([44a8a13](44a8a13))
* **YouTube - Client spoof:** Spoof client to fix playback ([ReVanced#3199](https://github.com/n-34/revanced-patches/issues/3199)) ([bec1eef](bec1eef))
* **YouTube - Downloads:** Use new task context ([ReVanced#2841](https://github.com/n-34/revanced-patches/issues/2841)) ([6d88cb4](6d88cb4))
* **YouTube - Enable slide to seek:** Change patch default to excluded and add description disclaimer ([ReVanced#2610](https://github.com/n-34/revanced-patches/issues/2610)) ([2fdc4c2](2fdc4c2))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/n-34/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** Fix string typo ([ecc56d6](ecc56d6))
* **YouTube - Hide ads:** Prevent app crash if hiding fullscreen ads is not possible ([ReVanced#2910](https://github.com/n-34/revanced-patches/issues/2910)) ([9f50470](9f50470))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/n-34/revanced-patches/issues/3026)) ([17e4ac9](17e4ac9))
* **YouTube - Hide load more button:** Include patch with `Hide layout components`, and hide button only in search feed  ([ReVanced#2959](https://github.com/n-34/revanced-patches/issues/2959)) ([b007e8e](b007e8e))
* **YouTube - Hide Shorts components:** Correctly hide Shorts if navigation tab is changed using device back button ([ReVanced#3007](https://github.com/n-34/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Hide Shorts components:** Rename option title to make it consistent ([4d6e34b](4d6e34b))
* **YouTube - Hide video action buttons:** Remove obsolete `hide Shop button` ([ReVanced#3057](https://github.com/n-34/revanced-patches/issues/3057)) ([b5e34f3](b5e34f3))
* **YouTube - Navigation buttons:** Adjust summary text of switch notification button ([ReVanced#3130](https://github.com/n-34/revanced-patches/issues/3130)) ([cc8b4c9](cc8b4c9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/n-34/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Player flyout menu:** Remove obsolete `Hide report menu` ([d627d44](d627d44))
* **YouTube - Restore old video quality menu:** Show advanced quality menu in Shorts quality flyout ([ReVanced#3155](https://github.com/n-34/revanced-patches/issues/3155)) ([c2b5bb7](c2b5bb7))
* **YouTube - SponsorBlock:** Export local statistics with saved settings ([f8365b4](f8365b4))
* **YouTube - SponsorBlock:** Show correct segment times if video is over 24 hours in length ([ReVanced#3138](https://github.com/n-34/revanced-patches/issues/3138)) ([6cdf697](6cdf697))
* **YouTube - Spoof app version:** Remove broken versions ([ReVanced#2776](https://github.com/n-34/revanced-patches/issues/2776)) ([9466d97](9466d97))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/n-34/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube - Spoof signature:** Fix tracking such as history or watch time ([bcd8b48](bcd8b48))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/n-34/revanced-patches/issues/3045)) ([80de996](80de996))
* **YouTube Music:** Fix compatibility with latest versions ([ReVanced#2924](https://github.com/n-34/revanced-patches/issues/2924)) ([8378c84](8378c84))
* **YouTube Music:** Make `Hide 'Get Music Premium' label` and `Remove upgrade button` compatible with latest version ([ReVanced#3164](https://github.com/n-34/revanced-patches/issues/3164)) ([3ff20de](3ff20de))
* **YouTube:** Correctly show channel page on tablet devices ([ReVanced#2656](https://github.com/n-34/revanced-patches/issues/2656)) ([c7c9700](c7c9700))
* **YouTube:** Do not crash on startup for root installs ([ReVanced#2655](https://github.com/n-34/revanced-patches/issues/2655)) ([02abace](02abace))
* **YouTube:** Fix grammer mistakes in patch descriptions ([ReVanced#2543](https://github.com/n-34/revanced-patches/issues/2543)) ([ebf5993](ebf5993))
* **YouTube:** Fix video playback by switching to ReVanced GmsCore vendor ([ReVanced#2907](https://github.com/n-34/revanced-patches/issues/2907)) ([33ea122](33ea122))
* **YouTube:** Move setting to correct screen ([a16eda8](a16eda8))
* **YouTube:** Shorten setting titles to fit on screen ([ReVanced#2579](https://github.com/n-34/revanced-patches/issues/2579)) ([b2a5dd3](b2a5dd3))

### Code Refactoring

* Fix package and code structure ([ReVanced#2541](https://github.com/n-34/revanced-patches/issues/2541)) ([a08457e](a08457e))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/n-34/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/n-34/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Change package name:** Mention caveat of the patch in the description ([427b81a](427b81a))
* **ID Austria:** Remove constraint on any version ([ReVanced#2526](https://github.com/n-34/revanced-patches/issues/2526)) ([de2cb88](de2cb88))
* **Instagram - Hide timeline ads:** Make compatible with latest versions ([a212f29](a212f29))
* **Mi Fitness:** Add `Force English locale` and `Fix login` patch ([ReVanced#2734](https://github.com/n-34/revanced-patches/issues/2734)) ([7a25791](7a25791))
* Move strings to resources for localization ([ReVanced#2440](https://github.com/n-34/revanced-patches/issues/2440)) ([060ab8f](060ab8f))
* **MyFitnessPal:** Add `Hide ads` patch ([ReVanced#2594](https://github.com/n-34/revanced-patches/issues/2594)) ([fd4b3c7](fd4b3c7))
* **OpeningHours:** Add `Fix crash` patch ([ReVanced#2697](https://github.com/n-34/revanced-patches/issues/2697)) ([0d011b8](0d011b8))
* **Photomath:** Add `Hide update popup` patch ([ReVanced#2637](https://github.com/n-34/revanced-patches/issues/2637)) ([fbbecd3](fbbecd3))
* **Photomath:** Support version `8.37.0` ([ReVanced#3109](https://github.com/n-34/revanced-patches/issues/3109)) ([fb02b48](fb02b48))
* **Piccoma:** Add `Disable tracking` patch ([ReVanced#3143](https://github.com/n-34/revanced-patches/issues/3143)) ([8ab9e8f](8ab9e8f))
* **Piccoma:** Add `Spoof Android device ID` patch ([ReVanced#3145](https://github.com/n-34/revanced-patches/issues/3145)) ([d953c6b](d953c6b))
* **Public API:** Deprecate `HideEmailAddressPatch` ([866bceb](866bceb))
* **Public API:** Make `BottomControlsResource#addControls` public ([ReVanced#2514](https://github.com/n-34/revanced-patches/issues/2514)) ([f4e2257](f4e2257))
* Remove unnecessary description from patch ([1a89dd9](1a89dd9))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Sync for Lemmy:** Add `Disable ads` patch ([ReVanced#2872](https://github.com/n-34/revanced-patches/issues/2872)) ([0785819](0785819))
* **Sync for Reddit:** Add `Fix /s/ links` patch ([f15ef3f](f15ef3f))
* **Tiktok - Playback speed:** Remember playback speed ([ReVanced#2506](https://github.com/n-34/revanced-patches/issues/2506)) ([d2970e5](d2970e5))
* **Tiktok:** Add `Remember clear mode` patch ([ReVanced#2509](https://github.com/n-34/revanced-patches/issues/2509)) ([048bf59](048bf59))
* **Tumblr:** Add `Disable Ad-Free Banner` patch ([ReVanced#3091](https://github.com/n-34/revanced-patches/issues/3091)) ([54baf08](54baf08))
* **Tumblr:** Add `Fix old versions` patch ([ReVanced#2954](https://github.com/n-34/revanced-patches/issues/2954)) ([2fde60e](2fde60e))
* **Twitter - Unlock downloads:** Unlock GIF downloads ([d0f91c8](d0f91c8))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/n-34/revanced-patches/issues/3003)) ([186b887](186b887))
* **VSCO - Unlock pro:** Constrain to last working version ([6dd4a7c](6dd4a7c))
* **WarnWetter - Promo code unlock:** Constrain to last working version ([ReVanced#3110](https://github.com/n-34/revanced-patches/issues/3110)) ([92fc8aa](92fc8aa))
* **X:** Add `Hide view count` patch ([bf064ec](bf064ec))
* **X:** Add `Open links as query` patch ([ReVanced#2730](https://github.com/n-34/revanced-patches/issues/2730)) ([ba75a51](ba75a51))
* **X:** Add `Unlock downloads` patch ([2c20844](2c20844))
* **YouTube - Alternative thumbnails:** Selectively enable for home / subscription / search ([ReVanced#2926](https://github.com/n-34/revanced-patches/issues/2926)) ([8549e1b](8549e1b))
* **YouTube - Change header:** Change to ReVanced borderless logo header by default ([ReVanced#2512](https://github.com/n-34/revanced-patches/issues/2512)) ([75f785d](75f785d))
* **YouTube - Change header:** Improve patch option description ([3b8bc08](3b8bc08))
* **YouTube - Change start page:** Add more start pages ([cc1d9b7](cc1d9b7))
* **YouTube - Comments:** Add option to hide timestamp and emoji buttons ([ReVanced#3076](https://github.com/n-34/revanced-patches/issues/3076)) ([7efe5ae](7efe5ae))
* **YouTube - Custom branding:** Improve patch option description ([e27f56c](e27f56c))
* **YouTube - Custom filter:** Custom filtering of the protocol buffer ([ReVanced#2682](https://github.com/n-34/revanced-patches/issues/2682)) ([872a5b6](872a5b6))
* **YouTube - Downloads:** Use external downloader when selecting 'Download' in home feed flyout menu ([ReVanced#2881](https://github.com/n-34/revanced-patches/issues/2881)) ([10afc8c](10afc8c))
* **YouTube - External downloader:** Add ability to use in-app download button ([d900011](d900011))
* **YouTube - GmsCore:** Require ignoring battery optimizations ([ReVanced#2952](https://github.com/n-34/revanced-patches/issues/2952)) ([c0bef25](c0bef25))
* **YouTube - Hide ads:** Add option to hide the 'Visit store' button on channel pages ([ReVanced#3077](https://github.com/n-34/revanced-patches/issues/3077)) ([03d2cfa](03d2cfa))
* **YouTube - Hide ads:** Hide fullscreen ads ([bdc9a12](bdc9a12))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/n-34/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Filter home/search results by keywords ([ReVanced#2853](https://github.com/n-34/revanced-patches/issues/2853)) ([5916204](5916204))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide layout components:** Hide search result recommendations ([55cc7f1](55cc7f1))
* **YouTube - Hide Shorts components:** Hide 'Buy super thanks' button ([ReVanced#3176](https://github.com/n-34/revanced-patches/issues/3176)) ([89c1548](89c1548))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/n-34/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide like / dislike button in video ads ([ReVanced#3062](https://github.com/n-34/revanced-patches/issues/3062)) ([1296985](1296985))
* **YouTube - Hide Shorts components:** Hide like and dislike buttons ([2df0892](2df0892))
* **YouTube - Hide Shorts components:** Hide sound metadata label ([ea7d1e0](ea7d1e0))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/n-34/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Hide Shorts components:** Hide title and full video link label ([e7b64e1](e7b64e1))
* **YouTube - Hide Shorts components:** Selectively hide Shorts for home / subscription / search ([ReVanced#2925](https://github.com/n-34/revanced-patches/issues/2925)) ([497c067](497c067))
* **YouTube - Navigation buttons:** Add option to hide navigation button labels ([ReVanced#3189](https://github.com/n-34/revanced-patches/issues/3189)) ([f9dc705](f9dc705))
* **YouTube - Spoof app version:** Add `18.09.39` to restore library tab ([ReVanced#2643](https://github.com/n-34/revanced-patches/issues/2643)) ([dd108ff](dd108ff))
* **YouTube - Spoof app version:** Add target versions ([ReVanced#2787](https://github.com/n-34/revanced-patches/issues/2787)) ([83a7bd8](83a7bd8))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/n-34/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube - Theme:** Add classic dark color to presets ([ReVanced#2542](https://github.com/n-34/revanced-patches/issues/2542)) ([4e1dc00](4e1dc00))
* **YouTube :** Remove `HDR auto brightness` patch ([ReVanced#2863](https://github.com/n-34/revanced-patches/issues/2863)) ([b4c7bf4](b4c7bf4))
* **YouTube Vanced:** Remove `Hide ads` patch ([87887e4](87887e4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/n-34/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Add `Remove viewer discretion dialog` patch ([a07f83f](a07f83f))
* **YouTube:** Improve patch descriptions ([ReVanced#2519](https://github.com/n-34/revanced-patches/issues/2519)) ([e8d1389](e8d1389))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/n-34/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Remove `Hide email address` patch ([3b84305](3b84305))
* **YouTube:** Reorganize settings menu ([ReVanced#2737](https://github.com/n-34/revanced-patches/issues/2737)) ([36132df](36132df))
* **YouTube:** Support version `19.02.34` ([ReVanced#2627](https://github.com/n-34/revanced-patches/issues/2627)) ([94e08b7](94e08b7))
* **YouTube:** Support version `19.03.35` ([ReVanced#2640](https://github.com/n-34/revanced-patches/issues/2640)) ([ff08f58](ff08f58))
* **YouTube:** Support version `19.04.37` ([ReVanced#2687](https://github.com/n-34/revanced-patches/issues/2687)) ([c23e023](c23e023))
* **YouTube:** Support version `19.05`, `19.06`, `19.07`, `19.08` and `19.09` ([ReVanced#2862](https://github.com/n-34/revanced-patches/issues/2862)) ([f044dde](f044dde))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/n-34/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YouTube:** Support versions `18.48.39`, `18.49.37` and `19.01.34` ([ReVanced#2551](https://github.com/n-34/revanced-patches/issues/2551)) ([a938e73](a938e73))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/n-34/revanced-patches/issues/3046)) ([10e170a](10e170a))
* **YT Music:** Add support for `7.01.52` ([ReVanced#3177](https://github.com/n-34/revanced-patches/issues/3177)) ([e9bfb25](e9bfb25))

### BREAKING CHANGES

* **Photomath:** Some packages have changed locations.
* Various APIs have been changed.
* Various public APIs have changed names and packages or were removed entirely
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants