Skip to content

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 10 Feb 19:25
· 544 commits to main since this release

Changed

  • BREAKING: Removed 7 experimental serialization formats (mrrc-experiments#19): Deleted protobuf, arrow, parquet, flatbuffers, messagepack, cbor, and avro support (~15,100 lines across 78 files). These added significant build complexity and dependency weight without proven adoption. Only ISO 2709 and BIBFRAME remain.
  • BIBFRAME promoted to core: BIBFRAME conversion is now always-compiled rather than feature-gated (format-bibframe), reflecting its importance as the LOC linked data format. Dependencies oxrdfio and oxrdf are now non-optional.
  • Python bindings simplified: Removed format-specific classes (ProtobufReader, ArrowWriter, etc.), mrrc/analytics.py, and format submodules. Simplified read()/write() helpers and __init__.py exports.
  • Clean repo history: Recreated repository as dchud/mrrc with a clean two-commit history, replacing dchud/mrrc-experiments. Build artifacts, large test fixtures, and accumulated cruft from the experimental phase are no longer in git history.
  • Test fixtures: Removed 25MB 100k_records.mrc from repo; gitignored to prevent re-commit. Regenerable via scripts/generate_benchmark_fixtures.py. Benchmark tests depending on 100k fixture removed.
  • Build simplification: Removed build.rs (was only for protobuf/flatbuffers code generation), src/generated/, proto/, and ~20 dependencies from Cargo.toml.
  • Local CI script: Updated .cargo/check.sh to use uv run for maturin and pytest steps instead of manual venv activation.
  • 100k fixture scrub: Removed remaining references to 100k_records.mrc from scripts, benches, CI workflow names, and public docs (benchmarks, contributing, tests README). Fixture generation script no longer produces the 100k file.
  • Developer docs standardized on uv: Replaced manual venv activation and bare maturin develop/pytest commands with uv sync/uv run equivalents across installation, development setup, testing, and migration guides.
  • Release procedure updated: Refreshed for OIDC trusted publishing (replaces PYPI_API_TOKEN), added installation.md and quickstart-rust.md to version-bump checklist.
  • Rust dependency version in docs: Updated hardcoded mrrc = "0.6" to "0.7" in installation and quickstart guides.

Fixed

  • Flaky benchmark test: test_backend_comparison_1k now uses 5 iterations with median instead of 3 iterations with mean, making it resilient to single-iteration CI runner I/O spikes.
  • CI: Python release workflow: Added actions/setup-python before maturin-action to properly set Python version; python-version is not a valid input for maturin-action
  • CI: Python release OIDC publishing: Removed password: secret from pypa/gh-action-pypi-publish step; action auto-detects OIDC token from id-token: write permission
  • CI: Re-enabled ASAN memory-safety workflow: Upstream Rust issue (rust-lang/rust#144168) that caused zerocopy nightly incompatibility has been resolved
  • CI: ASAN workflow zerocopy_derive fix: Removed -Zavoid-dev-deps flag which caused zerocopy_derive proc-macro resolution failures on nightly
  • CI: CodSpeed benchmark integration: Re-linked repository with CodSpeed after clean repo creation
  • Beads: Gitignore rotated daemon logs: Added daemon-*.log.gz pattern to .beads/.gitignore and removed accidentally committed 2.7MB rotated log file