Skip to content

Commit 613399b

Browse files
oSumAtrIXlaur89brossshvalidcubeenergypatrikhu
authored
chore: Merge branch dev to main (#69)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de> Co-authored-by: laur89 <laur89@users.noreply.github.com> Co-authored-by: Brosssh <44944126+Brosssh@users.noreply.github.com> Co-authored-by: Pun Butrach <pun.butrach@gmail.com> Co-authored-by: EnergyPatrikHU <74842806+energypatrikhu@users.noreply.github.com>
2 parents 4065c87 + 107ccf9 commit 613399b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+2359
-3503
lines changed

.editorconfig

Lines changed: 0 additions & 3 deletions
This file was deleted.

.github/workflows/build_pull_request.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout
15-
uses: actions/checkout@v4
16-
with:
17-
fetch-depth: 0
15+
uses: actions/checkout@v6
1816

1917
- name: Cache Gradle
20-
uses: burrunan/gradle-cache-action@v1
18+
uses: burrunan/gradle-cache-action@v3
2119

2220
- name: Setup Java
23-
run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
21+
uses: actions/setup-java@v5
22+
with:
23+
distribution: 'temurin'
24+
java-version: '17'
2425

2526
- name: Build
2627
env:
27-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28+
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ env.GITHUB_ACTOR }}
29+
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
2830
run: ./gradlew build --no-daemon

.github/workflows/open_pull_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v6
1919

2020
- name: Open pull request
2121
uses: repo-sync/pull-request@v2

.github/workflows/release.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,25 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout
19-
uses: actions/checkout@v4
20-
with:
21-
# Make sure the release step uses its own credentials:
22-
# https://github.com/cycjimmy/semantic-release-action#private-packages
23-
persist-credentials: false
24-
fetch-depth: 0
19+
uses: actions/checkout@v6
2520

2621
- name: Cache Gradle
27-
uses: burrunan/gradle-cache-action@v1
22+
uses: burrunan/gradle-cache-action@v3
2823

2924
- name: Setup Java
30-
run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
25+
uses: actions/setup-java@v5
26+
with:
27+
distribution: 'temurin'
28+
java-version: '17'
3129

3230
- name: Build
3331
env:
34-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ github.actor }}
33+
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
3534
run: ./gradlew build clean
3635

3736
- name: Setup Node.js
38-
uses: actions/setup-node@v4
37+
uses: actions/setup-node@v6
3938
with:
4039
node-version: "lts/*"
4140
cache: 'npm'
@@ -51,6 +50,9 @@ jobs:
5150
fingerprint: ${{ vars.GPG_FINGERPRINT }}
5251

5352
- name: Release
53+
uses: cycjimmy/semantic-release-action@v5
54+
id: release
5455
env:
5556
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56-
run: npm exec semantic-release
57+
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ github.actor }}
58+
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}

