File: CHANGELOG.md

package info (click to toggle)
rust-versions 6.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 196 kB
  • sloc: makefile: 2
file content (195 lines) | stat: -rw-r--r-- 4,619 bytes parent folder | download
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
# `versions` Changelog

## 6.3.2 (2024-08-09)

#### Fixed

- An edge-case in Version/Mess comparisons. [#25][i25]

[i25]: https://github.com/fosskers/rs-versions/issues/25

## 6.3.1 (2024-08-05)

#### Fixed

- Parsing of `Mess` on a single digit will correctly yield `MChunk::Digits`.
- Improved comparison of `Version`s whose main chunks lead with a letter, e.g. `r23`.

## 6.3.0 (2024-06-15)

#### Changed

- Relaxed argument to `new` functions to accept `S: AsRef<str>`.

## 6.2.0 (2024-03-18)

#### Added

- `Requirement::serialize` for pretty-encoding of version "requirements strings".

## 6.1.0 (2024-01-12)

#### Added

- The `Requirement` type for testing version constraints.
- `Versioning::parse` for usage with `nom`.
- `Versioning::deserialize_pretty` for deserializing directly from raw version strings.

## 6.0.0 (2023-12-06)

While technically a breaking change, most users should not notice.

#### Changed

- The `Err` / `Error` associated types for automatic conversion of strings into
  proper version types have been changed from `()` to a proper `Error` enum.

## 5.0.1 (2023-08-13)

#### Changed

- Bumped `itertools` dependency.

## 5.0.0 (2023-05-09)

This introduces a very small, technically breaking change to the API involving a
single type. If you're just doing basic parsing and comparisons and not actually
inspecting the types themselves, you shouldn't notice a difference.

#### Changed

- Versions with `~` in their metadata will now parse as a `Mess`. Example: `12.0.0-3ubuntu1~20.04.5`

## 4.1.0 (2022-04-21)

#### Added

- `FromStr` and `TryFrom` instances for each type.

## 4.0.0 (2022-01-07)

#### Added

- The `Release` type.

#### Changed

- `SemVer` and `Version` have had their prerel field changed to `Release`.
- The `Chunk` type has changed from a struct to an enum.

#### Removed

- The `Unit` type.

#### Fixed

- A bug involving zeroes in `SemVer` prereleases.
- A bug involving the `Display` instance for `Version`.

## 3.0.3 (2021-08-23)

#### Changed

- Upgraded to `nom-7.0`.

## 3.0.2 (2021-05-27)

#### Added

- A proper LICENSE file.

#### Changed

- The `Hash` instance of `SemVer` is now hand-written to uphold the Law that:

```
k1 == k2 -> hash(k1) == hash(k2)
```

## 3.0.1 (2021-05-09)

#### Changed

- Certain parsers are now faster and use less memory.

## 3.0.0 (2021-04-16)

This release brings `versions` in line with version `2.0.0` of the SemVer spec.
The main addition to the spec is the allowance of hyphens in both the prerelease
and metadata sections. As such, **certain versions like 1.2.3+1-1 which
previously would not parse as SemVer now do.**

To accomodate this and other small spec updates, the `SemVer` and `Version`
types have received breaking changes here.

#### Added

- [`Serde`](https://serde.rs/) support through the optional `serde` feature.
- `Versioning::nth` to pick out certain fields of a generically parsed version.
- `Default` is now derived on `Versioning`, `SemVer`, `Version`, `Mess` and
  `Chunks` so that it's possible to initialize as a struct's field.

#### Changed

- **Breaking:** `SemVer::meta` and `Version::meta` no longer parse as `Chunks`
  but as vanilla `String`s.
- **Breaking:** As a semantic change, `Version`s now expect metadata to come
  **after** any prerelease, just as with `SemVer`. `Version` is now thus fairly
  similar to `SemVer`, except that is allows letters in more permissive
  positions.

#### Fixed

- Two small bugs involving `SemVer`/`Version` comparisons.

## 2.1.0 (2021-03-22)

#### Added

- `SemVer::parse`, `Version::parse`, and `Mess::parse` have been made `pub` so
  that these parsers can be integrated into other general `nom` parsers.

## 2.0.2 (2021-01-23)

#### Changed

- Updated to `itertools-0.10`.

## 2.0.1 (2020-11-19)

#### Changed

- Updated to `nom-6.0`.
- Utilize new type linking in docstrings, thanks to the latest stable Rust.

## 2.0.0 (2020-10-21)

#### Changed

- **Breaking:** `Mess::chunk` renamed to `Mess::chunks` to match `Version`.
- **Breaking:** `Mess` now stores smarter `Vec<MChunk>` instead of `String`s.
- `SemVer::to_version` is no longer a lossy conversion, due to the new field in `Version` (see below).
- Most `Display` instances are more efficient.

#### Added

- **Breaking:** The `meta: Option<Chunks>` field for `Version`.
- The `MChunk` type which allows `Mess` to do smarter comparisons.

#### Fixed

- A number of comparison edge cases.

## 1.0.1 (2020-06-15)

#### Changed

- Performance and readability improvements.

## 1.0.0 (2020-06-03)

This is the initial release of the library.

#### Added

- All types, parsers, and tests.