Closed Andersmholmgren closed 9 years ago
Isn't the npe fix just a bug fix? I thought that was the purpose of the + version numbers for pre 1.0 packages and that you'd only bump to 0.9.5 if a new feature was added
The z component of x.y.z versions of Dart packages indicates backward-compatbile bugfixes. Details at: http://semver.org/.
+
versions indicate build numbers with no functional changes at all. An example would be non-breaking changes to a pubspec.yaml.
But pub semver is slightly different https://github.com/dart-lang/pub_semver On Tue, 6 Jan 2015 at 8:59 am, Chris Bracken notifications@github.com wrote:
The z component of x.y.z versions indicates backward-compatbile bugfixes. Details at: http://semver.org/
— Reply to this email directly or view it on GitHub https://github.com/google/uri.dart/pull/19#issuecomment-68789639.
But pub semver is slightly different https://github.com/dart-lang/pub_semver
Correct, there are differences, but none that are relevant to the versioning of backward-compatible bugfixes, for which we bump the patch version.
There is a notion of compatibility between pre-1.0.0 versions. Semver deems all pre-1.0.0 versions to be incompatible. This means that the only way to ensure compatibility when depending on a pre-1.0.0 package is to pin the dependency to an exact version. Pinned version constraints prevent automatic patch and pre-release updates. To avoid this situation, pub defines the "next breaking" version as the version which increments the major version if it's greater than zero, and the minor version otherwise, resets subsequent digits to zero, and strips any pre-release or build suffix. For example, here are some versions along with their next breaking ones:
0.0.3 -> 0.1.0 0.7.2-alpha -> 0.8.0 1.2.3 -> 2.0.0
To make use of this, pub defines a "^" operator which yields a version constraint greater than or equal to a given version, but less than its next breaking one.
/cc @kevmoo
I'm happy to resubmit with a bumped version, however I maintain several pub packages and I'd hate to think I'd been managing the versioning wrong all this time so I'd really like to clarify this.
My understanding is that for pre 1.0 all the numbers shift right. i.e.
0.9.5 is treated as a minor number change (similar to what 9.5.0 would be) and 0.9.4+1 is like 9.4.1 for a post 1.0 release
Discussed offline with Bob and indeed bumping the build number is one perfectly OK approach pre-1.0.0.
It turns out there is some variation in opinion on how we manage this even amongst ourselves on the Dart team, which probably means we should close some nit-picky loopholes in our phrasing. Either way, I'm good with this as is unless Justin has any objection.
Haha fair enough. Fwiw I think bumping the build number works well pre 1.0. There are a lot of pre 1.0 packages in dart. All mine are On Tue, 6 Jan 2015 at 10:07 am, Chris Bracken notifications@github.com wrote:
Discussed offline with Bob and indeed bumping the build number is one perfectly OK approach pre-1.0.0.
It turns out there is some variation in opinion on how we manage this even amongst ourselves on the Dart team, which probably means we should close some nit-picky loopholes in our phrasing. Either way, I'm good with this as is unless Justin has any objection.
— Reply to this email directly or view it on GitHub https://github.com/google/uri.dart/pull/19#issuecomment-68798819.
BTW I got the impression that Justin will be off the air for a while. If you think it will be less contentious in his absence then I can bump to 0.9.5
thoughts?
0.9.5 is fine for me.
+1 to 0.9.5
OK I've bumped to 0.9.5
Please merge and publish
Thanks On Wed, 14 Jan 2015 at 12:24 pm, Justin Fagnani notifications@github.com wrote:
Merged #19 https://github.com/google/uri.dart/pull/19.
— Reply to this email directly or view it on GitHub https://github.com/google/uri.dart/pull/19#event-219003891.
lgtm
With the NPE fix, we should bump to 0.9.5; if so, then 0.9.4+1 will never be released (unless anyone can think of a good reason), so we should update the release notes to have the changes fall under 0.9.5 as well.