-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Update multiple packages to depend on versions with iOS privacy manifest included #6355
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
Conversation
Normally we don't impose version constraints that aren't required by the code, but we have precendent for doing this when there's a store-level requirement that is imposed, so this seems reasonable.
Version resolution will pick the newest version it can. The reason existing projects don't get updated versions of
Devs can already prepare their projects simply by running
What is the purpose of changing the constraints without publishing that change? |
Alright, got it. In such case I have a few projects with some limitations. And yes, it is manual change of version in pubspec.yaml + click on
I think you meant
You misunderstood my message. The change needs publishing. The thing is that those versions of iOS part were compatible already before, so this bump doesn't change much and, thus, from my point of view is not something worth mentioning separately. But in general it seems like changes from this PR are unwanted . You could just reject the PR with request for changes if you expect some or close it instead. |
In this case I do mean
No, as I said we have precedent for doing this kind of change specifically in the case of app store requirements. I was just clarifying the context/reason we would accept it, since the PR description suggested that this change was required in order for clients to update, which isn't actually the case. I clarify this whenever anyone says it in any PR or issue, because it's a relatively common misconception, and my hope is that the more places it's corrected, the less widespread the misconception will be. |
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.
- I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
- I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
These steps are required for the PR to land.
04a58f6
to
22797c1
Compare
@@ -3,7 +3,7 @@ description: Flutter plugin for displaying inline video with other Flutter | |||
widgets on Android, iOS, and web. | |||
repository: https://github.com/flutter/packages/tree/main/packages/video_player/video_player | |||
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 | |||
version: 2.8.3 | |||
version: 2.8.4 | |||
|
|||
environment: | |||
sdk: ">=3.1.0 <4.0.0" |
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.
These two values need to be rev'd to fix this failure; the package currently fails resolution on 3.13.
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.
I see that video_player_avfoundation
has higher min Flutter + Dart, so updated constraints here, in video_player
, to match.
|
||
* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1. | ||
* Updates support matrix in README to indicate that iOS 11 is no longer supported. | ||
* Clients on versions of Flutter that still support iOS 11 can continue to use this | ||
package with iOS 11, but will not receive any further updates to the iOS implementation. | ||
* Bumps min version of iOS part to start with version with privacy manifest included. |
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.
I'm having trouble parsing this (I'm not sure what it means for the minimum version of something to start with something means). How about:
Updates minimum iOS implementation version to include a privacy manifest.
(This applies throughout the PR.)
fcbcd10
to
6360209
Compare
6360209
to
9c5bcc7
Compare
@stuartmorgan Would you mind checking this PR again? The failing integration test is something I can't tackle as locally this test passes Ok for me in my setup with Android emulators. I see that the reason for failing on CI is in some small time diff in position, which seems a bit odd: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8751747162297807793/+/u/Run_package_tests/drive_examples/stdout#L23859_0 |
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
@tarrinneal Could you do the secondary review here? (This will need conflicts resolved, but that can wait until it has all the reviews so that it doesn't get re-conflicted.) |
9c5bcc7
to
17fcaa8
Compare
@stuartmorgan Looks like this one can be merged. Second approve is done and I have already updated the branch to resolve conflicts. |
…cy manifest included (flutter/packages#6355)
…cy manifest included (flutter/packages#6355)
flutter/packages@e98839a...78f684c 2024-04-12 [email protected] Roll Flutter from 557fbf5 to 53cba24 (11 revisions) (flutter/packages#6509) 2024-04-11 [email protected] [file_selector] Remove OCMock from iOS implementation (flutter/packages#6503) 2024-04-11 [email protected] Access current location using uri.path to support deep links (flutter/packages#6474) 2024-04-11 [email protected] Roll Flutter from 97cd47a to 557fbf5 (22 revisions) (flutter/packages#6502) 2024-04-11 [email protected] [packages] Set parallelizable to NO to reduce test flakiness in packages project tests (flutter/packages#6471) 2024-04-11 [email protected] Update multiple packages to depend on versions with iOS privacy manifest included (flutter/packages#6355) 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
- Updates the README to indicate that iOS 12 and 13 are no longer supported. - Updates the minimum version of the iOS implementation package to one with privacy manifest support. See related discussion in flutter#6355
- Updates the README to indicate that iOS 12 and 13 are no longer supported. - Updates the minimum version of the iOS implementation package to one with privacy manifest support. See related discussion in #6355
flutter/packages@e98839a...78f684c 2024-04-12 [email protected] Roll Flutter from 557fbf5 to 53cba24 (11 revisions) (flutter/packages#6509) 2024-04-11 [email protected] [file_selector] Remove OCMock from iOS implementation (flutter/packages#6503) 2024-04-11 [email protected] Access current location using uri.path to support deep links (flutter/packages#6474) 2024-04-11 [email protected] Roll Flutter from 97cd47a to 557fbf5 (22 revisions) (flutter/packages#6502) 2024-04-11 [email protected] [packages] Set parallelizable to NO to reduce test flakiness in packages project tests (flutter/packages#6471) 2024-04-11 [email protected] Update multiple packages to depend on versions with iOS privacy manifest included (flutter/packages#6355) 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
…est included (flutter#6355) Updated multiple packages `pubspec.yaml` to depend on iOS implementation versions that include privacy manifest required by Apple. I touched packages that were referenced in flutter/flutter#131940 issue. The reason to do this change is that in a few projects I noticed that updating `url_launcher` dependency to the currently latest 6.2.5 doesn't also update `url_launcher_ios` to version with privacy manifest (appeared in 6.2.4) included in the plugin's `pubspec.yaml` it is declared as `^6.2.0`, thus, version resolution picks 6.2.0 and that is it. Considering that there is already a deadline of May 1, 2024 from Apple on when apps would have to include privacy manifests, it would be good to let devs already prepare their projects. This change should be especially useful for `shared_preferences`, which has `NSPrivacyAccessedAPITypes` array declared in its privacy manifest and which is already asked by Apple in emails after uploading new builds: <img width="681" alt="Screenshot 2024-03-19 at 12 36 47" src="https://github.com/flutter/packages/assets/13467769/c81e5a15-86d8-4270-aafe-845679fc901b"> Didn't update changelogs due to the fact that plugins stayed in almost the same versions range, where those minor changes to iOS part had no serious changed.
…tter#6552) - Updates the README to indicate that iOS 12 and 13 are no longer supported. - Updates the minimum version of the iOS implementation package to one with privacy manifest support. See related discussion in flutter#6355
…est included (flutter#6355) Updated multiple packages `pubspec.yaml` to depend on iOS implementation versions that include privacy manifest required by Apple. I touched packages that were referenced in flutter/flutter#131940 issue. The reason to do this change is that in a few projects I noticed that updating `url_launcher` dependency to the currently latest 6.2.5 doesn't also update `url_launcher_ios` to version with privacy manifest (appeared in 6.2.4) included in the plugin's `pubspec.yaml` it is declared as `^6.2.0`, thus, version resolution picks 6.2.0 and that is it. Considering that there is already a deadline of May 1, 2024 from Apple on when apps would have to include privacy manifests, it would be good to let devs already prepare their projects. This change should be especially useful for `shared_preferences`, which has `NSPrivacyAccessedAPITypes` array declared in its privacy manifest and which is already asked by Apple in emails after uploading new builds: <img width="681" alt="Screenshot 2024-03-19 at 12 36 47" src="https://github.com/flutter/packages/assets/13467769/c81e5a15-86d8-4270-aafe-845679fc901b"> Didn't update changelogs due to the fact that plugins stayed in almost the same versions range, where those minor changes to iOS part had no serious changed.
…tter#6552) - Updates the README to indicate that iOS 12 and 13 are no longer supported. - Updates the minimum version of the iOS implementation package to one with privacy manifest support. See related discussion in flutter#6355
Updated multiple packages
pubspec.yaml
to depend on iOS implementation versions that include privacy manifest required by Apple. I touched packages that were referenced in flutter/flutter#131940 issue.The reason to do this change is that in a few projects I noticed that updating
url_launcher
dependency to the currently latest 6.2.5 doesn't also updateurl_launcher_ios
to version with privacy manifest (appeared in 6.2.4) included in the plugin'spubspec.yaml
it is declared as^6.2.0
, thus, version resolution picks 6.2.0 and that is it.Considering that there is already a deadline of May 1, 2024 from Apple on when apps would have to include privacy manifests, it would be good to let devs already prepare their projects. This change should be especially useful for
shared_preferences
, which hasNSPrivacyAccessedAPITypes
array declared in its privacy manifest and which is already asked by Apple in emails after uploading new builds:Didn't update changelogs due to the fact that plugins stayed in almost the same versions range, where those minor changes to iOS part had no serious changed.
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.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.