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

πŸ‘©β€πŸ’» Proposed notes on versioning for contributors #1658

Merged
merged 1 commit into from
Nov 20, 2024

Conversation

fwkoch
Copy link
Collaborator

@fwkoch fwkoch commented Nov 19, 2024

This PR is an attempt to slightly formalize my answer to this: #1650 (comment)

I'm totally open to feedback here - this is just the general rules I personally follow when bumping versions (and I always try to avoid any changes that don't just fall under patch...).

These rules are different from "official" semantic versioning which is basically - major: any breaking change, minor: any feature, patch: bugfix. But I'd argue in favor of maintaining the distinction between user-facing breaking change vs. developer-facing breaking change. (Possibly this suggests we should have different versioning on mystmd - "user-facing" - and myst-cli - "dev-facing" - where breaking changes can imply different levels of impact...)

Copy link

changeset-bot bot commented Nov 19, 2024

⚠️ No Changeset found

Latest commit: 3350d3d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@choldgraf
Copy link
Collaborator

choldgraf commented Nov 19, 2024

For what it's worth, I'd be keen on trying out Jacob Tomlinson's effver approach, which I've found to more naturally map onto the ways that devs think about versioning their code. It is basically semver, but with the guiding question.being "how much effort would it likely take your target user to upgrade?".

That said I'm not sure how it works in practice so I don't feel super strongly about this. It might also be hard to weigh whether we are thinking about author users or developer users (eg of plugins etc). Maybe that's a jupyter book vs myst distinction?

https://jacobtomlinson.dev/effver/

@agoose77
Copy link
Contributor

@choldgraf I think that definitely would be a better candidate for Jupyter Book over MyST, as it's solely an application. And, FWIW, I like the idea of interrogating our use of semver -- I encourage calver normally because I think semver is pretty hard to do communicate in a meaningful sense to all users.

calver vs effver is a fun conversation to have; calver solves semver problems by saying "consult our docs to learn about when we'll plan to break things", whereas effver is a lot more hand-wavy. For that reason, I'm a lot more pro-calver in general.

@agoose77
Copy link
Contributor

@fwkoch I like this PR. If you are happy that it represents the current state of thinking on your part and Rowan's, then let's merge?

@fwkoch fwkoch marked this pull request as ready for review November 20, 2024 17:48
@fwkoch fwkoch merged commit c9e95d2 into main Nov 20, 2024
7 checks passed
@fwkoch fwkoch deleted the doc/versioning branch November 20, 2024 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants