Compare commits

..

30 Commits

Author SHA1 Message Date
c209c32613 chore(release): 1.19.3 [skip ci]
## [1.19.3](https://github.com/ReVanced/revanced-manager/compare/v1.19.2...v1.19.3) (2024-03-09)

### Bug Fixes

* Copy APK to working directory before trying to write to it ([5cd1cba](5cd1cba668))
2024-03-09 09:16:08 +00:00
9e5e89ac95 chore: Merge branch dev to main (#1756) 2024-03-09 10:09:13 +01:00
7cc6b88e4e chore(release): 1.19.3-dev.1 [skip ci]
## [1.19.3-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.2...v1.19.3-dev.1) (2024-03-09)

### Bug Fixes

* Copy APK to working directory before trying to write to it ([5cd1cba](5cd1cba668))
2024-03-09 09:09:02 +00:00
5cd1cba668 fix: Copy APK to working directory before trying to write to it 2024-03-09 10:01:36 +01:00
ca365bac6e build: Bump dependencies to fix generating keystore 2024-03-09 09:58:41 +01:00
f1fc48ce5a chore(release): 1.19.2 [skip ci]
## [1.19.2](https://github.com/ReVanced/revanced-manager/compare/v1.19.1...v1.19.2) (2024-03-09)

### Bug Fixes

* App list is empty if all apps are installed ([#1750](https://github.com/ReVanced/revanced-manager/issues/1750)) ([1f5461f](1f5461fbe5))
* Fix white-screen when trying to install conflicting apps ([4acd738](4acd738353))
2024-03-09 03:55:35 +00:00
316e440d0d chore: Merge branch dev to main (#1739) 2024-03-09 04:48:12 +01:00
95018814a7 ci: Bump dependencies to fix release workflow 2024-03-09 04:44:38 +01:00
b52e49d90a build: Bump dependencies to fix signing issues 2024-03-09 04:39:58 +01:00
4acd738353 fix: Fix white-screen when trying to install conflicting apps
When you tried to install a patched app, but it conflicted with an existing installation, the screen would go blank. This was caused by trying to use an argument on a translation with no arguments.
2024-03-09 04:39:58 +01:00
982249f974 chore(release): 1.19.2-dev.1 [skip ci]
## [1.19.2-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.1...v1.19.2-dev.1) (2024-03-08)

### Bug Fixes

* App list is empty if all apps are installed ([#1750](https://github.com/ReVanced/revanced-manager/issues/1750)) ([1f5461f](1f5461fbe5))
2024-03-08 14:49:35 +00:00
1f5461fbe5 fix: App list is empty if all apps are installed (#1750)
Co-authored-by: Nikita <n.petrjakov@niitp.in>
2024-03-08 21:41:16 +07:00
adb7e5663a docs: Fix small mistakes [skip ci] 2024-03-05 14:58:11 +01:00
ffc14f2146 chore: Upgrade dependencies (#1734) 2024-03-05 14:09:02 +07:00
0c57322051 chore(release): 1.19.1 [skip ci]
## [1.19.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.0...v1.19.1) (2024-03-05)

### Bug Fixes

* Keep names for needed classes to fix crash at launch ([eef7016](eef701615b))
2024-03-05 02:29:37 +00:00
a8b7debf8d chore: Merge branch dev to main (#1729) 2024-03-05 03:22:11 +01:00
7ed9787b58 ci: Add workflow to open a PR to main 2024-03-05 03:21:07 +01:00
eef701615b fix: Keep names for needed classes to fix crash at launch 2024-03-05 03:19:20 +01:00
97d8519b8b chore(release): 1.19.0 [skip ci]
# [1.19.0](https://github.com/ReVanced/revanced-manager/compare/v1.18.0...v1.19.0) (2024-03-05)

### Bug Fixes

* added a trailing comma ([975180b](975180b075))
* adjust padding ([3559477](3559477247))
* Allow mounting without Magisk ([3f96608](3f96608398))
* Bump dependencies to support BCS keystore ([6ec6546](6ec6546cc5))
* Do not delete files from post-fs-data.d ([70a1086](70a1086edf))
* Fix patched APKs exports after installation ([1200360](1200360588))
* fix redundant buttons on dialog ([079c0de](079c0defaf))
* Incorrect strings and logics ([#1619](https://github.com/ReVanced/revanced-manager/issues/1619)) ([4f22e88](4f22e88e42))
* **Keystore Password:** textfield title display ([8e52abd](8e52abda9a))
* Mount script causes build to fail ([#1613](https://github.com/ReVanced/revanced-manager/issues/1613)) ([f3c78c2](f3c78c2c24))
* **Patch Option:** Set text colour on dropdown menu ([acb1e24](acb1e2434b))
* **PopScope:** User able to exit patch screen when the installer is still running ([#1663](https://github.com/ReVanced/revanced-manager/issues/1663)) ([eb6d3cd](eb6d3cd64e))
* **Release CI:** truncate the "v" from version ([8595099](85950991ab))
* Show version label correctly ([c72d10a](c72d10ac85))
* Specify that dark theme is dark ([#1699](https://github.com/ReVanced/revanced-manager/issues/1699)) ([d4b15ae](d4b15aee4d))
* Stop patch when signing fails ([#1553](https://github.com/ReVanced/revanced-manager/issues/1553)) ([5b2c551](5b2c55142e))
* **Update Confirmation Sheet:** Add top padding ([9aeb156](9aeb156d92))
* Use correct title size for bottom sheet ([#1687](https://github.com/ReVanced/revanced-manager/issues/1687)) ([3436523](34365239c1))
* Use correct version code & name ([#1647](https://github.com/ReVanced/revanced-manager/issues/1647)) ([d933997](d933997c89))
* use lowercase repo names ([#1626](https://github.com/ReVanced/revanced-manager/issues/1626)) ([edd8602](edd86024b9))

### Features

* Add a toggle for alternative sources ([#1686](https://github.com/ReVanced/revanced-manager/issues/1686)) ([f89c742](f89c742c90))
* Add API migration code ([#1615](https://github.com/ReVanced/revanced-manager/issues/1615)) ([28ae276](28ae2766f0))
* add haptic feedback ([#1459](https://github.com/ReVanced/revanced-manager/issues/1459)) ([7911459](7911459817))
* Allow changing languages ([#1488](https://github.com/ReVanced/revanced-manager/issues/1488)) ([f82c439](f82c439b26))
* Display current app language at the top of the list ([aa0575a](aa0575a637))
* Hide the Install button during installation ([#1633](https://github.com/ReVanced/revanced-manager/issues/1633)) ([3e696d6](3e696d6847))
* Improve app selector and patcher UI ([#1616](https://github.com/ReVanced/revanced-manager/issues/1616)) ([efb2d5e](efb2d5ef32))
* Improve consistency on language selector ([b2119ce](b2119ce60e))
* Improve language distinguishness and resolve language-specific issues ([#1706](https://github.com/ReVanced/revanced-manager/issues/1706)) ([6d866d4](6d866d4424))
* Improve Split APK warning readability ([#1625](https://github.com/ReVanced/revanced-manager/issues/1625)) ([6fd740f](6fd740f8c0))
* Show a dialog when an update is available ([#1654](https://github.com/ReVanced/revanced-manager/issues/1654)) ([c7d975e](c7d975e612))
* Simplify settings strings ([#1618](https://github.com/ReVanced/revanced-manager/issues/1618)) ([0d45fe4](0d45fe4a97))
* Use more appropriate progress values ([2d7026a](2d7026ac7a))
* use native TextField ([9ed43ef](9ed43efe5d))

### Performance Improvements

* Load patched apps as soon as possible ([c94eb7a](c94eb7a48e))

### Reverts

* WillPopScope migration ([3b0fed5](3b0fed55e4))
2024-03-05 01:57:21 +00:00
00210f7f0e chore: Workaround CI bug by setting the expected version 2024-03-05 02:49:42 +01:00
cea4c6c27a chore: Merge dev to main (#1611)
100 commits 
2024-03-05 07:48:42 +07:00
bc83a39b0f chore(release): 1.19.0-dev.21 [skip ci]
# [1.19.0-dev.21](https://github.com/ReVanced/revanced-manager/compare/v1.19.0-dev.20...v1.19.0-dev.21) (2024-03-05)

### Features

* Display current app language at the top of the list ([aa0575a](aa0575a637))
2024-03-05 00:12:19 +00:00
aa0575a637 feat: Display current app language at the top of the list 2024-03-05 03:04:01 +03:00
4ca7b8a7c1 chore(release): 1.19.0-dev.20 [skip ci]
# [1.19.0-dev.20](https://github.com/ReVanced/revanced-manager/compare/v1.19.0-dev.19...v1.19.0-dev.20) (2024-03-04)

### Bug Fixes

* Bump dependencies to support BCS keystore ([6ec6546](6ec6546cc5))
2024-03-04 14:56:19 +00:00
6ec6546cc5 fix: Bump dependencies to support BCS keystore 2024-03-04 15:48:13 +01:00
c5e04cc824 build: Bump dependencies 2024-03-04 13:53:33 +01:00
4fc913eae1 chore(release): 1.19.0-dev.19 [skip ci]
# [1.19.0-dev.19](https://github.com/ReVanced/revanced-manager/compare/v1.19.0-dev.18...v1.19.0-dev.19) (2024-03-04)

### Bug Fixes

* Fix patched APKs exports after installation ([1200360](1200360588))

### Features

* Use more appropriate progress values ([2d7026a](2d7026ac7a))
2024-03-04 12:51:06 +00:00
2d7026ac7a feat: Use more appropriate progress values 2024-03-04 13:43:35 +01:00
1200360588 fix: Fix patched APKs exports after installation 2024-03-04 13:43:34 +01:00
bb1b0da749 chore: merge dev to main (#1573) 2023-12-23 22:43:10 +01:00
18 changed files with 249 additions and 184 deletions

View File

@ -107,7 +107,7 @@ jobs:
- App flavor: ${{ inputs.app-flavour }}
- name: Upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: revanced-manager-(${{ env.COMMIT_HASH }}-${{ inputs.pr-number }}-${{ inputs.app-flavour }})

27
.github/workflows/open_pull_request.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Open a PR to main
on:
push:
branches:
- dev
workflow_dispatch:
env:
MESSAGE: Merge branch `${{ github.head_ref || github.ref_name }}` to `main`
jobs:
pull-request:
name: Open pull request
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Open pull request
uses: repo-sync/pull-request@v2
with:
destination_branch: 'main'
pr_title: 'chore: ${{ env.MESSAGE }}'
pr_body: |
This pull request will ${{ env.MESSAGE }}.
pr_draft: true

View File

@ -11,7 +11,7 @@ jobs:
name: Dispatch event to documentation repository
if: github.ref == 'refs/heads/main'
steps:
- uses: peter-evans/repository-dispatch@v2
- uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
repository: revanced/revanced-documentation

View File

@ -113,9 +113,8 @@ flutter {
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22"
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22")
// ReVanced
implementation "app.revanced:revanced-patcher:19.3.1"
implementation "app.revanced:revanced-library:2.0.0"
implementation("app.revanced:revanced-patcher:19.3.1")
implementation("app.revanced:revanced-library:2.2.1")
}

View File

@ -11,6 +11,7 @@
-keep class com.google.auto.value.** { *; }
-keep class com.android.apksig.internal.** { *; }
-keepnames class com.google.common.collect.**
-keepnames class org.xmlpull.** { *; }
-dontwarn com.google.auto.value.**
-dontwarn com.google.j2objc.annotations.*

View File

@ -9,7 +9,6 @@ import android.os.Handler
import android.os.Looper
import app.revanced.library.ApkUtils
import app.revanced.library.ApkUtils.applyTo
import app.revanced.library.ApkUtils.sign
import app.revanced.manager.flutter.utils.Aapt
import app.revanced.manager.flutter.utils.packageInstaller.InstallerReceiver
import app.revanced.manager.flutter.utils.packageInstaller.UninstallerReceiver
@ -285,7 +284,7 @@ class MainActivity : FlutterActivity() {
)
if (cancel(patcher::close)) return@Thread
updateProgress(0.1, "Loading patches...", "Loading patches")
updateProgress(0.02, "Loading patches...", "Loading patches")
val patches = patches.filter { patch ->
val isCompatible = patch.compatiblePackages?.any {
@ -303,7 +302,7 @@ class MainActivity : FlutterActivity() {
}.toSet()
if (cancel(patcher::close)) return@Thread
updateProgress(0.15, "Executing...", "")
updateProgress(0.05, "Executing...", "")
val patcherResult = patcher.use {
patcher.apply {
@ -315,7 +314,7 @@ class MainActivity : FlutterActivity() {
// Update the progress bar every time a patch is executed from 0.15 to 0.7
val totalPatchesCount = patches.size
val progressStep = 0.55 / totalPatchesCount
var progress = 0.15
var progress = 0.05
patcher.apply(false).collect(FlowCollector { patchResult: PatchResult ->
if (cancel(patcher::close)) return@FlowCollector
@ -339,16 +338,15 @@ class MainActivity : FlutterActivity() {
patcher.get()
}
inFile.copyTo(outFile)
if (cancel(patcher::close)) return@Thread
patcherResult.applyTo(inFile)
if (cancel(patcher::close)) return@Thread
patcherResult.applyTo(outFile)
if (cancel(patcher::close)) return@Thread
updateProgress(0.8, "Signing...", "")
outFile.sign(
ApkUtils.sign(
inFile,
outFile,
ApkUtils.SigningOptions(
keyStoreFile,
keystorePassword,

View File

@ -9,32 +9,32 @@ Learn how to configure ReVanced Manager.
By default, you can not change the patch selection and the default selection is used. Enabling this will allow you to change the patch selection.
> ⚠️ Warning
> Changing the selection may cause cause unexpected issues. Unless you know what you are doing, it is recommended to keep this disabled.
> Changing the selection may cause unexpected issues. Unless you know what you are doing, it is recommended to keep this disabled.
- ### 📦 Require suggested app version
By default, ReVanced Manager allows you to patch an app if the suggested version to patch matches the app you selected. Disabling this will allow you to patch an app even if the suggested version does not match the app you selected.
By default, ReVanced Manager allows you to patch an app if the suggested version to patch matches the version of the app you selected. Disabling this will allow you to patch an app even if the suggested version does not match the version of the app you selected.
> ⚠️ Warning
> Patches are more likely to fail on versions that are not suggested by ReVanced Manager. Unless you know what you are doing, it is recommended to keep this enabled.
- ### ✅ Version compatibility check
By default, ReVanced Manager allows you to select patches that are not compatible with the version of the app you selected. Disabling this will allow you to select patches that are not compatible with the app version you selected.
By default, ReVanced Manager does not allow you to select patches that are not compatible with the version of the app you selected. Disabling this will allow you to select patches that are not compatible with the version of the app you selected.
> ⚠️ Warning
> Patches are more likely to fail on versions they are not compatible with. Unless you know what you are doing, it is recommended to keep this enabled.
- ### 🧑‍🔬 Show universal patches
By default, ReVanced Manager only shows patches that are compatible with specifc apps. Enabling this will show patches that are intended to work on all apps.
By default, ReVanced Manager only shows patches that are compatible with specific apps. Enabling this will show patches that are intended to work on all apps.
> ⚠️ Warning
> Patches that are intended to work on all apps may not work on all apps. Unless you know what you are doing, it is recommended to keep this disabled.
> Patches that are intended to may not work on all apps. Unless you know what you are doing, it is recommended to keep this disabled.
- ### 🔗 API URL
Configure the API URL to use. The API is used to download updates and patches.
Configure the API URL to use. The API is used to download patches and updates.
- ### 🧬 Use alternative source

View File

@ -669,7 +669,7 @@ class ManagerAPI {
);
}
Future<void> rePatchedSavedApps() async {
Future<void> reAssessPatchedApps() async {
final List<PatchedApplication> patchedApps = getPatchedApps();
// Remove apps that are not installed anymore.

View File

@ -171,7 +171,10 @@ class PatcherAPI {
if (integrationsFile != null) {
_dataDir.createSync();
_tmpDir.createSync();
final Directory workDir = _tmpDir.createTempSync('tmp-');
final Directory workDir = await _tmpDir.createTemp('tmp-');
final File inApkFile = File('${workDir.path}/in.apk');
await File(apkFilePath).copy(inApkFile.path);
outFile = File('${workDir.path}/out.apk');
@ -182,7 +185,7 @@ class PatcherAPI {
await patcherChannel.invokeMethod(
'runPatcher',
{
'inFilePath': apkFilePath,
'inFilePath': inApkFile.path,
'outFilePath': outFile!.path,
'integrationsPath': integrationsFile.path,
'selectedPatches': selectedPatches.map((p) => p.name).toList(),
@ -297,6 +300,18 @@ class PatcherAPI {
);
bool cleanInstall = false;
final bool isFixable = statusCode == 4 || statusCode == 5;
var description = t['installErrorDialog.${statusValue}_description'];
if (statusCode == 2) {
description = description(
packageName: statusCode == 2
? {
'packageName': status['otherPackageName'],
}
: null,
);
}
await showDialog(
context: _managerAPI.ctx!,
builder: (context) => AlertDialog(
@ -306,15 +321,7 @@ class PatcherAPI {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text(
t['installErrorDialog.${statusValue}_description'](
packageName: statusCode == 2
? {
'packageName': status['otherPackageName'],
}
: null,
),
),
Text(description),
],
),
actions: (status == null)

View File

@ -78,7 +78,7 @@ class _AppSelectorViewState extends State<AppSelectorView> {
),
),
)
: model.allApps.isEmpty
: model.allApps.isEmpty && model.apps.isEmpty
? const AppSkeletonLoader()
: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12.0)

View File

@ -54,7 +54,7 @@ class AppSelectorViewModel extends BaseViewModel {
.toSet()
.where((name) => !apps.any((app) => app.packageName == name))
.toList();
noApps = allApps.isEmpty;
noApps = allApps.isEmpty && apps.isEmpty;
return allApps;
}

View File

@ -43,7 +43,7 @@ class HomeViewModel extends BaseViewModel {
File? downloadedApk;
Future<void> initialize(BuildContext context) async {
_managerAPI.rePatchedSavedApps().then((_) => _getPatchedApps());
_managerAPI.reAssessPatchedApps().then((_) => getPatchedApps());
_currentManagerVersion = await _managerAPI.getCurrentManagerVersion();
if (!_managerAPI.getDownloadConsent()) {
await showDownloadConsent(context);
@ -122,7 +122,7 @@ class HomeViewModel extends BaseViewModel {
locator<NavigationViewModel>().setIndex(1);
}
void _getPatchedApps() {
void getPatchedApps() {
patchedInstalledApps = _managerAPI.getPatchedApps().toList();
notifyListeners();
}

View File

@ -465,7 +465,10 @@ class InstallerViewModel extends BaseViewModel {
}
await _managerAPI.savePatchedApp(_app);
await locator<HomeViewModel>().initialize(context);
_managerAPI
.reAssessPatchedApps()
.then((_) => locator<HomeViewModel>().getPatchedApps());
update(1.0, 'Installed', 'Installed');
} else if (response == 3) {

View File

@ -37,6 +37,14 @@ class SUpdateLanguage extends BaseViewModel {
final ValueNotifier<String> selectedLanguageCode = ValueNotifier(
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}',
);
LanguageCodes getLanguageCode(locale) {
return LanguageCodes.fromCode(
'${locale.languageCode}_${locale.countryCode}',
orElse: () => LanguageCodes.fromCode(locale.languageCode),
);
}
final currentlyUsedLanguage = getLanguageCode(LocaleSettings.currentLocale);
// initLang();
// Return a dialog with list for each language supported by the application.
@ -53,17 +61,29 @@ class SUpdateLanguage extends BaseViewModel {
builder: (context, value, child) {
return SingleChildScrollView(
child: ListBody(
children: AppLocale.values.map(
(locale) {
final LanguageCodes languageCode = LanguageCodes.fromCode(
'${locale.languageCode}_${locale.countryCode}',
orElse: () => LanguageCodes.fromCode(locale.languageCode),
);
children: [
RadioListTile(
title: Text(currentlyUsedLanguage.englishName),
subtitle: Text(
'${currentlyUsedLanguage.nativeName} (${LocaleSettings.currentLocale.languageCode}${LocaleSettings.currentLocale.countryCode != null ? '-${LocaleSettings.currentLocale.countryCode}' : ''})'),
value:
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}' ==
selectedLanguageCode.value,
groupValue: true,
onChanged: (value) {
selectedLanguageCode.value =
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}';
},
),
...AppLocale.values
.where(
(locale) =>
locale.languageCode != currentlyUsedLanguage.code,
)
.map((locale) {
final languageCode = getLanguageCode(locale);
return RadioListTile(
title: Text(
languageCode.englishName,
),
title: Text(languageCode.englishName),
subtitle: Text(
'${languageCode.nativeName} (${locale.languageCode}${locale.countryCode != null ? '-${locale.countryCode}' : ''})',
),
@ -75,8 +95,8 @@ class SUpdateLanguage extends BaseViewModel {
'${locale.languageCode}-${locale.countryCode}';
},
);
},
).toList(),
}),
],
),
);
},

213
package-lock.json generated
View File

@ -4,9 +4,8 @@
"requires": true,
"packages": {
"": {
"name": "revanced-manager",
"devDependencies": {
"@droidsolutions-oss/semantic-release-update-file": "^1.3.2",
"@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1",
"@saithodev/semantic-release-backmerge": "^4.0.1",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
@ -61,9 +60,9 @@
}
},
"node_modules/@droidsolutions-oss/semantic-release-update-file": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.3.2.tgz",
"integrity": "sha512-ahV0OWiEUf20e7lLH3gnBLF1SfRNPN99MeaLVaFX6jT3DegTLzkVPeY2CZWa+K4tAXBALc29Bq/kzjv8PAXFGw==",
"version": "1.4.0-beta.1",
"resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.4.0-beta.1.tgz",
"integrity": "sha512-CdqG3vIceWFBmwz0qcY0NdqaE+TGNuhhbgFXHIj/M1fYAD1lQ4QyGEaoD3d4F4ZHYsBqR0HrHNMTG4bycBRKNw==",
"dev": true,
"dependencies": {
"aggregate-error": "^3.1.0",
@ -163,24 +162,24 @@
}
},
"node_modules/@octokit/openapi-types": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz",
"integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==",
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
"integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==",
"dev": true
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "9.1.5",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz",
"integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==",
"version": "9.2.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz",
"integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.4.0"
"@octokit/types": "^12.6.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": ">=5"
"@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-retry": {
@ -201,9 +200,9 @@
}
},
"node_modules/@octokit/plugin-throttling": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.1.3.tgz",
"integrity": "sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A==",
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz",
"integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.2.0",
@ -246,12 +245,12 @@
}
},
"node_modules/@octokit/types": {
"version": "12.5.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.5.0.tgz",
"integrity": "sha512-YJEKcb0KkJlIUNU/zjnZwHEP8AoVh/OoIcP/1IyR4UHxExz7fzpe/a8IG4wBtQi7QDEqiomVLX88S6FpxxAJtg==",
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
"integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dev": true,
"dependencies": {
"@octokit/openapi-types": "^19.1.0"
"@octokit/openapi-types": "^20.0.0"
}
},
"node_modules/@pnpm/config.env-replace": {
@ -500,9 +499,9 @@
}
},
"node_modules/@saithodev/semantic-release-backmerge/node_modules/npm-run-path": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
"integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"
@ -865,9 +864,9 @@
}
},
"node_modules/@semantic-release/npm": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.2.tgz",
"integrity": "sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==",
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz",
"integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==",
"dev": true,
"dependencies": {
"@semantic-release/error": "^4.0.0",
@ -877,7 +876,7 @@
"lodash-es": "^4.17.21",
"nerf-dart": "^1.0.0",
"normalize-url": "^8.0.0",
"npm": "^10.0.0",
"npm": "^10.5.0",
"rc": "^1.2.8",
"read-pkg": "^9.0.0",
"registry-auth-token": "^5.0.0",
@ -1024,9 +1023,9 @@
}
},
"node_modules/@semantic-release/npm/node_modules/npm-run-path": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
"integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"
@ -1138,9 +1137,9 @@
}
},
"node_modules/@sindresorhus/merge-streams": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.2.1.tgz",
"integrity": "sha512-255V7MMIKw6aQ43Wbqp9HZ+VHn6acddERTLiiLnlcPLU9PdTq9Aijl12oklAgUEblLWye+vHLzmqBx6f2TGcZw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
"integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
"dev": true,
"engines": {
"node": ">=18"
@ -1808,9 +1807,9 @@
}
},
"node_modules/env-ci/node_modules/npm-run-path": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
"integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"
@ -2903,9 +2902,9 @@
}
},
"node_modules/npm": {
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/npm/-/npm-10.4.0.tgz",
"integrity": "sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==",
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/npm/-/npm-10.5.0.tgz",
"integrity": "sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==",
"bundleDependencies": [
"@isaacs/string-locale-compare",
"@npmcli/arborist",
@ -2979,13 +2978,6 @@
"write-file-atomic"
],
"dev": true,
"workspaces": [
"docs",
"smoke-tests",
"mock-globals",
"mock-registry",
"workspaces/*"
],
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
"@npmcli/arborist": "^7.2.1",
@ -2995,7 +2987,7 @@
"@npmcli/package-json": "^5.0.0",
"@npmcli/promise-spawn": "^7.0.1",
"@npmcli/run-script": "^7.0.4",
"@sigstore/tuf": "^2.3.0",
"@sigstore/tuf": "^2.3.1",
"abbrev": "^2.0.0",
"archy": "~1.0.0",
"cacache": "^18.0.2",
@ -3046,7 +3038,7 @@
"proc-log": "^3.0.0",
"qrcode-terminal": "^0.12.0",
"read": "^2.1.0",
"semver": "^7.5.4",
"semver": "^7.6.0",
"spdx-expression-parse": "^3.0.1",
"ssri": "^10.0.5",
"supports-color": "^9.4.0",
@ -3162,7 +3154,7 @@
"license": "ISC"
},
"node_modules/npm/node_modules/@npmcli/agent": {
"version": "2.2.0",
"version": "2.2.1",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -3178,7 +3170,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/arborist": {
"version": "7.3.1",
"version": "7.4.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -3191,7 +3183,7 @@
"@npmcli/name-from-folder": "^2.0.0",
"@npmcli/node-gyp": "^3.0.0",
"@npmcli/package-json": "^5.0.0",
"@npmcli/query": "^3.0.1",
"@npmcli/query": "^3.1.0",
"@npmcli/run-script": "^7.0.2",
"bin-links": "^4.0.1",
"cacache": "^18.0.0",
@ -3225,7 +3217,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/config": {
"version": "8.1.0",
"version": "8.2.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -3396,7 +3388,7 @@
}
},
"node_modules/npm/node_modules/@npmcli/query": {
"version": "3.0.1",
"version": "3.1.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -3434,19 +3426,19 @@
}
},
"node_modules/npm/node_modules/@sigstore/bundle": {
"version": "2.1.1",
"version": "2.2.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
"@sigstore/protobuf-specs": "^0.2.1"
"@sigstore/protobuf-specs": "^0.3.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/npm/node_modules/@sigstore/core": {
"version": "0.2.0",
"version": "1.0.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@ -3455,7 +3447,7 @@
}
},
"node_modules/npm/node_modules/@sigstore/protobuf-specs": {
"version": "0.2.1",
"version": "0.3.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@ -3464,14 +3456,14 @@
}
},
"node_modules/npm/node_modules/@sigstore/sign": {
"version": "2.2.1",
"version": "2.2.3",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
"@sigstore/bundle": "^2.1.1",
"@sigstore/core": "^0.2.0",
"@sigstore/protobuf-specs": "^0.2.1",
"@sigstore/bundle": "^2.2.0",
"@sigstore/core": "^1.0.0",
"@sigstore/protobuf-specs": "^0.3.0",
"make-fetch-happen": "^13.0.0"
},
"engines": {
@ -3479,12 +3471,12 @@
}
},
"node_modules/npm/node_modules/@sigstore/tuf": {
"version": "2.3.0",
"version": "2.3.1",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
"@sigstore/protobuf-specs": "^0.2.1",
"@sigstore/protobuf-specs": "^0.3.0",
"tuf-js": "^2.2.0"
},
"engines": {
@ -3492,14 +3484,14 @@
}
},
"node_modules/npm/node_modules/@sigstore/verify": {
"version": "0.1.0",
"version": "1.1.0",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
"@sigstore/bundle": "^2.1.1",
"@sigstore/core": "^0.2.0",
"@sigstore/protobuf-specs": "^0.2.1"
"@sigstore/bundle": "^2.2.0",
"@sigstore/core": "^1.0.0",
"@sigstore/protobuf-specs": "^0.3.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
@ -3906,7 +3898,7 @@
}
},
"node_modules/npm/node_modules/diff": {
"version": "5.1.0",
"version": "5.2.0",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@ -4057,7 +4049,7 @@
"license": "ISC"
},
"node_modules/npm/node_modules/hasown": {
"version": "2.0.0",
"version": "2.0.1",
"dev": true,
"inBundle": true,
"license": "MIT",
@ -4087,7 +4079,7 @@
"license": "BSD-2-Clause"
},
"node_modules/npm/node_modules/http-proxy-agent": {
"version": "7.0.0",
"version": "7.0.2",
"dev": true,
"inBundle": true,
"license": "MIT",
@ -4100,7 +4092,7 @@
}
},
"node_modules/npm/node_modules/https-proxy-agent": {
"version": "7.0.2",
"version": "7.0.4",
"dev": true,
"inBundle": true,
"license": "MIT",
@ -4182,11 +4174,24 @@
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/npm/node_modules/ip": {
"version": "2.0.0",
"node_modules/npm/node_modules/ip-address": {
"version": "9.0.5",
"dev": true,
"inBundle": true,
"license": "MIT"
"license": "MIT",
"dependencies": {
"jsbn": "1.1.0",
"sprintf-js": "^1.1.3"
},
"engines": {
"node": ">= 12"
}
},
"node_modules/npm/node_modules/ip-address/node_modules/sprintf-js": {
"version": "1.1.3",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause"
},
"node_modules/npm/node_modules/ip-regex": {
"version": "5.0.0",
@ -4263,6 +4268,12 @@
"@pkgjs/parseargs": "^0.11.0"
}
},
"node_modules/npm/node_modules/jsbn": {
"version": "1.1.0",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/json-parse-even-better-errors": {
"version": "3.0.1",
"dev": true,
@ -4316,7 +4327,7 @@
}
},
"node_modules/npm/node_modules/libnpmdiff": {
"version": "6.0.6",
"version": "6.0.7",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -4336,7 +4347,7 @@
}
},
"node_modules/npm/node_modules/libnpmexec": {
"version": "7.0.7",
"version": "7.0.8",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -4358,7 +4369,7 @@
}
},
"node_modules/npm/node_modules/libnpmfund": {
"version": "5.0.4",
"version": "5.0.5",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -4396,7 +4407,7 @@
}
},
"node_modules/npm/node_modules/libnpmpack": {
"version": "6.0.6",
"version": "6.0.7",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -4471,7 +4482,7 @@
}
},
"node_modules/npm/node_modules/lru-cache": {
"version": "10.1.0",
"version": "10.2.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -5133,7 +5144,7 @@
"optional": true
},
"node_modules/npm/node_modules/semver": {
"version": "7.5.4",
"version": "7.6.0",
"dev": true,
"inBundle": true,
"license": "ISC",
@ -5199,17 +5210,17 @@
}
},
"node_modules/npm/node_modules/sigstore": {
"version": "2.2.0",
"version": "2.2.2",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
"dependencies": {
"@sigstore/bundle": "^2.1.1",
"@sigstore/core": "^0.2.0",
"@sigstore/protobuf-specs": "^0.2.1",
"@sigstore/sign": "^2.2.1",
"@sigstore/tuf": "^2.3.0",
"@sigstore/verify": "^0.1.0"
"@sigstore/bundle": "^2.2.0",
"@sigstore/core": "^1.0.0",
"@sigstore/protobuf-specs": "^0.3.0",
"@sigstore/sign": "^2.2.3",
"@sigstore/tuf": "^2.3.1",
"@sigstore/verify": "^1.1.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
@ -5226,16 +5237,16 @@
}
},
"node_modules/npm/node_modules/socks": {
"version": "2.7.1",
"version": "2.8.0",
"dev": true,
"inBundle": true,
"license": "MIT",
"dependencies": {
"ip": "^2.0.0",
"ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
},
"engines": {
"node": ">= 10.13.0",
"node": ">= 16.0.0",
"npm": ">= 3.0.0"
}
},
@ -5264,7 +5275,7 @@
}
},
"node_modules/npm/node_modules/spdx-exceptions": {
"version": "2.3.0",
"version": "2.5.0",
"dev": true,
"inBundle": true,
"license": "CC-BY-3.0"
@ -5280,7 +5291,7 @@
}
},
"node_modules/npm/node_modules/spdx-license-ids": {
"version": "3.0.16",
"version": "3.0.17",
"dev": true,
"inBundle": true,
"license": "CC0-1.0"
@ -5987,9 +5998,9 @@
}
},
"node_modules/read-pkg-up/node_modules/type-fest": {
"version": "4.10.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==",
"version": "4.11.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.11.0.tgz",
"integrity": "sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==",
"dev": true,
"engines": {
"node": ">=16"
@ -6016,9 +6027,9 @@
}
},
"node_modules/read-pkg/node_modules/type-fest": {
"version": "4.10.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==",
"version": "4.11.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.11.0.tgz",
"integrity": "sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==",
"dev": true,
"engines": {
"node": ">=16"
@ -6296,9 +6307,9 @@
}
},
"node_modules/semantic-release/node_modules/npm-run-path": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
"integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"

View File

@ -1,6 +1,6 @@
{
"devDependencies": {
"@droidsolutions-oss/semantic-release-update-file": "^1.3.2",
"@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1",
"@saithodev/semantic-release-backmerge": "^4.0.1",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",

View File

@ -109,10 +109,10 @@ packages:
dependency: transitive
description:
name: built_value
sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6
sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e
url: "https://pub.dev"
source: hosted
version: "8.9.0"
version: "8.9.1"
characters:
dependency: transitive
description:
@ -205,10 +205,10 @@ packages:
dependency: transitive
description:
name: dart_style
sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368"
sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
url: "https://pub.dev"
source: hosted
version: "2.3.4"
version: "2.3.6"
dbus:
dependency: transitive
description:
@ -262,10 +262,10 @@ packages:
dependency: "direct main"
description:
name: dynamic_color
sha256: a866f1f8947bfdaf674d7928e769eac7230388a2e7a2542824fad4bb5b87be3b
sha256: eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d
url: "https://pub.dev"
source: hosted
version: "1.6.9"
version: "1.7.0"
dynamic_themes:
dependency: "direct main"
description:
@ -385,10 +385,10 @@ packages:
dependency: "direct main"
description:
name: flutter_markdown
sha256: "21b085a1c185e46701373866144ced56cfb7a0c33f63c916bb8fe2d0c1491278"
sha256: a64c5323ac83ed2b7940d2b6288d160aa1753ff271ba9d9b2a86770414aa3eab
url: "https://pub.dev"
source: hosted
version: "0.6.19"
version: "0.6.20+1"
flutter_test:
dependency: transitive
description: flutter
@ -459,10 +459,10 @@ packages:
dependency: "direct main"
description:
name: google_fonts
sha256: f0b8d115a13ecf827013ec9fc883390ccc0e87a96ed5347a3114cac177ef18e8
sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82
url: "https://pub.dev"
source: hosted
version: "6.1.0"
version: "6.2.1"
graphs:
dependency: transitive
description:
@ -562,12 +562,11 @@ packages:
language_code:
dependency: "direct main"
description:
path: "."
ref: "21b71892d1ce07fb8ea51ac2b474e435360fb6f7"
resolved-ref: "21b71892d1ce07fb8ea51ac2b474e435360fb6f7"
url: "https://github.com/Ushie/language_code"
source: git
version: "0.4.0"
name: language_code
sha256: cbd50546df7c21857a7cfa35f97943f8759705d0c17f9282593abe654cbbdf38
url: "https://pub.dev"
source: hosted
version: "0.4.1"
leak_tracker:
dependency: transitive
description:
@ -845,10 +844,10 @@ packages:
dependency: transitive
description:
name: provider
sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096"
sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
url: "https://pub.dev"
source: hosted
version: "6.1.1"
version: "6.1.2"
pub_semver:
dependency: transitive
description:
@ -1004,18 +1003,18 @@ packages:
dependency: "direct main"
description:
name: slang
sha256: "95dee03eb3fd1b36c99f365d4eace270a0d83c6148f8e7d1057806ef60cfaf12"
sha256: "5e08ac915ac27a3508863f37734280d30c3713d56746cd2e4a5da77413da4b95"
url: "https://pub.dev"
source: hosted
version: "3.29.0"
version: "3.30.1"
slang_flutter:
dependency: "direct main"
description:
name: slang_flutter
sha256: "34c7cf297c608e24d3957a29e75c6790f4dbbfb1a4783d261a6c1e33ede7ad0f"
sha256: "9ee040b0d364d3a4d692e4af536acff6ef513870689403494ebc6d59b0dccea6"
url: "https://pub.dev"
source: hosted
version: "3.29.0"
version: "3.30.0"
source_gen:
dependency: transitive
description:
@ -1196,10 +1195,10 @@ packages:
dependency: "direct main"
description:
name: url_launcher
sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c
sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e"
url: "https://pub.dev"
source: hosted
version: "6.2.4"
version: "6.2.5"
url_launcher_android:
dependency: transitive
description:
@ -1212,10 +1211,10 @@ packages:
dependency: transitive
description:
name: url_launcher_ios
sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03"
sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5"
url: "https://pub.dev"
source: hosted
version: "6.2.4"
version: "6.2.5"
url_launcher_linux:
dependency: transitive
description:
@ -1361,5 +1360,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.3.0-279.1.beta <4.0.0"
flutter: ">=3.16.0"
dart: ">=3.3.0 <4.0.0"
flutter: ">=3.19.2"

View File

@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
publish_to: 'none'
version: 1.19.0-dev.18+101900018
version: 1.19.3+101800006
environment:
sdk: '>=3.0.0 <4.0.0'
@ -37,7 +37,7 @@ dependencies:
flutter_markdown: ^0.6.14
fluttertoast: ^8.2.4
font_awesome_flutter: ^10.4.0
google_fonts: ^6.1.0
google_fonts: ^6.2.1
injectable: ^2.1.1
intl: ^0.18.0
json_annotation: ^4.8.1