## 🧩 Patches
The official Patch bundle provided by ReVanced and the community.
> Looking for the JSON variant of this? [Click here](patches.json).
### [📦 `com.google.android.youtube`](https://play.google.com/store/apps/details?id=com.google.android.youtube)
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `client-spoof` | Spoofs the YouTube client to prevent playback issues. | 18.01.32 |
| `custom-branding-icon-afn-blue` | Changes the YouTube launcher icon (Afn / Blue). | 18.01.32 |
| `custom-branding-icon-afn-red` | Changes the YouTube launcher icon (Afn / Red). | 18.01.32 |
| `custom-branding-icon-revancify` | Changes the YouTube launcher icon (Revancify). | 18.01.32 |
| `custom-branding-name` | Changes the YouTube launcher name to your choice (defaults to ReVanced Extended). | 18.01.32 |
| `custom-video-buffer` | Lets you change the buffers of videos. | 18.01.32 |
| `custom-video-speed` | Adds more video speed options. | 18.01.32 |
| `default-video-quality` | Adds ability to set default video quality settings. | 18.01.32 |
| `default-video-speed` | Adds ability to set default video speed settings. | 18.01.32 |
| `disable-haptic-feedback` | Disable haptic feedback when swiping. | 18.01.32 |
| `enable-external-browser` | Use an external browser to open the url. | 18.01.32 |
| `enable-hdr-auto-brightness` | Makes the brightness of HDR videos follow the system default. | 18.01.32 |
| `enable-minimized-playback` | Enables minimized and background playback. | 18.01.32 |
| `enable-old-layout` | Spoof the YouTube client version to use the old layout. | 18.01.32 |
| `enable-old-quality-layout` | Enables the original quality flyout menu. | 18.01.32 |
| `enable-old-seekbar-color` | Enable old seekbar color in dark mode. | 18.01.32 |
| `enable-open-links-directly` | Bypass URL redirects (youtube.com/redirect) when opening links in video descriptions. | 18.01.32 |
| `enable-seekbar-tapping` | Enables tap-to-seek on the seekbar of the video player. | 18.01.32 |
| `enable-tablet-miniplayer` | Enables the tablet mini player layout. | 18.01.32 |
| `enable-wide-searchbar` | Replaces the search icon with a wide search bar. This will hide the YouTube logo when active. | 18.01.32 |
| `force-premium-heading` | Forces premium heading on the home screen. | 18.01.32 |
| `header-switch` | Add switch to change header. | 18.01.32 |
| `hide-auto-captions` | Hide captions from being automatically enabled. | 18.01.32 |
| `hide-auto-player-popup-panels` | Hide automatic popup panels (playlist or live chat) on video player. | 18.01.32 |
| `hide-autoplay-button` | Hides the autoplay button in the video player. | 18.01.32 |
| `hide-button-container` | Adds options to hide action buttons under a video. | 18.01.32 |
| `hide-cast-button` | Hides the cast button in the video player. | 18.01.32 |
| `hide-channel-watermark` | Hides creator's watermarks on videos. | 18.01.32 |
| `hide-comment-component` | Adds options to hide comment component under a video. | 18.01.32 |
| `hide-create-button` | Hides the create button in the navigation bar. | 18.01.32 |
| `hide-crowdfunding-box` | Hides the crowdfunding box between the player and video description. | 18.01.32 |
| `hide-email-address` | Hides the email address in the account switcher. | 18.01.32 |
| `hide-endscreen-cards` | Hides the suggested video cards at the end of a video in fullscreen. | 18.01.32 |
| `hide-endscreen-overlay` | Hide endscreen overlay on swipe controls. | 18.01.32 |
| `hide-filmstrip-overlay` | Hide flimstrip overlay on swipe controls. | 18.01.32 |
| `hide-flyout-panel` | Adds options to hide player settings flyout panel. | 18.01.32 |
| `hide-fullscreen-buttoncontainer` | Hides the button containers in fullscreen. | 18.01.32 |
| `hide-general-ads` | Hooks the method which parses the bytes into a ComponentContext to filter components. | 18.01.32 |
| `hide-info-cards` | Hides info-cards in videos. | 18.01.32 |
| `hide-mix-playlists` | Removes mix playlists from home feed and video player. | 18.01.32 |
| `hide-pip-notification` | Disable pip notification when you first launch pip mode. | 18.01.32 |
| `hide-player-captions-button` | Hides the captions button in the video player. | 18.01.32 |
| `hide-player-overlay-filter` | Hide the suggested actions bar inside the player. | 18.01.32 |
| `hide-shorts-button` | Hides the shorts button in the navigation bar. | 18.01.32 |
| `hide-shorts-component` | Hides other Shorts components. | 18.01.32 |
| `hide-startup-shorts-player` | Disables playing YouTube Shorts when launching YouTube. | 18.01.32 |
| `hide-stories` | Hides YouTube Stories shelf on the feed. | 18.01.32 |
| `hide-suggested-actions` | Hide the suggested actions bar inside the player. | 18.01.32 |
| `hide-time-and-seekbar` | Hides progress bar and time counter on videos. | 18.01.32 |
| `hide-video-ads` | Removes ads in the video player. | 18.01.32 |
| `layout-switch` | Tricks the dpi to use some tablet/phone layouts. | 18.01.32 |
| `materialyou` | Enables MaterialYou theme for Android 12+ | 18.01.32 |
| `microg-support` | Allows YouTube ReVanced to run without root and under a different package name with Vanced MicroG. | 18.01.32 |
| `optimize-resource` | Removes duplicate resources and adds missing translation files from YouTube. | 18.01.32 |
| `overlay-buttons` | Add overlay buttons for ReVanced Extended. | 18.01.32 |
| `remove-player-button-background` | Removes the background from the video player buttons. | 18.01.32 |
| `return-youtube-dislike` | Shows the dislike count of videos using the Return YouTube Dislike API. | 18.01.32 |
| `settings` | Applies mandatory patches to implement ReVanced settings into the application. | 18.01.32 |
| `sponsorblock` | Integrate SponsorBlock. | 18.01.32 |
| `swipe-controls` | Adds volume and brightness swipe controls. | 18.01.32 |
| `theme` | Applies a custom theme (default: amoled). | 18.01.32 |
| `translations` | Add Crowdin Translations | 18.01.32 |
### [📦 `com.google.android.apps.youtube.music`](https://play.google.com/store/apps/details?id=com.google.android.apps.youtube.music)
| 💊 Patch | 📜 Description | 🏹 Target Version |
|:--------:|:--------------:|:-----------------:|
| `background-play` | Enables playing music in the background. | all |
| `client-spoof-music` | Spoofs the YouTube Music client. | all |
| `custom-branding-music-red` | Changes the YouTube Music launcher icon to your choice (defaults to ReVanced Red). | all |
| `custom-branding-music-revancify` | Changes the YouTube Music launcher icon to your choice (Revancify). | all |
| `enable-black-navbar` | Sets the navigation bar color to black. | all |
| `enable-color-match-player` | Matches the fullscreen player color with the minimized one. | all |
| `enable-force-minimized-player` | Permanently keep player minimized even if another track is played. | all |
| `enable-force-shuffle` | Enable force shuffle even if another track is played. | all |
| `enable-opus-codec` | Enable opus codec when playing audio. | all |
| `enable-tablet-mode` | Enable landscape mode on phone. | all |
| `enable-zen-mode` | Adds a grey tint to the video player to reduce eye strain. | all |
| `exclusive-audio-playback` | Enables the option to play music without video. | all |
| `hide-compact-header` | Hides the music category bar at the top of the homepage. | all |
| `hide-get-premium` | Removes all "Get Premium" evidences from the avatar menu. | all |
| `hide-music-ads` | Removes ads in the music player. | all |
| `hide-music-cast-button` | Hides the cast button in the video player and header | all |
| `hide-taste-builder` | Removes the "Tell us which artists you like" card from the home screen. | all |
| `hide-upgrade-button` | Removes the upgrade tab from the pivot bar. | all |
| `minimized-playback-music` | Enables minimized playback on Kids music. | all |
| `music-microg-support` | Allows YouTube Music ReVanced to run without root and under a different package name. | all |
| `music-settings` | Adds settings for ReVanced to YouTube Music. | all |
| `optimize-resource-music` | Remove unnecessary resources. | all |
| `translations-music` | Add Crowdin Translations for YouTube Music | all |
## 📝 JSON Format
This section explains the JSON format for the [patches.json](patches.json) file.
The file contains an array of objects, each object representing a patch. The object contains the following properties:
| key | description |
|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `name` | The name of the patch. |
| `description` | The description of the patch. |
| `version` | The version of the patch. |
| `excluded` | Whether the patch is excluded by default. If `true`, the patch must never be included by default. |
| `options` | An array of options for this patch. |
| `options.key` | The key of the option. |
| `options.title` | The title of the option. |
| `options.description` | The description of the option. |
| `options.required` | Whether the option is required. |
| `options.choices?` | An array of choices of the option. This may be `null` if this option has no choices. The element type of this array may be any type. It can be a `String`, `Int` or something else. |
| `dependencies` | An array of dependencies, which are patch names. |
| `compatiblePackages` | An array of packages compatible with this patch. |
| `compatiblePackages.name` | The name of the package. |
| `compatiblePackages.versions` | An array of versions of the package compatible with this patch. If empty, all versions are seemingly compatible. |
Example:
```json
[
{
"name": "remember-video-quality",
"description": "Adds the ability to remember the video quality you chose in the video quality flyout.",
"version": "0.0.1",
"excluded": false,
"options": [],
"dependencies": [
"integrations",
"video-id-hook"
],
"compatiblePackages": [
{
"name": "com.google.android.youtube",
"versions": [
"17.49.37",
"18.01.32"
]
}
]
}
]
```