Releases: vargalabs/h5cpp-compiler
Releases · vargalabs/h5cpp-compiler
h5cpp-compiler-v1.12.6
What's Changed
- [#36]:svarga:fix, regenerate h5 fixture goldens after producer output change by @steven-varga in #37
Full Changelog: v1.12.5...v1.12.6
h5cpp-compiler-v1.12.5
h5cpp-compiler v1.12.5 Release Notes
Full Changelog: v1.12.4...v1.12.5
What's New
h5cpp-compiler v1.12.5 is a major feature release that transforms the tool from a single-backend HDF5 descriptor generator into a unified multi-backend serialization compiler. This release adds 8 new output backends alongside a foundational attribute translator framework and a generic test harness.
New Features
Multi-Backend CLI (--format)
The compiler now supports a unified --format dispatcher with stubs and full implementations for 9 output formats:
hdf5(existing, enhanced)protobufjsonmsgpackcborbsonavrorlpsql_postgres,sql_mysql,sql_lite3
New Backends
| Backend | Description | Issues |
|---|---|---|
| Protocol Buffers | Tier-1 producer with pb::encode/pb::decode matcher, attribute vocabulary with .proto text emitter, and clean [[pb::xxx()]] syntax |
#30, #31 |
| JSON Schema | Descriptor emitter with json::attribute support |
#33 |
| MessagePack | Descriptor emitter with msgpack::attribute support, ext type handling |
#34 |
| CBOR | Descriptor emitter with cbor::attribute support, tag handling |
#35 |
| BSON | Descriptor emitter with bson::attribute support, datetime/binary/decimal128 types |
#36 |
| Avro | Descriptor emitter with avro::attribute support, datetime/decimal/fixed types |
#37 |
| RLP | Descriptor emitter with rlp::attribute support |
#38 |
| SQL DDL | DDL producer for PostgreSQL, MySQL, and SQLite3 dialects with attribute taxonomy | #33 |
Enhanced HDF5 Backend
- Tier-2 scatter/gather attribute emission with
h5::scatter/h5::gathersupport - Full attribute vocabulary:
h5::name,h5::ignore,h5::chunk,h5::compress,h5::on_missing,h5::serialize,h5::metadata
Attribute Translator Framework
- Source-level rewriter converting
[[ns::name(...)]]annotations into[[clang::annotate("ns::name", ...)]]for all backend namespaces - Virtual-file hook for pre-AST attribute translation
- Generic AST vector/string helpers
Testing & Quality
- Generic test runner with per-backend golden baseline support
- 73 total test fixtures across all backends:
- 21 HDF5 base fixtures
- 14 Protocol Buffers fixtures
- 7 BSON fixtures
- 7 Avro fixtures
- 7 MessagePack fixtures
- 6 CBOR fixtures
- 5 RLP fixtures
- 5 JSON Schema fixtures
- 3 SQL DDL fixtures
- All tests passing on Linux (GCC/Clang), macOS (Apple Clang), and Windows (MSVC)
Released: May 2026
h5cpp-compiler-v1.12.4
Full Changelog: v1.12.3...v1.12.4
h5cpp-compiler-v1.12.3
What's Changed
- [#12]:svarga:ci, align CI matrix with h5cpp staging and replace HDF5 dep with LLVM toolchain by @steven-varga in #15
- [#13]:svarga:test, add transform fixture pack for coverage by @steven-varga in #16
- [#9]:svarga:refactor, emit compiler_meta_t and is_reflected_compound_t instead of register_struct by @steven-varga in #17
- [#6] Add Codecov coverage job to CI by @steven-varga in #11
- [#13]:svarga:test, add transform fixture pack for coverage by @steven-varga in #20
- [#14]:svarga:ci, add ASan and UBSan jobs with separate badges by @steven-varga in #21
Full Changelog: v1.0.2...v1.12.3
h5cpp-compiler-v1.0.2
- #1 levereged LLVM difference from 2020 to today (this is a work in progress)
- #2 added github pages based documentation framework
- #5 added github action continuous integration with compiler matrix
Full Changelog: v1.0.2...v1.0.2
h5cpp-compiler-v1.0.1
original release from many years ago