diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index a0cc8d08..448d2a73 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -3,29 +3,42 @@ name: Build pull request on: workflow_dispatch: inputs: - # Enable or disable cache - flutter-cache: - description: Cache - type: boolean - default: true - - # Select app flavour - app-flavour: - description: App flavour - default: 'release' - type: choice - options: - - release - - debug - - profile - # Select pull request pr-number: description: PR number (Without hashtag) required: true + # Select app flavor + app-flavor: + description: App flavor + default: 'release' + type: choice + options: + - release + - debug + - profile + + # Flutter Configurations, + # it's recommended to be set when you have problem regarding with flutter itself + # For most part you do not need to change this. + + # Flutter version to use, note that the version had to exist in whether channel + # to grab + # Try using exact version or particular version on a specific branch instead of "any" + flutter-channel: + description: Flutter channel + default: 'stable' + type: choice + options: + - stable + - beta + - dev + - any + flutter-version: + description: Flutter version + default: '3.29.x' run-name: "Build pull request ${{ inputs.pr-number }}" - + jobs: build: name: Build @@ -34,84 +47,91 @@ jobs: contents: read pull-requests: write steps: - - name: Setup pull request - env: - GH_TOKEN: ${{ github.token }} - run: | - gh repo clone "${{ github.repository }}" - cd revanced-manager - gh repo set-default "${{ github.repository }}" - gh pr checkout "${{ inputs.pr-number }}" - - echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - - - name: Checkout + - name: Checkout PR uses: actions/checkout@v4 with: - persist-credentials: false + ref: refs/pull/${{ inputs.pr-number }}/merge fetch-depth: 0 - - name: Cache Gradle - uses: burrunan/gradle-cache-action@v2 - - name: Setup Java - run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' - name: Set up Flutter uses: subosito/flutter-action@v2 with: - channel: "stable" - flutter-version: 3.24.x - cache: ${{ inputs.flutter-cache }} + channel: ${{ inputs.flutter-channel }} + flutter-version: ${{ inputs.flutter-version }} - name: Get dependencies + continue-on-error: true run: flutter pub get - name: Generate translations + continue-on-error: true run: dart run slang - name: Generate code files + continue-on-error: true run: dart run build_runner build --delete-conflicting-outputs - name: Build continue-on-error: true id: flutter-build - env: + run: flutter build apk --${{ inputs.app-flavor }} + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - flutter build apk --"${{ inputs.app-flavour }}"; - name: Prepare comment + id: prepare-comment # This should work now? run: | + echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV if [[ "${{ steps.flutter-build.outcome }}" == "success" ]]; then - echo "MESSAGE=โœ… Succeeded build on ${{ env.COMMIT_HASH }}." >> $GITHUB_ENV + MESSAGE="โœ… Succeeded build on $COMMIT_HASH." else - echo "MESSAGE=๐Ÿšซ Failed build on ${{ env.COMMIT_HASH }}." >> $GITHUB_ENV + MESSAGE="๐Ÿšซ Failed build on $COMMIT_HASH." fi - name: "Comment on pull request #${{ inputs.pr-number }}" - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v3 with: - GITHUB_TOKEN: ${{ github.token }} - pr_number: ${{ inputs.pr-number }} + github-token: ${{ github.token }} + pr-number: ${{ inputs.pr-number }} mode: recreate + comment-tag: execution message: | ## โš’๏ธ Build status - - ${{ env.MESSAGE }} - - Details: [${{ github.run_id }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})! - ### โš™๏ธ Workflow run configuration + ๐Ÿงช Workflow triggered by: ${{ github.actor }} - - Flutter cache: ${{ inputs.flutter-cache }} - - App flavor: ${{ inputs.app-flavour }} + ${{ steps.prepare-comment.outputs.MESSAGE }} - - name: Upload + Details: [_Job execution **${{ github.run_id }}** / attempt **${{ github.run_attempt }}**_](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})! + + ### โš™๏ธ Workflow Steps + + | Step | Status | + | :------------------------ | :------------------------------------------------------- | + | **Get dependencies** | ${{ steps.get-dependencies.outcome || job.status }} | + | **Generate translations** | ${{ steps.generate-translations.outcome || job.status }} | + | **Generate code files** | ${{ steps.generate-code-files.outcome || job.status }} | + | **Build** | ${{ steps.flutter-build.outcome }} | + + ### โš™๏ธ Workflow Configuration + + | Parameter | Value | + | :--------------- | :--------------------------------------- | + | App flavor | ${{ inputs.app-flavor }} | + | Flutter version | ${{ inputs.flutter-version }} | + | Flutter channel | ${{ inputs.flutter-channel }} | + + - name: Upload Artifact + if: steps.flutter-build.outcome == 'success' uses: actions/upload-artifact@v4 with: - if-no-files-found: error - name: revanced-manager-(${{ env.COMMIT_HASH }}-${{ inputs.pr-number }}-${{ inputs.app-flavour }}) + name: revanced-manager-(${{ env.COMMIT_HASH }}-${{ inputs.pr-number }}-${{ inputs.app-flavor }}-${{ inputs.flutter-version }}) path: | - build/app/outputs/flutter-apk/app-${{ inputs.app-flavour }}.apk - build/app/outputs/flutter-apk/app-${{ inputs.app-flavour }}.apk.sha1 + build/app/outputs/flutter-apk/app-${{ inputs.app-flavor }}.apk + build/app/outputs/flutter-apk/app-${{ inputs.app-flavor }}.apk.sha1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4513330e..969f1394 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,9 @@ jobs: release: name: Release permissions: - contents: write + id-token: write + contents: write + attestations: write runs-on: ubuntu-latest steps: - name: Checkout @@ -63,3 +65,9 @@ jobs: KEYSTORE_ENTRY_PASSWORD: ${{ secrets.KEYSTORE_ENTRY_PASSWORD }} run: | npx semantic-release + + - name: Generate artifact attestation + if: github.ref == 'refs/heads/main' + uses: actions/attest-build-provenance@v1 + with: + subject-path: build/app/outputs/apk/release/revanced-manager-*.apk diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index 96146c1f..41f3b35c 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -25,7 +25,6 @@ jobs: uses: subosito/flutter-action@v2 with: cache: true - flutter-version: 3.27.x - name: Sync translations from Crowdin uses: crowdin/github-action@v2 @@ -59,13 +58,13 @@ jobs: dart run slang analyze dart run slang clean dart run slang normalize + + dart run slang cd assets/i18n dart nuke.dart >> $GITHUB_STEP_SUMMARY cd ../.. - dart run slang - flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings - name: Commit translations diff --git a/analysis_options.yaml b/analysis_options.yaml index f26f3dc4..efd09a41 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -139,7 +139,6 @@ linter: - unnecessary_string_interpolations - unnecessary_this - unrelated_type_equality_checks - - unsafe_html - use_build_context_synchronously - use_full_hex_values_for_flutter_colors - use_function_type_syntax_for_parameters diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 09ff84d2..289feb1c 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -8,7 +8,6 @@ plugins { android { namespace = "app.revanced.manager.flutter" compileSdk = 35 - ndkVersion = "27.0.12077973" compileOptions { isCoreLibraryDesugaringEnabled = true @@ -46,7 +45,7 @@ android { signingConfig = signingConfigs["debug"] - ndk.abiFilters += setOf("armeabi-v7a", "arm64-v8a", "x86_64") + ndk.abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64") } release { @@ -64,19 +63,22 @@ android { resValue("string", "app_name", "ReVanced Manager") } else { - applicationIdSuffix = ".debug" - + applicationIdSuffix = ".development" + resValue("string", "app_name", "ReVanced Manager (Development)") signingConfig = signingConfigs["debug"] - - resValue("string", "app_name", "ReVanced Manager (Debug signed)") } } debug { applicationIdSuffix = ".debug" - resValue("string", "app_name", "ReVanced Manager (Debug)") } + + named("profile") { + initWith(getByName("debug")) + applicationIdSuffix = ".profile" + resValue("string", "app_name", "ReVanced Manager (Profile)") + } } packaging { @@ -91,7 +93,6 @@ android { } } - flutter { source = "../.." } @@ -101,4 +102,3 @@ dependencies { implementation(libs.revanced.patcher) implementation(libs.revanced.library) } - diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 352a5400..acac669c 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] revanced-patcher = "21.0.0" -revanced-library = "3.0.2" -desugar_jdk_libs = "2.1.3" +revanced-library = "3.1.0" +desugar_jdk_libs = "2.1.4" [libraries] revanced-patcher = { module = "app.revanced:revanced-patcher", version.ref = "revanced-patcher" } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 2b189974..d7104778 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionSha256Sum=8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts index 3a247b83..261ac826 100644 --- a/android/settings.gradle.kts +++ b/android/settings.gradle.kts @@ -17,8 +17,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.2" apply false - id("org.jetbrains.kotlin.android") version "2.0.20" apply false + id("com.android.application") version "8.9.0" apply false + id("org.jetbrains.kotlin.android") version "2.1.10" apply false } include(":app") diff --git a/lib/ui/widgets/settingsView/about_widget.dart b/lib/ui/widgets/settingsView/about_widget.dart index 1b087d5a..a3a96404 100644 --- a/lib/ui/widgets/settingsView/about_widget.dart +++ b/lib/ui/widgets/settingsView/about_widget.dart @@ -28,7 +28,7 @@ class _AboutWidgetState extends State { ClipboardData( text: 'Version: ${snapshot.data!['version']}\n' 'Model: ${snapshot.data!['model']}\n' - 'Android Version: ${snapshot.data!['androidVersion']}\n' + 'Android version: ${snapshot.data!['androidVersion']}\n' '${snapshot.data!['supportedArch'].length > 1 ? 'Supported Archs' : 'Supported Arch'}: ${snapshot.data!['supportedArch'].join(", ")}\n', ), ); diff --git a/lib/utils/about_info.dart b/lib/utils/about_info.dart index 0b7dcffc..76a5b805 100644 --- a/lib/utils/about_info.dart +++ b/lib/utils/about_info.dart @@ -6,9 +6,12 @@ class AboutInfo { static Future> getInfo() async { final packageInfo = await PackageInfo.fromPlatform(); final info = await DeviceInfoPlugin().androidInfo; + const buildFlavor = + kReleaseMode ? 'release' : (kProfileMode ? 'profile' : 'debug'); + return { 'version': packageInfo.version, - 'flavor': kReleaseMode ? 'release' : 'debug', + 'flavor': buildFlavor, 'model': info.model, 'androidVersion': info.version.release, 'supportedArch': info.supportedAbis, diff --git a/package-lock.json b/package-lock.json index 211a8e66..9e750256 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,49 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^24.2.0", - "semantic-release-pub": "^0.9.3" + "semantic-release": "^24.2.1", + "semantic-release-pub": "^0.10.1" } }, + "node_modules/@actions/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", + "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@actions/exec": "^1.1.1", + "@actions/http-client": "^2.0.1" + } + }, + "node_modules/@actions/exec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@actions/io": "^1.0.1" + } + }, + "node_modules/@actions/http-client": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", + "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^5.25.4" + } + }, + "node_modules/@actions/io": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", + "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/code-frame": { "version": "7.24.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", @@ -74,6 +113,16 @@ "node": ">= 14.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3025,13 +3074,14 @@ } }, "node_modules/gcp-metadata": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.0.tgz", - "integrity": "sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.1.tgz", + "integrity": "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "gaxios": "^6.0.0", + "gaxios": "^6.1.1", + "google-logging-utils": "^0.0.2", "json-bigint": "^1.0.0" }, "engines": { @@ -3179,9 +3229,9 @@ } }, "node_modules/google-auth-library": { - "version": "9.15.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.0.tgz", - "integrity": "sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==", + "version": "9.15.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.15.1.tgz", + "integrity": "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3196,6 +3246,16 @@ "node": ">=14" } }, + "node_modules/google-logging-utils": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-0.0.2.tgz", + "integrity": "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -7511,9 +7571,9 @@ } }, "node_modules/semantic-release": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.0.tgz", - "integrity": "sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==", + "version": "24.2.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.1.tgz", + "integrity": "sha512-z0/3cutKNkLQ4Oy0HTi3lubnjTsdjjgOqmxdPjeYWe6lhFqUPfwslZxRHv3HDZlN4MhnZitb9SLihDkZNxOXfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7533,7 +7593,7 @@ "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", "hosted-git-info": "^8.0.0", - "import-from-esm": "^1.3.1", + "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "marked": "^12.0.0", "marked-terminal": "^7.0.0", @@ -7555,19 +7615,21 @@ } }, "node_modules/semantic-release-pub": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/semantic-release-pub/-/semantic-release-pub-0.9.3.tgz", - "integrity": "sha512-NNrGxqaGSFDpNZ6mBR3JQ86fqobRlRFWMPKhhVMyG2daiRj2vpiNZ9P76suvgJT92zG5aQwcACkKi6oNWTvFUw==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/semantic-release-pub/-/semantic-release-pub-0.10.1.tgz", + "integrity": "sha512-5JSAzLWyokTcZN9b1Vfz1lz30pgM6codGqmSbOxWsWWg+eWKtB13xA7RZBayLq50q/wLctNBjsQMKFZQKNAlJQ==", "dev": true, + "license": "MIT", "dependencies": { + "@actions/core": "^1.11.1", "@semantic-release/error": "^4.0.0", "execa": "^9.5.2", - "google-auth-library": "^9.15.0", - "yaml": "^2.6.1", + "google-auth-library": "^9.15.1", + "yaml": "^2.7.0", "zod": "^3.24.1" }, "engines": { - "node": ">=22.12.0" + "node": ">=22.13.1" } }, "node_modules/semantic-release-pub/node_modules/@semantic-release/error": { @@ -7845,6 +7907,20 @@ "node": ">=18.18.0" } }, + "node_modules/semantic-release/node_modules/import-from-esm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", + "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + }, + "engines": { + "node": ">=18.20" + } + }, "node_modules/semantic-release/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", @@ -8488,6 +8564,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, "node_modules/type-fest": { "version": "4.18.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.3.tgz", @@ -8621,6 +8707,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici": { + "version": "5.28.5", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", + "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", @@ -8860,9 +8959,9 @@ } }, "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index 4cf7a518..fc1a62b8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^24.2.0", - "semantic-release-pub": "^0.9.3" + "semantic-release": "^24.2.1", + "semantic-release-pub": "^0.10.1" } } diff --git a/pubspec.lock b/pubspec.lock index e5dc9af5..2787de8a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -42,18 +42,18 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.12.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: @@ -82,18 +82,18 @@ packages: dependency: transitive description: name: build_resolvers - sha256: "99d3980049739a985cf9b21f30881f46db3ebc62c5b8d5e60e27440876b1ba1e" + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573" + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" url: "https://pub.dev" source: hosted - version: "2.4.14" + version: "2.4.15" build_runner_core: dependency: transitive description: @@ -122,10 +122,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -138,10 +138,10 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: @@ -154,18 +154,18 @@ packages: dependency: "direct main" description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.19.1" connectivity_plus: dependency: "direct main" description: name: connectivity_plus - sha256: e0817759ec6d2d8e57eb234e6e57d2173931367a865850c7acea40d4b4f9c27d + sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27" url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.3" connectivity_plus_platform_interface: dependency: transitive description: @@ -235,10 +235,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074 + sha256: "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513" url: "https://pub.dev" source: hosted - version: "10.1.2" + version: "11.3.3" device_info_plus_platform_interface: dependency: transitive description: @@ -299,18 +299,18 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.4" file: dependency: transitive description: @@ -323,10 +323,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: c904b4ab56d53385563c7c39d8e9fa9af086f91495dfc48717ad84a42c3cf204 + sha256: "7423298f08f6fc8cce05792bae329f9a93653fc9c08712831b1a55540127995d" url: "https://pub.dev" source: hosted - version: "8.1.7" + version: "9.0.2" fixnum: dependency: transitive description: @@ -405,10 +405,10 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: "255b00afa1a7bad19727da6a7780cf3db6c3c12e68d302d85e0ff1fdf173db9e" + sha256: e7bbc718adc9476aa14cfddc1ef048d2e21e4e8f18311aaac723266db9f9e7b5 url: "https://pub.dev" source: hosted - version: "0.7.4+3" + version: "0.7.6+2" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -431,10 +431,10 @@ packages: dependency: "direct main" description: name: fluttertoast - sha256: "24467dc20bbe49fd63e57d8e190798c4d22cbbdac30e54209d153a15273721d1" + sha256: "25e51620424d92d3db3832464774a6143b5053f15e382d8ffbfd40b6e795dcf1" url: "https://pub.dev" source: hosted - version: "8.2.10" + version: "8.2.12" font_awesome_flutter: dependency: "direct main" description: @@ -543,10 +543,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" io: dependency: transitive description: @@ -599,18 +599,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -672,10 +672,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -688,10 +688,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: transitive description: @@ -728,26 +728,26 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" + sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191" url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.3.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b + sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.2.0" path: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_provider: dependency: "direct main" description: @@ -800,26 +800,26 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" + sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849" url: "https://pub.dev" source: hosted - version: "11.3.1" + version: "11.4.0" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1" + sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc url: "https://pub.dev" source: hosted - version: "12.0.13" + version: "12.1.0" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 + sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98 url: "https://pub.dev" source: hosted - version: "9.4.5" + version: "9.4.6" permission_handler_html: dependency: transitive description: @@ -832,10 +832,10 @@ packages: dependency: transitive description: name: permission_handler_platform_interface - sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 + sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878 url: "https://pub.dev" source: hosted - version: "4.2.3" + version: "4.3.0" permission_handler_windows: dependency: transitive description: @@ -938,10 +938,10 @@ packages: dependency: "direct main" description: name: share_plus - sha256: "6327c3f233729374d0abaafd61f6846115b2a481b4feddd8534211dc10659400" + sha256: fce43200aa03ea87b91ce4c3ac79f0cecd52e2a7a56c7a4185023c271fbfa6da url: "https://pub.dev" source: hosted - version: "10.1.3" + version: "10.1.4" share_plus_platform_interface: dependency: transitive description: @@ -954,10 +954,10 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "3c7e73920c694a436afaf65ab60ce3453d91f84208d761fbd83fc21182134d93" + sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.5.2" shared_preferences_android: dependency: transitive description: @@ -1026,11 +1026,11 @@ packages: dependency: "direct main" description: path: "." - ref: "326fbb4223ac4d8a6301cc2f16b6112ecd308c71" - resolved-ref: "326fbb4223ac4d8a6301cc2f16b6112ecd308c71" - url: "https://github.com/Ofceab-Studio/skeletons" + ref: aa3237babe1e36457a6d09eb0d3889cdde97d89e + resolved-ref: aa3237babe1e36457a6d09eb0d3889cdde97d89e + url: "https://github.com/konnic/skeletons" source: git - version: "0.0.3" + version: "0.0.4" sky_engine: dependency: transitive description: flutter @@ -1040,18 +1040,18 @@ packages: dependency: "direct main" description: name: slang - sha256: "4cdc3d8f4b384dbc56d94c87a5371d4a584460d82a74e18247ec690a0e369ff2" + sha256: "354283dfe5d6b5bb72d17a52c2acba0ad08c98f8de317a00aa2c801814093982" url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.5.0" slang_flutter: dependency: "direct main" description: name: slang_flutter - sha256: "819637a23348adbc4f4e8faee3f274d8908f9af31d57bf1e277cd730b14bacde" + sha256: "6891526b13641dd2667ce60a9a65ef2c1611f838105396e5e8ad39edc4ecb191" url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.5.0" source_gen: dependency: transitive description: @@ -1072,10 +1072,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -1128,10 +1128,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stacked: dependency: "direct main" description: @@ -1168,10 +1168,10 @@ packages: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -1184,41 +1184,42 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.1" synchronized: dependency: "direct main" description: name: synchronized - sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" + sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" url: "https://pub.dev" source: hosted - version: "3.3.0+3" + version: "3.3.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" timeago: dependency: "direct main" description: - name: timeago - sha256: "054cedf68706bb142839ba0ae6b135f6b68039f0b8301cbe8784ae653d5ff8de" - url: "https://pub.dev" - source: hosted + path: "packages/timeago" + ref: c23ec0f8a4d51b88e2aa23611cc2785dfbe52f34 + resolved-ref: c23ec0f8a4d51b88e2aa23611cc2785dfbe52f34 + url: "https://github.com/andresaraujo/timeago.dart" + source: git version: "3.7.0" timezone: dependency: "direct main" @@ -1336,10 +1337,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "15.0.0" wakelock_plus: dependency: "direct main" description: @@ -1392,18 +1393,18 @@ packages: dependency: transitive description: name: win32 - sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" + sha256: b89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef url: "https://pub.dev" source: hosted - version: "5.9.0" + version: "5.11.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" + sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" url: "https://pub.dev" source: hosted - version: "1.1.5" + version: "2.1.0" xdg_directories: dependency: transitive description: @@ -1429,5 +1430,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.6.0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.7.0 <4.0.0" + flutter: ">=3.29.0" diff --git a/pubspec.yaml b/pubspec.yaml index 2857b4c4..2829d400 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,49 +4,50 @@ homepage: https://revanced.app publish_to: 'none' -version: 1.23.3+101800052 +version: 1.24.0-dev.1+101800054 environment: - sdk: ^3.5.3 + sdk: '>=3.7.0' + flutter: '>=3.29.0' dependencies: animations: ^2.0.11 collection: ^1.19.0 - connectivity_plus: ^6.1.0 + connectivity_plus: ^6.1.3 device_apps: git: url: https://github.com/ponces/flutter_plugin_device_apps ref: 0609662324b9e00931fccfa87e9e1b00b7610907 - device_info_plus: ^10.1.2 + device_info_plus: ^11.3.3 dio: ^5.4.3+1 dio_cache_interceptor: ^3.5.0 dynamic_color: ^1.7.0 dynamic_themes: ^1.1.0 expandable: ^5.0.1 - file_picker: ^8.1.7 + file_picker: ^9.0.2 flutter: sdk: flutter flutter_background: ^1.3.0+1 - flutter_cache_manager: ^3.3.2 + flutter_cache_manager: ^3.4.1 flutter_file_dialog: ^3.0.2 flutter_local_notifications: ^18.0.1 flutter_localizations: sdk: flutter - flutter_markdown: ^0.7.4+3 - fluttertoast: ^8.2.5 + flutter_markdown: ^0.7.6+2 + fluttertoast: ^8.2.12 font_awesome_flutter: ^10.8.0 google_fonts: ^6.2.1 injectable: ^2.4.0 intl: ^0.19.0 json_annotation: ^4.9.0 - language_code: ^0.5.3+2 + language_code: ^0.5.5 logcat: git: url: https://github.com/BenjaminHalko/logcat ref: 4a6d5e0e22292c8eb160cfb9365b9ea29735fd43 # Branch: master - package_info_plus: ^8.1.1 + package_info_plus: ^8.3.0 path_provider: ^2.1.5 - permission_handler: ^11.3.1 + permission_handler: ^11.4.0 root: git: url: https://github.com/validcube/root @@ -55,26 +56,30 @@ dependencies: git: # remove once https://github.com/flutter-moum/flutter_screenshot_callback/pull/81 is merged url: https://github.com/BenjaminHalko/flutter_screenshot_callback ref: 1a1616ac91e16cd1f3dd170a81febf27ffce3587 # Branch: master - share_plus: ^10.1.2 - shared_preferences: ^2.3.4 + share_plus: ^10.1.4 + shared_preferences: ^2.5.2 skeletons: - git: # remove once https://github.com/badjio/skeletons/pull/11 is merged - url: https://github.com/Ofceab-Studio/skeletons - ref: 326fbb4223ac4d8a6301cc2f16b6112ecd308c71 # Branch: master - slang: ^4.4.0 - slang_flutter: ^4.4.0 - stacked: ^3.4.2 - stacked_generator: ^1.6.0 + git: # remove once https://github.com/badjio/skeletons/pull/12 is merged + url: https://github.com/konnic/skeletons + ref: aa3237babe1e36457a6d09eb0d3889cdde97d89e # Branch: add-flutter-3-22-0-compatibility + slang: ^4.5.0 + slang_flutter: ^4.5.0 + stacked: ^3.4.4 + stacked_generator: ^1.6.1 stacked_services: ^1.6.0 - synchronized: ^3.1.0+1 - timeago: ^3.6.1 + synchronized: ^3.3.1 + timeago: + git: # remove once new release include c23ec0f8a (intl 0.20 compatibility) + url: https://github.com/andresaraujo/timeago.dart + path: packages/timeago + ref: c23ec0f8a4d51b88e2aa23611cc2785dfbe52f34 # Branch: master timezone: ^0.10.0 url_launcher: ^6.3.1 wakelock_plus: ^1.2.10 dev_dependencies: - analyzer: ^6.11.0 - build_runner: ^2.4.12 + analyzer: ^6.3.0 + build_runner: ^2.4.15 flutter_lints: ^5.0.0 injectable_generator: ^2.6.1 json_serializable: ^6.9.0