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(YouTube): Support version 19.09.38, 19.10.39 and 19.11.43 #2971

Merged
merged 12 commits into from
Apr 20, 2024

Conversation

LisoUseInAIKyrios
Copy link
Contributor

No description provided.

@LisoUseInAIKyrios LisoUseInAIKyrios marked this pull request as draft April 1, 2024 13:07
@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat(YouTube): Support version 19.09, 19.10, 19.11 and 19.12 feat(YouTube): Support version 19.10, 19.11 and 19.12 Apr 1, 2024
@LisoUseInAIKyrios
Copy link
Contributor Author

19.12.41 has an issue, where opening YT from a weblink causes an odd crash.

Maybe swipe controls is causing it, but it might be a YT bug.

19.11.43 does not have the issue, so going to remove 19.12 support (nothing appears to be different anyways).

System.err: azkx: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: 	at azme.a(PG:5)
System.err: 	at aznd.c(PG:14)
System.err: 	at aznd.wd(PG:26)
System.err: 	at balr.c(PG:22)
System.err: 	at bamr.wk(PG:7)
System.err: 	at bamr.b(PG:55)
System.err: 	at bams.wd(PG:36)
System.err: 	at kpo.h(PG:9)
System.err: 	at kuz.qG(PG:11)
System.err: 	at afxe.d(PG:98)
System.err: 	at afww.i(PG:400)
System.err: 	at afww.a(PG:33)
System.err: 	at afww.b(PG:5)
System.err: 	at kuz.qF(PG:37)
System.err: 	at gxc.qF(PG:27)
System.err: 	at xot.d(PG:70)
System.err: 	at xou.onTouch(PG:60)
System.err: 	at kyc.onTouch(PG:18)
System.err: 	at android.view.View.dispatchTouchEvent(View.java:16208)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3318)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2982)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3324)
System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2998)
System.err: 	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:776)
System.err: 	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1967)
System.err: 	at android.app.Activity.dispatchTouchEvent(Activity.java:4531)
System.err: 	at app.revanced.integrations.youtube.swipecontrols.SwipeControlsHostActivity.dispatchTouchEvent(SwipeControlsHostActivity.kt:86)
System.err: 	at com.google.android.apps.youtube.app.watchwhile.MainActivity.u(PG:1)
System.err: 	at nhm.n(PG:3)
System.err: 	at nhl.n(PG:121)
System.err: 	at com.google.android.apps.youtube.app.watchwhile.MainActivity.dispatchTouchEvent(PG:5)
System.err: 	at in.dispatchTouchEvent(PG:3)
System.err: 	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:734)
System.err: 	at android.view.View.dispatchPointerEvent(View.java:16476)
System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8482)
System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8233)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7562)
System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7619)
System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7585)
System.err: 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7788)
System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7593)
System.err: 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7845)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7566)
System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7619)
System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7585)
System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7593)
System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7566)
System.err: 	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11103)
System.err: 	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10985)
System.err: 	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10941)
System.err: 	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11237)
System.err: 	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:296)
System.err: 	at android.os.MessageQueue.nativePollOnce(Native Method)
System.err: 	at android.os.MessageQueue.next(MessageQueue.java:335)
System.err: 	at android.os.Looper.loopOnce(Looper.java:187)
System.err: 	at android.os.Looper.loop(Looper.java:319)
System.err: 	at android.app.ActivityThread.main(ActivityThread.java:8893)
System.err: 	at java.lang.reflect.Method.invoke(Native Method)
System.err: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
System.err: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: 	at hhz.k(PG:1)
System.err: 	at kuz.G(PG:779)
System.err: 	at mxb.a(PG:9)
System.err: 	at dkh.g(PG:8)
System.err: 	at kvn.f(PG:29)
System.err: 	at gxg.qS(PG:3)
System.err: 	at gxx.qS(PG:1)
System.err: 	at kvl.F(PG:91)
System.err: 	at kvl.w(PG:9)
System.err: 	at kpl.a(PG:195)
System.err: 	at aznd.wd(PG:9)
System.err: 	... 79 more

