2019-01-02 14:16:34 -08:00
---
title: Steps to a Successful Release
2019-12-11 10:49:28 +01:00
category: Contributing
2019-12-11 17:01:46 +01:00
layout: default
2021-09-14 16:05:21 +02:00
SPDX-License-Identifier: LGPL-2.1-or-later
2019-01-02 14:16:34 -08:00
---
2018-11-29 11:09:09 +01:00
# Steps to a Successful Release
2016-05-31 13:43:41 -04:00
1. Add all items to NEWS
2022-04-12 12:05:53 +02:00
2. Update the contributors list in NEWS (`ninja -C build git-contrib` )
2016-05-31 13:43:41 -04:00
3. Update the time and place in NEWS
2022-04-12 12:33:33 +02:00
4. Update hwdb (`ninja -C build update-hwdb` , `ninja -C build update-hwdb-autosuspend` , commit separately).
2022-05-05 19:49:26 +02:00
5. Update syscall numbers (`ninja -C build update-syscall-tables update-syscall-header` ).
2022-04-12 12:33:33 +02:00
6. [RC1] Update version and library numbers in `meson.build`
2023-01-24 12:34:00 +00:00
7. Check dbus docs with `ninja -C build update-dbus-docs`
2023-01-24 13:30:02 +00:00
8. Update translation strings (`cd build` , `meson compile systemd-pot` , `meson compile systemd-update-po` ) - drop the header comments from `systemd.pot` + re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file.
2023-01-24 12:34:00 +00:00
9. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
10. Do `ninja -C build`
11. Make sure that the version string and package string match: `build/systemctl --version`
12. Upload the documentation: `ninja -C build doc-sync`
13. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
14. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
15. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
16. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released` )
17. [FINAL] Push commits to stable, create an empty -stable branch: `git push systemd-stable --atomic origin/main:main origin/main:refs/heads/${version}-stable` , and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).