Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/sync upstream #11

Merged
merged 128 commits into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
badafc7
Fix charset problem on windows
Mino5531 Jun 8, 2023
1e977ea
always throw when osstatus is error, always apply accessiblity, optim…
bierbaumtim Sep 1, 2023
4ea8f2b
build(deps): bump actions/checkout from 3 to 4
dependabot[bot] Sep 11, 2023
5e2d681
Linux fix: Search with schemas fails in cold keyrings
inetic Sep 25, 2023
01b74f6
Fix native stacktraces
ueman Sep 29, 2023
f0c8315
build(deps): bump com.android.tools.build:gradle
dependabot[bot] Oct 2, 2023
fda39b4
build(deps): bump com.android.tools.build:gradle
dependabot[bot] Oct 2, 2023
eddabf6
Merge pull request #624 from mogol/dependabot/gradle/flutter_secure_s…
juliansteenbakker Oct 3, 2023
9a6cb34
Merge pull request #625 from mogol/dependabot/gradle/flutter_secure_s…
juliansteenbakker Oct 3, 2023
d202aec
ci: upgrade java for test
juliansteenbakker Oct 3, 2023
0afb5a3
Merge pull request #626 from mogol/juliansteenbakker-patch-1
juliansteenbakker Oct 3, 2023
0b5083e
Merge pull request #610 from mogol/dependabot/github_actions/actions/…
juliansteenbakker Oct 3, 2023
a9a7100
Merge pull request #621 from inetic/linux-cold-keyring
juliansteenbakker Oct 3, 2023
18e577e
Merge pull request #623 from ueman/fix/native-stacktraces-on-android
juliansteenbakker Oct 3, 2023
73bd9af
Merge branch 'mogol:develop' into develop
bierbaumtim Oct 6, 2023
1364ad9
always throw when osstatus is error, always apply accessiblity, optim…
bierbaumtim Oct 6, 2023
9cb4808
feature - add onCupertinoProtectedDataAvailabilityChanged and isCuper…
bierbaumtim Oct 7, 2023
bdb5e55
updated readme
bierbaumtim Oct 7, 2023
eb59886
Revert "updated readme"
bierbaumtim Oct 7, 2023
58fd53d
update readme
bierbaumtim Oct 7, 2023
3e3993f
Fix syntax error
bierbaumtim Oct 9, 2023
1a65084
Merge pull request #602 from bierbaumtim/develop
juliansteenbakker Oct 12, 2023
4529019
Merge pull request #629 from bierbaumtim/feature-cupertino-protected-…
juliansteenbakker Oct 12, 2023
3bb9336
Merge pull request #628 from bierbaumtim/macos-fixes
juliansteenbakker Oct 12, 2023
5afb6d0
Adressing MacOS build warnings
gnunicorn Oct 14, 2023
cadebfc
Update README.md
Musaddiq625 Oct 16, 2023
41aaadb
Adding the ability to register/unregister listeners for keys.
TN888 Oct 20, 2023
91121b8
Making listeners stand alone object.
TN888 Oct 20, 2023
bd5db8c
Implement isCupertinoProtectedDataAvailable and onCupertinoProtectedD…
hoangdat Oct 25, 2023
21f692f
build(deps): bump subosito/flutter-action from 2.10.0 to 2.12.0
dependabot[bot] Nov 6, 2023
edf8117
Fix exposure of FSS API
tenhobi Nov 22, 2023
113f733
Add public to containsKey
tenhobi Nov 22, 2023
5b5d8a8
Fix imports
tenhobi Nov 22, 2023
321b1f0
Fix errors with web
tenhobi Dec 8, 2023
dbcf6ad
Update iOS example project and pubspec.lock
koji-1009 Dec 10, 2023
9a558b9
Fix Swift Compiler Error (SecCopyErrorMessageString)
koji-1009 Dec 10, 2023
088ef33
Resolved error where readAll and deleteAll when no items exist
koji-1009 Dec 10, 2023
4042f70
Minor code fix
koji-1009 Dec 10, 2023
b765ad4
Fix Android read data after boot
Dec 29, 2023
fc9afe9
fix: try to fix erase on null error
prateekmedia Jan 24, 2024
da8ab43
Update Secret.hpp
prateekmedia Jan 24, 2024
db1b457
iOS - Add Privacy Manifest
martin-headspace Apr 4, 2024
49765be
Merge pull request #696 from martin-headspace/chore/add-privacy-manif…
juliansteenbakker May 6, 2024
ac931f4
Merge pull request #636 from gnunicorn/patch-1
juliansteenbakker May 6, 2024
e03057d
Merge pull request #638 from Musaddiq625/patch-1
juliansteenbakker May 6, 2024
eeed437
Merge pull request #641 from hoangdat/patch-1
juliansteenbakker May 6, 2024
11cc153
Merge pull request #664 from kecson/develop
juliansteenbakker May 6, 2024
2a8adca
Merge pull request #645 from mogol/dependabot/github_actions/subosito…
juliansteenbakker May 6, 2024
17bfb0d
Merge pull request #673 from prateekmedia/patch-1
juliansteenbakker May 6, 2024
019ff76
Merge pull request #662 from koji-1009/resolve_item_empty_error_ios
juliansteenbakker May 6, 2024
a2ba467
Merge branch 'develop' into fix/storage-exposure
juliansteenbakker May 6, 2024
351bf3b
Merge pull request #654 from tenhobi/fix/storage-exposure
juliansteenbakker May 6, 2024
1762ccb
Merge pull request #575 from Mino5531/windows_fix
juliansteenbakker May 6, 2024
ec839b5
imp: fix mounted checks, ignore deprecation warnings until new major …
juliansteenbakker May 6, 2024
ed0e14c
bug: fix build on android
juliansteenbakker May 6, 2024
1915313
Update js dependency
ThexXTURBOXx Feb 17, 2024
8be70eb
Migrate from html to web
ThexXTURBOXx Feb 17, 2024
adc3e7f
Use better implementation from windows module
ThexXTURBOXx Feb 17, 2024
d17d52a
Fix implementation
ThexXTURBOXx May 6, 2024
458d186
Add melos to project
ThexXTURBOXx Feb 17, 2024
669f2cd
Update melos
ThexXTURBOXx May 6, 2024
18683dd
Migrate CI
ThexXTURBOXx May 6, 2024
9125437
Add contributing section to README
ThexXTURBOXx May 6, 2024
cabda76
build(deps): bump subosito/flutter-action from 2.12.0 to 2.16.0
dependabot[bot] May 6, 2024
2331764
Fix melos install
ThexXTURBOXx May 7, 2024
bb2069c
Fix typo
ThexXTURBOXx May 7, 2024
c09a8f9
Fix format
ThexXTURBOXx May 7, 2024
0b39a3d
Update flutter_drive.yml
juliansteenbakker May 7, 2024
ec046cf
ci: update sdk version
juliansteenbakker May 7, 2024
42d576f
ci: update compile sdk
juliansteenbakker May 7, 2024
620c447
ci: update compile sdk
juliansteenbakker May 7, 2024
0f549b6
ci: changed min sdk for test
juliansteenbakker May 8, 2024
c0b716c
Merge pull request #705 from mogol/dependabot/github_actions/subosito…
juliansteenbakker May 8, 2024
bf74b32
Merge pull request #706 from mogol/juliansteenbakker-patch-1
juliansteenbakker May 8, 2024
7e2321a
Merge pull request #680 from ThexXTURBOXx/develop
juliansteenbakker May 8, 2024
09fb54a
Merge branch 'develop' into melos
juliansteenbakker May 8, 2024
ceb9ebe
release of v9.1.0
juliansteenbakker May 8, 2024
d552076
Merge remote-tracking branch 'origin/develop' into develop
juliansteenbakker May 8, 2024
4d6dba1
replace dart:html and dart:js_util with package:web and dart:js_inter…
svenopdehipt Apr 11, 2024
f6806ee
replace JSObject with JSAny for _getAlgorithm, remove subtle file and…
svenopdehipt May 6, 2024
c175c89
remove conversion to buffer and back to Uint8List for random number g…
svenopdehipt May 6, 2024
a28a730
add private extension to convert Array of Strings to js with a single…
svenopdehipt May 6, 2024
074301f
delete jsonwebkey.dart
svenopdehipt May 6, 2024
9f8aac6
Merge remote-tracking branch 'origin/develop' into melos
ThexXTURBOXx May 9, 2024
38b23e6
Workaround for flutter drive issue
ThexXTURBOXx May 9, 2024
ece61c1
Return nil on iOS read if key is not found
ztaylor54 May 9, 2024
1c917c9
Also set kSecUseDataProtectionKeychain on read for macos
gnunicorn May 13, 2024
4a46f85
Add nil check to delete function
ztaylor54 May 14, 2024
fd1a688
Merge pull request #681 from ThexXTURBOXx/melos
juliansteenbakker May 15, 2024
4353f67
Merge pull request #640 from MohamadGreatWarrior/listener-functionality
juliansteenbakker May 15, 2024
5dde870
bug: revert changes for later version
juliansteenbakker May 15, 2024
3e48ab5
Merge remote-tracking branch 'origin/develop' into develop
juliansteenbakker May 15, 2024
62cb9ec
bug: revert breaking changes
juliansteenbakker May 15, 2024
c9f2b62
Merge branch 'develop' into develop
juliansteenbakker May 15, 2024
cc30102
ci: correct pubspec dependencies
juliansteenbakker May 15, 2024
65a4d41
Merge pull request #710 from ztaylor54/develop
juliansteenbakker May 15, 2024
dd4d5d0
Merge branch 'develop' into develop
juliansteenbakker May 15, 2024
908d3f3
bug: revert isProtectedDataAvailable because of breaking changes
juliansteenbakker May 15, 2024
af41fd9
ci: disable dependabot
juliansteenbakker May 15, 2024
cf4f199
ci: revert disable dependabot
juliansteenbakker May 15, 2024
d484bdf
Merge pull request #698 from svenopdehipt/develop
juliansteenbakker May 15, 2024
8451507
style: format
juliansteenbakker May 15, 2024
27e4d6d
release of v2.0.0-beta.1 for web
juliansteenbakker May 15, 2024
63567eb
feat: add onCupertinoProtectedDataAvailabilityChanged in non breaking…
juliansteenbakker May 15, 2024
f7d20d2
ci: update minSDK to match flutter minSDK
juliansteenbakker May 15, 2024
03c42f3
imp: update checks for cupertino protected data
juliansteenbakker May 15, 2024
258f1e7
Merge pull request #715 from mogol/cupertino-protected-data
juliansteenbakker May 15, 2024
947bd80
Merge pull request #712 from gnunicorn/ben-fix-macos-reading-non-shared
juliansteenbakker May 15, 2024
3d5466c
release of v1.1.2
juliansteenbakker May 15, 2024
a9db917
release of v9.2.0
juliansteenbakker May 15, 2024
3487bc7
release of v9.2.0
juliansteenbakker May 15, 2024
3986b42
Fix async race condition bug in storage operations
PROGrand May 15, 2024
7f9729f
Update pubspec.yaml
PROGrand May 16, 2024
f48f43d
Merge pull request #717 from mtbo-org/develop
juliansteenbakker May 16, 2024
ee22926
imp: return nil on macOS read if key is not found
juliansteenbakker May 16, 2024
76299dd
imp: bring macOS inline with iOS implementation
juliansteenbakker May 16, 2024
c1776a0
Merge pull request #718 from mogol/macos-return-nil
juliansteenbakker May 16, 2024
7ecfd54
release of v3.1.1
juliansteenbakker May 16, 2024
eaccd9f
release of v9.2.1
juliansteenbakker May 16, 2024
c6d1f99
Merge remote-tracking branch 'upstream/develop' into feature/syncUpst…
ttorii20 May 19, 2024
5ee877a
fix accessibility
ttorii20 May 19, 2024
c81ebd5
Update main.dart
ttorii20 May 19, 2024
7fdbd92
Update main.dart
ttorii20 May 20, 2024
7fa0aeb
fix lint
ttorii20 May 20, 2024
ac82570
Update pubspec.yaml
ttorii20 May 20, 2024
9838fd3
Update main.dart
ttorii20 May 22, 2024
55c0d96
fix accessibility option
ttorii20 May 24, 2024
5ac19fe
update pod lock
ttorii20 May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 26 additions & 21 deletions .github/workflows/flutter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,42 @@ jobs:
analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
# Use the community Action to install Flutter
- uses: subosito/flutter-action@v2.10.0
- uses: subosito/flutter-action@v2
- name: Version
run: flutter doctor -v
- name: Install dependencies
run: flutter pub get
working-directory: ./flutter_secure_storage
- name: Linter - Android & iOS
run: flutter analyze
working-directory: ./flutter_secure_storage
- name: Linter - Platform Interface
run: flutter analyze
working-directory: ./flutter_secure_storage_platform_interface
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- name: Linter
run: melos analyze
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
# Use the community Action to install Flutter
- uses: subosito/[email protected]
- name: Format - Android & iOS
run: dart format --set-exit-if-changed .
working-directory: ./flutter_secure_storage
- name: Format - Platform Interface
run: dart format --set-exit-if-changed .
working-directory: ./flutter_secure_storage_platform_interface
- uses: subosito/flutter-action@v2
- name: Version
run: flutter doctor -v
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- name: Format
run: melos format --output none --set-exit-if-changed
32 changes: 22 additions & 10 deletions .github/workflows/flutter_drive.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,39 @@ name: integration test
on: [pull_request]
jobs:
drive_android:
runs-on: macos-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2.10.0
- uses: actions/setup-java@v3
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- name: "Run Flutter Driver tests API 18"
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: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- name: "Run Flutter Driver tests API 21"
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 18
api-level: 21
target: default
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"
working-directory: ./flutter_secure_storage
working-directory: ./flutter_secure_storage
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ migrate_working_dir/

# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
pubspec.lock
pubspec_overrides.yaml
**/doc/api/
.dart_tool/
.packages
Expand Down
50 changes: 27 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,4 @@
# flutter_secure_storage

### Breaking change for v5.1.0
IOSAccessibility has been renamed to KeychainAccessibility. This however hasn't been properly documented in the changelog.

### Important notice for Android and v5.0.0
When upgrading from 4.2.1 to 5.0.0 you can migrate to EncryptedSharedPreferences by
setting the encryptedSharedPreference parameter to true as explained below. This will automatically
migrate all preferences. This however can't be undone. If you try to disable encryptedSharedPreference
after this, you won't be able to read the values. You can only read those with encryptedSharedPreference
enabled.

### Important notice for Web
flutter_secure_storage only works on HTTPS or localhost environments. [Please see this issue for more information.](https://github.com/mogol/flutter_secure_storage/issues/320#issuecomment-976308930)


A Flutter plugin to store data in secure storage:

- [Keychain](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html#//apple_ref/doc/uid/TP30000897-CH203-TP1) is used for iOS
Expand All @@ -40,18 +25,28 @@ For more information see the example app.
- [`libsecret`](https://wiki.gnome.org/Projects/Libsecret) is used for Linux.

_Note_ KeyStore was introduced in Android 4.3 (API level 18). The plugin wouldn't work for earlier versions.
## Important notice for Web
flutter_secure_storage only works on HTTPS or localhost environments. [Please see this issue for more information.](https://github.com/mogol/flutter_secure_storage/issues/320#issuecomment-976308930)

### WASM support
You can opt-in into the new WASM compatible version of flutter_secure_storage_web by adding the following override in your pubspec.yaml:

```yaml
dependency_overrides:
flutter_secure_storage_web: ^2.0.0-beta.1
```

## Platform Implementation
Please note that this table represents the functions implemented in this repository and it is possible that changes haven't yet been released on pub.dev

| | read | write | delete | containsKey | readAll | deleteAll |
|---------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
| Android | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| iOS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Windows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Linux | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| macOS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Web | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| | read | write | delete | containsKey | readAll | deleteAll | isCupertinoProtectedDataAvailable | onCupertinoProtectedDataAvailabilityChanged |
|---------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|-----------------------------------|---------------------------------------------|
| Android | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| iOS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Windows | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| Linux | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| macOS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: (on macOS 12 and newer) |
| Web | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |

## Getting Started

Expand Down Expand Up @@ -173,3 +168,12 @@ Run the following command from `example` directory
```
flutter drive --target=test_driver/app.dart
```

## Contributing

If you want to contribute, you need to initialise the workspace after cloning the repo with `melos` like this:
```
flutter pub get
melos bootstrap
```
After that, everything should be set up and working!
62 changes: 52 additions & 10 deletions flutter_secure_storage/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
## 9.2.1
* Fix async race condition bug in storage operations.
* [macOS] Return nil on macOS if key is not found

## 9.2.0
New Features:
* [iOS, macOS] Reintroduced isProtectedDataAvailable.
* Listener functionality via `FlutterSecureStorage().registerListener()`

Bugs Fixed:
* [iOS] Return nil on iOS read if key is not found
* [macOS] Also set kSecUseDataProtectionKeychain on read for macos.

## 9.1.1
Reverts new feature because of breaking changes.
* [iOS, macOS] Added isProtectedDataAvailable, A boolean value that indicates whether content protection is active.

## 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.

## 8.1.0
* [Android] Upgraded to Gradle 8.
* [Android] Fixed resetOnError not working.
* [Windows] Changed PathNotFoundException to FileSystemException to be backwards compatible with Flutter SDK 2.12.0.
* [Windows] Applied lint suggestions.
* [Linux] Remove and replace libjsoncpp1 dependency.
* [Linux, macOS, Windows, Web] Update Dart SDK Constraint to support <4.0.0 instead of <3.0.0.

## 9.0.0
Breaking changes:
* [Windows] Migrated to FFI with win32 package.
Expand Down Expand Up @@ -72,7 +114,7 @@ These changes will become available in version 6.0.0
First stable release of flutter_secure_storage for multi-platform!
Please see all beta release notes for changes.

This first release also fixes several stability issues on Android regarding encrypted shared
This first release also fixes several stability issues on Android regarding encrypted shared
preferences.

## [5.0.0-beta.5]
Expand Down Expand Up @@ -106,7 +148,7 @@ Please read the readme.md for information about every platform.

## [4.2.0]
* Remove Strongbox for Android [225](https://github.com/mogol/flutter_secure_storage/pull/225). Thanks [JordyLangen](https://github.com/JordyLangen).

## [4.1.0]
* Add support for Linux [185](https://github.com/mogol/flutter_secure_storage/pull/185). Thanks [talhabalaj](https://github.com/talhabalaj)
* Improve first-time read speed on Android by not creating cipher when key is not present. Thanks [PieterAelse](https://github.com/PieterAelse)
Expand All @@ -124,8 +166,8 @@ Please read the readme.md for information about every platform.
* Fix crash when generating keys in android with RTL locales [#132](https://github.com/mogol/flutter_secure_storage/pull/132) by [iassal](https://github.com/iassal)
* Fix returning the error as String rather than Exception [#134](https://github.com/mogol/flutter_secure_storage/issues/134) by [wytesk133](https://github.com/wytesk133)s
* Fix Android crash onDetachedFromEngine when init fails [#144](https://github.com/mogol/flutter_secure_storage/issues/144) by [iassal](https://github.com/iassal)
* Handle null value at write function [#95](https://github.com/mogol/flutter_secure_storage/issues/95) by [ewertonrp](https://github.com/ewertonrp)
* Add support for containsKey [#139](https://github.com/mogol/flutter_secure_storage/issues/139) by [iassal](https://github.com/iassal)
* Handle null value at write function [#95](https://github.com/mogol/flutter_secure_storage/issues/95) by [ewertonrp](https://github.com/ewertonrp)
* Add support for containsKey [#139](https://github.com/mogol/flutter_secure_storage/issues/139) by [iassal](https://github.com/iassal)

## [3.3.3]
* Fix compatibility with non-AndroidX project. [AndroidX Migration](https://flutter.dev/docs/development/androidx-migration) is recommended.
Expand All @@ -144,12 +186,12 @@ Please read the readme.md for information about every platform.
* Fix crash without [iOSOptions](https://github.com/mogol/flutter_secure_storage/issues/73).

## [3.3.0]
* Added groupId for iOS keychain sharing. Thanks [Maleandr](https://github.com/Maleandr).
* Fix Gradle version in `gradle-wrapper.properties`. Thanks [blasten](https://github.com/blasten).
* Added minimum sdk requirement on AndroidManifest. Thanks [lidongze91](https://github.com/lidongze91).
* Added groupId for iOS keychain sharing. Thanks [Maleandr](https://github.com/Maleandr).
* Fix Gradle version in `gradle-wrapper.properties`. Thanks [blasten](https://github.com/blasten).
* Added minimum sdk requirement on AndroidManifest. Thanks [lidongze91](https://github.com/lidongze91).

## [3.2.1]
* Fix Android 9.0 Pie [KeyStore exception](https://github.com/mogol/flutter_secure_storage/issues/46).
* Fix Android 9.0 Pie [KeyStore exception](https://github.com/mogol/flutter_secure_storage/issues/46).

## [3.2.0]
* **Breaking change**. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to [also migrate](https://developer.android.com/jetpack/androidx/migrate) if they're using the original support library. Thanks [I-am-original](https://github.com/I-am-original).
Expand All @@ -168,10 +210,10 @@ Please read the readme.md for information about every platform.
* Added `readAll` and `deleteAll`.

## [3.0.0]
* **Breaking change**. Changed payloads encryption for Android from RSA to AES, AES secret key is encrypted with RSA.
* **Breaking change**. Changed payloads encryption for Android from RSA to AES, AES secret key is encrypted with RSA.

## [2.0.0]````
* **Breaking change**. Changed key alias to fix Android 4.4.2 issue. The plugin isn't able to get previous stored data.
* **Breaking change**. Changed key alias to fix Android 4.4.2 issue. The plugin isn't able to get previous stored data.

## [1.0.0]
* Bump version
Expand Down
2 changes: 1 addition & 1 deletion flutter_secure_storage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ This allows us to be able to fetch secure values while the app is backgrounded,
An example:

```dart
final options = IOSOptions(accessibility: IOSAccessibility.first_unlock);
final options = IOSOptions(accessibility: KeychainAccessibility.first_unlock);
await storage.write(key: key, value: value, iOptions: options);
```

Expand Down
6 changes: 3 additions & 3 deletions flutter_secure_storage/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:8.1.1'
classpath 'com.android.tools.build:gradle:8.3.2'
}
}

Expand All @@ -30,15 +30,15 @@ android {
buildConfig = true
}

compileSdkVersion 33
compileSdk 34

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
minSdkVersion 18
minSdkVersion 19
}

}
Expand Down
Loading