Skip to content

Stable release has to execute Roll pub packages or merge newer pinned versions for the stable channel because versions lag behind #114199

@MrCsabaToth

Description

@MrCsabaToth

Steps to reproduce:

  1. Install the most recent stable channel Flutter SDK (like 3.3.5, but this bug is true for all 3.3.x as I saw).
  2. Check integration_test's pubspec.yaml and the pinned package versions there
  3. vector_math was pinned to non latest version.

This is an issue since the integration_test became part of the SDK. Even though the vector_math is pinned to the most recent 2.1.4 version in the master branch and periodic Roll pub packages tasks keep that recent, but the stable branch lags behind despite of version releases. Currently I have to perform a flutter update-packages --force-upgrade manually on my installation.

Why is this a problem for me? My app doesn't just transitively depend on vector_math via integration_test but also directly. pub outdated and also Dependabot alerts constantly warned me that I don't have the most recent version of vector_math. I was not able to upgrade my direct dependency in my app because I got an error about the conflicting dependencies. Tracking that down I ended up at the auto generated section of pubspec.yaml of integration_test where everything is precisely pinned (https://github.com/flutter/flutter/blob/master/packages/integration_test/pubspec.yaml vector_math: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade").

When I tried to upgrade these pinned versions with a less intrusive flutter update-packages nothing got changed. flutter update-packages --force-upgrade upgraded the versions however my Flutter installation became modified because it contained those code changes. Every time since then I have to undo these and then perform the flutter update-packages --force-upgrade after installation manually.

Questions:

  1. Why are the latest stable releases didn't have the latest vector_math? Should that branch get latest pinned version via merge or some Roll pub packages doesnt' execute a sa part of stable release on that branch?
  2. Why are those versions pinned precisely, why cannot they just be pinned by the major version (using the ^ version referencing)? This would avoid these problems in case the roll task would lag behind.
  3. Maybe should it be executed on my local install right after upgrade? (I guess no because a change by that would make the repo clone un-upgradeable without stashing)

Related:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions