ULSAlgorithms uses repository-wide semantic versioning through Nerdbank.GitVersioning. Version 1.0.0 establishes the stable 1.x compatibility contract described in API-STABILITY.md.
Every push to main runs the validated build and test pipeline.
The repository-wide validation builds every discovered .NET project in Release configuration and runs the complete unit-test suite on both Windows and Linux. Linux additionally executes the portability smoke and a real COIN-OR CBC end-to-end qualification of all six solver-backed public strategies.
Documentation is generated separately through Doxygen, validated and published to GitHub Pages.
A public release reruns the pre-release qualification before publication and records:
The release workflow also validates:
The release workflow creates the Git tag. Tags should not be created manually.
Starting with v1.0.0, existing public .NET contracts, stable solver IDs and serialized configuration schema version 1 are compatibility commitments.
Compatible additions may be made in minor releases. Intentional incompatible changes require a new major version.
The portal injects both the version and the short Git commit into the generated site.
This makes a documentation snapshot traceable to the exact source revision from which it was produced.