Changelog
All notable changes to the media-type-version project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.2.1 - 2025-12-20
Semi-incompatible changes
- Python implementation:
mtv-extract:- move the CLI dependencies to a separate
clidependency group; this means e.g. packaging systems must now install them separately
- move the CLI dependencies to a separate
- Rust implementation:
media-type-version:- switch to versioned names for the
facetunstable features so that, with the 0.32.x addition, the features are now namedfacet030-unstableandfacet032-unstable - switch to a versioned name for the
json-serialzero0-unstablefeature
- switch to versioned names for the
Fixes
- Python implementation:
- test suite:
- drop the unneeded
uvoxendependency from theunit-testsgroup
- drop the unneeded
- test suite:
- Rust implementation:
mtv-extract:- pin the version of the
media-type-versiondependency
- pin the version of the
- Documentation:
- bump some dependency versions for
uv --resolution=lowest
- bump some dependency versions for
Additions
- Python implementation:
- test suite:
- also run
ty0.0.4 for type checking
- also run
- test suite:
- Rust implementation:
media-type-version:- add the
facet032-unstablefeature
- add the
Other changes
- Python implementation:
mtv-extract:- allow
cappa0.31.x with no changes
- allow
- test suite:
- use
ruff0.14.10 with no changes - allow
pytest9.x, invoke it with the--strictoption
- use
- Rust implementation:
media-type-version:- internally import
facet0.30.x asfacet030,facet0.32.x asfacet032, andserialzero0.x asserialzero0
- internally import
- test suite:
- use
facet-testhelpers0.32.x with no changes - drop the isolated feature sets for
cargo-feature-combinations
- use
- Documentation:
- allow
mkdocstrings1.x andmkdocstrings-python2.x
- allow
0.2.0 - 2025-10-09
Incompatible changes
- The
mtv-extractcommand-line tool now expects a subcommand; both the Python and Rust implementations currently support thefeatures,json,lines, andtomlsubcommands.
Fixes
- Rust implementation:
media-type-version:- expose the
ConfigBuilderstruct at top level - pin the versions of the
facetdependencies
- expose the
mtv-extract:- bump the version of the
feature-checktest dependency to 2.3.0 for-Zminimal-versions
- bump the version of the
Additions
- Python implementation:
media-type-version:- add the
extract_from_table()function
- add the
mtv-extract:- switch to subcommands; implement
features,json,lines, andtoml
- switch to subcommands; implement
- Rust implementation:
media-type-version:- add configuration for the
cargo-feature-combinationstest runner - add the
Tabletrait and theextract_from_table()function enabled by the newextract-from-tablefeature - implement the
Tabletrait forboml::table::TomlTableenabled by the newtoml-boml1feature - implement the
Tabletrait forserialzero::JsonValueenabled by the newjson-serialzero-unstablefeature
- add configuration for the
mtv-extract:- switch to subcommands; implement
features,json,lines, andtoml - add a trivial stdin unit test
- run the Python test framework against the built
mtv-extractexecutable
- switch to subcommands; implement
Other changes
- Python implementation:
- bump the
uvoxendependency to 0.2.2 to support our version 0.2.x - use
ruff0.14.0 andreuse6.x with no changes - allow
cappaup to 0.30.x andmkdocstringsup to 0.30.x with no changes
- bump the
- Rust implementation:
media-type-version:- allow
facetup to 0.29.x
- allow
mtv-extract:- allow
facetup to 0.29.x
- allow
0.1.3 - 2025-06-16
Semi-incompatible changes
- Rust implementation:
media-type-version:- make the
defsmodule private; we expose everything we should viapub use
- make the
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
OwnedErrortype at crate top-level - expose the source error for
Error::UIntExpected - add a unit test for the
Facettrait
- expose the
Other changes
- Python implementation:
- refresh the
uv.lockfile
- refresh the
- Rust implementation:
media-type-version:- use
facet0.27.13 with no changes
- use
- push the
run-clippy.shtest tool down into therust/subdirectory - refresh the
Cargo.lockfile
0.1.2 - 2025-06-08
Additions
- Rust implementation:
media-type-version:- add the documentation base URL for the
crates-ioindex
- add the documentation base URL for the
Other changes
- Python implementation:
- allow
cappa0.28 with no changes - test suite:
- use
uvoxen0.2 and switch to amediaTypeformat version - use
ruff0.11.13 with no changes
- use
- allow
- Rust implementation:
media-type-version:- use
facet0.27.12 for thefacet-unstablefeature - minor refactoring
- use
mtv-extract:- switch from
anyhowtoeyre
- switch from
- test suite:
- switch from
anyhowtoeyre - switch from
test-logtofacet-testhelpers
- switch from
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.lockfile
- refresh the
- Rust implementation:
- constify some missed functions
0.1.0 - 2025-05-23
Started
- First public release.