Skip to content

Upgrade Flutter and packages (2024-06) #730

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 9 commits into from
Jun 12, 2024
Merged

Upgrade Flutter and packages (2024-06) #730

merged 9 commits into from
Jun 12, 2024

Conversation

gnprice
Copy link
Member

@gnprice gnprice commented Jun 12, 2024

This includes a new feature in tools/upgrade to partially automate the Flutter upgrade.

There are also a couple of packages that have major-version upgrades to take: pigeon, firebase_core, firebase_messaging. I'll look at those separately as a followup. (edit: done, and added to PR.)

@chrisbobbe
Copy link
Collaborator

Thanks! LGTM except I think a few of these commits have an unintended author field? Please merge at will after looking at that.

@gnprice
Copy link
Member Author

gnprice commented Jun 12, 2024

Hmm good catch, thanks! Some of them have my personal email instead of my zulip.com email. I don't normally notice that, because we have a .mailmap file in the repo.

Looking with git log --no-mailmap, there's a number of those, even fairly recently. I think the pattern is that it's commits I made from the Mac on my desk. … And indeed the config there was wrong. Fixed now.

I'll fix those in these commits too, and merge.

gnprice added 9 commits June 12, 2024 12:12
Otherwise this comes immediately after the `git commit` output,
so the paragraph blends in undesirably.
This will be convenient for adding a new step that doesn't require
CocoaPods.

The check is very fast, so unlike with check_pub_get_clean there's
no need to memoize the result.
This version leaves it to the user/developer to handle actually
upgrading their Flutter install to latest; but it takes care of
updating pubspec.yaml and pubspec.lock.

The upgrade of the actual Flutter install will presumably look
different anyway after zulip#15 / zulip#579, so we leave that to the future.
And update Flutter's supporting libraries to match.
And update generated files to match the `pigeon` upgrade.

The `pigeon` change seems pretty innocuous.  But just to be sure,
I ran the app (with `flutter run --release`) and tested end-to-end
that it still receives notifications.
Changelog:
  https://pub.dev/packages/pigeon/changelog

The only breaking change is:

  Limits the number of total custom types to 126.

  If more than 126 custom types are needed, consider breaking up
  your definition files.

Which definitely isn't a problem for us!

The changes all look pretty innocuous; but just to confirm, I fired
up the app (as a release build) and tested end-to-end that
notifications still appear.  As usual I tested it while the app was
in the foreground, in the background, and not running.
This completes `tools/upgrade pub-major`.

The documented breaking changes are that they bumped the minimum
OS versions: iOS 13, and Android API 21 (Android 5.0 Lollipop).
We already have minimums of iOS 14 and Android API 28 (aka
Android 9 Pie), so those don't affect us.

To confirm nothing broke accidentally either, though: I fired up
the app as a release build, on Android, and did the usual end-to-end
tests of receiving notifications.

Changelogs:
  https://pub.dev/packages/firebase_core/changelog
  https://pub.dev/packages/firebase_messaging/changelog
@gnprice gnprice merged commit 09316ba into zulip:main Jun 12, 2024
1 check passed
@chrisbobbe
Copy link
Collaborator

I think the reason I noticed it was that my Git graphical client was showing this:

image

instead of this, which is usual:

image

😅

@gnprice gnprice deleted the pr-deps branch June 12, 2024 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants