Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
53f594a
Migration v21: initial
swakwork Sep 15, 2025
477a399
Migration v21: Added back some revanced patches
swakwork Sep 16, 2025
0158f2f
Migration v21: Added premium patches and refactor other patches
swakwork Sep 16, 2025
7a54276
Migration v21: refactor constants
swakwork Sep 16, 2025
ac84764
Migration v21: Added back `Bring back twitter`
swakwork Sep 17, 2025
4d9314e
Migration v21: Added `share menu` patches
swakwork Sep 17, 2025
9e218f9
Migration v21: Removed old `Reader mode` patch
swakwork Sep 18, 2025
46a3dbf
Migration v21: Code refactor
swakwork Sep 19, 2025
1993f39
Migration v21: Added back `Redirect bookmarks tab` hook
swakwork Sep 19, 2025
d4771b3
Migration v21: Update strings from dev
swakwork Sep 19, 2025
5b0c7c4
Remove unnecessary files
kitadai31 Sep 22, 2025
332c290
Fix gradle configurations
kitadai31 Sep 22, 2025
a80d2e9
Fix .releaserc
kitadai31 Sep 22, 2025
bcb67c1
Removed Crowdin-related things
kitadai31 Sep 22, 2025
4bf12bf
Remove AddResourcePatch and SettingsPatch originating from ReVanced
kitadai31 Sep 22, 2025
21d7aef
Remove unused patches from ReVanced
kitadai31 Sep 22, 2025
c7eea21
HideCTJ: Fix the missing settingsPatch dependency
kitadai31 Sep 22, 2025
04e1e5e
Settings: The description was incorrectly set to the name parameter, …
kitadai31 Sep 22, 2025
3b85df1
Fix property names, patch names, descriptions
kitadai31 Sep 22, 2025
73f5f31
Remove explicit `use = true` from patches
kitadai31 Sep 22, 2025
ed80b58
Fix access modifiers of fingerprints
kitadai31 Sep 23, 2025
708d7d4
SharedExtensionPatch: Remove remained test code
kitadai31 Sep 23, 2025
a0244b8
Remove unnecessary compatibleWith from dependent patches
kitadai31 Sep 23, 2025
dd25a6c
Fix: some patch has compatibleWith and dependsOn in execute block
kitadai31 Sep 23, 2025
501549f
Add missing @Suppress("unused") for patches
kitadai31 Sep 23, 2025
1583539
Remove an unused import
kitadai31 Sep 23, 2025
9e213d5
Fix Bring back twitter
kitadai31 Sep 23, 2025
b661b29
Update README.md
kitadai31 Sep 23, 2025
5a27ae4
Revert back the version to 1.59.0-dev.2 in gradle.properties
kitadai31 Sep 23, 2025
22acb83
Migration v21: remove unused files
swakwork Sep 23, 2025
f3fb01f
Migration v21: fix `Database patch` button
swakwork Sep 23, 2025
242c6d1
Migration v21: Merge patches and removed outdated patch
swakwork Sep 23, 2025
4c1fedf
Migration v21: Remove comments and debug prints
swakwork Sep 23, 2025
bbb8169
Migration v21: Remove contents of merged patch
swakwork Sep 23, 2025
c737ca8
feat!: Migrate ci
crimera Sep 24, 2025
d088d03
fix: wrong index number on multiple medias
crimera Sep 24, 2025
1fac1dd
Merge branch 'refactor/migration-v21' into dev
crimera Sep 24, 2025
9936459
chore(release): 2.0.0-dev.1 [skip ci]
semantic-release-bot Sep 24, 2025
ee83df7
fix(Universal): Set version code as int
swakwork Sep 24, 2025
8fda05e
fix(Twitter): Fix remove ads on replies
swakwork Sep 24, 2025
fa0dfac
refactor(Twitter): potential fix for resource compilation failing in …
swakwork Sep 25, 2025
6ce1104
Migration v21: Added back `Custom sharing domains`
kitadai31 Sep 26, 2025
2d90967
Merge pull request #673 from swakwork/fix/v21
crimera Sep 27, 2025
42ec01d
chore(release): 2.0.0-dev.2 [skip ci]
semantic-release-bot Sep 27, 2025
0e1d4ed
refactor(Twitter): fix `Remove promoted trends`
swakwork Sep 29, 2025
1655283
refactor(Twitter): remove old comments
swakwork Sep 29, 2025
f24cb72
refactor(Twitter): refactor `Bring back twitter` patch
swakwork Sep 29, 2025
3cc0f07
refactor(Twitter): handle piko resources programmatically
swakwork Sep 29, 2025
ee200a5
refactor(Twitter): Correct ja strings replacement in BBT patch
swakwork Sep 30, 2025
02a95f6
Merge pull request #676 from kitadai31/custom-deep-links
swakwork Oct 4, 2025
18be3ce
Merge pull request #683 from swakwork/fix/v21
swakwork Oct 4, 2025
30987b8
chore(release): 2.0.0-dev.3 [skip ci]
semantic-release-bot Oct 4, 2025
b70751f
Update Brazilian Portuguese strings
r7reiz Oct 5, 2025
e3cd62e
Fix bringbacktwitter strings
r7reiz Oct 5, 2025
a2a88bf
chore: don't run the release workflow when a pull request is made
crimera Oct 5, 2025
f68c6f2
chore: add `Test pull request` workflow
crimera Oct 5, 2025
f6184bc
Update strings.xml
iBasim Oct 5, 2025
43da4b5
update(Translations): Update `Polish`
krvstek Oct 5, 2025
c38539d
Update strings.xml
gototheskinny Oct 6, 2025
1908dd3
Merge pull request #693 from gototheskinny/patch-2
swakwork Oct 8, 2025
80256b0
Twitter(translation): Added `pl` to Bring Back Twitter resource list
swakwork Oct 8, 2025
a5b675d
Merge branch 'dev' of swakwork:crimera/piko into dev
swakwork Oct 8, 2025
8e892e9
Merge pull request #691 from iBasim/patch-1
swakwork Oct 8, 2025
3c2ff6c
Merge pull request #690 from r7reiz/dev
swakwork Oct 8, 2025
c6bb187
chore(release): 2.0.0-dev.4 [skip ci]
semantic-release-bot Oct 8, 2025
1365f1e
feat(Translations): Update Traditional Chinese
bbppllo Oct 8, 2025
9b99563
feat(Translations): Update Traditional Chinese
bbppllo Oct 8, 2025
80de9c9
feat(Translations): Update Traditional Chinese
bbppllo Oct 8, 2025
480841f
feat(Translations): Update Traditional Chinese
bbppllo Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 9 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,11 @@ on:
branches:
- main
- dev
pull_request:
branches:
- main
- dev

