Releases: OpenDDS/OpenDDS
OpenDDS 3.33.0
Download OpenDDS-3.33.0.zip (Windows) or OpenDDS-3.33.0.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.33.0 of OpenDDS
Released 2025-08-01
Read the documentation for this release on Read the Docs.
Additions
- IDL Maps are now supported by
opendds_idl. (PR #4999)- We would like to thank tmayoff for contributing much of the work needed for this.
- Usage example:
@nested struct Item { string desc_name; uint32 count; }; @topic struct Inventory { map<string, Item> items; }; - They map to C++
std::mapin both the classic IDL-to-C++ and IDL-to-C++11 mappings. - See IDL Compliance for known limitations.
- RtpsRelay
- Output from
RtpsRelay -LogRelayStatistics/RtpsRelay -PublishRelayStatisticsincludes extended RtpsRelay statistics (PR #4972, PR #5006) - Output from
RtpsRelay -LogRelayStatistics/RtpsRelay -PublishRelayStatisticsincludes internal OpenDDS statistics (PR #5000, PR #5006, PR #4990, PR #5023) - RtpsRelay no longer needs to store and replay SPDP messages (PR #5017, PR #5020)
- The OpenDDSInternalThread built-in topic has additional detail fields which may be populated by internal threads. (PR #5026)
- The RtpsRelay's event handling threads make use of this feature.
- RtpsRelay expiration/deactivation is now done by separate timer events instead of during input handling (PR #5032)
RtpsRelay -DrainIntervalcan drain clients to implement a controlled shutdown (PR #5063)
- Output from
- Added
[rtps_discovery] IgnoredSpdpUserTags. (PR #5046) - When DDS Security is configured to require authentication and an incoming SPDP message has a different Identity CA, authentication is not attempted. (PR #5046)
Platform Support and Dependencies
- ACE/TAO
- CMake
opendds_target_sourcesnow has a FOLDER argument which sets the CMake FOLDER property on generated targets. (PR #5009)- Fixed accidental use of RapidJSON's
CMakeLists.txtfile when building OpenDDS with CMake. (PR #5054)
This caused issues such as forcing theCMAKE_CXX_STANDARDto C++11 and breaking the ACE C++ standard detection code. - Fixed configure issue with Xerces from vcpkg when building OpenDDS with CMake. (PR #5054)
- The configure script detects the C++ standard supported by the Android NDK compiler (PR #5057, PR #5052)
Fixes
- Reset heartbeat fallback when the sequence number advances. (PR #5048)
OpenDDS 3.32.0
Download OpenDDS-3.32.0.zip (Windows) or OpenDDS-3.32.0.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.32.0 of OpenDDS
Released 2025-05-06
Read the documentation for this release on Read the Docs.
Additions
- Added
RtpsRelay -LogUtilizationChangesto RtpsRelay options (PR #4890) - Added
opendds_idl --append-typeobjectsto opendds_idl options. It can be used to write XTypes Type Objects to a separate output file in addition to normal code generation. (PR #4898) - Added
RtpsRelay -SynchronousOutputoption to RtpsRelay. (PR #4928) - The TypeLookupService now has support for strongly connected components (recursive types). (PR #4940)
Platform Support and Dependencies
- ACE/TAO
- Updated ACE 8/TAO 4 from 8.0.2 to 8.0.3.
- CMake
opendds_target_sources- Added support for using the same IDL files in different targets with different options. (PR #4962)
- It will not automatically generate an export header when all IDL files are scoped
PRIVATEunlessopendds_target_sources(ALWAYS_GENERATE_LIB_EXPORT_HEADER)is set toTRUE. (PR #4962) - It will not export symbols in code generated from
PRIVATEIDL files. (PR #4962) - Added support for the codegen target (CMake 3.31 or later) to build and run IDL compilers on targets with IDL. (PR #4962)
opendds_target_sources(USE_EXPORT)will now pass on its arguments toopendds_export_header(EXISTING). (PR #4964)
- Fixes and improvements for
opendds_export_header: (PR #4954)opendds_export_headernow allows specifying an existing export header and gives control over what names are used.opendds_export_headerandopendds_target_sourcesnow set symbol visibility to hidden using CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN on platforms where this applies.- Fixed Visual Studio failing because of inconsistent linkage of exported symbols when linking between a DLL and a static library.
- Fixed issue with building iShapes demo with CMake. (PR #4884)
- Improved C++ standard detection in CMake. (PR #4884)
- Added
opendds_bigobjto set/bigobjon targets that need it on Windows. (PR #4954) - When using CMake 4, fixed relative path issues when working within a symlinked directory, including a warning about CMP0177. (PR #4959)
- Fixed issue with CMake being unable to find RapidJSON after installing OpenDDS. (PR #4973)
- Fixed reconfigured cross-compiled builds trying to use
TRUEas the path to host tools. (PR #4986) - Building OpenDDS with CMake
- The Shapes Demo will now be built when Building OpenDDS Using CMake and
OPENDDS_QTis set toTRUE. (PR #4884) - Improved support for using Xerces 3.3.0 when building OpenDDS using CMake. (PR #4926)
- GoogleTest will no longer be installed if it was built as part of the OpenDDS tests. (PR #4973)
- Added
OPENDDS_INSTALL_RAPIDJSONto disable installing RapidJSON automatically. (PR #4973) OPENDDS_ACEandOPENDDS_TAOcan now be overrode after OpenDDS is installed. (PR #4973)- Fixed
OPENDDS_COMPILE_WARNINGS=ERROR, which didn't work before. (PR #4986)
- The Shapes Demo will now be built when Building OpenDDS Using CMake and
- Updated GoogleTest to be compatible with CMake 4. (PR #4959)
- OpenDDS's use of
std::optionalor an emulation is determined by the configuration file (PR #4976)- See
OPENDDS_CONFIG_STD_OPTIONALindds/OpenDDSConfig.h - Default is to use
std::optionalon compilers that support it - See configure script's
--no-std-optionalor CMake'sOPENDDS_STD_OPTIONAL
- See
- New configure script option:
--[no-]static-runtime(PR #4977, PR #4983)
Fixes
- Added
RTPS_HARVEST_THREAD_STATUSproperty to select the participant that harvests thread status. (PR #4887)- This addresses erroneous results from multiple participants harvesting thread status.
- See OpenDDSInternalThread Topic for usage.
- Signal the thread monitor in RtpsRelay listeners to avoid thread monitor timeouts. (PR #4900)
- Introduced a time separation when processed expired discovered participants with RtpsDiscovery. (PR #4908)
Documentation
- Fixed minor typo in documentation of DOC Group ACE 6.5.21/TAO 2.5.21 option of
OPENDDS_ACE_TAO_KIND. (PR #4884)
OpenDDS 3.31.0
Download OpenDDS-3.31.0.zip (Windows) or OpenDDS-3.31.0.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.31.0 of OpenDDS
Released 2025-01-29
Read the documentation for this release on Read the Docs.
Additions
Platform Support and Dependencies
- ACE/TAO
- Updated ACE 8/TAO 4 from 8.0.1 to 8.0.2.
- CMake
- Fixed an issue where OpenDDS won't build ACE/TAO with Visual Studio 2015. (PR #4843)
Fixes
- Updated ThreadStatusManager for iterative event handling (PR #4830)
- Fix periodic timers with
--boottimeso that the initial delay is honored. (PR #4835, PR #4871)
Notes
- Releases will now use a new git tagging and branching strategy.
- Previously releases were tagged as either
DDS-X.YorDDS-X.Y.Z.
Release tags from now on will also be tagged asvX.Y.Z.
Any future OpenDDS 3 releases will be tagged both ways, while OpenDDS 4 releases will only be tagged in the new way. - New branches can now be used for following specific release series.
For example v3 will always be updated to the latest 3 release andv3.31will be used for any future 3.31 releases.
- Previously releases were tagged as either
OpenDDS 3.30.0
Download OpenDDS-3.30.zip (Windows) or OpenDDS-3.30.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.30.0 of OpenDDS
Released 2024-10-11
Read the documentation for this release on Read the Docs.
Additions
- Added
RtpsRelay -AdmissionMaxParticipantsRangeto RtpsRelay options (PR #4774)- This option provides another mechanism for detecting load on each RtpsRelay instance
- Improved RelayThreadMonitor error reporting (PR #4778)
- All threads that have missed the deadline are reported before the process dies. These log messages include the timestamp of the most recent update for each thread that has missed the deadline.
- Embedded a GDB extension in
libOpenDDS_Dcpsto help make debugging OpenDDS in GDB a bit easier. (PR #4791, PR #4727) - Use a configurable thread pool for the RtpsRelay event handlers (PR #4808)
Platform Support and Dependencies
- ACE/TAO
- Updated ACE 8/TAO 4 from 8.0.0 to 8.0.1.
- CMake
- Fixed issues using OpenDDS as a subproject with
add_subdirectory. (PR #4795)
- Fixed issues using OpenDDS as a subproject with
Fixes
- Fixed cross-compiled builds using Java (PR #4763)
- Fixed a memory leak in the address caches used by the RTPS/UDP transport. (PR #4772)
- Corrected implementation of
RtpsRelay -AdmissionControlQueueSizeandRtpsRelay -AdmissionControlQueueDuration(PR #4783) - Fix cleanup of pending associations in the RTPS/UDP transport. (PR #4785)
- Change the tag type separator in
opendds_idlto allow underscores in identifiers. (PR #4800) - Change "reallocating primary receive buffer" to transport debug logging level 3 (PR #4810)
Documentation
- Documented the
bit_autopurge_nowriter_samples_delayandbit_autopurge_disposed_samples_delayconfiguration properties. (PR #4816)
OpenDDS 3.29.1
Download OpenDDS-3.29.1.zip (Windows) or OpenDDS-3.29.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.29.1 of OpenDDS
Released 2024-07-31
Read the documentation for this release on Read the Docs.
Fixes
- Fixed code generation for fixed-size structs in Java that caused compilation errors. (PR #4752)
OpenDDS 3.29.0
Download OpenDDS-3.29.zip (Windows) or OpenDDS-3.29.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.29.0 of OpenDDS
Released 2024-07-26
Read the documentation for this release on Read the Docs.
Additions
- Added support for the @optional IDL annotation for the IDL-to-C++11 mapping.
@optionalmaps to eitherstd::optionalor a similar custom implementation in the generated code. (PR #4364) - Implemented the
create_sample,create_sample_rc,create_dynamic_sample, andcreate_dynamic_sample_rcmethods onTypeSupportto convert samples to and fromDynamicData. (PR #4373)- Also documented the existing
DynamicDataAdapterclass for wrapping IDL-generated types in aDynamicData. - See DynamicData and IDL-Generated Types for details.
- Also documented the existing
- Samples from DynamicDataReaders can be modified and passed to DynamicDataWriters. (PR #4609)
- Added config properties to give more control over what UDP ports RTPS uses: (PR #4655)
- For RTPS Discovery:
- Added
[rtps_discovery] SedpPortMode=probe, which will use ports similar to how the RTPS specification defines them.
This uses the existing port parameter properties for SPDP and a new one,[rtps_discovery] DY. - Added
[rtps_discovery] SpdpPortModeas an alias to the now deprecated[rtps_discovery] SpdpRequestRandomPort. - Added
[rtps_discovery] SpdpMulticastAddress,[rtps_discovery] Ipv6SpdpMulticastAddress,[rtps_discovery] SedpMulticastAddress, and[rtps_discovery] Ipv6SedpMulticastAddressto set the multicast addresses and ports separately on SPDP and SEDP. - See here for the full overview of port usage.
- Added
- For RTPS/UDP Transport:
- Added
[transport] PortMode=probe (rtps_udp), which will use ports exactly as the RTPS specification defines them.
This uses new port parameter properties:[transport] PB (rtps_udp),[transport] DG (rtps_udp),[transport] PG (rtps_udp),[transport] D2 (rtps_udp), and[transport] D3 (rtps_udp). - See here for the full overview of port usage.
- Added
- All ports calculated using port parameter properties now warn if they overflow the 16 bit integer.
[rtps_discovery] SedpPortMode=probeand[transport] PortMode=probe (rtps_udp)might make config template customizations unnecessary.
- For RTPS Discovery:
- Added
dds/OpenDDSConfigWrapper.handdds/OpenDDSConfigWrapper.idl. (PR #4659)- These files will provide defaults for various configuration macros.
- These files should be included in preference to
dds/OpenDDSConfig.h
- Added a new data member,
monotonic_timestampto theInternalThreadBuiltInTopicIDL struct. (PR #4677)monotonic_timestampis the time of the sample was written (time of last update of this instance) on the monotonic clock.- On systems that don't support a monotonic clock, this will be the same value as the corresponding
SampleInfo'ssource_timestamp.
- The ParticipantLocation BIT instance is now published before participant discovery completes. (PR #4693)
- Applications can use ParticipantLocation to get notified that discovery is in progress. The spec-defined Participant BIT won't be published until participant discovery is complete.
- The Info Destination submessage is now used if present in incoming SPDP messages (PR #4710)
- The ParticipantLocation BIT has a new data member: the SPDP user tag of the peer (0 if none present) (PR #4711)
- Also added the SPDP user tag to outbound messages which are directed to a specific destination
[rtps_discovery] ResendPeriodnow accepts fractions of a second. (PR #4712)- OpenDDS now sends pre-emptive (pre-association) acknacks in a form that RTI Connext understands. (PR #4735)
- Pre-association acknacks now fall off like heartbeats. (PR #4735)
Platform Support and Dependencies
- ACE/TAO
- Added support for building with ACE 8.0.0 / TAO 4.0.0.
- Updated ACE 6/TAO 2 from 6.5.20 to 6.5.21.
- CMake
- Allow using the ACE/TAO master branch which now requires C++17. (PR #4618)
- Building with CMake
- Visual Studio now defaults to using at least C++11 with ACE 6/TAO 2 instead of C++03. (PR #4618)
- Fixed configure error when using
OPENDDS_JUST_BUILD_HOST_TOOLSwith CMake <3.28. (PR #4646)
Removals
- Removed
OPENDDS_IGNORE_OPENDDSCONFIG_H_FILEmacro. (PR #4687)- Users manually configuring a build will need to create
dds/OpenDDSConfig.hwhich may be empty.
- Users manually configuring a build will need to create
Fixes
- When
DCPSThreadStatusIntervalis enabled, threads that run the ACE Reactor now use timers instead of a time-limitedselect()system call to update theInternalThreadBuiltInTopic. (PR #4677)- This allows the
InternalThreadBuiltInTopicto be updated accurately on systems that suspend/resume and are configured for boottime timers.
- This allows the
[rtps_discovery] MaxSpdpSequenceMsgResetChecksis recognized again. (PR #4696)- RtpsRelay: Recognize clients that are using different IP addresses for SPDP and SEDP. (PR #4718)
- Fixed memory leak of remote locators in the RTPS/UDP transport. (PR #4731)
Documentation
- Documented
RtpsRelay -LogHttp,RtpsRelay -AdmissionControlQueueSize, andRtpsRelay -AdmissionControlQueueDuration. (PR #4699) - Documented [SPDP](https://opendds.read...
OpenDDS 3.28.1
Download OpenDDS-3.28.1.zip (Windows) or OpenDDS-3.28.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.28.1 of OpenDDS
Released 2024-05-02
Read the documentation for this release on Read the Docs.
Additions
- Added
OPENDDS_COMPILE_WARNINGSandconfigureoption--compile-warnings=[WARNING|ERROR]to enable additional compiler warnings and treating them as errors. (PR #4558) - Add a
configurescript option for MPC options requiring a value. (PR #4574)- For example,
./configure --mpc:value_template build_flags+="-Wall -Werror".
- For example,
Platform Support and Dependencies
- Building with CMake
- Fixed CMake saying it's missing the ACE library when using
OPENDDS_ACE_TAO_SRCwith an ACE/TAO outside of the build directory. (PR #4604)
- Fixed CMake saying it's missing the ACE library when using
Removals
- Values passed to the configure script via
--mpcoptsare no longer split on spaces. (PR #4574)- For example,
./configure --mpcopts="-value_template build_flags+=-Wall -Werror"must now be written as./configure --mpcopts=-value_template --mpcopts="build_flags+=-Wall -Werror".
- For example,
Fixes
- Fixed incorrect usage of OpenSSL in
gov_genapplication. (PR #4591) - Fix bug where
Service_Participant::type_object_encodingdoesn't return configured value. (PR #4593) - Do not send heartbeats during a fragmented send in
rtps_udp. (PR #4603)
Documentation
OpenDDS 3.28.0
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.his 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_FILEto theirace/config.hfile. - See
dds/OpenDDSConfig.h.infor 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
domainsection 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
--boottimewhen building with the configure script orOPENDDS_BOOTTIME_TIMERSwhen 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=14or 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::Fixedas 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
vreadfor 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)
OpenDDS 3.27.0
Download OpenDDS-3.27.zip (Windows) or OpenDDS-3.27.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.27.0 of OpenDDS
Released 2024-02-07
Read the documentation for this release on Read the Docs.
Additions
- Complete interfaces for dealing with DynamicData and DynamicTypes. (PR #4320, PR #4339)
- It is now possible to specify the validity for individual publish/subscribe actions in DDS Security Permission documents. This is an OpenDDS extension. (PR #4344)
- Building with CMake
- Added new options for how to get ACE/TAO. (PR #4346)
- CMake Config Package
- Added
OPENDDS_ACE_VERSIONandOPENDDS_TAO_VERSION. (PR #4346)
- Added
- Add a warning that
@optionalis not supported. (PR #4355) - Convert discovery configurations (
repository, static discovery,rtps_discoveryincluding templates) to key-value store. (PR #4360, PR #4361, PR #4426, PR #4411, PR #4276, PR #4347) - Convert ICE configuration to key-value store. (PR #4360, PR #4361, PR #4426, PR #4411, PR #4276, PR #4347)
- Change
transport_templateandrtps_discoverytemplate processing to not generate new keys. (PR #4360, PR #4361, PR #4426, PR #4411, PR #4276, PR #4347)
Platform Support and Dependencies
- Improved support for configure script detection of clang on Linux (PR #4449)
- When using Visual C++, OpenDDS can now be configured using
--std=c++NN(NN = 17 or 20). (PR #4452)
Fixes
- Updated the read and write semantics of DynamicData for union, expandable collections (sequence and string), and optional member of an aggregated type. (PR #4278)
- Fixed memory leak where instances were not cleaned up with exlusive ownership. (PR #4343)
- Removed the special handling for sequence members with length code of 5,6, or 7. (PR #4376)
- Reading data from a dynamic data object for a primitive type now must use MEMBER_ID_INVALID id. (PR #4376)
create_datawriterandcreate_datareadercheck if the topic belongs to the same participant as the publisher/subscriber. (PR #4398)- Fixed uninitialized
durability_servicein Topic QoS when using QoS-XML. (PR #4424) - Fixed a bug where compiling IDL with
-Lc++11 -Gequalityproduced code outside of a namespace that didn't compile. (PR #4450) SedpLocalAddressnow defaults toDCPSDefaultAddressto behave likeSpdpLocalAddressandlocal_address. (PR #4451)
Notes
TheParticipantFactory*will now return a null pointer whenDCPSConfigFiledoesn't exist. (PR #4372)
OpenDDS 3.26.1
Download OpenDDS-3.26.1.zip (Windows) or OpenDDS-3.26.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.26.1 of OpenDDS
Released 2023-11-14
Read the documentation for this release on Read the Docs.
Fixes
-
Building with CMake
- Fixed Issue #4328, where each run of CMake effectively always appended the MPC features to
default.featuresin ACE. (PR #4330)
- Fixed Issue #4328, where each run of CMake effectively always appended the MPC features to
-
Fixed a corner case in RTPS ParameterList parsing (PR #4336)
-
Reject some types of invalid RTPS DataFrag submessages (PR #4348)