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

[Many] Bump to min minSdkVersion of 19 across all plugins #6506

Merged
merged 11 commits into from
Apr 12, 2024

Conversation

gmackall
Copy link
Member

@gmackall gmackall commented Apr 11, 2024

  • Bumps any minSdkVersion's below 19 to 19, as the change to only support 19+ has been in stable for a bit now.
  • Bumps the minimum required flutter version to 3.16 for the changed packages, as that is the first version in which we started automigrating minSdkVersion's less than 19.
  • Also bumps the minSdkVersion in the legacy project to flutter.minSdkVersion, as this would happen when running an app with minSdkVersion < 19.
  • Removes some code branches for cases of sdk < 19.
  • Fixes some failing tests in video_player - for full transparency, I have now idea how these could have been passing before?

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@gmackall gmackall marked this pull request as ready for review April 12, 2024 15:26
@gmackall gmackall requested a review from stuartmorgan April 12, 2024 15:27
@stuartmorgan
Copy link
Contributor

as the change to only support 19+ has been in stable for a bit now

What's the Flutter version that has that change? We need to make sure none of the packages being changed here have a min Flutter SDK version lower than that.

@gmackall
Copy link
Member Author

What's the Flutter version that has that change? We need to make sure none of the packages being changed here have a min Flutter SDK version lower than that.

If I had to pick a specific PR, it would be flutter/flutter#129729, though the change that really matters is the change to https://docs.flutter.dev/reference/supported-platforms, which isn't versioned along with the Flutter SDK really.

But flutter/flutter#129729 is in 3.16 at the earliest, so it sounds like this will need to wait until the next stable, at which the minimum allowed will be N-2=3.16 (according to https://github.com/flutter/flutter/wiki/Updating-Packages-repo-for-a-stable-release)?

@stuartmorgan
Copy link
Contributor

If I had to pick a specific PR, it would be flutter/flutter#129729, though the change that really matters is the change to https://docs.flutter.dev/reference/supported-platforms, which isn't versioned along with the Flutter SDK really.

For the purposes of the packages repo it is the PR that matters, not the policy on a wiki. The goal here is to make package changes in a way that does not suddenly break people's ability to compile their app when getting minor or bugfix version updates to the packages they use. Actively breaking people with non-breaking-version plugin changes and then pointing them to a wiki page they had no reason to look at if they file a bug would be a bad user experience. Automatically getting the last working version is a much better experience.

So when changing minimum OS versions the goal is to make is such that the pub resolver will not resolve a version that has dropped support for an OS version that the developer's current version of Flutter still supports building for. The PR that auto-migrates their project is the point at which their version of Flutter no longer supports building it.

But flutter/flutter#129729 is in 3.16 at the earliest, so it sounds like this will need to wait until the next stable, at which the minimum allowed will be N-2=3.16

Packages aren't required to support N-2, they just aren't allowed to support anything older; only supporting back to current stable is required. But packages can't break people on N-1 or N-2, so if you are making a change that would break compilation for people on N-2, then you need to set the minimum Flutter SDK constraint for the package(s) in question constraint to N-1 as part of the change.

https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#supported-flutter-versions

@@ -3,7 +3,7 @@ description: Java classes for testing Flutter apps using Espresso.
Allows driving Flutter widgets from a native Espresso test.
repository: https://github.com/flutter/packages/tree/main/packages/espresso
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+espresso%22
version: 0.3.0+7
version: 0.3.0+8

environment:
sdk: ^3.1.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the discussion in comments, every package being touched here that still lists Flutter 3.13 support needs to be changed to 3.16 instead.

@gmackall gmackall requested a review from stuartmorgan April 12, 2024 17:10
@stuartmorgan
Copy link
Contributor

The Dart min SDK version needs to be consistent; you may want to use the update-min-sdk command mentioned on https://github.com/flutter/flutter/wiki/Updating-Packages-repo-for-a-stable-release to do this. You can run it with --base-branch main --run-on-changed-packages (assuming you branched from main)

@gmackall
Copy link
Member Author

I ended up making the change by hand - the script made changes to every package, I believe because I had changed the legacy test.

@stuartmorgan
Copy link
Contributor

Ah, yes. I get bitten by that occasionally with the version bump script; I need to make a new flag that is only for these local tool usages.

Copy link
Contributor

@stuartmorgan stuartmorgan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gmackall gmackall added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 12, 2024
@auto-submit auto-submit bot merged commit 6841bb1 into flutter:main Apr 12, 2024
78 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 15, 2024
stuartmorgan added a commit that referenced this pull request Apr 15, 2024
#6506 was supposed to update everything to 19+, but missed local_auth_android. PRs are now failing lint in this package because the example is trying to build with 16 but dependencies use 19.
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Apr 15, 2024
flutter/packages@78f684c...6698b2d

2024-04-14 [email protected] Fix error in markdown parsing image dimensions (flutter/packages#6518)
2024-04-12 [email protected] [Many] Bump to min minSdkVersion of 19 across all plugins (flutter/packages#6506)
2024-04-12 [email protected] [video_player] Darwin implementation cleanup (flutter/packages#6507)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
auto-submit bot pushed a commit that referenced this pull request Apr 15, 2024
#6506 was supposed to update everything to 19+, but missed local_auth_android. This updates it to require 19 as well.
gilnobrega pushed a commit to gilnobrega/flutter that referenced this pull request Apr 22, 2024
flutter/packages@78f684c...6698b2d

2024-04-14 [email protected] Fix error in markdown parsing image dimensions (flutter/packages#6518)
2024-04-12 [email protected] [Many] Bump to min minSdkVersion of 19 across all plugins (flutter/packages#6506)
2024-04-12 [email protected] [video_player] Darwin implementation cleanup (flutter/packages#6507)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
TecHaxter pushed a commit to TecHaxter/flutter_packages that referenced this pull request May 22, 2024
* Bumps any `minSdkVersion`'s below 19 to 19, as the change to only support 19+ has been in stable for a bit now.
* Bumps the minimum required flutter version to 3.16 for the changed packages, as that is the first version in which we started automigrating `minSdkVersion`'s less than 19.
* Also bumps the `minSdkVersion` in the legacy project to `flutter.minSdkVersion`, as this would happen when running an app with `minSdkVersion` < 19.
* Removes some code branches for cases of sdk < 19.
* Fixes some failing tests in `video_player` - for full transparency, I have now idea how these could have been passing before?
TecHaxter pushed a commit to TecHaxter/flutter_packages that referenced this pull request May 22, 2024
flutter#6506 was supposed to update everything to 19+, but missed local_auth_android. This updates it to require 19 as well.
arc-yong pushed a commit to Arctuition/packages-arc that referenced this pull request Jun 14, 2024
* Bumps any `minSdkVersion`'s below 19 to 19, as the change to only support 19+ has been in stable for a bit now.
* Bumps the minimum required flutter version to 3.16 for the changed packages, as that is the first version in which we started automigrating `minSdkVersion`'s less than 19.
* Also bumps the `minSdkVersion` in the legacy project to `flutter.minSdkVersion`, as this would happen when running an app with `minSdkVersion` < 19.
* Removes some code branches for cases of sdk < 19.
* Fixes some failing tests in `video_player` - for full transparency, I have now idea how these could have been passing before?
arc-yong pushed a commit to Arctuition/packages-arc that referenced this pull request Jun 14, 2024
flutter#6506 was supposed to update everything to 19+, but missed local_auth_android. This updates it to require 19 as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants