1--- 2title: Steps to a Successful Release 3category: Contributing 4layout: default 5SPDX-License-Identifier: LGPL-2.1-or-later 6--- 7 8# Steps to a Successful Release 9 101. Add all items to NEWS 112. Update the contributors list in NEWS (`ninja -C build git-contrib`) 123. Update the time and place in NEWS 134. Update hwdb (`ninja -C build update-hwdb`, `ninja -C build update-hwdb-autosuspend`, commit separately). 145. Update syscall numbers (`ninja -C build update-syscall-tables update-syscall-header`). 156. [RC1] Update version and library numbers in `meson.build` 167. Check dbus docs with `ninja -C build update-dbus-docs` 178. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"` 189. Do `ninja -C build` 1910. Make sure that the version string and package string match: `build/systemctl --version` 2011. Upload the documentation: `ninja -C build doc-sync` 2112. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones) 2213. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate. 2314. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically. 2415. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released`) 2516. [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). 26