-
Notifications
You must be signed in to change notification settings - Fork 158
Description
Currently, the "build metadata" part of the version is ignored by all constraints. This make it impossible, in tools like Helm, to specifiy an exact dependency to a single build, and leads to unpredictable behaviour or hackish workarounds.
It has already been said in #172 and #164 that, per spec:
Build metadata MUST be ignored when determining version precedence.
I think this statement ignores the very first sentence of SemVer chapter 11 (emphasis is mine):
Precedence refers to how versions are compared to each other when ordered.
When using an exact match constraint (e.g. =1.0.0-develop+cafebabe
or !=
), no ordering nor precedence resolution is expected. I want this exact version, and expect an error if it does not exist. If, and only if, I use an inequality or range operator, should precedence rules come into play, as several versions may match the query.