Skip to content

Conversation

reidbaker
Copy link
Contributor

Update minimum flutter version to 3.35 to force a minimum AGP version to something that requires java 17.
part of flutter/flutter#176027

Pre-Review Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran [the auto-formatter].
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or I have commented below to indicate which [version change exemption] this PR falls under[^1].
  • I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style], or I have commented below to indicate which [CHANGELOG exemption] this PR falls under[^1].
  • I updated/added any relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or I have commented below to indicate which [test exemption] this PR falls under[^1].
  • All existing and new tests are passing.

@reidbaker reidbaker requested a review from jesswrd as a code owner October 2, 2025 15:38
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

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. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). 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.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the espresso package to use Java 17. This is achieved by updating the sourceCompatibility and targetCompatibility in android/build.gradle, and increasing the minimum required Flutter version to 3.35.0 and Dart SDK to ^3.9.0 in pubspec.yaml. The CHANGELOG.md and pubspec.yaml are updated to version 0.4.0+15.

While the changes are functionally correct for the package itself, I have a couple of points for consideration. According to the pub versioning philosophy, increasing the minimum Flutter version is a breaking change, which for a pre-1.0.0 package suggests a minor version bump to 0.5.0 rather than a build number increment. I've left specific comments on this in the relevant files. Additionally, the pubspec.yaml for the example app has not been updated with the new SDK constraints, which may cause it to fail and should be updated to match the package's new requirements.

@@ -1,3 +1,8 @@
## 0.4.0+15

Choose a reason for hiding this comment

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

medium

According to the pub versioning philosophy, increasing the minimum Flutter SDK version is a breaking change.1 For a package with a version less than 1.0.0, this should be a minor version bump. Please update the version to 0.5.0.

Suggested change
## 0.4.0+15
## 0.5.0

Style Guide References

Footnotes

  1. The style guide states that bumping the minimum Flutter version is a breaking change, which requires a major version increment (or minor for pre-1.0.0 packages).

Copy link
Collaborator

@stuartmorgan-g stuartmorgan-g Oct 2, 2025

Choose a reason for hiding this comment

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

According to the pub versioning philosophy, increasing the minimum Flutter SDK version is a breaking change.
[...]
The style guide states that bumping the minimum Flutter version is a breaking change

Sure, Jan.

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.4.0+14
version: 0.4.0+15

Choose a reason for hiding this comment

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

medium

Bumping the minimum required Flutter version is a breaking change according to the pub versioning philosophy.1 For a pre-1.0.0 package, this should be reflected as a minor version bump. Please consider changing the version to 0.5.0.

version: 0.5.0

Style Guide References

Footnotes

  1. The style guide considers bumping the minimum Flutter version a breaking change. For pre-1.0.0 packages, this should result in a minor version bump (e.g., 0.4.x to 0.5.0).

@reidbaker
Copy link
Contributor Author

Holding until we see more users using the existing migrations https://pub.dev/packages/file_selector_android/score

Copy link
Collaborator

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

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

LGTM for whenever you're ready to land it.

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.

2 participants