Skip to content

feat: Add support for Dart 3.1, remove support for Dart 2.18 #969

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

Merged
merged 51 commits into from
Oct 16, 2023
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
51 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
be0a838
Improve support policy
mbfakourii Oct 3, 2023
636706c
refactor: fix
mbfakourii Oct 3, 2023
45d9573
refactor: fix
mbfakourii Oct 3, 2023
24febff
refactor: fix
mbfakourii Oct 3, 2023
35dd59f
refactor: fix
mbfakourii Oct 3, 2023
6a70b83
Update packages/dart/README.md
mtrezza Oct 3, 2023
a0e630d
Update packages/flutter/README.md
mtrezza Oct 3, 2023
9424aba
Update packages/dart/README.md
mtrezza Oct 3, 2023
75420cd
Update packages/dart/README.md
mtrezza Oct 3, 2023
e7765ee
Update packages/dart/README.md
mtrezza Oct 3, 2023
362e7c0
Update packages/dart/README.md
mtrezza Oct 3, 2023
7b1f680
Update packages/dart/README.md
mtrezza Oct 3, 2023
7deec67
Update packages/flutter/README.md
mtrezza Oct 3, 2023
f725a50
Update packages/flutter/README.md
mtrezza Oct 3, 2023
acf5d00
extend matrix
mtrezza Oct 3, 2023
1afb6ca
fix name
mtrezza Oct 3, 2023
135f89b
ci flutter matrix
mtrezza Oct 3, 2023
20feb85
revert ci
mtrezza Oct 3, 2023
5c95fd0
re-add comments in CI
mtrezza Oct 3, 2023
dfc2f83
fix: rollback flutter changes.
mbfakourii Oct 7, 2023
9858b07
fix: rollback flutter changes.
mbfakourii Oct 7, 2023
8bcc3d2
fix: rollback flutter changes.
mbfakourii Oct 7, 2023
23dc6d2
refactor: bump version and add entries in CHANGELOG.md.
mbfakourii Oct 9, 2023
5e276bd
Update packages/dart/CHANGELOG.md
mtrezza Oct 9, 2023
d61701f
Update packages/dart/CHANGELOG.md
mtrezza Oct 9, 2023
701ecdd
fix: test_utils.dart.
mbfakourii Oct 9, 2023
842338a
fix: remove dependency_overrides
mbfakourii Oct 12, 2023
c87126c
fix: remove dependency_overrides
mbfakourii Oct 12, 2023
656e704
refactor: Improve flutter support policy.
mbfakourii Oct 12, 2023
0adce9e
fix: Ci separation.
mbfakourii Oct 13, 2023
01d1ca4
fix: Ci separation.
mbfakourii Oct 13, 2023
a8d96e2
fix: Ci separation.
mbfakourii Oct 13, 2023
27d13b7
fix: revert CI.
mbfakourii Oct 16, 2023
1a6ee97
fix: revert CI.
mbfakourii Oct 16, 2023
f307dcb
Merge branch 'master' into improve_support_policy
mtrezza Oct 16, 2023
a20204a
re-add brackets
mtrezza Oct 16, 2023
8243b1e
changelog
mtrezza Oct 16, 2023
f1ce3b7
fix incorrect CI test tags
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
48 changes: 25 additions & 23 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,25 @@ jobs:
strategy:
matrix:
include:
# Dart framework may contain breaking changes in minor version releases, not following semver.
- name: Dart 3.0, Ubuntu
# Dart 3.1
- name: Dart 3.1, Ubuntu
os: ubuntu-latest
sdk: 3.0.0
sdk: 3.1.2
- name: Dart 3.0, macOS
os: macos-latest
sdk: 3.0.0
sdk: 3.1.2
- name: Dart 3.0, Windows
os: windows-latest
sdk: 3.0.0
# Only the latest Dart framework version (above) is tested with all architectures. Previous
# Dart framework versions (below) are only tested with Ubuntu to reduce CI resource usage.
sdk: 3.1.2
# Dart 3.0
- name: Dart 3.0
os: ubuntu-latest
sdk: 3.0.7
# Dart 2.19
- name: Dart 2.19
os: ubuntu-latest
sdk: 2.19.6
- name: Dart 2.18
os: ubuntu-latest
sdk: 2.18.7
# Dart beta
- name: Dart beta
os: ubuntu-latest
sdk: beta
Expand Down Expand Up @@ -76,24 +77,25 @@ jobs:
strategy:
matrix:
include:
# Flutter framework may contain breaking changes in minor version releases, not following semver.
- name: Flutter 3.10, Ubuntu
# Flutter 3.13
- 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
# 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
sdk: 3.13.6
# Flutter 3.10
- name: Flutter 3.10
os: ubuntu-latest
sdk: 3.7.x
- name: Flutter 3.3
sdk: 3.10.6
# Flutter 3.7
- name: Flutter 3.7
os: ubuntu-latest
sdk: 3.3.x
sdk: 3.7.12
# Flutter beta
- name: Flutter beta
os: ubuntu-latest
sdk: beta
Expand Down
18 changes: 11 additions & 7 deletions packages/dart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,17 @@ This library gives you access to the powerful Parse Server backend from your Dar

