Skip to content

v2.0.0

  • v2.0.0
  • a082e9f
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v2.0.0
  • a082e9f
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@stephenberry stephenberry tagged this 08 Jun 19:50
BREAKING CHANGE: `mat` (MATLAB v7.3 / HDF5 file interop) is no longer a default
feature. The default build is now lean -- just serde + half + simdutf8 -- and no
longer drags in hdf5-pure and its compression stack (flate2/miniz_oxide/crc32fast,
7 transitive crates) for the common case that only uses core BEVE ser/de.
Consumers who use the MATLAB/HDF5 export path must now enable it explicitly:

    beve = { version = "2", features = ["mat"] }

Removing a feature from the default set is breaking under Cargo's semver rules,
hence the major bump. Migration is one line (add `features = ["mat"]`); every
consumer that does not touch `beve::mat::*` simply stops pulling in the HDF5
dependency stack and can drop any `default-features = false` workaround.

- Cargo.toml: `default = []`; bump 1.6.0 -> 2.0.0. Drop the unconditional
  `hdf5-pure` dev-dependency -- the only test that uses it (`tests/mat_v73.rs`)
  is `#[cfg(feature = "mat")]`, and enabling `mat` makes the optional main
  dependency nameable from the integration test, so a mat-off `cargo test` now
  pulls in no HDF5 stack at all.
- src/bin/beve-cli.rs: gate the `to-mat` command behind `#[cfg(feature = "mat")]`
  so the CLI still builds and offers to-json/from-json without the feature; a
  mat-off `to-mat` invocation prints a clear 'rebuild with --features mat' error
  and usage output omits it.
- CI: add default-feature (mat-off) clippy + test on stable and a default
  `cargo check` on MSRV. The existing `--all-features` jobs never compile the
  `#[cfg(not(feature = "mat"))]` paths, so the lean default needs its own guard.
- README: document that `mat` is opt-in / off by default and correct the install
  snippet (`beve = "2"`).
Assets 2
Loading