Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0.0 release - move to semantic versioning? #156

Open
towerofnix opened this issue Jul 12, 2024 · 1 comment
Open

1.0.0 release - move to semantic versioning? #156

towerofnix opened this issue Jul 12, 2024 · 1 comment
Labels
discussion Looking for feedback and input

Comments

@towerofnix
Copy link
Member

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).

@towerofnix towerofnix added the discussion Looking for feedback and input label Jul 12, 2024
@PullJosh
Copy link
Collaborator

I'm on board with this as a practical choice. I think my gut instinct is to be precious about major releases, but there's no practical reason to treat them that way, as far as I can tell. Using major releases as a clear marker of breaking changes seems wise, and it makes sense to publish 1.0.0 so that we can then bump to 2.0.0 when we release a breaking change to the API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Looking for feedback and input
Projects
None yet
Development

No branches or pull requests

2 participants