Repository navigation
v1.0.0-rc.7
Pre-releaseZeroDDS 1.0.0-rc.7
A release candidate. The workspace was taken apart and rebuilt: members went
from 141 entries to three, the old code was deleted (1,321 files), and every
crate re-entered on the new foundation. 134 crates are on crates.io at
1.0.0-rc.7.
The full list is the 1.0.0-rc.7 section of CHANGELOG.md:
7 removals, 33 security entries, 91 changes, 86 additions, 161 fixes.
Breaking
A selection; the CHANGELOG marks 34 entries BREAKING, each with what to change.
- Twelve crates no longer exist.
zerodds-cdr→zerodds-wire;
zerodds-idl→zerodds-idl-cst/-parse/-loweroverzerodds-ast;
thezerodds-idl-<lang>backends →zerodds-lang-rules. For abuild.rs
the chain is one call:zerodds_build::Config::new().compile(&["types.idl"]). zerodds-idlckeeps its name; the per-language flags became
generate --lang <name>.- The default CDR dialect is the specification's, not Cyclone's.
- Generated Rust: an IDL
mapis aVec<MapEntry<K, V>>. UserWriterConfig,UserReaderConfigandParticipantBuiltinTopicData
grew fields; initialise with..Default::default().zerodds-security:LoggingPluginhas the operations of DDS-Security
1.2 Table 46.- C++ API: the
dds::value, QoS, status and sample classes are the ones
DDS-PSM-Cxx 1.0 §7.5 and §7.6 define. Java PSM: theorg.omg.ddstypes
are the specification's interfaces and abstract classes, errors are
exceptions,TopicTypeis gone. - DDS-RPC: operation opcodes are the hash of the operation name.
- Python:
zerodds.idlandzerodds.cdrare gone.
Security
DDS-Security 1.2: PKI-DH (GUID, SharedSecret, AuthRequestMessageToken, CRL,
algorithm names), permissions bound to the SubjectName and evaluated after
§10.4.1.5.3, governance and permissions refused outside the XSD, SRTPS flags
and HeaderExtension, key material per protection kind, crypto tokens only to
their destination. cryptoki 0.12 and duckdb 1.10506.1 close four advisories.
Interoperability notes
- A reader holds a writer to the
dataMaxSizeSerializedit announced
(DDSI-RTPS 2.5 Table 8.72). Fast DDS 3.6.1 announces less than it sends for
a type with an unbounded member; against it, set
reader.honor_data_max_size_serialized=false
(ZERODDS_READER_HONOR_DATA_MAX_SIZE_SERIALIZED=false). - RTI Connext declares a PL_CDR1 parameter length rounded up to four; a
generated codec reads it in thertidialect. - The examples in zero-dds-snippets
build and run against this release, including the cross-vendor legs
against Cyclone DDS, Fast DDS, OpenDDS, OpenSplice, iceoryx and ROS 2.
Installation
macOS
Recommended: zerodds-bundle-*.pkg (signed + notarized + stapled — Gatekeeper accepts it without a workaround).
Tarball variant (*.tar.xz): Apple notarytool does not accept .tar.xz, so the tarball binary carries no notarization ticket. After unpacking:
xattr -d com.apple.quarantine zerodds-* 2>/dev/null
chmod +x zerodds-*Linux
- Arch:
paru -S zerodds-bin(precompiled) orparu -S zerodds(build from source) - Debian/Ubuntu: download
*.deb+sudo dpkg -i - Fedora/RHEL: download
*.rpm+sudo dnf install - Generic:
*.tar.xzfor whichever component you want
Windows
- MSI installer:
zerodds-1.0.0-rc.7-x64.msi(unsigned when no Windows certificate is configured) - Portable: download
*.zip+ extract
Docker
Multi-arch (amd64/arm64) on ghcr.io and Docker Hub:
docker pull ghcr.io/zero-objects/zerodds-cli:v1.0.0-rc.7
docker pull fishermen21/zerodds-mqtt-bridged:v1.0.0-rc.7Crates.io
cargo install zerodds-record zerodds-bench zerodds-monitor-cli zerodds-spy zerodds-snitch zerodds-pcap zerodds-mqWhat's Changed
- docs(examples): fixed First publisher and subscriber example by @adriano-tumino in #12
- CMake support by @Davide-1998 in #19
- feat(idlc): --cyclone defaults un-annotated aggregates to @Final by @SandraK82 in #29
- fix(discovery): announce all participant locators on multi-homed hosts by @SandraK82 in #35
New Contributors
- @adriano-tumino made their first contribution in #12
- @Davide-1998 made their first contribution in #19
Full Changelog: v1.0.0-rc.6...v1.0.0-rc.7