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

To remember for version upgrades #97

Open
clefourrier opened this issue Mar 6, 2024 · 0 comments
Open

To remember for version upgrades #97

clefourrier opened this issue Mar 6, 2024 · 0 comments
Labels

Comments

@clefourrier
Copy link
Member

clefourrier commented Mar 6, 2024

Theoretically everything up to 1.0.0 is considered unstable and prone to change at any time:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

At Hugging Face, we try and apply the rule that while we have major version zero, minor releases (0.x.0) may add new features and break things (the equivalent of a major release), while patch releases (0.0.x) behave very closely to patches as understood by semantic versioning:

Patch version Z (x.y.Z | x > 0) MUST be incremented if only backward compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.


Now for development versions, this is a bit out of the control of semantic versioning IMO but the way that we do it in transformers/diffusers/huggingface_hub is to update the version defined in the init to the "development of the next version".

What that means is that:

For transformers, where there are no plans to go to v5 for now, we would do as such:

  1. We release version v4.38.0
  2. The next version we'll release, if everything goes well, is going to be v4.39.0
  3. We put v4.39.0.dev0 as we're developing that next version.

We're not putting v4.38.1.dev0 as that would mean "we're preparing for the upcoming patch; patch which may or may not happen, and that should only contain bugfixes and no new features.

For huggingface_hub, there are no plan to go to v1 for now, so:

  1. We release version v0.21.0
  2. The next version we'll release, if everything goes well, is going to be v0.22.0
  3. We put v0.22.0.dev0 as we're developing that next version.

If, however, we were planning on releasing a v1 for huggingface_hub, we might instead put v1.0.0.dev0. We won't want to put v0.21.1.dev0 at any point however.


Finally, we only put .dev0 right now (and no .dev1, .dev2, etc), but we could eventually add them with patches as separators. So we'd go:

  • v4.38.0 Released
  • v4.39.0.dev0 in the init
  • v4.38.1 Released
  • v4.39.0.dev1 in the init
    Here what's most important is that you stick to it, imo.

Originally posted by @LysandreJik in #77 (comment)

@clefourrier clefourrier changed the title To remember for issue upgrades To remember for version upgrades Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant