2022-07-20 12:47:15 +02:00
---
title: Releases
---
2022-07-26 18:00:43 +02:00
## Releasing a new version
This guide walks you through the steps required to release a new version of LibreTime.
2023-12-22 19:56:41 +01:00
### 1. Inspect the release pull request
2022-07-26 18:00:43 +02:00
2023-12-22 19:56:41 +01:00
A release pull request is maintained by [`release-please` ](https://github.com/googleapis/release-please ). `release-please` guesses the next version to release based on the commit history, and will generate a changelog for that release.
2022-07-26 18:00:43 +02:00
2023-12-22 19:56:41 +01:00
Once a release is desired, checkout the release branch:
2022-07-26 18:00:43 +02:00
```bash
2023-12-22 19:56:41 +01:00
# For a release on the main branch
git checkout release-please--branches--main--components--libretime
# For a release on the stable branch
git checkout release-please--branches--stable--components--libretime
2022-07-26 18:00:43 +02:00
```
### 2. Release note
Prepare a new release note based on the `docs/releases/unreleased.md` file. Be sure that
the filename match the releases notes naming conventions:
```bash
ls -l docs/releases/
cp docs/releases/unreleased.md docs/releases/$VERSION.md
```
The release note file must be updated with:
- the version and date of this release,
- an auto generated features and bug fixes changelog,
- instructions for upgrading,
- deprecation notices,
- remove empty sections.
Reset and clean the `docs/releases/unreleased.md` file for a future version.
Commit the release note changes:
```bash
2023-12-22 19:56:41 +01:00
git add docs/releases
git commit -m "docs: add release note"
2022-07-26 18:00:43 +02:00
```
2023-12-22 19:56:41 +01:00
### 4. Merge the release pull request
2022-07-26 18:00:43 +02:00
2023-12-22 19:56:41 +01:00
Push any changes that we previously made to the release branch:
2022-07-26 18:00:43 +02:00
```bash
2023-12-22 19:56:41 +01:00
git push
2022-07-26 18:00:43 +02:00
```
2023-12-22 19:56:41 +01:00
Once the pull request CI succeeded and everything is ready, merge the release pull request. `release-please` will create a tag and a release, which will trigger the final release pipeline that will upload the tarball as release assets.