|
Packit Service |
4684c1 |
# Release policy
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
In the GnuTLS project there are at most two ongoing releases, one marked as
|
|
Packit Service |
4684c1 |
'stable' and one marked as 'next'. The former is always present and
|
|
Packit Service |
4684c1 |
supported, while the latter is introduced on the discretion of the
|
|
Packit Service |
4684c1 |
development team.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
For both release branches all the rules in [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
Packit Service |
4684c1 |
apply, but in principle the 'stable' release is more conservative in new features,
|
|
Packit Service |
4684c1 |
while the 'next' branch allows for mild behavioral changes. The 'stable' branch
|
|
Packit Service |
4684c1 |
always provides API and ABI compatibility, while the 'next' branch may on exceptional
|
|
Packit Service |
4684c1 |
cases change the API.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|Branch|Version|Release interval|
|
|
Packit Service |
4684c1 |
|:----:|:-----:|:--------------:|
|
|
Packit Service |
4684c1 |
|stable|3.6.x |bi-monthly |
|
|
Packit Service |
4684c1 |
|next |- | |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Release process
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
0. Create a new 'milestone' for the next release and move all issues present in the
|
|
Packit Service |
4684c1 |
current release milestone.
|
|
Packit Service |
4684c1 |
1. Verification of release notes: ensure that release notes ([NEWS](NEWS)) exist
|
|
Packit Service |
4684c1 |
for this release, and include all significant changes since last release.
|
|
Packit Service |
4684c1 |
2. Update of release date in [NEWS](NEWS), and bump of version number in
|
|
Packit Service |
4684c1 |
[configure.ac](configure.ac) as well as soname numbers in [m4/hooks.m4](m4/hooks.m4).
|
|
Packit Service |
4684c1 |
3. make distcheck
|
|
Packit Service |
4684c1 |
4. git tag -s $(VERSION). The 3.6.12 was including both the 3.6.12 and
|
|
Packit Service |
4684c1 |
gnutls_3_6_12 tags, but it may make sense to only use the version from
|
|
Packit Service |
4684c1 |
now on.
|
|
Packit Service |
4684c1 |
5. git push && git push --tags
|
|
Packit Service |
4684c1 |
6. make dist && gpg --sign --detach gnutls-$(VERSION).tar.xz
|
|
Packit Service |
4684c1 |
7. scp gnutls-$(VERSION).tar.xz* trithemius.gnupg.org:/home/ftp/gcrypt/v3.6/
|
|
Packit Service |
4684c1 |
8. Create and send announcement email based on previously sent email to the list and
|
|
Packit Service |
4684c1 |
[NEWS](NEWS) file.
|
|
Packit Service |
4684c1 |
9. Create a NEWS entry at [web-pages repository](https://gitlab.com/gnutls/web-pages/-/tree/master/news-entries),
|
|
Packit Service |
4684c1 |
and/or [a security advisory entry](https://gitlab.com/gnutls/web-pages/-/tree/master/security-entries)
|
|
Packit Service |
4684c1 |
if necessary. The NEWS entry is usually pointing to the announcement email.
|
|
Packit Service |
4684c1 |
A commit auto-generates the [gnutls web site](https://gnutls.gitlab.io/web-pages/)
|
|
Packit Service |
4684c1 |
which is mirrored twice a day by www.gnutls.org.
|
|
Packit Service |
4684c1 |
10. Use the @GnuTLS twitter account to announce the release.
|
|
Packit Service |
4684c1 |
11. Close the current release milestone.
|