# X Patches
Patch bundle for X (Twitter), maintained by
[Stan Ponomarev](https://git.krtss.de/StanPonomarev).
> **[v1.1.3](https://git.krtss.de/StanPonomarev/twitter-patch/releases/tag/v1.1.3)** • `main` • 2 patches total
📦 X • 2 patches
**🎯 Supported versions:**
| 12.7.1-release.0 |
| :---: |
| 💊 Patch | 📜 Description | ⚙️ Options |
|----------|----------------|-----------|
| [Disable outdated version screen](#disable-outdated-version-screen) | Prevents X from blocking app access when it marks the client version as outdated. | |
| [Remove timeline Upgrade button](#remove-timeline-upgrade-button) | Removes the Premium Upgrade button from the timeline's top bar. | |
## Target
- Package: `com.twitter.android`
- Version: `12.7.1-release.0` (`312071000`)
- Input type: APKM
- Minimum Android API: 28
## Prerequisites
- Java 21
- The target `twitter.apkm` in the repository root for integration testing
- GitHub Packages credentials in `~/.gradle/gradle.properties`:
```properties
gpr.user = your-github-username
gpr.key = your-read-packages-token
```
## Build
```shell
./gradlew :patches:buildAndroid
```
The bundle is written to `patches/build/libs/patches-1.0.0.mpp`.
## Integration test
```shell
./gradlew :patches:integrationTest
```
The Kotlin integration test downloads the pinned Morphe Desktop release,
verifies its SHA-256 checksum, applies only this patch to `twitter.apkm`, and
checks the resulting APK and Morphe patching report. The verified Morphe JAR is
cached under `patches/build/verification/tools`.
## Apply manually
```shell
java -jar morphe-desktop-*-all.jar patch \
--patches patches/build/libs/patches-1.0.0.mpp \
--exclusive \
--enable="Disable outdated version screen" \
--out twitter-patched.apk \
twitter.apkm
```
## Add as a Morphe patch source
For a local source, open **Sources → + → Local** in Morphe and select the built
`.mpp` file.
After a release has populated `patches-bundle.json`, add the following address
under **Sources → + → Remote**:
```text
https://git.krtss.de/StanPonomarev/twitter-patch/raw/branch/main/patches-bundle.json
```
Remote sources update automatically from the release bundle referenced by that
metadata file.
## Project
- Repository:
- Author: Stan Ponomarev
- Contact:
## License
Licensed under the [GNU General Public License v3.0](LICENSE).