Skip to main content

Changelog

All notable changes to HDDS are documented here.

[Unreleased]

Added

  • hdds_gen TypeScript backend - Generate TypeScript interfaces with CDR2 encode/decode
  • @default annotation - Support for @default(value) in IDL parser
  • Builders for IDL structs - Type-safe builder pattern generation
  • Topic wildcards - MQTT-style matching (+ single-level, # multi-level)
  • LowBw RX pipeline - Complete process_frame() with CRC, delta decoding, compression
  • Cdr2Encode/Cdr2Decode for String - CDR2 traits for String type
  • hdds-ws documentation - Complete README with JavaScript/TypeScript examples
  • Python async/await support
  • Shared memory transport (experimental)
  • Content-filtered topics

Changed

  • Improved discovery performance by 40%

Quality

  • Full sanitizer validation - All 4 sanitizers pass clean:
    • Valgrind: 0 bytes definitely lost
    • ASan: 2171/2173 tests (2 timing-sensitive excluded)
    • TSan: 0 data races (std lib false positives only)
    • MSan: 0 uninitialized reads (std lib false positive only)
  • Continuous fuzzing - 4 fuzz targets, 12,893 corpus entries, 0 crashes:
    • fuzz_rtps_spdp (2,054), fuzz_rtps_sedp (3,939)
    • fuzz_rtps_control (517), fuzz_xml_permissions (6,383)

Fixed

  • sequence<string> codegen - Fixed generation for bounded strings
  • Float array encoding - Use to_le_bytes() loop instead of copy_from_slice
  • Memory leak in long-running subscribers (99.1% reduction)
  • Multicast route detection on macOS

[1.0.0] - 2024-12-01

First Stable Release

HDDS 1.0.0 marks the first production-ready release with full DDS 1.4 and RTPS 2.5 compliance.

Features

  • Core DDS API

    • DomainParticipant, Publisher, Subscriber
    • Topic, DataWriter, DataReader
    • Full QoS policy support (22 policies)
  • Multi-Language Support

    • Rust (native)
    • C bindings (FFI)
    • C++ bindings (RAII wrapper)
    • Python bindings (PyO3)
  • RTPS 2.5 Compliance

    • SPDP/SEDP discovery
    • Reliable and best-effort transport
    • Large data fragmentation
    • Participant redundancy
  • Interoperability

    • Tested with FastDDS, RTI Connext, CycloneDDS
    • Wire-compatible with RTPS 2.3+ implementations
  • Tools

    • hdds_gen code generator
    • hdds_viewer network analyzer
    • hdds_studio visual IDL editor

Known Limitations

  • DDS Security is feature-complete but not yet FIPS certified
  • Shared memory transport is experimental
  • Windows ARM64 not yet supported

[0.9.0] - 2024-10-15

Release Candidate

  • Feature freeze for 1.0
  • Security audit completed
  • Performance benchmarks published

[0.8.0] - 2024-08-01

Beta Release

  • C++ bindings added
  • QoS XML profile support
  • hdds_studio initial release

Migration Guides

Migrating from 0.x to 1.0

Breaking changes in 1.0:

// 0.x API
let writer = participant.create_datawriter(&topic)?;

// 1.0 API - renamed for clarity
let writer = participant.create_writer(&topic)?;