Releases: Masterminds/semver
Releases · Masterminds/semver
v3.3.0
What's Changed
- Fix: bad package in README by @sdelicata in #226
- Updating the GitHub Actions and versions of Go used by @mattfarina in #229
- Fix spelling in README by @robinschneider in #222
- Adding go build cache to fuzz output by @mattfarina in #232
- Add caching to fuzz testing by @mattfarina in #234
- updating github actions by @mattfarina in #235
- feat: nil version equality by @KnutZuidema in #213
- add >= and <= by @grosser in #238
- doc: hyphen range constraint without whitespace by @johnnychen94 in #216
- Removing reference to vert by @mattfarina in #245
- simplify StrictNewVersion by @grosser in #241
- Updating the testing version of Go used by @mattfarina in #246
- bumping min version in go.mod based on what's tested by @mattfarina in #248
- Updating changelog for 3.3.0 by @mattfarina in #249
New Contributors
- @sdelicata made their first contribution in #226
- @robinschneider made their first contribution in #222
- @KnutZuidema made their first contribution in #213
- @grosser made their first contribution in #238
- @johnnychen94 made their first contribution in #216
Full Changelog: v3.2.1...v3.3.0
v3.2.1
Changed
- #198: Improved testing around pre-release names
- #200: Improved code scanning with addition of CodeQL
- #201: Testing now includes Go 1.20. Go 1.17 has been dropped
- #202: Migrated Fuzz testing to Go built-in Fuzzing. CI runs daily
- #203: Docs updated for security details
Fixed
- #199: Fixed issue with range transformations
Full Changelog: v3.2.0...v3.2.1
v3.2.0
Added
- #190: Added text marshaling and unmarshaling
- #167: Added JSON marshalling for constraints (thanks @SimonTheLeg)
- #173: Implement encoding.TextMarshaler and encoding.TextUnmarshaler on Version (thanks @MarkRosemaker)
- #179: Added New() version constructor (thanks @kazhuravlev)
Changed
Fixed
v3.1.1
3.1.0
Added
- #131: Add support for serializing/deserializing SQL (thanks @ryancurrah)
Changed
- #148: More accurate validation messages on constraints
v3.0.3
3.0.2
Fixed
- #134: Fixed broken constraint checking with ^0.0 (thanks @krmichelos)
3.0.1
v3.0.0
This is a major release of the semver package which includes API changes. The Go
API is compatible with ^1. The Go API was not changed because many people are using
go get
without Go modules for their applications and API breaking changes cause
errors which we have or would need to support.
The changes in this release are the handling based on the data passed into the
functions. These are described in the added and changed sections below.
Added
- StrictNewVersion function. This is similar to NewVersion but will return an
error if the version passed in is not a strict semantic version. For example,
1.2.3 would pass but v1.2.3 or 1.2 would fail because they are not strictly
speaking semantic versions. This function is faster, performs fewer operations,
and uses fewer allocations than NewVersion. - Fuzzing has been performed on NewVersion, StrictNewVersion, and NewConstraint.
The Makefile contains the operations used. For more information on you can start
on Wikipedia at https://en.wikipedia.org/wiki/Fuzzing - Now using Go modules
Changed
- NewVersion has proper prerelease and metadata validation with error messages
to signal an issue with either of them - Handles space separated AND conditions in addition to ,
- ^ now operates using a similar set of rules to npm/js and Rust/Cargo. If the
version is >=1 the ^ ranges works the same as v1. For major versions of 0 the
rules have changed. The minor version is treated as the stable version unless
a patch is specified and then it is equivalent to =. One difference from npm/js
is that prereleases there are only to a specific version (e.g. 1.2.3).
Prereleases here look over multiple versions and follow semantic version
ordering rules. This pattern now follows along with the expected and requested
handling of this packaged by numerous users.
Release 1.5.0
Added
Changed
- #82: Clarify wildcard meaning in range constraints and update tests for it (thanks @greysteil)
- #83: Clarify caret operator range for pre-1.0.0 dependencies (thanks @greysteil)
- #72: Adding docs comment pointing to vert for a cli
- #71: Update the docs on pre-release comparator handling
- #89: Test with new go versions (thanks @thedevsaddam)
- #87: Added $ to ValidPrerelease for better validation (thanks @jeremycarroll)
Fixed
- #78: Fix unchecked error in example code (thanks @ravron)
- #70: Fix the handling of pre-releases and the 0.0.0 release edge case
- #97: Fixed copyright file for proper display on GitHub
- #107: Fix handling prerelease when sorting alphanum and num
- #109: Fixed where Validate sometimes returns wrong message on error