permissions:
contents: write
issues: write
packages: write
pull-requests: write

jobs:
Expand All @@ -35,13 +32,7 @@ jobs:
- name: Build with Gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew generatePatchesFiles clean

# - name: Upload patches jar
# uses: actions/upload-artifact@v4
# with:
# name: patches
# path: build/libs/*.jar
run: ./gradlew buildAndroid clean

- name: Setup Node.js
uses: actions/setup-node@v4
Expand All @@ -52,14 +43,14 @@ jobs:
- name: Install dependencies
run: npm install

- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
fingerprint: ${{ vars.GPG_FINGERPRINT }}

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm exec semantic-release

- name: Run apk build
run: |
curl -X POST https://api.github.com/repos/crimera/piko-builds/dispatches \
-H 'Accept: application/vnd.github+json' \
-H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \
-d '{"event_type": "build"}'
32 changes: 32 additions & 0 deletions .github/workflows/test_pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Test pull request

on:
workflow_dispatch:
pull_request:
branches:
- main
- dev

permissions:
contents: read

jobs:
release:
name: Test pull request
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Make sure the release step uses its own credentials:
# https://github.com/cycjimmy/semantic-release-action#private-packages
persist-credentials: false
fetch-depth: 0

- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1

- name: Build with Gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew buildAndroid clean
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,8 @@ node_modules/
# Ignore IDEA files
.idea/
/src/main/kotlin/crimera/patches/twitter/test*
bin/
bin/

*.bak

