From 1915313ccd9a11f89d7e26be2b76052e5d52654a Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Sat, 17 Feb 2024 17:36:24 +0100 Subject: [PATCH 01/10] Update js dependency --- flutter_secure_storage_web/CHANGELOG.md | 3 +++ .../lib/flutter_secure_storage_web.dart | 9 ++++++--- flutter_secure_storage_web/pubspec.yaml | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/flutter_secure_storage_web/CHANGELOG.md b/flutter_secure_storage_web/CHANGELOG.md index 00e4f33f..3d142706 100644 --- a/flutter_secure_storage_web/CHANGELOG.md +++ b/flutter_secure_storage_web/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.1.3 +- Allow newer `js` versions to be used with this package + ## 1.1.2 - Update Dart SDK Constraint to support <4.0.0 instead of <3.0.0. diff --git a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart index 951cd003..3e0c8864 100644 --- a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart +++ b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart @@ -183,9 +183,12 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { } @override - Future isCupertinoProtectedDataAvailable() => Future.value(false); + Future isCupertinoProtectedDataAvailable() async { + return false; + } @override - Stream get onCupertinoProtectedDataAvailabilityChanged => - Stream.empty(); + Stream get onCupertinoProtectedDataAvailabilityChanged async* { + yield false; + } } diff --git a/flutter_secure_storage_web/pubspec.yaml b/flutter_secure_storage_web/pubspec.yaml index c3340fa8..8aadf1db 100644 --- a/flutter_secure_storage_web/pubspec.yaml +++ b/flutter_secure_storage_web/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_web description: Web implementation of flutter_secure_storage. Use flutter_secure_storage for the full flutter package. repository: https://github.com/mogol/flutter_secure_storage -version: 1.1.2 +version: 1.1.3 environment: sdk: ">=2.12.0 <4.0.0" @@ -13,7 +13,7 @@ dependencies: flutter_secure_storage_platform_interface: ^1.0.1 flutter_web_plugins: sdk: flutter - js: ^0.6.3 + js: '>=0.6.3 <1.0.0' dev_dependencies: lint: ^2.0.0 From 8be70eb9ef70a6a1802e0a99a900814a2e603e5c Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Sat, 17 Feb 2024 18:16:14 +0100 Subject: [PATCH 02/10] Migrate from html to web --- flutter_secure_storage_web/CHANGELOG.md | 3 +- .../lib/flutter_secure_storage_web.dart | 44 ++++++++++--------- .../lib/src/subtle.dart | 2 +- flutter_secure_storage_web/pubspec.yaml | 3 +- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/flutter_secure_storage_web/CHANGELOG.md b/flutter_secure_storage_web/CHANGELOG.md index 3d142706..9b352f51 100644 --- a/flutter_secure_storage_web/CHANGELOG.md +++ b/flutter_secure_storage_web/CHANGELOG.md @@ -1,4 +1,5 @@ -## 1.1.3 +## 1.2.0 +- Migrate away from `html` to `web` - Allow newer `js` versions to be used with this package ## 1.1.2 diff --git a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart index 3e0c8864..1fde80d6 100644 --- a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart +++ b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart @@ -2,13 +2,15 @@ library flutter_secure_storage_web; import 'dart:convert'; -import 'dart:html' as html; +import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; import 'dart:js_util' as js_util; import 'dart:typed_data'; import 'package:flutter_secure_storage_platform_interface/flutter_secure_storage_platform_interface.dart'; import 'package:flutter_secure_storage_web/src/subtle.dart' as crypto; import 'package:flutter_web_plugins/flutter_web_plugins.dart'; +import 'package:web/web.dart'; /// Web implementation of FlutterSecureStorage class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { @@ -26,7 +28,7 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { required Map options, }) => Future.value( - html.window.localStorage.containsKey("${options[_publicKey]!}.$key"), + window.localStorage.has("${options[_publicKey]!}.$key"), ); /// Deletes associated value for the given [key]. @@ -37,7 +39,7 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { required String key, required Map options, }) async { - html.window.localStorage.remove("${options[_publicKey]!}.$key"); + window.localStorage.removeItem("${options[_publicKey]!}.$key"); } /// Deletes all keys with associated values. @@ -46,7 +48,7 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { required Map options, }) => Future.sync( - () => html.window.localStorage.removeWhere((key, value) => true), + () => window.localStorage.clear(), ); /// Encrypts and saves the [key] with the given [value]. @@ -58,7 +60,7 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { required String key, required Map options, }) async { - final value = html.window.localStorage["${options[_publicKey]!}.$key"]; + final value = window.localStorage["${options[_publicKey]!}.$key"]; return _decryptValue(value, options); } @@ -70,19 +72,19 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { }) async { final map = {}; final prefix = "${options[_publicKey]!}."; - for (int j = 0; j < html.window.localStorage.length; j++) { - final entry = html.window.localStorage.entries.elementAt(j); - if (!entry.key.startsWith(prefix)) { + for (int j = 0; j < window.localStorage.length; j++) { + final key = window.localStorage.key(j) ?? ''; + if (!key.startsWith(prefix)) { continue; } - final value = await _decryptValue(entry.value, options); + final value = await _decryptValue(window.localStorage[key], options); if (value == null) { continue; } - map[entry.key.substring(prefix.length)] = value; + map[key.substring(prefix.length)] = value; } return map; @@ -91,29 +93,29 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { crypto.Algorithm _getAlgorithm(Uint8List iv) => crypto.Algorithm(name: 'AES-GCM', length: 256, iv: iv); - Future _getEncryptionKey( + Future _getEncryptionKey( crypto.Algorithm algorithm, Map options, ) async { - late html.CryptoKey encryptionKey; + late CryptoKey encryptionKey; final key = options[_publicKey]!; - if (html.window.localStorage.containsKey(key)) { - final jwk = base64Decode(html.window.localStorage[key]!); + if (window.localStorage.has(key)) { + final jwk = base64Decode(window.localStorage[key]!); - encryptionKey = await js_util.promiseToFuture( + encryptionKey = await js_util.promiseToFuture( crypto.importKey("raw", jwk, algorithm, false, ["encrypt", "decrypt"]), ); } else { //final crypto.getRandomValues(Uint8List(256)); - encryptionKey = await js_util.promiseToFuture( + encryptionKey = await js_util.promiseToFuture( crypto.generateKey(algorithm, true, ["encrypt", "decrypt"]), ); final jsonWebKey = await js_util .promiseToFuture(crypto.exportKey("raw", encryptionKey)); - html.window.localStorage[key] = base64Encode(jsonWebKey.asUint8List()); + window.localStorage[key] = base64Encode(jsonWebKey.asUint8List()); } return encryptionKey; @@ -129,8 +131,10 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { required String value, required Map options, }) async { - final iv = - html.window.crypto!.getRandomValues(Uint8List(12)).buffer.asUint8List(); + final iv = (window.crypto.getRandomValues(Uint8List(12).toJS).dartify()! + as Uint8List) + .buffer + .asUint8List(); final algorithm = _getAlgorithm(iv); @@ -149,7 +153,7 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { final encoded = "${base64Encode(iv)}.${base64Encode(encryptedContent.asUint8List())}"; - html.window.localStorage["${options[_publicKey]!}.$key"] = encoded; + window.localStorage["${options[_publicKey]!}.$key"] = encoded; } Future _decryptValue( diff --git a/flutter_secure_storage_web/lib/src/subtle.dart b/flutter_secure_storage_web/lib/src/subtle.dart index 0d9519fa..c22856e2 100644 --- a/flutter_secure_storage_web/lib/src/subtle.dart +++ b/flutter_secure_storage_web/lib/src/subtle.dart @@ -18,12 +18,12 @@ library common; import 'dart:convert' show jsonDecode; -import 'dart:html'; import 'dart:js_util' as js_util; import 'dart:typed_data'; import 'package:flutter_secure_storage_web/src/jsonwebkey.dart' show JsonWebKey; import 'package:js/js.dart'; +import 'package:web/web.dart' hide JsonWebKey; export 'jsonwebkey.dart' show JsonWebKey; diff --git a/flutter_secure_storage_web/pubspec.yaml b/flutter_secure_storage_web/pubspec.yaml index 8aadf1db..c12e0f9a 100644 --- a/flutter_secure_storage_web/pubspec.yaml +++ b/flutter_secure_storage_web/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_web description: Web implementation of flutter_secure_storage. Use flutter_secure_storage for the full flutter package. repository: https://github.com/mogol/flutter_secure_storage -version: 1.1.3 +version: 1.2.0 environment: sdk: ">=2.12.0 <4.0.0" @@ -14,6 +14,7 @@ dependencies: flutter_web_plugins: sdk: flutter js: '>=0.6.3 <1.0.0' + web: '>=0.5.0 <1.0.0' dev_dependencies: lint: ^2.0.0 From adc3e7f18bb196769108a630727c4a49d3952600 Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Sat, 17 Feb 2024 18:20:16 +0100 Subject: [PATCH 03/10] Use better implementation from windows module --- .../lib/flutter_secure_storage_web.dart | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart index 1fde80d6..2faf2997 100644 --- a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart +++ b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart @@ -187,12 +187,9 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { } @override - Future isCupertinoProtectedDataAvailable() async { - return false; - } + Future isCupertinoProtectedDataAvailable() => Future.value(true); @override - Stream get onCupertinoProtectedDataAvailabilityChanged async* { - yield false; - } + Stream get onCupertinoProtectedDataAvailabilityChanged => + Stream.value(true); } From d17d52ad559d909ff610c870a1a655d6d504aae3 Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Mon, 6 May 2024 11:12:02 +0200 Subject: [PATCH 04/10] Fix implementation --- .../lib/flutter_secure_storage_web.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart index 2faf2997..b064fdca 100644 --- a/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart +++ b/flutter_secure_storage_web/lib/flutter_secure_storage_web.dart @@ -187,9 +187,9 @@ class FlutterSecureStorageWeb extends FlutterSecureStoragePlatform { } @override - Future isCupertinoProtectedDataAvailable() => Future.value(true); + Future isCupertinoProtectedDataAvailable() => Future.value(false); @override Stream get onCupertinoProtectedDataAvailabilityChanged => - Stream.value(true); + const Stream.empty(); } From 0b39a3d21d017b0b09cd6692e6a770d09ebe2581 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Tue, 7 May 2024 12:21:11 +0200 Subject: [PATCH 05/10] Update flutter_drive.yml --- .github/workflows/flutter_drive.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flutter_drive.yml b/.github/workflows/flutter_drive.yml index d1c47ccb..2ca409e7 100644 --- a/.github/workflows/flutter_drive.yml +++ b/.github/workflows/flutter_drive.yml @@ -2,7 +2,7 @@ name: integration test on: [pull_request] jobs: drive_android: - runs-on: macos-latest + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.12.0 @@ -10,6 +10,11 @@ jobs: with: distribution: 'temurin' java-version: '17' + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm - name: "Run Flutter Driver tests API 18" uses: reactivecircus/android-emulator-runner@v2 with: From ec046cf1de47dcb70d682a218ae14ab24196dd6a Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Tue, 7 May 2024 12:27:59 +0200 Subject: [PATCH 06/10] ci: update sdk version --- .github/workflows/flutter_drive.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flutter_drive.yml b/.github/workflows/flutter_drive.yml index 2ca409e7..4e5a908f 100644 --- a/.github/workflows/flutter_drive.yml +++ b/.github/workflows/flutter_drive.yml @@ -23,10 +23,10 @@ jobs: arch: x86 script: "cd example && flutter drive --target=test_driver/app.dart" working-directory: ./flutter_secure_storage - - name: "Run Flutter Driver tests API 33" + - name: "Run Flutter Driver tests API 34" uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 33 + api-level: 34 target: google_apis arch: x86_64 script: "cd example && flutter drive --target=test_driver/app.dart" From 42d576ff3c35bb73a03be4dcfcd8666b190c2e5e Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Tue, 7 May 2024 13:14:18 +0200 Subject: [PATCH 07/10] ci: update compile sdk --- flutter_secure_storage/android/build.gradle | 2 +- flutter_secure_storage/example/android/app/build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flutter_secure_storage/android/build.gradle b/flutter_secure_storage/android/build.gradle index ff5e137e..79998baa 100644 --- a/flutter_secure_storage/android/build.gradle +++ b/flutter_secure_storage/android/build.gradle @@ -30,7 +30,7 @@ android { buildConfig = true } - compileSdkVersion 33 + compileSdk 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/flutter_secure_storage/example/android/app/build.gradle b/flutter_secure_storage/example/android/app/build.gradle index 29e69682..0c665c4e 100644 --- a/flutter_secure_storage/example/android/app/build.gradle +++ b/flutter_secure_storage/example/android/app/build.gradle @@ -25,7 +25,7 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdk 33 + compileSdk 34 ndkVersion flutter.ndkVersion compileOptions { @@ -36,7 +36,7 @@ android { defaultConfig { applicationId "com.it_nomads.fluttersecurestorageexample" minSdkVersion 18 - targetSdkVersion 33 + targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } From 620c4479f6aba85ba4e40c3d7f15f3586520941a Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Tue, 7 May 2024 13:21:02 +0200 Subject: [PATCH 08/10] ci: update compile sdk --- flutter_secure_storage/android/build.gradle | 2 +- flutter_secure_storage/example/android/app/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flutter_secure_storage/android/build.gradle b/flutter_secure_storage/android/build.gradle index 79998baa..8f7953f3 100644 --- a/flutter_secure_storage/android/build.gradle +++ b/flutter_secure_storage/android/build.gradle @@ -38,7 +38,7 @@ android { } defaultConfig { - minSdkVersion 18 + minSdkVersion 19 } } diff --git a/flutter_secure_storage/example/android/app/build.gradle b/flutter_secure_storage/example/android/app/build.gradle index 0c665c4e..81261478 100644 --- a/flutter_secure_storage/example/android/app/build.gradle +++ b/flutter_secure_storage/example/android/app/build.gradle @@ -35,7 +35,7 @@ android { defaultConfig { applicationId "com.it_nomads.fluttersecurestorageexample" - minSdkVersion 18 + minSdkVersion 19 targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName From 0f549b656ca90d16686178596fa26ce4b8da1456 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Wed, 8 May 2024 09:22:31 +0200 Subject: [PATCH 09/10] ci: changed min sdk for test --- .github/workflows/flutter_drive.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flutter_drive.yml b/.github/workflows/flutter_drive.yml index 4e5a908f..70215826 100644 --- a/.github/workflows/flutter_drive.yml +++ b/.github/workflows/flutter_drive.yml @@ -15,10 +15,10 @@ jobs: echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - - name: "Run Flutter Driver tests API 18" + - name: "Run Flutter Driver tests API 19" uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 18 + api-level: 19 target: default arch: x86 script: "cd example && flutter drive --target=test_driver/app.dart" From ceb9ebe90b829d147d00396361b656d4942b9fc9 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Wed, 8 May 2024 17:01:18 +0200 Subject: [PATCH 10/10] release of v9.1.0 --- flutter_secure_storage/CHANGELOG.md | 13 ++++ .../example/android/app/build.gradle | 2 +- .../example/macos/Podfile.lock | 11 ++- .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- flutter_secure_storage/example/pubspec.lock | 12 ++-- flutter_secure_storage/pubspec.yaml | 12 ++-- flutter_secure_storage_linux/CHANGELOG.md | 4 ++ flutter_secure_storage_linux/pubspec.lock | 72 +++++++++++++++++++ flutter_secure_storage_linux/pubspec.yaml | 2 +- flutter_secure_storage_macos/CHANGELOG.md | 8 +++ flutter_secure_storage_macos/pubspec.lock | 72 +++++++++++++++++++ flutter_secure_storage_macos/pubspec.yaml | 4 +- .../CHANGELOG.md | 3 + .../pubspec.yaml | 2 +- flutter_secure_storage_web/CHANGELOG.md | 3 + flutter_secure_storage_web/pubspec.yaml | 4 +- flutter_secure_storage_windows/CHANGELOG.md | 6 ++ flutter_secure_storage_windows/pubspec.yaml | 4 +- 19 files changed, 213 insertions(+), 25 deletions(-) create mode 100644 flutter_secure_storage_linux/pubspec.lock create mode 100644 flutter_secure_storage_macos/pubspec.lock diff --git a/flutter_secure_storage/CHANGELOG.md b/flutter_secure_storage/CHANGELOG.md index a44d9ca1..64990810 100644 --- a/flutter_secure_storage/CHANGELOG.md +++ b/flutter_secure_storage/CHANGELOG.md @@ -1,3 +1,16 @@ +## 9.1.0 +New Features: +* [iOS, macOS] Added isProtectedDataAvailable, A boolean value that indicates whether content protection is active. + +Improvements: +* [iOS, macOS] Use accessibility option for all operations +* [iOS, macOS] Added privacy manifest +* [iOS] Fixes error when no item exists +* [Linux] Fixed search with schemas fails in cold keyrings +* [Linux] Fixed erase called on null +* [Android] Fixed native Android stacktraces in PlatformExceptions +* [Android] Fixed exception when reading data after boot + ## 9.0.0 Breaking changes: * [Windows] Migrated to FFI with win32 package. diff --git a/flutter_secure_storage/example/android/app/build.gradle b/flutter_secure_storage/example/android/app/build.gradle index 29e69682..31edbcbb 100644 --- a/flutter_secure_storage/example/android/app/build.gradle +++ b/flutter_secure_storage/example/android/app/build.gradle @@ -35,7 +35,7 @@ android { defaultConfig { applicationId "com.it_nomads.fluttersecurestorageexample" - minSdkVersion 18 + minSdkVersion flutter.minSdkVersion targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/flutter_secure_storage/example/macos/Podfile.lock b/flutter_secure_storage/example/macos/Podfile.lock index fd4ec832..cf04caeb 100644 --- a/flutter_secure_storage/example/macos/Podfile.lock +++ b/flutter_secure_storage/example/macos/Podfile.lock @@ -2,21 +2,28 @@ PODS: - flutter_secure_storage_macos (6.1.1): - FlutterMacOS - FlutterMacOS (1.0.0) + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS DEPENDENCIES: - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) - FlutterMacOS (from `Flutter/ephemeral`) + - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) EXTERNAL SOURCES: flutter_secure_storage_macos: :path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos FlutterMacOS: :path: Flutter/ephemeral + path_provider_foundation: + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin SPEC CHECKSUMS: - flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea + flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c PODFILE CHECKSUM: ce7dbe26c78bfc7ba46736094c1e2d25982870fa -COCOAPODS: 1.11.2 +COCOAPODS: 1.15.2 diff --git a/flutter_secure_storage/example/macos/Runner.xcodeproj/project.pbxproj b/flutter_secure_storage/example/macos/Runner.xcodeproj/project.pbxproj index 971a136f..05a2c5b2 100644 --- a/flutter_secure_storage/example/macos/Runner.xcodeproj/project.pbxproj +++ b/flutter_secure_storage/example/macos/Runner.xcodeproj/project.pbxproj @@ -202,7 +202,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 33CC10EC2044A3C60003C045 = { diff --git a/flutter_secure_storage/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flutter_secure_storage/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fd7126b..ec9aa6bb 100644 --- a/flutter_secure_storage/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flutter_secure_storage/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.2.0-0 <4.0.0" + flutter: ">=1.20.0" diff --git a/flutter_secure_storage_linux/pubspec.yaml b/flutter_secure_storage_linux/pubspec.yaml index da8694f1..44690a0a 100644 --- a/flutter_secure_storage_linux/pubspec.yaml +++ b/flutter_secure_storage_linux/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_linux description: Linux implementation of flutter_secure_storage repository: https://github.com/mogol/flutter_secure_storage -version: 1.2.0 +version: 1.2.1 environment: sdk: ">=2.12.0 <4.0.0" diff --git a/flutter_secure_storage_macos/CHANGELOG.md b/flutter_secure_storage_macos/CHANGELOG.md index bfd84a94..e9622f27 100644 --- a/flutter_secure_storage_macos/CHANGELOG.md +++ b/flutter_secure_storage_macos/CHANGELOG.md @@ -1,3 +1,11 @@ +## 3.1.0 +New Features: +* Added isProtectedDataAvailable, A Boolean value that indicates whether content protection is active. + +Improvements: +* Use accessibility option for all operations +* Added privacy manifest + ## 3.0.1 Update Dart SDK Constraint to support <4.0.0 instead of <3.0.0. diff --git a/flutter_secure_storage_macos/pubspec.lock b/flutter_secure_storage_macos/pubspec.lock new file mode 100644 index 00000000..00e360d9 --- /dev/null +++ b/flutter_secure_storage_macos/pubspec.lock @@ -0,0 +1,72 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_secure_storage_platform_interface: + dependency: "direct main" + description: + name: flutter_secure_storage_platform_interface + sha256: fa6beabb78596a93540d7c23519ed11f80f85431016b1660ce7b985ed6a7fd49 + url: "https://pub.dev" + source: hosted + version: "1.1.0" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" + source: hosted + version: "0.8.0" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" +sdks: + dart: ">=3.2.0-0 <4.0.0" + flutter: ">=1.20.0" diff --git a/flutter_secure_storage_macos/pubspec.yaml b/flutter_secure_storage_macos/pubspec.yaml index e4d56cd4..16dfea5b 100644 --- a/flutter_secure_storage_macos/pubspec.yaml +++ b/flutter_secure_storage_macos/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_macos description: macOS implementation of flutter_secure_storage repository: https://github.com/mogol/flutter_secure_storage -version: 3.0.1 +version: 3.1.0 environment: sdk: ">=2.12.0 <4.0.0" @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - flutter_secure_storage_platform_interface: ^1.0.1 + flutter_secure_storage_platform_interface: ^1.1.0 flutter: plugin: diff --git a/flutter_secure_storage_platform_interface/CHANGELOG.md b/flutter_secure_storage_platform_interface/CHANGELOG.md index 181d0634..9faa074b 100644 --- a/flutter_secure_storage_platform_interface/CHANGELOG.md +++ b/flutter_secure_storage_platform_interface/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.1.0 +Adds onCupertinoProtectedDataAvailabilityChanged and isCupertinoProtectedDataAvailable. + ## 1.0.2 - Update Dart SDK Constraint to support <4.0.0 instead of <3.0.0. diff --git a/flutter_secure_storage_platform_interface/pubspec.yaml b/flutter_secure_storage_platform_interface/pubspec.yaml index 7d77be13..d7104741 100644 --- a/flutter_secure_storage_platform_interface/pubspec.yaml +++ b/flutter_secure_storage_platform_interface/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_platform_interface description: A common platform interface for the flutter_secure_storage plugin. homepage: https://github.com/mogol/flutter_secure_storage -version: 1.0.2 +version: 1.1.0 environment: sdk: ">=2.12.0 <4.0.0" diff --git a/flutter_secure_storage_web/CHANGELOG.md b/flutter_secure_storage_web/CHANGELOG.md index 00e4f33f..2dcbfb4e 100644 --- a/flutter_secure_storage_web/CHANGELOG.md +++ b/flutter_secure_storage_web/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.2.0 +Updated flutter_secure_storage_platform_interface to latest version. + ## 1.1.2 - Update Dart SDK Constraint to support <4.0.0 instead of <3.0.0. diff --git a/flutter_secure_storage_web/pubspec.yaml b/flutter_secure_storage_web/pubspec.yaml index c3340fa8..10386e66 100644 --- a/flutter_secure_storage_web/pubspec.yaml +++ b/flutter_secure_storage_web/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_web description: Web implementation of flutter_secure_storage. Use flutter_secure_storage for the full flutter package. repository: https://github.com/mogol/flutter_secure_storage -version: 1.1.2 +version: 1.2.0 environment: sdk: ">=2.12.0 <4.0.0" @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - flutter_secure_storage_platform_interface: ^1.0.1 + flutter_secure_storage_platform_interface: ^1.1.0 flutter_web_plugins: sdk: flutter js: ^0.6.3 diff --git a/flutter_secure_storage_windows/CHANGELOG.md b/flutter_secure_storage_windows/CHANGELOG.md index d04ad8fb..c2272ec1 100644 --- a/flutter_secure_storage_windows/CHANGELOG.md +++ b/flutter_secure_storage_windows/CHANGELOG.md @@ -1,3 +1,9 @@ +## 3.1.1 +Updated flutter_secure_storage_platform_interface to latest version. + +## 3.1.0 +Fixed CompanyName and CompanyProduct on Windows are ignored when the lang-charset in the Runner.rc file is not 040904e4 + ## 3.0.0 - Migrated to win32 package replacing C. - Changed PathNotFoundException to FileSystemException to be backwards compatible with Flutter SDK 2.12.0 diff --git a/flutter_secure_storage_windows/pubspec.yaml b/flutter_secure_storage_windows/pubspec.yaml index de42bb2f..90a78dbe 100644 --- a/flutter_secure_storage_windows/pubspec.yaml +++ b/flutter_secure_storage_windows/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_secure_storage_windows description: Windows implementation of flutter_secure_storage. Please use flutter_secure_storage instead of this package. repository: https://github.com/mogol/flutter_secure_storage -version: 3.0.0 +version: 3.1.1 environment: sdk: '>=2.12.0 <4.0.0' @@ -11,7 +11,7 @@ dependencies: ffi: ^2.0.0 flutter: sdk: flutter - flutter_secure_storage_platform_interface: ^1.0.1 + flutter_secure_storage_platform_interface: ^1.1.0 path: ^1.8.0 path_provider: ^2.0.0 win32: ^5.0.0