If there is no patch number, ~
is equivalent to appending .x
to the non-tilde version. If there is a patch number, ~
allows all patch numbers >= the specified one.
~1 := 1.x
~1.2 := 1.2.x
~1.2.3 := (>=1.2.3 <1.3.0)
I don't have enough points to comment on the accepted answer, but some of the tilde information is at odds with the linked semver documentation: "angular": "~1.2"
will not match 1.3, 1.4, 1.4.9. Also "angular": "~1"
and "angular": "~1.0"
are not equivalent. This can be verified with the npm semver calculator.