-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[flutter_plugin_android_lifecycle] use flutter.compileSdkVersion to see what breaks #8700
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
[flutter_plugin_android_lifecycle] use flutter.compileSdkVersion to see what breaks #8700
Conversation
…dkVersion to see what breaks
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
test-exempt: Passing builds are the only signal that this is ok to land. |
I can never remember, does this value affect plugin clients? Is this the one that is documented not to, but sometimes actually does? (And did we ever get a doc written up about this?) If it does, this seems dangerous, because people running with a new version of Flutter would get a configuration we have never tested. This also has the downside that if anything breaks in the future due to |
@gmackall do you remember I am leaning towards yes. I dont remember writing a doc for packages.
In general it is supposed to be safe to update the compileSdkVersion immediately. Additionally if this is unsafe we are already using flutter.targetSdkVersion which is way less safe than bumping tooling.
I think you are correct here. The flutter.compile sdk version bump happens once per android sdk release which historically is once per year and we control when flutter.compileSdkVersions changes so it should not be an out of band change. |
Ah, right. I think that's what I was thinking of when I had the suspicion that this had surprised us at some point. So we should version and publish this, as it has client benefits.
Right, but moving from "this PR that does nothing but changes X breaks things, so clearly changing X is a problem" to "the roller is broken, and now the gardener has to bisect and try to figure out which underlying PR caused it" is not great. But since this has client benefits, I think that drawback is warranted; there are a whole lot more of them than us :) |
Ok and for future readers that hit this pain point you can do something like Math.min(35, flutter.compileSdkVersion) for any plugins that are negatively impacted which can allow for a fast resolution of the roll and then let us address the failures one at a time. |
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.
LGTM
…rsion to see what breaks (flutter/packages#8700)
…for 35 to support flutter versions prior to 3.27 (#8758) Fixes #flutter/flutter/issues/164362 Functionally a revert of #8700 which found out what would break.
flutter/packages@01d3d5c...70b41e1 2025-02-28 [email protected] [camera_avfoundation] Migrate tests to Swift - part 3 (flutter/packages#8661) 2025-02-28 [email protected] Do not update patch versions for `dependabot/github-actions`. (flutter/packages#8697) 2025-02-28 [email protected] [flutter_plugin_android_lifecycle] use flutter.compileSdkVersion to see what breaks (flutter/packages#8700) 2025-02-28 [email protected] [webview_flutter_wkwebview] Fixes crash where the native `AuthenticationChallengeResponse` could not be found for auth requests (flutter/packages#8707) 2025-02-27 [email protected] Roll Flutter from 1659206 to 2e570ca (75 revisions) (flutter/packages#8731) 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] 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
…mps minimum flutter version to 3.27 (#8760) - **[flutter_plugin_android_lifecycle] Uses flutter.compileSdkVersion, bumps minimum flutter version to 3.27 (first version to have support)** related to flutter/flutter/issues/149836 Functionally a reland of #8700 after the "revert" in #8758
- **Updates compileSdk 34 to flutter.compileSdkVersion.** Related to flutter/flutter/issues/149836 Want to wait a couple of days after #8700 lands before landing.
- **Updates compileSdk 34 to flutter.compileSdkVersion.** Related to flutter/flutter/issues/149836 Want to wait a couple of days after flutter/packages#8700 lands before landing.
- **Updates compileSdk 34 to flutter.compileSdkVersion.** Related to flutter/flutter/issues/149836 Want to wait a couple of days after flutter/packages#8700 lands before landing.
Related to flutter/flutter/issues/149836
The entire repo uses compile sdk 34 so this a change to 35 but tooling changes are supposed to be safe. Aditionally most projects uses flutter.targetSdkVersion which means that they are using tools at api 34 but targeting 35 which is not ok.
This pr is a canary to see if any unexpected issues pop up and to validate that we agree on if a version/changelog change is required. The second part will update this for all plugins.
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes].CHANGELOG.md
to add a description of the change, [following repository CHANGELOG style], or this PR is [exempt from CHANGELOG changes].///
).