Release Naming and Branching
Starting June 2023, Avni is going to follow the following release naming strategy. The release has three parts - the major version, minor version and the patch fix version. Note that this is not semantic versioning.
Release Versioning Format: MajorVersionNumber.MinorVersionNumber.PatchVersionNumber.
- A major release happens every 4-6 weeks. The major version is bumped up during this time. eg: 4.0.0
- There might be a minor release between two major releases that consists of planned work that might need to be released sooner. This goes in a minor release. eg: 4.1.0
- Urgent patches go in a patch fix release. eg: 4.0.1
Branches

Every branch comes out of the previous parent (4.1.0 comes out of 4.0.0, 5.0.0 comes out of main / master). Branches are merged to their parents, which eventually go up till the mainline (master/main).
Release branching guidelines
- Patch version use the corresponding major / minor version branch itself and not a separate branch
Ex: For 4.0.1, we'll use 4.0 release branch itself - Minor version has its own branch, created from previous major/ minor release branch
Ex: for 4.1.0, we'll create a new branch 4.1 from 4.0 - Merge happens from release major / minor branch to all pending Major / minor release branches, as well as to Master/Main branch
Ex: During 4.1 release, We'll merge 4.1 to 4.2, 5.0 and Master/Main branches - During release create tag with format vMajor.Minor.Patch version in release branch across all repos
Ex: For 4.1.0 release, create tag v4.1.0 on all repos, 4.1 branch head commit - To trigger different Flavor(Gramin) APK generation for an old Patch version in avni-client which already has additional patch versions, you should make use of a separate branch that would only used for APK generation purpose.
Ex: For 4.0.1 Patch release, if there is already 4.0.2 release completed, since all changes are on 4.0 branch, create a new branch "apk_401" from tag v4.0.1 and use "apk_401" branch for Gramin APK generation.
Updated 13 days ago