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