Introduction
The Tryton Release process is inspired by the OpenBSD Release Process. To get a conception of the process please have a look at a video of The OpenBSD Release Process at AsiaBSDCon 2009. The next release date is chosen after a release and published at Tryton’s events calendar.
What is released?
- Every part of Tryton, the user needs to install and run the complete application.
- Development and build-for-release specific parts are not released, they are always current in the development tree.
Schedule
Releases are published every 6 months. So a long term release is published every 2.5 years.
Maintenance releases are not planned and are published when there are fixes.
Maintenance
Minor Releases are maintained for at least 1 year.
Long Term Release are maintained for at least 5 years.
Maintenance means there will be bug-fix releases during the period.
Here is an example of the timeline:
* 6.0 5/2021 --> 5/2026 |---.---.---.---.---|
* ...
* 7.0 10/2023 --> 10/2028 |---.---.---.---.---|
* 7.2 5/2024 --> 5/2025 |---|
* 7.4 10/2024 --> 10/2025 |---|
* 7.6 5/2025 --> 5/2026 |---|
* 7.8 10/2025 --> 10/2026 |---|
* 8.0 5/2027 --> 5/2032 |---.---.---.---.---|
Version number of Tryton releases
The Tryton version number is made of thee parts like the following example:
Tryton Version 2.3.5
Major release
The first and second number are series numbers.
These general version numbers…
- … are used to indicate a major step in the evolution of Tryton;
- … are published twice per year;
- … can change parts of the database structure;
- … could need manual steps for database upgrade;
Long Term Release are release with series ending by 0
.
Minor release
The third number is the minor version number of Tryton.
Releases changing this number…
- … are published to fix bugs;
- … don’t change the database structure;
- … don’t need a database upgrade;
- … are considered as unproblematic for update;
Migration
The migration between series is managed by updating the database. Some release may require manual operation which are published under migration category.
The process is supported from one series to the direct following and from one LTS to the direct next one (by applying operations of each series in between).
Development state
The second number indicates development state:
- even number and null: Release version
- odd number: Development version
Major release preparation
The development is frozen about 2 weeks before the scheduled date.
“freezing” is handled by maintainers discipline.
During freezing:
- Translation teams update the translation of each repositories.
- Everybody test and report issues until release.
- The reviews related to new features are not reviewed and not applied.
Release process
We use the scripts from Tryton / Tools / Maintenance · GitLab from within the repository to release.
It just requires to have the environment variable TRYTON_GPG_KEY
.
Major release
Execute the following command:
$ do_major_release
Add new series to tryton-docker .
Build a demo database for the new series with the module authentication_none
using:
$ tryton_demo.py
Upload the database backup to the demo server.
Update web server to redirect to the new series. Update module list and download links.
Build clients for Windows, MacOS and Flatpack.
Minor release
Execute the following command:
$ do_minor_release
Optionally build clients for Windows, MacOS and FlatPack.