-
-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
fix: Incorrect Dart and Flutter SDKs compatibility range #867
fix: Incorrect Dart and Flutter SDKs compatibility range #867
Conversation
I will reformat the title to use the proper commit message syntax. |
Thanks for opening this pull request!
|
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #867 +/- ##
=======================================
Coverage 26.71% 26.71%
=======================================
Files 47 47
Lines 2905 2905
=======================================
Hits 776 776
Misses 2129 2129 ☔ View full report in Codecov by Sentry. |
Do not merge until the Changelog entry |
What's the purpose of this PR? It doesn't seem to be a breaking change, it's only an upgrade from |
See the discussion
With this version upgrade, we will no longer support Dart versions older than 2.17.0. |
@Nidal-Bakir |
@Nidal-Bakir You are correct with your comment that changing the lower bound would be a breaking change. But what is the purpose of this PR, why this lower bound change? Could you add a description to the PR? |
I'm using a pull request to make this change because I don't see a good place to put it. We cannot make such a change with other pull requests. For example, we cannot bump the minimum required Dart SDK in this pull request (#860) because it would not be noticeable in the commit log. Therefore, I opened a new pull request specifically for this bump so that we can see it in the commit log
Please read this #861 (comment) we have a discussion about it earlier.
You are right, I should provide a description for the pull request. I will add it right away. |
#861 (comment) |
I remember now, thanks. I think we need to find a strategy for when remove support for a dart or flutter version. Usually we follow the long-term support schedule of the framework publisher, but I couldn't find any infos about that for Dart / Flutter. Otherwise we are choosing an arbitrary date for when to drop support for a version and need a discussion every time we do that, which shouldn't be necessary. |
You are most welcome
Basically, we do not need any special strategy for bumping the Dart SDK constraint. We simply bump the constraint like any other package. For example, take a look at this PR on the flutter-fire repository: feat: bump dart SDK constraint to 2.18. They did not even count it as a breaking change because, in the Flutter ecosystem, we do not have the concept of LTS or worry about any app that uses a Dart version older than the current stable one. This is because you should have migrated to a newer version a long time ago.
Flutter does not have the concept of LTS you should always migrate to the latest stable release |
I've opened #872 to discuss this in more detail. |
|
I've added a flutter range, and the CI failed with:
That's a truly interesting concept. |
Only Flutter 3.10 fails with:
What would be the next steps?
I believe @Nidal-Bakir mentioned that Flutter 3.10 will require Dart >= 2.19, is that still the case and if yes, what can we do about this, since this PR currently only will require >2.18.0 |
The Dart SDK is ready. We need to merge the following PRs to release version 5.0.0:
Please note that neither of these pull requests includes a proper statement about Dart 5.0.0 in the changelog. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a changelog entry?
Sorry, but I am a bit confused about what should I put it. Should we merge this #860 first and then update the entry? Since we need 2 PRs to release Dart 5.0.0.
|
This reverts commit bcf931c.
We don't have auto-release yet, which would generate a changelog entry for each PR according to the commit message (=PR title). So what we do instead until when is with each PR add a changelog entry for the PR, just like it would be auto-generated. So currently, the changelog entry would be the PR title, and if necessary - in addition - an entry in the BREAKING CHANGES section. Since we have the |
I've added the changelog entries for dart and flutter. This is kind of a rarity, as we have 1 PR that creates a changelog entry in both packages; I think that usually wouldn't work this way with auto release, but we can do it here. I don't mention the moving of the example projects, as they would normally be a |
Thanks for clarifying. |
I think we can merge this? |
Yes, we are ready. |
New Pull Request Checklist
Issue Description
Closes: #872
Approach
Supporting older versions of the framework and language is not ideal because we miss out on new additional features. Additionally, if the Flutter team removes deprecated APIs (as they did in 3.9.x, see issue #861), it can cause problems for us because we still support an older version that had the deprecated API, while also needing to support a newer version that no longer has the API.