Glide supports Semantic Versions, SemVer ranges, branches, tags, and commit ids as versions.
A simple range is in the form > 1.2.3. This tells Glide to use the latest versions that's after 1.2.3. Glide has support for the following operators:
=: equal (aliased to no operator)!=: not equal>: greater than<: less than>=: greater than or equal to<=: less than or equal toThese can be combined. A , is an and operator and a || is an or operator. The or operators cause groups of and operators to be checked. For example, ">= 1.2, < 3.0.0 || >= 4.2.3".
There are multiple shortcuts to handle ranges and the first is hyphens ranges. These look like:
1.2 - 1.4.5 which is equivalent to >= 1.2, <= 1.4.52.3.4 - 4.5 which is equivalent to >= 2.3.4, <= 4.5The x, X, and * characters can be used as a wildcard character. This works for all comparison operators. When used on the = operator it falls back to the patch level comparison (see tilde below). For example,
1.2.x is equivalent to >= 1.2.0, < 1.3.0>= 1.2.x is equivalent to >= 1.2.0<= 2.x is equivalent to < 3* is equivalent to >= 0.0.0The tilde (~) comparison operator is for patch level ranges when a minor version is specified and major level changes when the minor number is missing. For example,
~1.2.3 is equivalent to >= 1.2.3, < 1.3.0~1 is equivalent to >= 1, < 2~2.3 is equivalent to >= 2.3, < 2.4~1.2.x is equivalent to >= 1.2.0, < 1.3.0~1.x is equivalent to >= 1, < 2The caret (^) comparison operator is for major level changes. This is useful when comparisons of API versions as a major change is API breaking. For example,
^1.2.3 is equivalent to >= 1.2.3, < 2.0.0^1.2.x is equivalent to >= 1.2.0, < 2.0.0^2.3 is equivalent to >= 2.3, < 3^2.x is equivalent to >= 2.0.0, < 3