Feature: Governed Semantic Versioning with CI integration (Major = upstream break; fork‑aware signaling) #386
Replies: 4 comments
-
Having a major bump would trigger the expansion of a test plan, or additions to the test suite. Bumps to the other SemVer fields would trigger behaviors which can remain undefined. Undefined fields needs to be exposed on the "Compute Version" API" for white box testing. |
Beta Was this translation helpful? Give feedback.
-
A major bump could be caused by more than just LabVIEW breaking the API. We could change something that would break backwards compatibility, such as moving files, libraries, etc. or moving the Icon Editor API to a PPL. This should also cause a bump to the major version. |
Beta Was this translation helpful? Give feedback.
-
I'm against the mixing of internal and external versioning. Just keep it all the same, however the major version is defined. |
Beta Was this translation helpful? Give feedback.
-
If the main reason for the Semantic Versioning is easily telling compatibility, then year-based majors do not really make sense. Just because we are at a new year does not mean we broke compatibility. It just helps reinforce the age of the package. Not to say that is important information, but that is something that can easily be found through VIPM or a version history document. There is also the possibility we break compatibility twice in a given year (unlikely, but still possible). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Feature Request: SemVer policy with LabVIEW-gated majors + fork compatibility signal
Summary
Adopt a formal Semantic Versioning policy where Major bumps occur only when upstream LabVIEW forces a breaking API change. Use this to give contributors and forks a clear signal about compatibility and breaking changes.
Problem
Today’s versioning is ad-hoc, which means:
Goals
Non-Goals
Proposal
Versioning rules
+build.<shortSHA>
or CI run number) on pre-release/CI artifacts for traceability.Fork compatibility
upstream vX.Y.Z
vs.fork vA.B.C
at a glance.Documentation
VERSIONING.md
describing the above and how LabVIEW changes map to our Major.FORKS.md
(or a section withinVERSIONING.md
) explaining the fork compatibility policy & comparison guidance.Acceptance Criteria
VERSIONING.md
added with: Major=LabVIEW breaking; Minor=feature; Patch=fix; examples included.FORKS.md
(or section) added with guidance on using SemVer to signal fork breakage and a sample compatibility matrix.Open Questions
2026.x.y
) for outward-facing packages while keeping strict SemVer internally? (Decision deferred.)Traceability (meeting source)
1.x.y
.Requested labels:
type: feature
,area: release
,semver
,fork-compatibility
,needs-decision (year-based-major)
Beta Was this translation helpful? Give feedback.
All reactions