7.6.3 (2024-07-16)
7.6.2 (2024-05-09)
7.6.1 (2024-05-04)
c570a34
#704 linting: no-unused-vars (@wraithgar)ad8ff11
#704 use internal cache implementation (@mbtools)ac9b357
#682 typo in compareBuild debug message (#682) (@mbtools)
dd09b60
#705 bump @npmcli/template-oss to 4.22.0 (@lukekarrys)ec49cdc
#701 chore: chore: postinstall for dependabot template-oss PR (@lukekarrys)b236c3d
#696 add benchmarks (#696) (@H4ad)692451b
#688 various improvements to README (#688) (@mbtools)5feeb7f
#705 postinstall for dependabot template-oss PR (@lukekarrys)074156f
#701 bump @npmcli/template-oss from 4.21.3 to 4.21.4 (@dependabot[bot])
7.6.0 (2024-01-31)
a7ab13a
#671 preserve pre-release and build parts of a version on coerce (#671) (@madtisa, madtisa, @wraithgar)
816c7b2
#667 postinstall for dependabot template-oss PR (@lukekarrys)0bd24d9
#667 bump @npmcli/template-oss from 4.21.1 to 4.21.3 (@dependabot[bot])e521932
#652 postinstall for dependabot template-oss PR (@lukekarrys)8873991
#652 chore: chore: postinstall for dependabot template-oss PR (@lukekarrys)f317dc8
#652 bump @npmcli/template-oss from 4.19.0 to 4.21.0 (@dependabot[bot])7303db1
#658 add clean() test for build metadata (#658) (@jethrodaniel)6240d75
#656 add missing quotes in README.md (#656) (@zyxkad)14d263f
#625 postinstall for dependabot template-oss PR (@lukekarrys)7c34e1a
#625 bump @npmcli/template-oss from 4.18.1 to 4.19.0 (@dependabot[bot])123e0b0
#622 postinstall for dependabot template-oss PR (@lukekarrys)737d5e1
#622 bump @npmcli/template-oss from 4.18.0 to 4.18.1 (@dependabot[bot])cce6180
#598 postinstall for dependabot template-oss PR (@lukekarrys)b914a3d
#598 bump @npmcli/template-oss from 4.17.0 to 4.18.0 (@dependabot[bot])
7.5.4 (2023-07-07)
cc6fde2
#588 trim each range set before parsing (@lukekarrys)99d8287
#583 correctly parse long build ids as valid (#583) (@lukekarrys)
7.5.3 (2023-06-22)
7.5.2 (2023-06-15)
58c791f
#566 diff when detecting major change from prerelease (#566) (@lukekarrys)5c8efbc
#565 preserve build in raw after inc (#565) (@lukekarrys)717534e
#564 better handling of whitespace (#564) (@lukekarrys)
7.5.1 (2023-05-12)
7.5.0 (2023-04-17)
e219bb4
#552 throw on bad version with correct error message (#552) (@wraithgar)fc2f3df
#546 incorrect results from diff sometimes with prerelease versions (#546) (@tjenkinson)2781767
#547 avoid re-instantiating SemVer during diff compare (#547) (@macno)
7.4.0 (2023-04-10)
113f513
#532 identifierBase parameter for .inc (#532) (@wraithgar, @b-bly)48d8f8f
#530 export new RELEASE_TYPES constant (@hcharley)
940723d
#538 intersects with v0.0.0 and v0.0.0-0 (#538) (@wraithgar)aa516b5
#535 faster parse options (#535) (@H4ad)61e6ea1
#536 faster cache key factory for range (#536) (@H4ad)f8b8b61
#541 optimistic parse (#541) (@H4ad)796cbe2
#533 semver.diff prerelease to release recognition (#533) (@wraithgar, @dominique-blockchain)3f222b1
#537 reuse comparators on subset (#537) (@H4ad)f66cc45
#539 faster diff (#539) (@H4ad)
7.3.8 (2022-10-04)
7.3.7 (2022-04-11)
- allow node >=10 (85b269a)
- bin: get correct value from arg separated by equals (#449) (4ceca76), closes #431
- ensure SemVer instance passed to inc are not modified (#427) (f070dde)
- inc prerelease with numeric preid (#380) (802e161)
- revert to lru-cache@6 (22ae54d)
7.3.6 (2022-04-05)
- npm#329 (cb1ca1d)
- properly escape dots in
GTE0
regexes (#432) (11494f1) - replace deprecated String.prototype.substr() (#445) (e2d55e7)
- replace regex used to split ranges (#434) (9ab7b71)
- clarify * range behavior (cb1ca1d)
- Add
subset(r1, r2)
method to determine ifr1
range is entirely contained byr2
range.
- Fix handling of
includePrelease
mode where version ranges like1.0.0 - 2.0.0
would include3.0.0-pre
and not1.0.0-pre
.
- Fix bug where
2.0.0-pre
would be included in^1.0.0
ifincludePrerelease
was set to true.
- Add
simplifyRange
method to attempt to generate a more human-readable range expression that is equivalent to a supplied range, for a given set of versions.
- Remove fancy lazy-loading logic, as it was causing problems for webpack users.
- Add
require('semver/preload')
to load the entire module without using lazy getter methods.
- Refactor module into separate files for better tree-shaking
- Drop support for very old node versions, use const/let,
=>
functions, and classes.
- Expose the token enum on the exports
- Coerce numbers to strings when passed to semver.coerce()
- Add
rtl
option to coerce from right to left
- Handle X-ranges properly in includePrerelease mode
- Do not throw when testing invalid version strings
- Add options support for semver.coerce()
- Handle undefined version passed to Range.test
- Add semver.compareBuild function
- Support
*
in semver.intersects
-
Fix
intersects
logic.This is technically a bug fix, but since it is also a change to behavior that may require users updating their code, it is marked as a major version increment.
- Add
minVersion
method
- Move boolean
loose
param to an options object, with backwards-compatibility protection. - Add ability to opt out of special prerelease version handling with
the
includePrerelease
option flag.
- Add version coercion capabilities
- Add intersection checking
- Add
minSatisfying
method
- Add
prerelease(v)
that returns prerelease components
- Add Backus-Naur for ranges
- Remove excessively cute inspection methods
- Remove AMD/Browserified build artifacts
- Fix ltr and gtr when using the
*
range - Fix for range
*
with a prerelease identifier