File: changes.md

package info (click to toggle)
python-media-type-version 0.2.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 500 kB
  • sloc: python: 584; sh: 66; makefile: 10
file content (204 lines) | stat: -rw-r--r-- 6,634 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
196
197
198
199
200
201
202
203
204
<!--
SPDX-FileCopyrightText: Peter Pentchev <roam@ringlet.net>
SPDX-License-Identifier: BSD-2-Clause
-->

# Changelog

All notable changes to the media-type-version project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.1] - 2025-12-20

### Semi-incompatible changes

- Python implementation:
    - `mtv-extract`:
        - move the CLI dependencies to a separate `cli` dependency group;
          this means e.g. packaging systems must now install them separately
- Rust implementation:
    - `media-type-version`:
        - switch to versioned names for the `facet` unstable features so
          that, with the 0.32.x addition, the features are now named
          `facet030-unstable` and `facet032-unstable`
        - switch to a versioned name for the `json-serialzero0-unstable` feature

### Fixes

- Python implementation:
    - test suite:
        - drop the unneeded `uvoxen` dependency from the `unit-tests` group
- Rust implementation:
    - `mtv-extract`:
        - pin the version of the `media-type-version` dependency
- Documentation:
    - bump some dependency versions for `uv --resolution=lowest`

### Additions

- Python implementation:
    - test suite:
        - also run `ty` 0.0.4 for type checking
- Rust implementation:
    - `media-type-version`:
        - add the `facet032-unstable` feature

### Other changes

- Python implementation:
    - `mtv-extract`:
        - allow `cappa` 0.31.x with no changes
    - test suite:
        - use `ruff` 0.14.10 with no changes
        - allow `pytest` 9.x, invoke it with the `--strict` option
- Rust implementation:
    - `media-type-version`:
        - internally import `facet` 0.30.x as `facet030`, `facet` 0.32.x as
          `facet032`, and `serialzero` 0.x as `serialzero0`
    - test suite:
        - use `facet-testhelpers` 0.32.x with no changes
        - drop the isolated feature sets for `cargo-feature-combinations`
- Documentation:
    - allow `mkdocstrings` 1.x and `mkdocstrings-python` 2.x

## [0.2.0] - 2025-10-09

### Incompatible changes

- The `mtv-extract` command-line tool now expects a subcommand; both the Python and
  Rust implementations currently support the `features`, `json`, `lines`, and `toml`
  subcommands.

### Fixes

- Rust implementation:
    - `media-type-version`:
        - expose the `ConfigBuilder` struct at top level
        - pin the versions of the `facet` dependencies
    - `mtv-extract`:
        - bump the version of the `feature-check` test dependency to 2.3.0 for
          `-Zminimal-versions`

### Additions

- Python implementation:
    - `media-type-version`:
        - add the `extract_from_table()` function
    - `mtv-extract`:
        - switch to subcommands; implement `features`, `json`, `lines`, and `toml`
- Rust implementation:
    - `media-type-version`:
        - add configuration for the `cargo-feature-combinations` test runner
        - add the `Table` trait and the `extract_from_table()` function enabled by
          the new `extract-from-table` feature
        - implement the `Table` trait for `boml::table::TomlTable` enabled by
          the new `toml-boml1` feature
        - implement the `Table` trait for `serialzero::JsonValue` enabled by
          the new `json-serialzero-unstable` feature
    - `mtv-extract`:
        - switch to subcommands; implement `features`, `json`, `lines`, and `toml`
        - add a trivial stdin unit test
        - run the Python test framework against the built `mtv-extract` executable

### Other changes

- Python implementation:
    - bump the `uvoxen` dependency to 0.2.2 to support our version 0.2.x
    - use `ruff` 0.14.0 and `reuse` 6.x with no changes
    - allow `cappa` up to 0.30.x and `mkdocstrings` up to 0.30.x with no changes
- Rust implementation:
    - `media-type-version`:
        - allow `facet` up to 0.29.x
    - `mtv-extract`:
        - allow `facet` up to 0.29.x

## [0.1.3] - 2025-06-16

### Semi-incompatible changes

- Rust implementation:
    - `media-type-version`:
        - make the `defs` module private; we expose everything we should via `pub use`

### Fixes

- Rust implementation:
    - `mtv-extract`:
        - fix the invalid "media type" Cargo metadata keyword
- Documentation:
    - fix the download URLs

### Additions

- Rust implementation:
    - `media-type-version`:
        - expose the `OwnedError` type at crate top-level
        - expose the source error for `Error::UIntExpected`
        - add a unit test for the `Facet` trait

### Other changes

- Python implementation:
    - refresh the `uv.lock` file
- Rust implementation:
    - `media-type-version`:
        - use `facet` 0.27.13 with no changes
    - push the `run-clippy.sh` test tool down into the `rust/` subdirectory
    - refresh the `Cargo.lock` file

## [0.1.2] - 2025-06-08

### Additions

- Rust implementation:
    - `media-type-version`:
        - add the documentation base URL for the `crates-io` index

### Other changes

- Python implementation:
    - allow `cappa` 0.28 with no changes
    - test suite:
        - use `uvoxen` 0.2 and switch to a `mediaType` format version
        - use `ruff` 0.11.13 with no changes
- Rust implementation:
    - `media-type-version`:
        - use `facet` 0.27.12 for the `facet-unstable` feature
        - minor refactoring
    - `mtv-extract`:
        - switch from `anyhow` to `eyre`
    - test suite:
        - switch from `anyhow` to `eyre`
        - switch from `test-log` to `facet-testhelpers`

## [0.1.1] - 2025-05-23

### Fixes

- Rust implementation:
    - replace the invalid "media type" crate keyword with "media-type"

### Other changes

- Python implementation:
    - refresh the `uv.lock` file
- Rust implementation:
    - constify some missed functions

## [0.1.0] - 2025-05-23

### Started

- First public release.

[Unreleased]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.2.1...main
[0.2.1]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.2.0...release/0.2.1
[0.2.0]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.1.3...release/0.2.0
[0.1.3]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.1.2...release/0.1.3
[0.1.2]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.1.1...release/0.1.2
[0.1.1]: https://gitlab.com/ppentchev/media-type-version/-/compare/release%2F0.1.0...release/0.1.1
[0.1.0]: https://gitlab.com/ppentchev/media-type-version/-/tags/release%2F0.1.0