-
Notifications
You must be signed in to change notification settings - Fork 86
Versioning
Jehan edited this page Dec 2, 2016
·
3 revisions
Libmypaint uses Semantic Versioning 2.0.0, with zero or more prereleases between subsequent releases. The development cycle between releases looks like:
Version | Release Tarball | Pkg-config version¹ | Release Tag | Purpose |
---|---|---|---|---|
A.B.C-alpha.0 | — | A.B.C |
— | First commit after a stable release. |
A.B.C-alpha.0.N | — | A.B.C |
— | Build from git between releases. |
A.B.C-beta.0 | libmypaint-A.B.C-beta.0.tar.xz |
A.B.C |
vA.B.C-beta.0 |
First beta release. |
A.B.C-beta.0.N | — | A.B.C |
— | Build from git between releases. |
A.B.C-beta.1 | libmypaint-A.B.C-beta.1.tar.xz |
A.B.C |
vA.B.C-beta.1 |
Second beta release. |
A.B.C-beta.1.N | — | A.B.C |
— | Build from git between releases. |
... | ... | A.B.C |
... | ... |
A.B.C | libmypaint-A.B.C.tar.xz |
A.B.C |
vA.B.C |
Stable release. |
¹ Due to limitations of pkg-config, pre-release versions have the release's final version in the Version field of libmypaint.pc
.
The "alpha" denotes the active development cycle. We do not make tarball releases in this phase. New features will be merged. You will be able to build it and install it provided that you do so from git.
During the beta development cycle, new features will be put on hold and translated strings will be frozen. We may make prerelease tags and tarballs available on github during this phase.
Generates the tarball everyone expects. Procedure for maintainers:
- Ensure that the draft release is created and fully described.
- Edit
configure.ac
and edit the version fields. Ensure that the prerelease version field is blank. make distcheck
make dist
- Sign the resultant tarball.
- Upload the tarball to the release page.
- Commit changes locally, tag the commit as
vA.B.C
, and push both the tag and the commit to github. - Publish the release.
- Edit
configure.ac
and increment the version fields. Ensure that the prerelease version field now reads exactlyalpha.0
. There is no tag for this. - Commit the result, and push it immediately to start the next development cycle.