Skip to content

Release: document how to release and stop doing "dev" releases on stable branches.

Íñigo Huguet requested to merge ih/release_chgs into main

Summary

Document how to do releases of NetworkManager and its VPN plugins.

Stop doing "dev" releases on stable branches.

Purpose

Note: here I refer to the numbers in a version as MAJOR.MINOR.MICRO.

Having stable and development releases do make sense for the MINOR version, because we maintain separate branches for them and they evolve separately. We have 1.47.z where we put all the changes so anyone can pick the latest development release and test it. At the same time, we have 1.46.z with the latest stable released version.

However, it does not make sense to have 1.46.2 and 1.46.3-dev because the latter is not a development version. It is identical to 1.46.2, only the version number has been bumped, there are no changes to test. When we add commits, we will be actually testing 1.46.3-dev + some commits, which is exactly the same as testing 1.46.2 + some commits.

So, basically, someone can use the releases of a development BRANCH, like 1.47.4, to test the development version of NM. But using a development MICRO version is exactly the same as using a non-development one.

From now on, we will just increment the MICRO version each time we do a release on a stable branch and won't create the '-dev' tag. Update release.sh to do it this way.

Also, document how to do releases of NetworkManager and VPN plugins. Although VPN plugins are developed separately, better to document here how to do the release of those that we maintain to avoid having to do the changes on every repository each time.

Checklist

Please read https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/CONTRIBUTING.md before opening the merge request. In particular, check that:

  • the subject for all commits is concise and explicative
  • the message for all commits explains the reason for the change
  • the source is properly formatted
  • any relevant documentation is up to date
  • you have added unit tests if applicable
  • the NEWS file is updated when the change deserves to be mentioned, for example for new features, behavior changes, API deprecations, etc.

Merge request reports