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

feat: Add support for Flutter 3.10 and 3.13, remove support for Flutter 3.0 #971

Merged
merged 29 commits into from
Oct 16, 2023
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
cde971b
Create CONTRIBUTING.md
mbfakourii May 25, 2023
4e7ba14
Merge pull request #1 from mbfakourii/mbfakourii-patch-1
mbfakourii May 25, 2023
835a1db
just some styling
mtrezza May 25, 2023
2b6997f
Merge branch 'parse-community:master' into master
mbfakourii May 25, 2023
45928d4
Merge branch 'parse-community:master' into master
mbfakourii May 26, 2023
f86d134
Merge branch 'parse-community:master' into master
mbfakourii May 28, 2023
79f9d4b
Merge branch 'parse-community:master' into master
mbfakourii May 29, 2023
e3e2b15
Merge branch 'parse-community:master' into master
mbfakourii May 29, 2023
1b96d48
Merge branch 'parse-community:master' into master
mbfakourii Jun 8, 2023
2ac7344
Merge branch 'parse-community:master' into master
mbfakourii Jun 20, 2023
9c77278
Merge branch 'parse-community:master' into master
mbfakourii Jul 3, 2023
69bffd2
Merge branch 'parse-community:master' into master
mbfakourii Jul 30, 2023
f9c00d9
Merge branch 'parse-community:master' into master
mbfakourii Sep 25, 2023
4b909e1
refactor: Improve flutter support policy.
mbfakourii Oct 7, 2023
7223cfe
refactor: bump version and add entries in CHANGELOG.md.
mbfakourii Oct 9, 2023
4607d40
fix date
mtrezza Oct 9, 2023
ea5b91d
refactor: Improve flutter support policy.
mbfakourii Oct 12, 2023
5fa8d44
fix: Ci separation.
mbfakourii Oct 13, 2023
bb287fc
fix: Ci separation.
mbfakourii Oct 13, 2023
23929cf
fix: revert Uncomment.
mbfakourii Oct 14, 2023
8ae72b3
fix: revert CI.
mbfakourii Oct 16, 2023
92795b5
fix: revert CI.
mbfakourii Oct 16, 2023
9304fff
fix: revert CI.
mbfakourii Oct 16, 2023
5f8d05b
fix: revert CI.
mbfakourii Oct 16, 2023
9952178
fix: revert CI.
mbfakourii Oct 16, 2023
0e51dbd
add dev comment
mtrezza Oct 16, 2023
94b6121
Update .github/workflows/ci.yml
mtrezza Oct 16, 2023
bc63c01
Update .github/workflows/ci.yml
mtrezza Oct 16, 2023
89d9ca3
changelog
mtrezza Oct 16, 2023
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
32 changes: 14 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,31 +77,31 @@ jobs:
matrix:
include:
# Flutter framework may contain breaking changes in minor version releases, not following semver.
- name: Flutter 3.10, Ubuntu
- name: Flutter 3.13, Ubuntu
os: ubuntu-latest
sdk: 3.10.x
- name: Flutter 3.10, macOS
sdk: 3.13.6
- name: Flutter 3.13, macOS
os: macos-latest
sdk: 3.10.x
- name: Flutter 3.10, Windows
sdk: 3.13.6
- name: Flutter 3.13, Windows
os: windows-latest
sdk: 3.10.x
sdk: 3.13.6
# Only the latest Flutter framework version (above) is tested with all architectures. Previous
# Flutter framework versions (below) are only tested with Ubuntu to reduce CI resource usage.
- name: Flutter 3.7
- name: Flutter 3.10
os: ubuntu-latest
sdk: 3.7.x
- name: Flutter 3.3
sdk: 3.10.6
- name: Flutter 3.7
os: ubuntu-latest
sdk: 3.3.x
sdk: 3.7.12
- name: Flutter beta
os: ubuntu-latest
sdk: beta
fail-fast: false
name: Test ${{ matrix.name }}
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup flutter (beta)
if: ${{ matrix.sdk == 'beta' }}
uses: subosito/flutter-action@v2
Expand All @@ -116,22 +116,18 @@ jobs:
cache: true
- name: Install dependencies on Ubuntu and MacOS
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
run: |
(cd packages/dart && flutter pub get)
(cd packages/flutter && flutter pub get)
run: cd packages/flutter && flutter pub get
mtrezza marked this conversation as resolved.
Show resolved Hide resolved
- name: Install dependencies on Windows
if: matrix.os == 'windows-latest'
run: |
cmd /c "cd packages\dart && flutter pub get"
cmd /c "cd packages\flutter && flutter pub get"
run: cmd /c "cd packages\flutter && flutter pub get"
- name: Analyze code
run: flutter analyze packages/flutter --fatal-infos
- name: Lint
run: dart format --output=none --set-exit-if-changed packages/flutter
- name: Publish dry run
run: cd packages/flutter && dart pub publish --dry-run
- name: Run tests
run: (cd packages/flutter && flutter test --coverage)
run: cd packages/flutter && flutter test --coverage
mtrezza marked this conversation as resolved.
Show resolved Hide resolved
- name: Convert code coverage
# Needs to be adapted to collect the coverage at all platforms if platform specific code is added.
if: ${{ always() && matrix.os == 'ubuntu-latest' }}
Expand Down
10 changes: 10 additions & 0 deletions packages/flutter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## [7.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-6.0.0...flutter-7.0.0) (2023-10-09)
mtrezza marked this conversation as resolved.
Show resolved Hide resolved

### BREAKING CHANGES

* This release removes support for Flutter 3.0 ([#971](https://github.com/parse-community/Parse-SDK-Flutter/pull/971))

### Features

* Add support for Flutter 3.10 and 3.13, remove support for Flutter 3.0 ([#971](https://github.com/parse-community/Parse-SDK-Flutter/pull/971))

## [6.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/flutter-5.1.2...flutter-6.0.0) (2023-08-06)

### BREAKING CHANGES
Expand Down
18 changes: 9 additions & 9 deletions packages/flutter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![Build Status](https://github.com/parse-community/Parse-SDK-Flutter/workflows/ci/badge.svg?branch=master)](https://github.com/parse-community/Parse-SDK-Flutter/actions?query=workflow%3Aci+branch%3Amaster)
[![Coverage](https://img.shields.io/codecov/c/github/parse-community/Parse-SDK-Flutter/master)](https://app.codecov.io/gh/parse-community/Parse-SDK-Flutter/branch/master)

[![pub package](https://img.shields.io/pub/v/parse_server_sdk_flutter.svg)](https://pub.dev/packages/parse_server_sdk_flutter)
[![pub package](https://img.shields.io/pub/v/parse_server_sdk_flutter.svg)](https://pub.dev/packages/parse_server_sdk_flutter)

[![Forum](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server)
[![Backers on Open Collective](https://opencollective.com/parse-server/backers/badge.svg)][open-collective-link]
Expand All @@ -28,14 +28,14 @@ This library gives you access to the powerful Parse Server backend from your Flu

## Compatibility

The Parse Flutter SDK is continuously tested with the most recent release of the Flutter framework to ensure compatibility. To give developers time to upgrade their app to the newest Flutter framework, previous Flutter framework releases are supported for at least 1 year after their [release date](https://docs.flutter.dev/release/archive?tab=linux). The Parse Flutter SDK depends on the Parse Dart SDK which may require a higher Dart framework version than the Flutter framework version, in which case the Flutter framework version cannot be supported even though its release date may have been less than a year ago.
The Parse Flutter SDK is continuously tested with the most recent release of the Flutter framework to ensure compatibility. To give developers time to upgrade their app to a newer Flutter framework, previous Flutter framework releases are supported for at least 1 year after the [release date](https://docs.flutter.dev/release/archive?tab=linux) of the next higher significant version. The Parse Flutter SDK depends on the Parse Dart SDK which may require a higher Dart framework version than the Flutter framework version, in which case the specific Flutter framework version cannot be supported.

| Version | End of Support | Compatible |
|--------------|----------------|----------------------------------------------|
| Flutter 3.10 | May 2024 | ❌ No |
| Flutter 3.7 | Apr 2024 | ✅ Yes |
| Flutter 3.3 | Jan 2024 | ✅ Yes |
| Flutter 3.0 | Jul 2023 | ❌ No (Parse Flutter SDK requires Flutter >=3.3.0) |
| Version | Latest Version | End of Support | Compatible |
|--------------|----------------|----------------|------------|
| Flutter 3.13 | 3.13.6 | Sep 2024 | ✅ Yes |
| Flutter 3.10 | 3.10.6 | Jul 2024 | ✅ Yes |
| Flutter 3.7 | 3.7.12 | Apr 2024 | ✅ Yes |
| Flutter 3.3 | 3.3.10 | Dec 2024 | ✅ Yes |

## Getting Started

Expand All @@ -50,4 +50,4 @@ Find the full documentation in the [Parse Flutter SDK guide][guide].
We want to make contributing to this project as easy and transparent as possible. Please refer to the [Contribution Guidelines](https://github.com/parse-community/Parse-SDK-Flutter/blob/master/CONTRIBUTING.md).

[guide]: https://docs.parseplatform.org/flutter/guide/
[open-collective-link]: https://opencollective.com/parse-server
[open-collective-link]: https://opencollective.com/parse-server
59 changes: 28 additions & 31 deletions packages/flutter/example/lib/pages/home_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,37 +33,34 @@ class _HomePageState extends State<HomePage> {

@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false,
title: const Text('Parse Server demo'),
actions: <Widget>[
TextButton(
child: const Text('Logout',
style: TextStyle(fontSize: 17.0, color: Colors.white)),
onPressed: () async {
final ParseUser user = await ParseUser.currentUser();
user.logout(deleteLocalUserData: true);
Navigator.pop(context as dynamic, true);
})
],
),
body: _showDietList(),
floatingActionButton: FloatingActionButton(
onPressed: () async {
final DietPlan dietPlan =
randomDietPlans[Random().nextInt(randomDietPlans.length - 1)];
final ParseUser user = await ParseUser.currentUser();
dietPlan.set('user', user);
await widget._dietPlanProvider.add(dietPlan);
setState(() {});
},
tooltip: 'Add Diet Plans',
child: const Icon(Icons.add),
)),
);
return Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false,
title: const Text('Parse Server demo'),
actions: <Widget>[
TextButton(
child: const Text('Logout',
style: TextStyle(fontSize: 17.0, color: Colors.white)),
onPressed: () async {
final ParseUser user = await ParseUser.currentUser();
user.logout(deleteLocalUserData: true);
Navigator.pop(context as dynamic, true);
})
],
),
body: _showDietList(),
floatingActionButton: FloatingActionButton(
onPressed: () async {
final DietPlan dietPlan =
randomDietPlans[Random().nextInt(randomDietPlans.length - 1)];
final ParseUser user = await ParseUser.currentUser();
dietPlan.set('user', user);
await widget._dietPlanProvider.add(dietPlan);
setState(() {});
},
tooltip: 'Add Diet Plans',
child: const Icon(Icons.add),
));
}

Widget _showDietList() {
Expand Down
25 changes: 11 additions & 14 deletions packages/flutter/example/lib/pages/login_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,20 +98,17 @@ class _LoginPageState extends State<LoginPage> {

@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false,
title: const Text('Parse Server demo'),
),
body: Stack(
children: <Widget>[
_showBody(),
_showCircularProgress(),
],
)),
);
return Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false,
title: const Text('Parse Server demo'),
),
body: Stack(
children: <Widget>[
_showBody(),
_showCircularProgress(),
],
));
}

Widget _showCircularProgress() {
Expand Down
12 changes: 7 additions & 5 deletions packages/flutter/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ publish_to: 'none'
version: 1.0.0

environment:
sdk: ">=2.18.0 <4.0.0"
sdk: ">=2.19.6 <4.0.0"
flutter: ">=3.3.10"

dependencies:
flutter:
Expand All @@ -20,9 +21,10 @@ dependencies:
sembast: ^3.4.6+1
shared_preferences: ^2.2.0

dependency_overrides:
parse_server_sdk:
path: ../../dart
# Uncomment for local testing
# dependency_overrides:
# parse_server_sdk:
# path: ../../dart

dev_dependencies:
flutter_test:
Expand All @@ -49,4 +51,4 @@ flutter:
- asset: fonts/Roboto/Roboto-Bold.ttf
weight: 700
- asset: fonts/Roboto/Roboto-Black.ttf
weight: 900
weight: 900
7 changes: 4 additions & 3 deletions packages/flutter/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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: 6.0.0
version: 7.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
Expand All @@ -18,13 +18,14 @@ topics:
- backend

environment:
sdk: ">=2.18.0 <4.0.0"
sdk: ">=2.19.6 <4.0.0"
flutter: ">=3.3.10"

dependencies:
flutter:
sdk: flutter

parse_server_sdk: ^5.1.2
parse_server_sdk: ^5.1.3
# Uncomment for local testing
#parse_server_sdk:
# path: ../dart
Expand Down