Skip to content

dependencies change for flutter depending on channel/minor update? (material_color_utilities added in dev but not stable) #95807

@aliak00

Description

@aliak00

Scenario: dev1 is on flutter dev channel which is 2.9.0-0.1.pre and runs flutter pub get and gets this:

@@ -163,6 +163,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.12.11"
+  material_color_utilities:
+    dependency: transitive
+    description:
+      name: material_color_utilities
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.2"
   meta:
     dependency: transitive
     description:
@@ -307,7 +314,7 @@ packages:
       name: test_api
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.4.3"
+    version: "0.4.8"
   typed_data:
     dependency: transitive
     description:

So they commit and push.

And then dev2 is running flutter stable so is on version 2.8.1 currently and runs flutter pub get and gets a new diff (because there's no material_color_utilities package dependency in flutter then.

So I guess one option would be to pin the flutter version in the pubspec.yaml but I feel that this would not be good practice? Is that the recommended approach?

Or, is there some configuration file within a project that can enforce which channel your global flutter installation is on? Though that won't work because as 2.9.0 is moved to stable then the same would happen I assume. So then is pinning the flutter version to only minor version updates recommended?

And there's also another question of: should this not be considered as a "breaking change" and hence a major version update? You can technically look at this as changing the output of a public api of the flutter cli. Though I don't know if that counts, but still curious on thoughts here.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: contributor-productivityTeam-specific productivity, code health, technical debt.r: solvedIssue is closed as solved

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions