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 ofcopy_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)?;