-
Type: Improvement
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
The way which the libmongocrypt build currently calculates versions is with a special purpose program which was implemented for the project, GetVersion.cmake. When the program was implemented the project had a linear development history and releases were made directly from the master branch. Today, releases are made from release branches (e.g., r1.3, r1.4, r1.5), following a pattern essentially identical to the C driver. This has resulted in some latent issues (i.e., MONGOCRYPT-455).
The task of calculating build versions is handled by the program calc_release_version.py in the C driver and C++ driver builds. That program should be assessed for suitability of use in the libmongocrypt project. If it is found to be suitable to the needs of the project, it should be incorporated to replace GetVersion.cmake and the release process adjusted to best take advantage of the capabilities of calc_release_version.py.