5 * Add `subset(r1, r2)` method to determine if `r1` range is entirely
6 contained by `r2` range.
10 * Fix handling of `includePrelease` mode where version ranges like `1.0.0 -
11 2.0.0` would include `3.0.0-pre` and not `1.0.0-pre`.
15 * Fix bug where `2.0.0-pre` would be included in `^1.0.0` if
16 `includePrerelease` was set to true.
20 * Add `simplifyRange` method to attempt to generate a more human-readable
21 range expression that is equivalent to a supplied range, for a given set
26 * Remove fancy lazy-loading logic, as it was causing problems for webpack
31 * Add `require('semver/preload')` to load the entire module without using
36 * Refactor module into separate files for better tree-shaking
37 * Drop support for very old node versions, use const/let, `=>` functions,
42 * Expose the token enum on the exports
46 * Coerce numbers to strings when passed to semver.coerce()
47 * Add `rtl` option to coerce from right to left
51 * Handle X-ranges properly in includePrerelease mode
55 * Do not throw when testing invalid version strings
59 * Add options support for semver.coerce()
60 * Handle undefined version passed to Range.test
64 * Add semver.compareBuild function
65 * Support `*` in semver.intersects
69 * Fix `intersects` logic.
71 This is technically a bug fix, but since it is also a change to behavior
72 that may require users updating their code, it is marked as a major
77 * Add `minVersion` method
81 * Move boolean `loose` param to an options object, with
82 backwards-compatibility protection.
83 * Add ability to opt out of special prerelease version handling with
84 the `includePrerelease` option flag.
88 * Add version coercion capabilities
92 * Add intersection checking
96 * Add `minSatisfying` method
100 * Add `prerelease(v)` that returns prerelease components
104 * Add Backus-Naur for ranges
105 * Remove excessively cute inspection methods
109 * Remove AMD/Browserified build artifacts
110 * Fix ltr and gtr when using the `*` range
111 * Fix for range `*` with a prerelease identifier