diff --git a/Libs/thirdparty/Hive.Versioning.dll b/Libs/thirdparty/Hive.Versioning.dll
index 02f9570f..a5a1e8fc 100644
Binary files a/Libs/thirdparty/Hive.Versioning.dll and b/Libs/thirdparty/Hive.Versioning.dll differ
diff --git a/Libs/thirdparty/Hive.Versioning.pdb b/Libs/thirdparty/Hive.Versioning.pdb
index 9c60699e..15bd577b 100644
Binary files a/Libs/thirdparty/Hive.Versioning.pdb and b/Libs/thirdparty/Hive.Versioning.pdb differ
diff --git a/Libs/thirdparty/Hive.Versioning.xml b/Libs/thirdparty/Hive.Versioning.xml
index e502d7d3..7e42b5c5 100644
--- a/Libs/thirdparty/Hive.Versioning.xml
+++ b/Libs/thirdparty/Hive.Versioning.xml
@@ -550,23 +550,33 @@
-
>=
- The unbounded range matches any greater than or equal to its specified .
+
+ The unbounded range matches any greater than or equal to its specified.
+
-
<=
- The unbounded range matches any less than or equal to its specified .
+
+ The unbounded range matches any less than or equal to its specified .
+
-
>
- The unbounded range matches any greater than its specified .
+
+ The unbounded range matches any greater than its specified .
+
-
<
- The unbounded range matches any less than its specified .
+
+ The unbounded range matches any less than its specified .
+
-
=
- The range matches only the that it is specified with.
+
+ The range matches only the that it is specified with.
+
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
-
@@ -577,15 +587,38 @@
to >=0.4.2 <0.5.0.
+
There are also a few special ranges:
+ -
+ *
+
+ The range. This range matches every possible version.
+
+
+ -
+ z or Z
+
+ The range. This range matches nothing.
+
+
A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
* is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *.
+ valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
+ except the singular *, any * may also be an x or X.
+
+ A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
+ what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
+ and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
+ before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
+ to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
+ range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
+ is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
+ to parse a first version, fails, and tries other forms a range can take before eventually failing out.
- The stirng to parse.
+ The string to parse.
The parsed .
Thrown when is not a valid .
@@ -604,23 +637,33 @@
-
>=
- The unbounded range matches any greater than or equal to its specified .
+
+ The unbounded range matches any greater than or equal to its specified.
+
-
<=
- The unbounded range matches any less than or equal to its specified .
+
+ The unbounded range matches any less than or equal to its specified .
+
-
>
- The unbounded range matches any greater than its specified .
+
+ The unbounded range matches any greater than its specified .
+
-
<
- The unbounded range matches any less than its specified .
+
+ The unbounded range matches any less than its specified .
+
-
=
- The range matches only the that it is specified with.
+
+ The range matches only the that it is specified with.
+
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
-
@@ -631,12 +674,35 @@
to >=0.4.2 <0.5.0.
+
There are also a few special ranges:
+ -
+ *
+
+ The range. This range matches every possible version.
+
+
+ -
+ z or Z
+
+ The range. This range matches nothing.
+
+
A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
* is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *.
+ valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
+ except the singular *, any * may also be an x or X.
+
+ A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
+ what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
+ and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
+ before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
+ to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
+ range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
+ is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
+ to parse a first version, fails, and tries other forms a range can take before eventually failing out.
The string to try to parse.
@@ -660,23 +726,33 @@
-
>=
- The unbounded range matches any greater than or equal to its specified .
+
+ The unbounded range matches any greater than or equal to its specified.
+
-
<=
- The unbounded range matches any less than or equal to its specified .
+
+ The unbounded range matches any less than or equal to its specified .
+
-
>
- The unbounded range matches any greater than its specified .
+
+ The unbounded range matches any greater than its specified .
+
-
<
- The unbounded range matches any less than its specified .
+
+ The unbounded range matches any less than its specified .
+
-
=
- The range matches only the that it is specified with.
+
+ The range matches only the that it is specified with.
+
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
-
@@ -687,12 +763,35 @@
to >=0.4.2 <0.5.0.
+
There are also a few special ranges:
+ -
+ *
+
+ The range. This range matches every possible version.
+
+
+ -
+ z or Z
+
+ The range. This range matches nothing.
+
+
A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
* is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *.
+ valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
+ except the singular *, any * may also be an x or X.
+
+ A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
+ what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
+ and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
+ before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
+ to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
+ range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
+ is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
+ to parse a first version, fails, and tries other forms a range can take before eventually failing out.
The string to try to parse.