to my, admittedly very limited, understanding of semver
this
environment:
sdk: ^2.7.0
is equivalent to this
environment:
sdk: '>=2.7.0 <3.0.0'
this format is strictly enforced for package publishing
Package validation found the following error:
* ^ version constraints aren't allowed for SDK constraints since older versions of pub don't support them.
Expand it manually instead:
environment:
sdk: ">=2.7.0 <3.0.0"
Sorry, your package is missing a requirement and can't be published yet.
is there any reason why flutter uses the latter in place of the former approach,
which is arguably more familiar and consistent ?