@LisoUseInAIKyrios
Copy link
Contributor Author

LisoUseInAIKyrios commented Apr 1, 2024

It might be best to wait to merge this PR, or maybe merge the patch changes but don't increment the compatibility version numbers. Too much is going on right now to mess with new issues from YT updates that don't appear to change anything.

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat(YouTube): Support version 19.10, 19.11 and 19.12 feat(YouTube): Support version 19.10 and 19.11 Apr 1, 2024
@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat(YouTube): Support version 19.10 and 19.11 feat(YouTube): Support version 19.09.38 Apr 2, 2024
@LisoUseInAIKyrios
Copy link
Contributor Author

The recent versions of YT have been flaky and a lot is changing, I think updating could wait a bit.

For now, this PR only adds 19.09.38 (up from 19.09.37)

@inotia00
Copy link

inotia00 commented Apr 3, 2024

This is not because the Swipe controls patch is unstable.

The reason why stacktrace outputs the class app.revanced.integrations.youtube.swipecontrols.SwipeControlsHostActivity is simply because the Swipe controls patch changes the SuperClass of the MainActivity class to the SwipeControlsHostActivity class.

In other words, this is not an exception thrown by the SwipeControlsHostActivity class, it's just an exception in the MainActivity class.

Some notable points from this crash log include:

System.err: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
System.err: at hhz.k(PG:1)
System.err: at kuz.G(PG:779)

This is the first exception thrown in the 'G' method of the 'kuz' class.

In YouTube v19.12.41, the 'G' method of the 'kuz' class handles the YouTube player button.

Hide autoplay button patch is probably the cause of the crash.

@oSumAtrIX
Copy link
Member

It is likely that some offsets have changed and the patch fails due to that. I remember it using offsets.

@LisoUseInAIKyrios
Copy link
Contributor Author

LisoUseInAIKyrios commented Apr 3, 2024

During patching no exceptions were thrown, and the patched app launches and works correctly for the brief time I used it. It only crashes when opening web links.

19.11 and lower did not have the issue.

19.13 is still beta, but it has even more changes and a few fingerprints no longer resolve.

@0xrxL
Copy link

0xrxL commented Apr 14, 2024

19.13 is still beta, but it has even more changes and a few fingerprints no longer resolve.

19.13.36 was released into stable channel in April 3.

P.S: Anyway... autoplay button code is indeed changed starting from 19.13.xx (it doesn't support the old way to add it in layout anymore). I have already modified the old patch to make it compatible.

@LisoUseInAIKyrios
Copy link
Contributor Author

And with 19.13 the minimized playback code was changed.

This PR is working ok with 19.11.43 and I've had no problems with it. Can modify this PR to add 19.10 and 19.11 and handle 19.13+ at a later time.

@0xrxL
Copy link

0xrxL commented Apr 14, 2024

And with '19.13' the minimized playback code was changed.

This PR is working ok with '19.11.43' and I've had no problems with it. Can modify this PR to add 19.10 and 19.11 and handle 19.13+ at a later time.

This Version (some weeks ago) broke all patches on my patcher, due to a weird debug lines adding by Google on many parts of the smali code (I'm talking about 3 debug lines per instruction).

Never seen something like that.

@MarcaDian
Copy link
Contributor

i am on 19.11.43 from march whithout this PR and i had no problem

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat(YouTube): Support version 19.09.38 feat(YouTube): Support version 19.09.38, 19.10.39 and 19.11.43 Apr 17, 2024
# Conflicts:
#	src/main/kotlin/app/revanced/patches/youtube/layout/hide/breakingnews/BreakingNewsPatch.kt
#	src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonPatch.kt
#	src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt
@LisoUseInAIKyrios LisoUseInAIKyrios marked this pull request as ready for review April 17, 2024 16:09
@LisoUseInAIKyrios
Copy link
Contributor Author

I think adding 19.10 and 19.11 is now ok. I've been using it and it has no obvious issues (no fingerprints changes were needed either).

@LisoUseInAIKyrios
Copy link
Contributor Author

I think this is ok to merge.

And maybe merge dev to main soon?

@oSumAtrIX
Copy link
Member

Sounds good, I'd like to review the PR first, bare with me

@oSumAtrIX oSumAtrIX merged commit 730f3e3 into dev Apr 20, 2024
2 checks passed
@oSumAtrIX oSumAtrIX deleted the feat/yt_19.10 branch April 20, 2024 23:15
revanced-bot pushed a commit that referenced this pull request Apr 20, 2024
# [4.7.0-dev.15](v4.7.0-dev.14...v4.7.0-dev.15) (2024-04-20)

### Features

* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([#2971](#2971)) ([730f3e3](730f3e3))
revanced-bot pushed a commit that referenced this pull request Apr 21, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-21)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([#2988](#2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([#2958](#2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([#3026](#3026)) ([17e4ac9](17e4ac9))
* **YouTube - Hide load more button:** Include patch with `Hide layout components`, and hide button only in search feed  ([#2959](#2959)) ([b007e8e](b007e8e))
* **YouTube - Hide Shorts components:** Correctly hide Shorts if navigation tab is changed using device back button ([#3007](#3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([#2985](#2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([#3039](#3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([#3045](#3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([#3034](#3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([#3000](#3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([#3003](#3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([#2951](#2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([#3018](#3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([#3019](#3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([#2996](#2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([#2981](#2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([#3023](#3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([#2971](#2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([#3046](#3046)) ([10e170a](10e170a))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Apr 21, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-21)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/E85Addict/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/E85Addict/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/E85Addict/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/E85Addict/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/E85Addict/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/E85Addict/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/E85Addict/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/E85Addict/revanced-patches/issues/3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/E85Addict/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/E85Addict/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/E85Addict/revanced-patches/issues/3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/E85Addict/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/E85Addict/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/E85Addict/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/E85Addict/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/E85Addict/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/E85Addict/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/E85Addict/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/E85Addict/revanced-patches/issues/3046)) ([10e170a](10e170a))

### Performance Improvements

* Personal Logo && Add upstream sync ([7f40bcb](7f40bcb))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Apr 22, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-22)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/E85Addict/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/E85Addict/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/E85Addict/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/E85Addict/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/E85Addict/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/E85Addict/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/E85Addict/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/E85Addict/revanced-patches/issues/3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/E85Addict/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/E85Addict/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/E85Addict/revanced-patches/issues/3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/E85Addict/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/E85Addict/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/E85Addict/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/E85Addict/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/E85Addict/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/E85Addict/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/E85Addict/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/E85Addict/revanced-patches/issues/3046)) ([10e170a](10e170a))

### Performance Improvements

* Personal Logo && Add upstream sync ([5e91b8b](5e91b8b))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Apr 22, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-22)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/E85Addict/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/E85Addict/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/E85Addict/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/E85Addict/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/E85Addict/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/E85Addict/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/E85Addict/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/E85Addict/revanced-patches/issues/3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/E85Addict/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/E85Addict/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/E85Addict/revanced-patches/issues/3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/E85Addict/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/E85Addict/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/E85Addict/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/E85Addict/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/E85Addict/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/E85Addict/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/E85Addict/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/E85Addict/revanced-patches/issues/3046)) ([10e170a](10e170a))

### Performance Improvements

* Personal Logo && Add upstream sync ([70ca602](70ca602))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Apr 29, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-29)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/E85Addict/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/E85Addict/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/E85Addict/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/E85Addict/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/E85Addict/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/E85Addict/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/E85Addict/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/E85Addict/revanced-patches/issues/3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/E85Addict/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/E85Addict/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/E85Addict/revanced-patches/issues/3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/E85Addict/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/E85Addict/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/E85Addict/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/E85Addict/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/E85Addict/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/E85Addict/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/E85Addict/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/E85Addict/revanced-patches/issues/3046)) ([10e170a](10e170a))

### Performance Improvements

