From 41849bfd903f465f95a55dea96d387f37451bbc9 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:05:16 +0330 Subject: [PATCH 1/8] fix: removes support for Flutter 3.10, 3.13 --- .github/workflows/ci.yml | 24 ++++++------ packages/flutter/CHANGELOG.md | 6 +++ packages/flutter/README.md | 6 +-- .../example/lib/domain/utils/db_utils.dart | 1 - .../repository/repository_mock_utils.dart | 1 - .../flutter/lib/parse_server_sdk_flutter.dart | 39 +++++++++++-------- packages/flutter/pubspec.yaml | 24 ++++++------ .../storage/core_store_directory_io_test.dart | 2 +- 8 files changed, 56 insertions(+), 47 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0fbf4c7c..7de03b187 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,25 +81,25 @@ jobs: include: # Flutter framework may contain breaking changes in minor version releases, not following semver. # The latest Flutter framework (below) is tested on all architectures (Ubuntu, macOS, Windows). - - name: Flutter 3.19, Ubuntu + - name: Flutter 3.24, Ubuntu os: ubuntu-latest - sdk: 3.19.5 - - name: Flutter 3.19, macOS + sdk: 3.24.3 + - name: Flutter 3.24, macOS os: macos-latest - sdk: 3.19.5 - - name: Flutter 3.19, Windows + sdk: 3.24.3 + - name: Flutter 3.24, Windows os: windows-latest - sdk: 3.19.5 + sdk: 3.24.3 # Older Flutter framework versions (below) are only tested with Ubuntu to reduce CI resource usage. - - name: Flutter 3.16 + - name: Flutter 3.22 os: ubuntu-latest - sdk: 3.16.9 - - name: Flutter 3.13 + sdk: 3.22.3 + - name: Flutter 3.19 os: ubuntu-latest - sdk: 3.13.9 - - name: Flutter 3.10 + sdk: 3.19.6 + - name: Flutter 3.16 os: ubuntu-latest - sdk: 3.10.6 + sdk: 3.16.9 - name: Flutter beta os: ubuntu-latest sdk: beta diff --git a/packages/flutter/CHANGELOG.md b/packages/flutter/CHANGELOG.md index f7a334142..5733d040d 100644 --- a/packages/flutter/CHANGELOG.md +++ b/packages/flutter/CHANGELOG.md @@ -1,3 +1,9 @@ +## [9.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-8.0.0...flutter-9.0.0) (2024-10-16) + +### BREAKING CHANGES + +* This release removes support for Flutter 3.10, 3.13 ([#994](https://github.com/parse-community/Parse-SDK-Flutter/pull/994)) + ## [8.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-7.0.0...flutter-8.0.0) (2024-05-15) ### BREAKING CHANGES diff --git a/packages/flutter/README.md b/packages/flutter/README.md index fe4989833..179e046a5 100644 --- a/packages/flutter/README.md +++ b/packages/flutter/README.md @@ -32,10 +32,10 @@ The Parse Flutter SDK is continuously tested with the most recent release of the | Version | Latest Version | End of Support | Compatible | |--------------|----------------|----------------|------------| -| Flutter 3.10 | 3.10.6 | Jul 2024 | ✅ Yes | -| Flutter 3.13 | 3.13.9 | Oct 2024 | ✅ Yes | | Flutter 3.16 | 3.16.9 | Jan 2025 | ✅ Yes | -| Flutter 3.19 | 3.19.5 | Mar 2025 | ✅ Yes | +| Flutter 3.19 | 3.19.6 | Apr 2025 | ✅ Yes | +| Flutter 3.22 | 3.22.3 | Jul 2025 | ✅ Yes | +| Flutter 3.24 | 3.24.3 | Sep 2025 | ✅ Yes | ## Getting Started diff --git a/packages/flutter/example/lib/domain/utils/db_utils.dart b/packages/flutter/example/lib/domain/utils/db_utils.dart index 95d34a3b2..499d20943 100644 --- a/packages/flutter/example/lib/domain/utils/db_utils.dart +++ b/packages/flutter/example/lib/domain/utils/db_utils.dart @@ -1,6 +1,5 @@ import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; -import 'package:sembast/sembast.dart'; import 'package:sembast/sembast_io.dart'; Future getDB() async { diff --git a/packages/flutter/example/test/data/repository/repository_mock_utils.dart b/packages/flutter/example/test/data/repository/repository_mock_utils.dart index 20386bb12..9e886c6d7 100644 --- a/packages/flutter/example/test/data/repository/repository_mock_utils.dart +++ b/packages/flutter/example/test/data/repository/repository_mock_utils.dart @@ -7,7 +7,6 @@ import 'package:flutter_plugin_example/domain/constants/application_constants.da import 'package:mockito/mockito.dart'; import 'package:parse_server_sdk_flutter/parse_server_sdk_flutter.dart'; import 'package:path/path.dart'; -import 'package:sembast/sembast.dart'; import 'package:sembast/sembast_io.dart'; class MockDietPlanProviderApi extends Mock implements DietPlanProviderApi {} diff --git a/packages/flutter/lib/parse_server_sdk_flutter.dart b/packages/flutter/lib/parse_server_sdk_flutter.dart index 33e4d8e79..a7e14cf88 100644 --- a/packages/flutter/lib/parse_server_sdk_flutter.dart +++ b/packages/flutter/lib/parse_server_sdk_flutter.dart @@ -1,4 +1,4 @@ -library flutter_parse_sdk_flutter; +library; import 'dart:convert'; import 'dart:async'; @@ -19,10 +19,15 @@ export 'package:parse_server_sdk/parse_server_sdk.dart' hide Parse, CoreStoreSembastImp; part 'src/storage/core_store_shared_preferences.dart'; + part 'src/storage/core_store_sembast.dart'; + part 'src/utils/parse_live_grid.dart'; + part 'src/utils/parse_live_list.dart'; + part 'src/notification/parse_notification.dart'; + part 'src/push//parse_push.dart'; class Parse extends sdk.Parse @@ -109,30 +114,30 @@ class Parse extends sdk.Parse @override Future checkConnectivity() async { - switch (await Connectivity().checkConnectivity()) { - case ConnectivityResult.wifi: - return sdk.ParseConnectivityResult.wifi; - case ConnectivityResult.mobile: - return sdk.ParseConnectivityResult.mobile; - case ConnectivityResult.none: - return sdk.ParseConnectivityResult.none; - default: - return sdk.ParseConnectivityResult.wifi; + List list = await Connectivity().checkConnectivity(); + + if (list.contains(ConnectivityResult.wifi)) { + return sdk.ParseConnectivityResult.wifi; + } else if (list.contains(ConnectivityResult.mobile)) { + return sdk.ParseConnectivityResult.mobile; + } else { + return sdk.ParseConnectivityResult.none; } } @override Stream get connectivityStream { - return Connectivity().onConnectivityChanged.map((ConnectivityResult event) { - switch (event) { - case ConnectivityResult.wifi: + return Connectivity().onConnectivityChanged.map( + (List event) { + if (event.contains(ConnectivityResult.wifi)) { return sdk.ParseConnectivityResult.wifi; - case ConnectivityResult.mobile: + } else if (event.contains(ConnectivityResult.mobile)) { return sdk.ParseConnectivityResult.mobile; - default: + } else { return sdk.ParseConnectivityResult.none; - } - }); + } + }, + ); } @override diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 7a6453fdd..6adbd9e86 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: parse_server_sdk_flutter description: The Flutter SDK to connect to Parse Server. Build your apps faster with Parse Platform, the complete application stack. -version: 8.0.0 +version: 9.0.0 homepage: https://parseplatform.org repository: https://github.com/parse-community/Parse-SDK-Flutter issue_tracker: https://github.com/parse-community/Parse-SDK-Flutter/issues @@ -18,36 +18,36 @@ topics: - backend environment: - sdk: ">=3.0.6 <4.0.0" - flutter: ">=3.10.6" + sdk: ">=3.2.6 <4.0.0" + flutter: ">=3.16.9" dependencies: flutter: sdk: flutter - parse_server_sdk: ^6.4.0 + parse_server_sdk: ^7.0.1 # Uncomment for local testing #parse_server_sdk: # path: ../dart # Networking - connectivity_plus: ^5.0.2 + connectivity_plus: ^6.0.5 #Database - shared_preferences: ^2.2.2 - sembast: ^3.6.0 - sembast_web: ^2.2.0 + shared_preferences: ^2.3.2 + sembast: ^3.7.5 + sembast_web: ^2.4.0+4 # Utils - path_provider: ^2.1.2 - package_info_plus: ^4.2.0 - path: ^1.8.3 + path_provider: ^2.1.4 + package_info_plus: ^8.0.3 + path: ^1.9.0 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^3.0.1 + flutter_lints: ^5.0.0 path_provider_platform_interface: ^2.1.2 plugin_platform_interface: ^2.1.8 diff --git a/packages/flutter/test/src/storage/core_store_directory_io_test.dart b/packages/flutter/test/src/storage/core_store_directory_io_test.dart index a2a39a421..acb32a053 100644 --- a/packages/flutter/test/src/storage/core_store_directory_io_test.dart +++ b/packages/flutter/test/src/storage/core_store_directory_io_test.dart @@ -1,5 +1,5 @@ @TestOn('dart-vm') -@Timeout.factor(2) +library; import 'dart:io'; import 'dart:math'; From dde934169e8cb9d673395a4ef9f5ed7b97099d8c Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:08:50 +0330 Subject: [PATCH 2/8] fix: downgrade flutter_lints --- packages/flutter/CHANGELOG.md | 2 +- packages/flutter/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/flutter/CHANGELOG.md b/packages/flutter/CHANGELOG.md index 5733d040d..539409b28 100644 --- a/packages/flutter/CHANGELOG.md +++ b/packages/flutter/CHANGELOG.md @@ -2,7 +2,7 @@ ### BREAKING CHANGES -* This release removes support for Flutter 3.10, 3.13 ([#994](https://github.com/parse-community/Parse-SDK-Flutter/pull/994)) +* This release removes support for Flutter 3.10, 3.13 ([#1014](https://github.com/parse-community/Parse-SDK-Flutter/pull/1014)) ## [8.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-7.0.0...flutter-8.0.0) (2024-05-15) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 6adbd9e86..466ff47c5 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -47,7 +47,7 @@ dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^4.0.0 path_provider_platform_interface: ^2.1.2 plugin_platform_interface: ^2.1.8 From 38bc3be228ae6384accba41ae6ad42b5dc7ed472 Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:11:21 +0330 Subject: [PATCH 3/8] fix: downgrade path --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 466ff47c5..0aac02a78 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: # Utils path_provider: ^2.1.4 package_info_plus: ^8.0.3 - path: ^1.9.0 + path: ^1.8.3 dev_dependencies: flutter_test: From 28c8b81e7ffbafcb55322c9cec6cf095205e881a Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:15:43 +0330 Subject: [PATCH 4/8] fix: downgrade package_info_plus --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 0aac02a78..de129f6e6 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -40,7 +40,7 @@ dependencies: # Utils path_provider: ^2.1.4 - package_info_plus: ^8.0.3 + package_info_plus: ^5.0.1 path: ^1.8.3 dev_dependencies: From 12bd909ac344c9427daca8e97e6a36514a64d3cd Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:18:12 +0330 Subject: [PATCH 5/8] fix: downgrade some package --- packages/flutter/pubspec.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index de129f6e6..af49998ef 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -34,9 +34,9 @@ dependencies: connectivity_plus: ^6.0.5 #Database - shared_preferences: ^2.3.2 - sembast: ^3.7.5 - sembast_web: ^2.4.0+4 + shared_preferences: ^2.2.3 + sembast: ^3.6.0 + sembast_web: ^2.2.0 # Utils path_provider: ^2.1.4 From 48d518195942ada761f528b9a331baedc632392e Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:23:40 +0330 Subject: [PATCH 6/8] fix: downgrade connectivity_plus --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index af49998ef..c173cdfac 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -31,7 +31,7 @@ dependencies: # path: ../dart # Networking - connectivity_plus: ^6.0.5 + connectivity_plus: ^6.0.3 #Database shared_preferences: ^2.2.3 From 5684da05a941ce070fa7179cb4c9b0cb32995f8d Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:27:21 +0330 Subject: [PATCH 7/8] fix: downgrade parse_server_sdk --- packages/flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index c173cdfac..21f3d0a46 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -25,7 +25,7 @@ dependencies: flutter: sdk: flutter - parse_server_sdk: ^7.0.1 + parse_server_sdk: ^6.4.0 # Uncomment for local testing #parse_server_sdk: # path: ../dart From 722d4a2bdcda46f5458121c9affacb71985e496e Mon Sep 17 00:00:00 2001 From: mbfakourii Date: Wed, 16 Oct 2024 17:33:17 +0330 Subject: [PATCH 8/8] fix: some warning in analysis ci --- packages/flutter/example/lib/domain/utils/db_utils.dart | 4 ++-- .../example/test/data/repository/repository_mock_utils.dart | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/flutter/example/lib/domain/utils/db_utils.dart b/packages/flutter/example/lib/domain/utils/db_utils.dart index 499d20943..03440536e 100644 --- a/packages/flutter/example/lib/domain/utils/db_utils.dart +++ b/packages/flutter/example/lib/domain/utils/db_utils.dart @@ -2,9 +2,9 @@ import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; import 'package:sembast/sembast_io.dart'; -Future getDB() async { +Future getDB() async { final String dbDirectory = (await getApplicationDocumentsDirectory()).path; final String dbPath = path.join(dbDirectory, 'no_sql'); - final DatabaseFactory dbFactory = databaseFactoryIo; + final dynamic dbFactory = databaseFactoryIo; return await dbFactory.openDatabase(dbPath); } diff --git a/packages/flutter/example/test/data/repository/repository_mock_utils.dart b/packages/flutter/example/test/data/repository/repository_mock_utils.dart index 9e886c6d7..de92e769b 100644 --- a/packages/flutter/example/test/data/repository/repository_mock_utils.dart +++ b/packages/flutter/example/test/data/repository/repository_mock_utils.dart @@ -13,10 +13,10 @@ class MockDietPlanProviderApi extends Mock implements DietPlanProviderApi {} class MockDietPlanProviderDB extends Mock implements DietPlanProviderDB {} -Future getDB() async { +Future getDB() async { final String dbDirectory = Directory.current.path; final String dbPath = join(dbDirectory, 'no_sql_test'); - final DatabaseFactory dbFactory = databaseFactoryIo; + final dynamic dbFactory = databaseFactoryIo; return await dbFactory.openDatabase(dbPath); }