Skip to content

Commit 28e3aef

Browse files
authored
clarify version lowercases (#3567)
1 parent dc83eea commit 28e3aef

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Diff for: tutorial/versioning/version_ranges.rst

+5-1
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,15 @@ Semantic versioning
106106
The semantic versioning specification or `semver <https://semver.org/>`_, specifies that packages should
107107
be versioned using always 3 dot-separated digits like ``MAJOR.MINOR.PATCH``, with very specific meanings for each digit.
108108

109-
Conan extends the semver specification to any number of digits, and also allows to include letters in it.
109+
Conan extends the semver specification to any number of digits, and also allows to include lowercase letters in it.
110110
This was done because during 1.X a lot of experience and feedback from users was gathered, and it became evident
111111
than in C++ the versioning scheme is often more complex, and users were demanding more flexibility, allowing
112112
versions like ``1.2.3.a.8`` if necessary.
113113

114+
Conan versions non-digit identifiers follow the same rules as package names, they can only contain lowercase letters.
115+
This is to avoid ``1.2.3-Beta`` to be a different version than ``1.2.3-beta`` which can be problematic, even a
116+
security risk.
117+
114118
The ordering of versions when necessary (for example to decide which is the latest version in a version range)
115119
is done by comparing individually each dot-separated entity in the version, from left to right. Digits will be
116120
compared numerically, so 2 < 11, and entries containing letters will be compared alphabetically (even if they

0 commit comments

Comments
 (0)