Skip to content

Releases: vargalabs/h5cpp-compiler

h5cpp-compiler-v1.12.6

28 May 11:46

Choose a tag to compare

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

25 May 00:47

Choose a tag to compare

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)
  • protobuf
  • json
  • msgpack
  • cbor
  • bson
  • avro
  • rlp
  • sql_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::gather support
  • 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

22 May 00:34

Choose a tag to compare

h5cpp-compiler-v1.12.3

19 May 18:14

Choose a tag to compare

What's Changed

Full Changelog: v1.0.2...v1.12.3

h5cpp-compiler-v1.0.2

07 Sep 12:52

Choose a tag to compare

  • #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

06 Sep 17:48

Choose a tag to compare

original release from many years ago