Files
RahulGautamSingh 96ad4beb6a fix(versioning): use BigInt to avoid integer precision loss in gradle, maven and loose (#43901)
* fix(versioning): use BigInt to avoid integer precision loss in gradle, maven and loose

* fix(versioning): preserve exact update types

* Update lib/modules/versioning/maven/index.ts

* fix(versioning): satisfy func-style and prefer-at lint rules

* treat missing loose version section as zero in isSame

* fix coverage

* revert unrelated custom-manager rangeStrategy change

---------

Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>
2026-09-22 17:41:11 +00:00
..

Maven versioning is similar to SemVer but also very different in places. It's specified by Maven itself.

Ranges are supported using Maven's special syntax.

For development purposes, download maven-artifact JAR and run:

$ java -jar maven-artifact-*.jar 3.2.4-alpha-1 3.2.4-SNAPSHOT 3.2.4.0
Display parameters as parsed by Maven (in canonical form) and comparison result:
1. 3.2.4-alpha-1 == 3.2.4.alpha.1
   3.2.4-alpha-1 < 3.2.4-SNAPSHOT
2. 3.2.4-SNAPSHOT == 3.2.4.snapshot
   3.2.4-SNAPSHOT < 3.2.4.0
3. 3.2.4.0 == 3.2.4