## Compatibility

The Parse Dart SDK is continuously tested with the most recent release of the Dart framework to ensure compatibility. To give developers time to upgrade their app to the newest Dart framework, previous Dart framework releases are supported for at least 1 year after their [release date](https://dart.dev/get-dart/archive).
The Parse Dart SDK is continuously tested with the most recent release of the Dart framework to ensure compatibility. To give developers time to upgrade their app to a newer Dart framework, previous Dart framework releases are supported for at least 1 year after the [release date](https://dart.dev/get-dart/archive) of the next higher significant version.

| Version | Latest Version | End of Support | Compatible |
|-----------|----------------|----------------|----------------------------------------------|
| Dart 3.0 | 3.0.0 | May 2024 | ✅ Yes |
| Dart 2.19 | 2.19.6 | Mar 2024 | ✅ Yes |
| Dart 2.18 | 2.18.7 | Jan 2024 | ✅ Yes |
| Dart 2.17 | 2.17.7 | Aug 2023 | ❌ No (Parse Dart SDK requires Dart >=2.18.0) |

| Version | Latest Version | End of Support | Compatible |
|-----------|----------------|----------------|------------|
| Dart 3.1 | 3.1.2 | Sep 2024 | ✅ Yes |
| Dart 3.0 | 3.0.7 | May 2024 | ✅ Yes |
| Dart 2.19 | 2.19.6 | Mar 2024 | ✅ Yes |
| Dart 2.18 | 2.18.5 | Nov 2023 | ❌ No |

> Parse Dart SDK requires **Dart >=2.19.6**

## Getting Started

Expand All @@ -51,3 +54,4 @@ We want to make contributing to this project as easy and transparent as possible

[guide]: https://docs.parseplatform.org/dart/guide/
[open-collective-link]: https://opencollective.com/parse-server

2 changes: 1 addition & 1 deletion packages/dart/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ publish_to: 'none'
version: 1.0.0

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

dependencies:
parse_server_sdk:
Expand Down
2 changes: 1 addition & 1 deletion packages/dart/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ topics:
- backend

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

dependencies:
# Networking
Expand Down
17 changes: 10 additions & 7 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 @@ -30,12 +30,15 @@ This library gives you access to the powerful Parse Server backend from your Flu

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.

| 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 |
| Flutter 3.0 | 3.0.5 | Jul 2023 | ❌ No |

> Parse Flutter SDK requires **Flutter >=3.3.10**

## Getting Started

Expand Down
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
3 changes: 2 additions & 1 deletion 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 Down
3 changes: 2 additions & 1 deletion packages/flutter/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ topics:
- backend

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

dependencies:
flutter:
Expand Down