summaryrefslogtreecommitdiff
path: root/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md
blob: f12626423a3e4d631d1e87e1ea4f730515851f0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# Changelog

## 3.2.0 (2022-11-28)

### 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

- #182/#183: Updated CI testing setup

### Fixed

- #186: Fixing issue where validation of constraint section gave false positives
- #176: Fix constraints check with *-0 (thanks @mtt0)
- #181: Fixed Caret operator (^) gives unexpected results when the minor version in constraint is 0 (thanks @arshchimni)
- #161: Fixed godoc (thanks @afirth)

## 3.1.1 (2020-11-23)

### Fixed

- #158: Fixed issue with generated regex operation order that could cause problem

## 3.1.0 (2020-04-15)

### Added

- #131: Add support for serializing/deserializing SQL (thanks @ryancurrah)

### Changed

- #148: More accurate validation messages on constraints

## 3.0.3 (2019-12-13)

### Fixed

- #141: Fixed issue with <= comparison

## 3.0.2 (2019-11-14)

### Fixed

- #134: Fixed broken constraint checking with ^0.0 (thanks @krmichelos)

## 3.0.1 (2019-09-13)

### Fixed

- #125: Fixes issue with module path for v3

## 3.0.0 (2019-09-12)

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
- ^ 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.

## 1.5.0 (2019-09-11)

### Added

- #103: Add basic fuzzing for `NewVersion()` (thanks @jesse-c)

### 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

## 1.4.2 (2018-04-10)

### Changed

- #72: Updated the docs to point to vert for a console appliaction
- #71: Update the docs on pre-release comparator handling

### Fixed

- #70: Fix the handling of pre-releases and the 0.0.0 release edge case

## 1.4.1 (2018-04-02)

### Fixed

- Fixed #64: Fix pre-release precedence issue (thanks @uudashr)

## 1.4.0 (2017-10-04)

### Changed

- #61: Update NewVersion to parse ints with a 64bit int size (thanks @zknill)

## 1.3.1 (2017-07-10)

### Fixed

- Fixed #57: number comparisons in prerelease sometimes inaccurate

## 1.3.0 (2017-05-02)

### Added

- #45: Added json (un)marshaling support (thanks @mh-cbon)
- Stability marker. See https://masterminds.github.io/stability/

### Fixed

- #51: Fix handling of single digit tilde constraint (thanks @dgodd)

### Changed

- #55: The godoc icon moved from png to svg

## 1.2.3 (2017-04-03)

### Fixed

- #46: Fixed 0.x.x and 0.0.x in constraints being treated as *

## Release 1.2.2 (2016-12-13)

### Fixed

- #34: Fixed issue where hyphen range was not working with pre-release parsing.

## Release 1.2.1 (2016-11-28)

### Fixed

- #24: Fixed edge case issue where constraint "> 0" does not handle "0.0.1-alpha"
  properly.

## Release 1.2.0 (2016-11-04)

### Added

- #20: Added MustParse function for versions (thanks @adamreese)
- #15: Added increment methods on versions (thanks @mh-cbon)

### Fixed

- Issue #21: Per the SemVer spec (section 9) a pre-release is unstable and
  might not satisfy the intended compatibility. The change here ignores pre-releases
  on constraint checks (e.g., ~ or ^) when a pre-release is not part of the
  constraint. For example, `^1.2.3` will ignore pre-releases while
  `^1.2.3-alpha` will include them.

## Release 1.1.1 (2016-06-30)

### Changed

- Issue #9: Speed up version comparison performance (thanks @sdboyer)
- Issue #8: Added benchmarks (thanks @sdboyer)
- Updated Go Report Card URL to new location
- Updated Readme to add code snippet formatting (thanks @mh-cbon)
- Updating tagging to v[SemVer] structure for compatibility with other tools.

## Release 1.1.0 (2016-03-11)

- Issue #2: Implemented validation to provide reasons a versions failed a
  constraint.

## Release 1.0.1 (2015-12-31)

- Fixed #1: * constraint failing on valid versions.

## Release 1.0.0 (2015-10-20)

- Initial release