.releaserc

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,10 @@
2828
}
2929
],
3030
[
31-
"@saithodev/semantic-release-backmerge",
31+
"@kilianpaquier/semantic-release-backmerge",
3232
{
33-
backmergeBranches: [{"from": "main", "to": "dev"}],
34-
clearWorkspace: true
33+
"targets": [{ "from": "main", "to": "dev" }]
3534
}
36-
],
37-
[
38-
"@semantic-release/github",
39-
{
40-
successComment: false
41-
}
4235
]
4336
]
4437
}

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
# [4.0.0-dev.2](https://github.com/ReVanced/revanced-library/compare/v4.0.0-dev.1...v4.0.0-dev.2) (2026-02-21)
2+
3+
4+
### Bug Fixes
5+
6+
* Close streams to be able to delete cache folder ([b5e40fe](https://github.com/ReVanced/revanced-library/commit/b5e40fe47677a95a69e4efc34b63b610ef6c0f8c))
7+
* Use Magisk mirror only when it is really possible ([#67](https://github.com/ReVanced/revanced-library/issues/67)) ([9162da9](https://github.com/ReVanced/revanced-library/commit/9162da952a50012551c14ed51045468c3bb3a545))
8+
9+
# [4.0.0-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.2.0-dev.2...v4.0.0-dev.1) (2026-02-21)
10+
11+
12+
* feat!: Update to ReVanced Patcher v22 ([#111](https://github.com/ReVanced/revanced-library/issues/111)) ([0f76b4c](https://github.com/ReVanced/revanced-library/commit/0f76b4cbee250e22b10c4ab4b1d4a8520e1d3277))
13+
14+
15+
### BREAKING CHANGES
16+
17+
* ReVanced Patcher v22 updates APIs. Some of which affect the compatibility of ReVanced Library
18+
19+
# [3.2.0-dev.2](https://github.com/ReVanced/revanced-library/compare/v3.2.0-dev.1...v3.2.0-dev.2) (2026-02-19)
20+
21+
22+
### Features
23+
24+
* Add SLSA attestation and PGP signature verification ([f64f17b](https://github.com/ReVanced/revanced-library/commit/f64f17ba8601baff661fb77a20bb72581e2cb101))
25+
26+
# [3.2.0-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.1.1-dev.1...v3.2.0-dev.1) (2025-05-27)
27+
28+
29+
### Features
30+
31+
* Request the update ownership enforcement ([#71](https://github.com/ReVanced/revanced-library/issues/71)) ([be0f6bf](https://github.com/ReVanced/revanced-library/commit/be0f6bf247461d16fbf649a9f2dc6facbb5b0c93))
32+
33+
## [3.1.1-dev.1](https://github.com/ReVanced/revanced-library/compare/v3.1.0...v3.1.1-dev.1) (2025-05-02)
34+
35+
36+
### Bug Fixes
37+
38+
* Interpret package name as a string instead of Regex when using grep ([#68](https://github.com/ReVanced/revanced-library/issues/68)) ([254f36d](https://github.com/ReVanced/revanced-library/commit/254f36d03cc8fd3e2508a5e8f69bb5c8e1eb9775))
39+
140
# [3.1.0](https://github.com/ReVanced/revanced-library/compare/v3.0.2...v3.1.0) (2024-11-27)
241

342

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ You can find the contribution guidelines [here](CONTRIBUTING.md).
109109
To build ReVanced Library,
110110
you can follow the [ReVanced documentation](https://github.com/ReVanced/revanced-documentation).
111111

112-
## 📜 Licence
112+
## 📜 License
113113

114-
ReVanced Library is licensed under the GPLv3 license. Please see the [licence file](LICENSE) for more information.
114+
ReVanced Library is licensed under the GPLv3 license. Please see the [license file](LICENSE) for more information.
115115
[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute and modify ReVanced Library as long as you track changes/dates in source files.
116116
Any modifications to ReVanced Library must also be made available under the GPL,
117117
along with build & install instructions.

api/android/revanced-library.api

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public final class app/revanced/library/ApkSigner$Signer {
2626

2727
public final class app/revanced/library/ApkUtils {
2828
public static final field INSTANCE Lapp/revanced/library/ApkUtils;
29-
public final fun applyTo (Lapp/revanced/patcher/PatcherResult;Ljava/io/File;)V
29+
public final fun applyTo (Lapp/revanced/patcher/PatchesResult;Ljava/io/File;)V
3030
public final fun signApk (Ljava/io/File;Ljava/io/File;Ljava/lang/String;Lapp/revanced/library/ApkUtils$KeyStoreDetails;)V
3131
}
3232

@@ -47,6 +47,18 @@ public final class app/revanced/library/ApkUtils$PrivateKeyCertificatePairDetail
4747
public final fun getValidUntil ()Ljava/util/Date;
4848
}
4949

50+
public final class app/revanced/library/CryptographyKt {
51+
public static final fun getPublicKey (Lorg/bouncycastle/openpgp/PGPPublicKeyRing;)Lorg/bouncycastle/openpgp/PGPPublicKey;
52+
public static final fun getPublicKeyRing (Lorg/bouncycastle/openpgp/PGPPublicKeyRingCollection;J)Lorg/bouncycastle/openpgp/PGPPublicKeyRing;
53+
public static final fun getPublicKeyRingCollection (Ljava/io/InputStream;)Lorg/bouncycastle/openpgp/PGPPublicKeyRingCollection;
54+
public static final fun getSignature (Ljava/io/InputStream;)Lorg/bouncycastle/openpgp/PGPSignature;
55+
public static final fun matchGitHub (Ldev/sigstore/fulcio/client/ImmutableFulcioCertificateMatcher$Builder;Ljava/lang/String;)Ldev/sigstore/fulcio/client/ImmutableFulcioCertificateMatcher$Builder;
56+
public static final fun verificationOptions (Lkotlin/jvm/functions/Function1;)Ldev/sigstore/VerificationOptions;
57+
public static final fun verifySLSA ([BLjava/io/InputStream;Ldev/sigstore/VerificationOptions;)Z
58+
public static final fun verifySLSA ([BLjava/io/InputStream;Lkotlin/jvm/functions/Function1;)Z
59+
public static final fun verifySignature ([BLorg/bouncycastle/openpgp/PGPSignature;Lorg/bouncycastle/openpgp/PGPPublicKey;)Z
60+
}
61+
5062
public final class app/revanced/library/OptionsKt {
5163
public static final fun setOptions (Ljava/util/Set;Ljava/util/Map;)V
5264
}
@@ -97,7 +109,7 @@ public abstract interface class app/revanced/library/installation/command/RunRes
97109
public abstract fun getError ()Ljava/lang/String;
98110
public abstract fun getExitCode ()I
99111
public abstract fun getOutput ()Ljava/lang/String;
100-
public abstract fun waitFor ()V
112+
public fun waitFor ()V
101113
}
102114

103115
public final class app/revanced/library/installation/command/RunResult$DefaultImpls {

api/jvm/revanced-library.api

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public final class app/revanced/library/ApkSigner$Signer {
2626

2727
public final class app/revanced/library/ApkUtils {
2828
public static final field INSTANCE Lapp/revanced/library/ApkUtils;
29-
public final fun applyTo (Lapp/revanced/patcher/PatcherResult;Ljava/io/File;)V
29+
public final fun applyTo (Lapp/revanced/patcher/PatchesResult;Ljava/io/File;)V
3030
public final fun signApk (Ljava/io/File;Ljava/io/File;Ljava/lang/String;Lapp/revanced/library/ApkUtils$KeyStoreDetails;)V
3131
}
3232

@@ -47,6 +47,18 @@ public final class app/revanced/library/ApkUtils$PrivateKeyCertificatePairDetail
4747
public final fun getValidUntil ()Ljava/util/Date;
4848
}
4949

50+
public final class app/revanced/library/CryptographyKt {
51+
public static final fun getPublicKey (Lorg/bouncycastle/openpgp/PGPPublicKeyRing;)Lorg/bouncycastle/openpgp/PGPPublicKey;
52+
public static final fun getPublicKeyRing (Lorg/bouncycastle/openpgp/PGPPublicKeyRingCollection;J)Lorg/bouncycastle/openpgp/PGPPublicKeyRing;
53+
public static final fun getPublicKeyRingCollection (Ljava/io/InputStream;)Lorg/bouncycastle/openpgp/PGPPublicKeyRingCollection;
54+
public static final fun getSignature (Ljava/io/InputStream;)Lorg/bouncycastle/openpgp/PGPSignature;
55+
public static final fun matchGitHub (Ldev/sigstore/fulcio/client/ImmutableFulcioCertificateMatcher$Builder;Ljava/lang/String;)Ldev/sigstore/fulcio/client/ImmutableFulcioCertificateMatcher$Builder;
56+
public static final fun verificationOptions (Lkotlin/jvm/functions/Function1;)Ldev/sigstore/VerificationOptions;
57+
public static final fun verifySLSA ([BLjava/io/InputStream;Ldev/sigstore/VerificationOptions;)Z
58+
public static final fun verifySLSA ([BLjava/io/InputStream;Lkotlin/jvm/functions/Function1;)Z
59+
public static final fun verifySignature ([BLorg/bouncycastle/openpgp/PGPSignature;Lorg/bouncycastle/openpgp/PGPPublicKey;)Z
60+
}
61+
5062
public final class app/revanced/library/OptionsKt {
5163
public static final fun setOptions (Ljava/util/Set;Ljava/util/Map;)V
5264
}
@@ -73,7 +85,7 @@ public abstract interface class app/revanced/library/installation/command/RunRes
7385
public abstract fun getError ()Ljava/lang/String;
7486
public abstract fun getExitCode ()I
7587
public abstract fun getOutput ()Ljava/lang/String;
76-
public abstract fun waitFor ()V
88+
public fun waitFor ()V
7789
}
7890

7991
public final class app/revanced/library/installation/command/RunResult$DefaultImpls {

build.gradle.kts

Lines changed: 6 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,7 @@
1-
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2-
31
plugins {
4-
alias(libs.plugins.android.library)
5-
alias(libs.plugins.binary.compatibility.validator)
6-
alias(libs.plugins.kotlin.multiplatform)
7-
alias(libs.plugins.kotlin.serialization)
8-
`maven-publish`
9-
signing
10-
}
11-
12-
group = "app.revanced"
13-
14-
// Because access to the project is necessary to authenticate with GitHub,
15-
// the following block must be placed in the root build.gradle.kts file
16-
// instead of the settings.gradle.kts file inside the dependencyResolutionManagement block.
17-
repositories {
18-
mavenCentral()
19-
mavenLocal()
20-
google()
21-
maven {
22-
// A repository must be specified for some reason. "registry" is a dummy.
23-
url = uri("https://maven.pkg.github.com/revanced/registry")
24-
credentials {
25-
username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_ACTOR")
26-
password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN")
27-
}
28-
}
29-
maven { url = uri("https://jitpack.io") }
30-
}
31-
32-
kotlin {
33-
jvm {
34-
compilerOptions {
35-
jvmTarget = JvmTarget.JVM_11
36-
}
37-
}
38-
39-
androidTarget {
40-
compilerOptions {
41-
jvmTarget = JvmTarget.JVM_11
42-
}
43-
44-
publishLibraryVariants("release")
45-
}
46-
47-
sourceSets {
48-
androidMain.dependencies {
49-
implementation(libs.core.ktx)
50-
implementation(libs.libsu.nio)
51-
implementation(libs.libsu.service)
52-
}
53-
54-
commonMain.dependencies {
55-
implementation(libs.apksig)
56-
implementation(libs.apkzlib)
57-
implementation(libs.bcpkix.jdk18on)
58-
implementation(libs.guava)
59-
implementation(libs.jadb)
60-
implementation(libs.kotlin.reflect)
61-
implementation(libs.kotlinx.serialization.json)
62-
implementation(libs.revanced.patcher)
63-
}
64-
65-
commonTest.dependencies {
66-
implementation(libs.kotlin.test.junit)
67-
implementation(libs.revanced.patcher)
68-
}
69-
}
70-
}
71-
72-
android {
73-
namespace = "app.revanced.library"
74-
compileSdk = 34
75-
defaultConfig {
76-
minSdk = 26
77-
}
78-
79-
buildFeatures {
80-
aidl = true
81-
}
82-
83-
compileOptions {
84-
sourceCompatibility = JavaVersion.VERSION_11
85-
targetCompatibility = JavaVersion.VERSION_11
86-
}
87-
}
88-
89-
java {
90-
targetCompatibility = JavaVersion.VERSION_11
91-
}
92-
93-
publishing {
94-
repositories {
95-
maven {
96-
name = "GitHubPackages"
97-
url = uri("https://maven.pkg.github.com/revanced/revanced-library")
98-
credentials {
99-
username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_ACTOR")
100-
password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN")
101-
}
102-
}
103-
}
104-
105-
// KMP plugin creates a publication already, so just configure the POM.
106-
publications.all {
107-
if (this !is MavenPublication) return@all
108-
109-
pom {
110-
name = "ReVanced Library"
111-
description = "Library containing common utilities for ReVanced"
112-
url = "https://revanced.app"
113-
114-
licenses {
115-
license {
116-
name = "GNU General Public License v3.0"
117-
url = "https://www.gnu.org/licenses/gpl-3.0.en.html"
118-
}
119-
}
120-
121-
developers {
122-
developer {
123-
id = "ReVanced"
124-
name = "ReVanced"
125-
email = "contact@revanced.app"
126-
}
127-
}
128-
129-
scm {
130-
connection = "scm:git:git://github.com/revanced/revanced-library.git"
131-
developerConnection = "scm:git:git@github.com:revanced/revanced-library.git"
132-
url = "https://github.com/revanced/revanced-library"
133-
}
134-
}
135-
}
136-
}
137-
138-
signing {
139-
useGpgCmd()
140-
sign(publishing.publications)
141-
}
2+
alias(libs.plugins.android.kotlin.multiplatform.library) apply false
3+
alias(libs.plugins.android.library) apply false
4+
alias(libs.plugins.kotlin.multiplatform) apply false
5+
alias(libs.plugins.kotlin.serialization) apply false
6+
alias(libs.plugins.vanniktech.mavenPublish) apply false
7+
}

0 commit comments

Comments
 (0)