OpenDDS 3.28.0
iguessthislldo
released this
16 Apr 19:32
·
28 commits
to master
since this release
Download OpenDDS-3.28.zip (Windows) or OpenDDS-3.28.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.28.0 of OpenDDS
Released 2024-04-16
Read the documentation for this release on Read the Docs.
Additions
- Added an XCDR2 value writer that can be used to serialize static and dynamic samples to XCDR2 encoding format. (PR #4421)
- Added utility to flatten the index to a multi-dimensional array represented by dynamic data. (PR #4421)
- A new header,
dds/OpenDDSConfig.h
is generated by configure or CMake. (PR #4482, PR #4498)- Users manually configuring a build will need to create this file, which may be empty, or add
#define OPENDDS_IGNORE_OPENDDSCONFIG_H_FILE
to theirace/config.h
file. - See
dds/OpenDDSConfig.h.in
for details.
- Users manually configuring a build will need to create this file, which may be empty, or add
ConfigStore
- Converted the transport and discovery loading and
domain
section to useConfigStore
. (PR #4488, PR #4475, PR #4469, PR #4454) - OpenDDS can now be configured with environment variables. (PR #4491)
- See Configuration with Environment Variables for details.
- OpenDDS now supports multiple config files. (PR #4505)
- See Configuration Approach for details.
- The ConfigStore is available in Java. (PR #4515)
- Converted the transport and discovery loading and
- The
@value(x)
annotation is now supported on IDL enumerators when using the IDL-to-C++11 mapping. (PR #4519)- See @value(v) for details.
- The IDL for the Shapes example was updated for interoperability. (PR #4528)
- Added
[rtps_discovery] SpdpUserTag
. (PR #4533) - The data type for the OpenDDS-specific Built-in ParticipantLocation Topic now includes the lease duration. (PR #4545)
- See OpenDDSParticipantLocation Topic for details.
- Allow compile-time configuration of CLOCK_BOOTTIME as the clock used for timers (PR #4568)
- If the platform supports it, this can be done using
--boottime
when building with the configure script orOPENDDS_BOOTTIME_TIMERS
when building with CMake.
- If the platform supports it, this can be done using
Platform Support and Dependencies
- Building with CMake
- Fixed building with CMake and Apple Clang on macOS without setting
-DCMAKE_CXX_STANDARD=14
or using ACE 6. (PR #4481, PR #4487) - Added support for C++03 and some support for building ACE/TAO with the same compiler and C++ standard as OpenDDS. (PR #4481, PR #4487)
- Fixed building release builds on Windows at the same time as ACE/TAO (PR #4535)
- Fixed ACE/TAO build not getting Xerces path when using
OPENDDS_XERCES3
. (PR #4572)
- Fixed building with CMake and Apple Clang on macOS without setting
Fixes
- The ValueReader and ValueWriter interfaces now use
ACE_CDR::Fixed
as the type of IDL fixed values (PR #4466) - CMake Config Package
- Made
opendds_target_sources(INCLUDE_BASE)
work correctly in more cases, specifically involving generating an export header. (PR #4489)- Added
opendds_target_sources(EXPORT_HEADER_DIR)
andopendds_export_header(DIR)
as part of these changes.
- Added
- Made
- Fixed bug so ConfigStore entries generated by SEDP are cleaned up. (PR #4540, PR #4485)
- Fixed bug where various RtpsDiscoveryConfig setters didn't set. (PR #4540, PR #4485)
- Fixed bug where
vread
for unions used uninitialized memory. (PR #4544) - Fixed bug where an RTPS Reader gets stuck when heartbeat advances. (PR #4548)
- XCDR2 KeyOnly serialization of union that has no key now has a delimiter for appendable and mutable extensibility. (PR #4554)
Documentation
- Run-time Configuration (PR #4464, PR #4570, PR #4467, PR #4588)
- Restructured configuration properties so they can be linked to directly.
Also reviewed each property description to correct or add missing context as needed.
- Restructured configuration properties so they can be linked to directly.
- Introduction to OpenDDS (PR #4467)
- Added Plugins to explain generally how discovery, transports, and security libraries must be initialized when statically linking these libraries.
- Added summaries of important information needed to use the discovery and transport libraries.
- Quality of Service (PR #4520)
- Added Property QoS, Data Representation QoS, and Type Consistency Enforcement QoS.
- Every policy now has a box that says if it's mutable, if it affects writer-reader association, and a link to the spec definition.
Also removed large default value tables and put the default values in these boxes. - Added links to the QoS policies.
- Added definitions for instance, unregister, and dispose to the glossary. (PR #4520)
- DDS Security
- Added summary of important information needed to use the security library. (PR #4467)
- Moved Fnmatch Expressions into an "annex" file so it can be common between security and partitions QoS. (PR #4520)
ConfigStore
- Add configuration capabilities to DevGuide. (PR #4556)