/local.properties
19 changes: 8 additions & 11 deletions .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
}
],
"plugins": [
["@semantic-release/commit-analyzer", {
[
"@semantic-release/commit-analyzer",
{
"releaseRules": [
{ "type": "fix", "release": "patch" },
{ "type": "feat", "release": "minor" },
Expand Down Expand Up @@ -39,10 +41,8 @@
"@semantic-release/git",
{
"assets": [
"README.md",
"CHANGELOG.md",
"gradle.properties",
"patches.json"
"gradle.properties"
]
}
],
Expand All @@ -51,20 +51,17 @@
{
"assets": [
{
"path": "build/libs/*.jar"
},
{
"path": "patches.json"
"path": "patches/build/libs/patches-!(*sources*|*javadoc*).rvp?(.asc)"
}
],
successComment: false
"successComment": false
}
],
[
"@saithodev/semantic-release-backmerge",
{
backmergeBranches: [{"from": "main", "to": "dev"}],
clearWorkspace: true
"backmergeBranches": [{"from": "main", "to": "dev"}],
"clearWorkspace": true
}
]
]
Expand Down
42 changes: 42 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
## [2.0.0-dev.4](https://github.com/crimera/piko/compare/v2.0.0-dev.3...v2.0.0-dev.4) (2025-10-08)

### Updates

* **Translations:** Update `Polish` ([43da4b5](https://github.com/crimera/piko/commit/43da4b5ebc4b12d155d8f81495bbd6a09b1f44ad))

## [2.0.0-dev.3](https://github.com/crimera/piko/compare/v2.0.0-dev.2...v2.0.0-dev.3) (2025-10-04)

### Refactors

* **Twitter:** Correct ja strings replacement in BBT patch ([ee200a5](https://github.com/crimera/piko/commit/ee200a5c5ae14e1a935903b5de9e7ecf7f03e0f9))
* **Twitter:** fix `Remove promoted trends` ([0e1d4ed](https://github.com/crimera/piko/commit/0e1d4ed2ac090451172f2bed985310061b987428))
* **Twitter:** handle piko resources programmatically ([3cc0f07](https://github.com/crimera/piko/commit/3cc0f0715c6ad62c14d6cd13e91f0965886e1534))
* **Twitter:** refactor `Bring back twitter` patch ([f24cb72](https://github.com/crimera/piko/commit/f24cb72309f648493b209fffb1e7d19bd5c705f6))
* **Twitter:** remove old comments ([1655283](https://github.com/crimera/piko/commit/165528374dadeab472a5f7d28bc60be12a09bbe0))

## [2.0.0-dev.2](https://github.com/crimera/piko/compare/v2.0.0-dev.1...v2.0.0-dev.2) (2025-09-27)

### Bug Fixes

* **Twitter:** Fix remove ads on replies ([8fda05e](https://github.com/crimera/piko/commit/8fda05ec94ffc7a48dfc1eb3a17bb14f6328ca6f))
* **Universal:** Set version code as int ([ee83df7](https://github.com/crimera/piko/commit/ee83df7f8f18cf4cf2306b0a662a845ed565e106))

### Refactors

* **Twitter:** potential fix for resource compilation failing in manager ([fa0dfac](https://github.com/crimera/piko/commit/fa0dfac2b959ba9a958bb458cc4572f28ff94902))

## [2.0.0-dev.1](https://github.com/crimera/piko/compare/v1.59.0...v2.0.0-dev.1) (2025-09-24)

### ⚠ BREAKING CHANGES

* Various APIs have been changed or removed.

### Bug Fixes

* some patch has compatibleWith and dependsOn in execute block ([dd25a6c](https://github.com/crimera/piko/commit/dd25a6cd43354b8d6f4cb60d7798c539b06a6e50))
* wrong index number on multiple medias ([d088d03](https://github.com/crimera/piko/commit/d088d03a5dc743e1e50f403d14b71bc59b38571b))

### Features

* Migrate ci ([c737ca8](https://github.com/crimera/piko/commit/c737ca8edef074ff1beff17db7d27e5f26c17dc1))

## [1.59.0](https://github.com/crimera/piko/compare/v1.58.1...v1.59.0) (2025-09-11)

### Features
Expand Down
23 changes: 8 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,25 @@

<b>Revanced Cli</b>

🚨 Use [Revanced Cli v4.6.0](https://github.com/ReVanced/revanced-cli/releases/tag/v4.6.0) for building.
The latest Cli is not compatible.

Download [crimera/piko](https://github.com/crimera/piko/releases) patches and [crimera/revanced-integrations](https://github.com/crimera/revanced-integrations/releases).

```sh
java -jar cli.jar patch \
-b piko.jar \
-m integrations.apk \
-o out.apk input.apk
java -jar cli.jar patch -p piko.rvp input.apk
```

<p><b>or Revanced Manager</b>
<details>

<div align="left">

Currently, piko patches are not compatible with the latest version of Revanced Manager.
Use [Revanced Manager v1.22.0](https://github.com/ReVanced/revanced-manager/releases/tag/v1.22.0) or [RVX Manager v1.22.2](https://github.com/inotia00/revanced-manager/releases/tag/v1.22.2).
<!-- TODO: Once enough time has passed, delete this sentence. -->
Starting with piko patches v2.0.0, the latest ReVanced Manager and RVX Manager are supported.

To use these patches in ReVanced Manager, follow the steps below or see image:

1. Set `crimera` as the patches organization.<br>
2. Set `piko` the patches source.<br>
3. Set `crimera` as integration organization.<br>
4. Press ok then force stop Revanced Manager before opening it again
1. Turn on "Use alternative sources" setting.
2. Open "Alternative sources".
3. Set `crimera` as the patches organization.<br>
4. Set `piko` as the patches source.<br>
5. Press ok then restart Revanced Manager.

<img src="docs/images/manager.png" alt="usage" width="200" />
</div>
Expand Down
119 changes: 1 addition & 118 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,120 +1,3 @@
import org.gradle.kotlin.dsl.support.listFilesOrdered

plugins {
kotlin("jvm") version "2.0.0"
`maven-publish`
}

group = "crimera"

repositories {
mavenCentral()
mavenLocal()
google()
maven { url = uri("https://jitpack.io") }
}

dependencies {
implementation(libs.revanced.patcher)
implementation(libs.smali)
// TODO: Required because build fails without it. Find a way to remove this dependency.
implementation(libs.guava)
// Used in JsonGenerator.
implementation(libs.gson)

// A dependency to the Android library unfortunately fails the build, which is why this is required.
compileOnly(project("dummy"))
}

kotlin {
jvmToolchain(11)
}

tasks.withType(Jar::class) {
manifest {
attributes["Name"] = "Piko"
attributes["Description"] = "Patches for ReVanced."
attributes["Version"] = version
attributes["Timestamp"] = System.currentTimeMillis().toString()
attributes["Source"] = "git@github.com:you/revanced-patches.git"
attributes["Author"] = "crimera"
attributes["Contact"] = "contact@your.homepage"
attributes["Origin"] = "https://your.homepage"
attributes["License"] = "GNU General Public License v3.0"
}
}

tasks {
register<DefaultTask>("generateBundle") {
description = "Generate DEX files and add them in the JAR file"

dependsOn(build)

doLast {
val d8 = File(System.getenv("ANDROID_HOME")).resolve("build-tools")
.listFilesOrdered().last().resolve("d8").absolutePath

val artifacts = configurations.archives.get().allArtifacts.files.files.first().absolutePath
val workingDirectory = layout.buildDirectory.dir("libs").get().asFile

exec {
workingDir = workingDirectory
commandLine = listOf(d8, artifacts)
}

exec {
workingDir = workingDirectory
commandLine = listOf("zip", "-u", artifacts, "classes.dex")
}
}
}

register<JavaExec>("generatePatchesFiles") {
description = "Generate patches files"

dependsOn(build)

classpath = sourceSets["main"].runtimeClasspath
mainClass.set("app.revanced.generator.MainKt")
}

// Required to run tasks because Gradle semantic-release plugin runs the publish task.
// Tracking: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435
named("publish") {
dependsOn("generateBundle")
dependsOn("generatePatchesFiles")
}
}

publishing {
publications {
create<MavenPublication>("revanced-patches-publication") {
from(components["java"])

pom {
name = "Piko"
description = "Patches for ReVanced."
url = "https://your.homepage"

licenses {
license {
name = "GNU General Public License v3.0"
url = "https://www.gnu.org/licenses/gpl-3.0.en.html"
}
}
developers {
developer {
id = "Your ID"
name = "crimera"
email = "contact@your.homepage"
}
}
scm {
connection = "scm:git:git://github.com/crimera/piko.git"
developerConnection = "scm:git:git@github.com:crimera/piko.git"
url = "https://github.com/crimera/piko"
}
}
}
}
alias(libs.plugins.android.library) apply false
}
9 changes: 0 additions & 9 deletions dummy/build.gradle.kts

This file was deleted.

10 changes: 10 additions & 0 deletions extensions/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-dontobfuscate
-dontoptimize
-keepattributes *
-keep class app.revanced.** {
*;
}

-keep class com.google.** {
*;
}
3 changes: 3 additions & 0 deletions extensions/shared/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dependencies {
implementation(project(":extensions:shared:library"))
}
Loading
Loading