Description
sb-edit has plenty room to shake up in the future - #53, #93, #98, #100 - and maybe some of these are issues that we want to address before giving it a spiritual "1.0.0" release. But, on a practical level, it is now a package which certain other software depend on (i.e. leopard-website). Although package-lock.json
has long addressed the worst concerns, still, to the end of smooth updates within package.json
constraints, semantic versioning is a useful thing.
leopard
was published as a semver project basically immediately. As far as we're aware there has only just recently even been a concern about bumping leopard to 2.x.y, see: leopard-js/leopard#201 (comment).
Changing toLeopard
(we should perhaps change all such interfaces?) to be async - #154 - is a breaking change. One that's easy to prepare for - PullJosh/leopard-website#64 - but still breaking.
We don't personally see semantic versioning as making a statement about a certain "quality" or any other guarantee, for a project. It's just saying: this package has interfaces for usage in your code project, and they will continue to work, in the same shape, until the next major release.
We have somewhat arbitrarily used minor and patch 0.x.y versions and could discuss what we want to "count" for a minor/patch bump more specifically, but personally the main motivation is to treat breaking changes as major version bumps, so they can be more plainly documented e.g. in release notes or summaries of major API changes (maybe some of the issues linked at the top of this issue).