Blame RELEASES.md

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