Skip to content

feat(output): harmonize canonical schema for 0.4.2 - #112

Merged
maebli merged 2 commits into
mainfrom
fix/wasm-release-auth
Aug 10, 2026
Merged

feat(output): harmonize canonical schema for 0.4.2#112
maebli merged 2 commits into
mainfrom
fix/wasm-release-auth

Conversation

@maebli

@maebli maebli commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • advance canonical output to schema version 2
  • standardize frame functions, record functions, quantities, data coding names, and unit strings across Rust, Python, WebAssembly, JSON, YAML, CSV, tables, Mermaid, and annotations
  • expose standalone DIF/VIF record decoding through the canonical record contract
  • serialize annotation identifiers as snake_case
  • document the naming and interoperability contract
  • prepare Rust, CLI, Python, and WASM package metadata for release 0.4.2

Why

Output surfaces previously relied on a mixture of Rust Debug/Display representations and binding-specific record serialization. Units were represented as a nested object with both display and UCUM fields, while standalone Python record decoding returned a different structure from complete-frame decoding. This made equivalent data differ by output format and runtime.

Impact

Canonical structured output now uses schema version 2. The unit field is a single standardized string when a mapping is available, with a readable fallback otherwise. Legacy compatibility formats and the libmbus-compatible XML vocabulary remain unchanged.

Release tags v0.4.2, cli-v0.4.2, python-v0.4.2, and wasm-v0.4.2 will publish the package set. The WASM release also rebuilds and commits the website artifacts under docs/.

Validation

  • cargo test --workspace --all-features
  • cargo clippy --all-features -- -D warnings
  • Python extension API tests: 7 passed
  • headless Firefox WASM tests: 8 passed
  • cargo fmt --all -- --check
  • git diff --check

@maebli maebli changed the title feat(output): harmonize canonical schema feat(output): harmonize canonical schema for 0.4.2 Aug 10, 2026
@maebli
maebli marked this pull request as ready for review August 10, 2026 21:08
@maebli
maebli merged commit ef63481 into main Aug 10, 2026
13 checks passed
@maebli
maebli deleted the fix/wasm-release-auth branch August 10, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant