The next release of ZoiteChat will be version 2.19.0.
Until now, I have continued releasing updates under the 2.18.x series even when those releases included new features alongside bug fixes. That made the version numbers less useful than they should be, since patch releases are normally expected to focus on fixes and maintenance rather than introduce new functionality.
Starting with ZoiteChat 2.19.0, releases will follow a clearer versioning and development process.
Version numbers
- Patch releases, such as 2.19.1, will focus on bug fixes, security updates, packaging fixes, and maintenance.
- Minor releases, such as 2.20.0, will introduce new features and larger backward-compatible improvements.
- Major releases, such as 3.0.0, will be reserved for significant compatibility changes, major rewrites, or changes that require users to adjust their configuration or setup.
ZoiteChat 2.19.0 will serve as the point where this cleaner release process begins. It may include feature work that accumulated during the later 2.18.x releases, but after it is released, new features will no longer be included in routine patch releases.
Repository management
Development will continue on the master branch. This branch will contain ongoing work toward
the next minor release, such as 2.20.0.
When a minor version is released, a maintenance branch will be created for that release series. Git tags will continue to preserve the exact source code for every published release.
master Ongoing development toward 2.20.0
release/2.19 Maintenance and bug fixes for 2.19.x
v2.19.0 Exact snapshot of the 2.19.0 release
The release/2.19 branch will remain available for fixes that need to be applied specifically
to the 2.19.x series. Bug fixes made there will also be carried forward into master so they
remain fixed in future releases.
New features will be developed only on master and included in the next appropriate minor
release rather than being added to a patch release.
Bug fix for 2.19.x → release/2.19 and master
New feature → master only
Exact published release → version tag
Once a release series is no longer supported, its maintenance branch may be removed. The released versions will remain permanently available through their Git tags.
Why this is changing
This approach should make each release easier to understand and maintain. Users will be able to tell from the version number whether an update contains maintenance fixes, new features, or compatibility changes.
It will also make it easier to issue bug fixes for an existing release without accidentally including unfinished features from the main development branch. ZoiteChat 2.19.0 marks the beginning of this more predictable release process.