* Personal Logo && Add upstream sync && Add Unlock Spotify Premium patch ([b6967ec](b6967ec))
E85Addict pushed a commit to E85Addict/revanced-patches that referenced this pull request Apr 30, 2024
# [4.7.0](v4.6.0...v4.7.0) (2024-04-30)

### Bug Fixes

* **Tumblr - Fix old versions:** Improve reliability by removing remnances of Tumblr Live  ([ReVanced#2988](https://github.com/E85Addict/revanced-patches/issues/2988)) ([897b4db](897b4db))
* **YouTube - GmsCore support:** Prompt to disable battery optimizations, if not done already ([ReVanced#2958](https://github.com/E85Addict/revanced-patches/issues/2958)) ([82acb84](82acb84))
* **YouTube - Hide ads:** rename `Hide paid content` to `Hide paid promotion label` ([ReVanced#3026](https://github.com/E85Addict/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/E85Addict/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/E85Addict/revanced-patches/issues/3007)) ([e5848e9](e5848e9))
* **YouTube - Player flyout menu:** Add hide Lock screen menu ([ReVanced#2985](https://github.com/E85Addict/revanced-patches/issues/2985)) ([308de4a](308de4a))
* **YouTube - Spoof device dimensions:** Warn about potential performance issues ([ReVanced#3039](https://github.com/E85Addict/revanced-patches/issues/3039)) ([9d6f305](9d6f305))
* **YouTube Music - Remove upgrade button:** Fix compatibility with latest versions ([ReVanced#3045](https://github.com/E85Addict/revanced-patches/issues/3045)) ([80de996](80de996))

### Features

* Add `Hex` patch ([ReVanced#3034](https://github.com/E85Addict/revanced-patches/issues/3034)) ([3c95aac](3c95aac))
* **Amazon:** Add `Always allow deep-linking` patch ([ReVanced#3000](https://github.com/E85Addict/revanced-patches/issues/3000)) ([a92b7fb](a92b7fb))
* **Strava - Unlock subscription:** Remove compatible version constraint ([80a5599](80a5599))
* **Twitter:** Add `Sanitize sharing links` patch ([ReVanced#3003](https://github.com/E85Addict/revanced-patches/issues/3003)) ([186b887](186b887))
* **YouTube - Hide layout components:** Add option to hide horizontal shelves ([ReVanced#2951](https://github.com/E85Addict/revanced-patches/issues/2951)) ([9ae0650](9ae0650))
* **YouTube - Hide layout components:** Hide playables ([8423515](8423515))
* **YouTube - Hide Shorts components:** Hide `Shop`, `Location` and `Save sound to playlist` buttons ([ReVanced#3018](https://github.com/E85Addict/revanced-patches/issues/3018)) ([5210ac4](5210ac4))
* **YouTube - Hide Shorts components:** Hide tagged products, hide search suggestions ([ReVanced#3019](https://github.com/E85Addict/revanced-patches/issues/3019)) ([e0d2fe5](e0d2fe5))
* **YouTube - Swipe controls:** Save and restore brightness and add auto-brightness toggle ([ReVanced#2996](https://github.com/E85Addict/revanced-patches/issues/2996)) ([f6c3bc4](f6c3bc4))
* **YouTube:** Add 'About' preference to settings menu ([ReVanced#2981](https://github.com/E85Addict/revanced-patches/issues/2981)) ([5abf894](5abf894))
* **YouTube:** Match overlay icons style to YouTube ([ReVanced#3023](https://github.com/E85Addict/revanced-patches/issues/3023)) ([6849393](6849393))
* **YouTube:** Support version `19.09.38`, `19.10.39` and `19.11.43` ([ReVanced#2971](https://github.com/E85Addict/revanced-patches/issues/2971)) ([730f3e3](730f3e3))
* **YT Music - Hide 'Get Music Premium' label:** Remove occurences of label in settings ([ReVanced#3046](https://github.com/E85Addict/revanced-patches/issues/3046)) ([10e170a](10e170a))

### Performance Improvements

* Personal Logo && Add upstream sync ([4ed3d3f](4ed3d3f))
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.

None yet

5 participants