Minor Change to Suggested Versioning Semantics

33 views
Skip to first unread message

Nathan Weizenbaum

unread,
Feb 24, 2014, 8:15:31 PM2/24/14
to General Dart Discussion
Hi folks,

I just submitted a patch to dartlang.org that adds a suggestion for how to treat pre-1.0.0 package versions in your dependencies. The official semantic versioning spec says that technically any two pre-1.0.0 package versions can be incompatible regardless of how close their versions are, but this isn't very useful in practice, especially since so much of the Dart package ecosystem is still pre-1.0.0.

We now suggest that you version 
pre-1.0.0 packages the same as you would for post-1.0.0 packages, just shifted down one slot. So backwards-incompatible changes increment the minor version, backwards-compatible additions increment the patch version, and non-API changes increment the build number. On the same note, your dependencies on pre-1.0.0 packages should expect this compatibility, so if you've tested against stack_trace 0.9.1, your version constraint should be ">=0.9.1 <0.10.0".

The Dart team's packages have been following this guideline for a while, and it's been working well. Hopefully as the community adopts it we can lessen the amount of version lock we have to suffer through.

- Nathan
Reply all
Reply to author
Forward
0 new messages