While Fili development generally happens in a roll-forward kind of way, we need to periodically draw a line in the sand and mark groups of changes as “stable” and supported. Typically, it’s a good idea to do this just before large, codebase-wide refactorings or changes are about to happen. To make it easier to do, since more frequent releases make upgrading hurt less, here are the general steps in the process.
As development happens for Fili, changes build up in the development line, and descriptions of those changes build up in the “current” section of the CHANGELOG. As part of declaring the release stable, the changelog needs to be cleaned up so that the changes are easy to digest for those upgrading, flag them for the version they apply to, and move them into an “immutable” section so that new changes don’t continue to be added. Here are the steps:
Known Issues, and
After the stable version is released, we need to get the next development line set up so that new work and changes are on the new version line, rather than continuing to be added to the just-released stable version. Here are the steps for that.
versionproperties in the root
pom.xmlfile to the next development version snapshot
version property in the all of the module
pom.xml files to the next development version
Note: There’s probably a “maven-y” way to do this, but search-replace has generally done well for me.
The CI/CD scripts we use to auto-release changes on the development line are aggressive, and will release the “start next development line” changes on the old version line. Instead, what we’d like to have happen is to have the “start next development line” changes to be released as the vX.Y.0 version for that new line. Here are the steps involved in making that happen:
Add proper version tag to the commit that starts the next line
For example, the proper tag will be
v0.8.0 if we’re releasing the
v0.7.x line as stable and starting development
v0.8.0 line). This wil cause the same artifact to be built and released under the proper version number.