Hi everyone,
B&R software modules (Packages, Programs, Libraries) use a versioning format of
X.YY.Z
where both X (major) and Z (patch) are restricted to single-digit values.
We find this quite limiting, especially since we’d like to follow the widely adopted Semantic Versioning scheme. Under SemVer, every breaking change to an interface or internal structure requires a new major version, and bug fixes or minor improvements are reflected in the patch version.
With the current B&R scheme, this means we’re limited to:
- Only 10 major versions
- Only 10 patch versions (before we need a Minor/Major release)
With the adoption of CI/CD pipelines and shorter release cycles, we reach version limits even faster.
Interestingly, the Configuration Version allows a three-number versioning format where each number can range up to 4.3 billion — a much more flexible setup.
Has anyone found a practical workaround for these versioning constraints in B&R modules?
Are there any best practices or alternative approaches you’re using to manage module evolution under these limits?
Thanks in advance!
Stefan