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

Conform to SemVer & add beta release #22

Closed
smartin015 opened this issue Mar 16, 2022 · 1 comment
Closed

Conform to SemVer & add beta release #22

smartin015 opened this issue Mar 16, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@smartin015
Copy link
Owner

I'd like to avoid post-release excitement like that of #14. Now that ownership has transferred, I plan to improve release stability by adopting a more formal process.

Per https://semver.org/:

Software using Semantic Versioning MUST declare a public API. This API could be declared in the code itself or exist strictly in documentation. However it is done, it SHOULD be precise and comprehensive.

The API as declared is currently implicit (see #10). Handlers meant for external usage will be marked as such, and internal handlers (not to be depended upon) will also be clearly labeled. Any deprecation will be marked as a minor version bump, followed by a minor version bump when the final API is decided and a major bump when deprecated endpoints are removed.

Once a versioned package has been released, the contents of that version MUST NOT be modified. Any modifications MUST be released as a new version... A pre-release version MAY be denoted.

A release channel branch will be set up, and beta users directed to it via the OctoPrint package manager. Releases will soak in the rc branch for some period of time (2 weeks? a month?) before being formally released. Real releases should be delayed if an issue is created from a user using the rc branch.

As part of this issue, I'll also update README.md with details on the release cycle.

@smartin015 smartin015 added the enhancement New feature or request label Mar 16, 2022
@smartin015
Copy link
Owner Author

Created 1.4.2rc1 in the new rc branch which deprecates some implicit API methods, while documenting others as public (see #24).

Candidate releases are already configured in __init__.py, so at this point we should be good to close this out and continue development in the other issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant