Releases: OpenDDS/OpenDDS
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
--boottime
so 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.Y
orDDS-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.31
will 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 -AdmissionMaxParticipantsRange
to 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_Dcps
to 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 -AdmissionControlQueueSize
andRtpsRelay -AdmissionControlQueueDuration
(PR #4783) - Fix cleanup of pending associations in the RTPS/UDP transport. (PR #4785)
- Change the tag type separator in
opendds_idl
to 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_delay
andbit_autopurge_disposed_samples_delay
configuration 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.
@optional
maps to eitherstd::optional
or a similar custom implementation in the generated code. (PR #4364) - Implemented the
create_sample
,create_sample_rc
,create_dynamic_sample
, andcreate_dynamic_sample_rc
methods onTypeSupport
to convert samples to and fromDynamicData
. (PR #4373)- Also documented the existing
DynamicDataAdapter
class 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] SpdpPortMode
as an alias to the now deprecated[rtps_discovery] SpdpRequestRandomPort
. - Added
[rtps_discovery] SpdpMulticastAddress
,[rtps_discovery] Ipv6SpdpMulticastAddress
,[rtps_discovery] SedpMulticastAddress
, and[rtps_discovery] Ipv6SedpMulticastAddress
to 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=probe
and[transport] PortMode=probe (rtps_udp)
might make config template customizations unnecessary.
- For RTPS Discovery:
- Added
dds/OpenDDSConfigWrapper.h
anddds/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_timestamp
to theInternalThreadBuiltInTopic
IDL struct. (PR #4677)monotonic_timestamp
is 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] ResendPeriod
now 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_TOOLS
with CMake <3.28. (PR #4646)
Removals
- Removed
OPENDDS_IGNORE_OPENDDSCONFIG_H_FILE
macro. (PR #4687)- Users manually configuring a build will need to create
dds/OpenDDSConfig.h
which may be empty.
- Users manually configuring a build will need to create
Fixes
- When
DCPSThreadStatusInterval
is 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
InternalThreadBuiltInTopic
to be updated accurately on systems that suspend/resume and are configured for boottime timers.
- This allows the
[rtps_discovery] MaxSpdpSequenceMsgResetChecks
is 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_WARNINGS
andconfigure
option--compile-warnings=[WARNING|ERROR]
to enable additional compiler warnings and treating them as errors. (PR #4558) - Add a
configure
script 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_SRC
with 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
--mpcopts
are 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_gen
application. (PR #4591) - Fix bug where
Service_Participant::type_object_encoding
doesn'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.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)
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_VERSION
andOPENDDS_TAO_VERSION
. (PR #4346)
- Added
- Add a warning that
@optional
is not supported. (PR #4355) - Convert discovery configurations (
repository
, static discovery,rtps_discovery
including 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_template
andrtps_discovery
template 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_datawriter
andcreate_datareader
check if the topic belongs to the same participant as the publisher/subscriber. (PR #4398)- Fixed uninitialized
durability_service
in Topic QoS when using QoS-XML. (PR #4424) - Fixed a bug where compiling IDL with
-Lc++11 -Gequality
produced code outside of a namespace that didn't compile. (PR #4450) SedpLocalAddress
now defaults toDCPSDefaultAddress
to behave likeSpdpLocalAddress
andlocal_address
. (PR #4451)
Notes
TheParticipantFactory*
will now return a null pointer whenDCPSConfigFile
doesn'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.features
in 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)
OpenDDS 3.26.0
Download OpenDDS-3.26.zip (Windows) or OpenDDS-3.26.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.26.0 of OpenDDS
Released 2023-10-23
Read the documenation for this release on Read the Docs.
Additions
-
OpenDDS can now be built using CMake for most common scenarios. (PR #4203, PR #4214)
- This is still considered somewhat experimental as it doesn't support everything that an MPC-built OpenDDS currently can.
- See Building OpenDDS Using CMake for details.
-
Convert transport configurations (
rtps_udp
,multicast
,shmem
,tcp
,udp
) uses key-value store. (PR #4162, PR #4270, PR #4272, PR #4241, PR #4242, PR #4243, PR #4249, PR #4255) -
CMake Config Package
-
Added
opendds_install_interface_files
to help install IDL files and the files generated from them. (PR #4203, PR #4214) -
Added
OPENDDS_HOST_TOOLS
andOPENDDS_ACE_TAO_HOST_TOOLS
to allow cross compiling applications with both MPC and CMake-built OpenDDS. (PR #4203, PR #4214) -
- Added
opendds_target_sources(INCLUDE_BASE)
to preserve the directory structure of the IDL files for compiling the resulting generated files and installing everything usingopendds_install_interface_files
. (PR #4203, PR #4214) - Added
opendds_target_sources(USE_VERSIONED_NAMESPACE)
as a shortcut to the-Wb,versioning_\*
IDL compiler options. (PR #4203, PR #4214)
- Added
-
-
Support sending DynamicDataAdapter sample via DynamicDataWriter (PR #4226)
-
Added export macro to ConditionImpl (PR #4295)
Deprecations
- Deprecated
OPENDDS_FILENAME_ONLY_INCLUDES
in favor ofopendds_target_sources(INCLUDE_BASE)
. (PR #4203, PR #4214)
Fixes
-
Improved the subject name parsing to better conform to the DDS Security spec. (PR #4201)
- The order of attributes in subject names is now significant when comparing them.
-
Remove from TypeLookupService when remote endpoint is removed from SEDP (PR #4216)
-
WaitSet is now notified when DataWriter liveliness is lost. (PR #4223)
-
ICE doesn't use IPv4-mapped IPv6 addresses anymore. (PR #4230)
-
Efficiency: Remove per-element locking in JobQueue (PR #4253)
-
RtpsRelay: fixed bug in record_activity's use of remove in GuidAddrSet (PR #4254)
-
Fix warnings in typeobject_generator when using TAO 3 (PR #4262)
-
Fix null pointer when participant is absent when updating locators (PR #4265)
-
Initialize variables in TypeObject to silence warnings (PR #4292)
-
RtpsRelay: Use ACE_Message_Block's locking strategy for cached SPDP to fix tsan warning (PR #4293)
-
Fix tsan warning in ReactorTask (PR #4298)
Documentation
- Remove -Grapidjson flag [opendds_idl] (PR #4231)
- Remove reference to mailing lists (PR #4234)
- Restructured parts of DDS Security page and expanded documentation of some XML security document elements. (PR #4281)
- OS-specific instructions will now be automatically selected based on the browser's user agent. (PR #4281)
- OMG specification section references are now links to that section in the specification PDF. (PR #4281)
- Move build and install instructions to DevGuide (PR #4294)
- Incorporate the quick start guides, FAQ, and shapes demo into the DevGuide. (PR #4297)
Notes
- Using Perl 5.38.0 might prevent TAO from building properly, see here for details.
OpenDDS 3.25.0
Download OpenDDS-3.25.zip (Windows) or OpenDDS-3.25.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".
Version 3.25.0 of OpenDDS
Released 2023-07-20
Read the documenation for this release on Read the Docs.
Additions
-
The Observer interface now has support for dispose and unregister. (PR #4137)
-
OpenDDS now stores configuration information in a key-value store. (PR #4138, PR #4134, PR #4151)
-
Configuration values can be set via API, config file, or command line.
- Currently applies to the common section and common transport configuration.
-
-
Added
encode_to_string
,encode_to_bytes
,decode_from_string
, anddecode_from_bytes
toTypeSupport
. (PR #4144, PR #4122, PR #4133, PR #4135)- These methods convert samples to and from other formats.
- Currently only
OpenDDS::DCPS::JSON_DATA_REPRESENTATION
is supported.
-
Add
-Gequality
option to opendds_idl to generate==
and!=
for structs and unions. (PR #4154)- The members of the struct or union must have a type that could appear in a DDS topic and be supported by opendds_idl.
- The motivation for this change was to make the generated code more useful as many users go on to define these operators.
-
CMake Config Package
-
Added executable targets. (PR #4160)
-
OPENDDS_CMAKE_VERBOSE
output has been expanded, but now accepts a list of categories to control how much is logged. (PR #4160) -
Added
opendds_export_header
to generate an export header. (PR #4160) -
- Added
opendds_target_sources(GENERATE_SERVER_SKELETONS)
to allowtao_idl
to generate code for CORBA servers. (PR #4140) - Added
opendds_target_sources(AUTO_LINK)
as a fine-grained version ofOPENDDS_AUTO_LINK_DCPS
. (PR #4140) - Added
opendds_target_sources(SKIP_TAO_IDL)
to disabletao_idl
. (PR #4140) - Added
opendds_target_sources(SKIP_OPENDDS_IDL)
to disableopendds_idl
. (PR #4140) - Added
opendds_target_sources(USE_EXPORT)
to allow overriding the generated export header with an existing one. (PR #4160)
- Added
-
Libraries and features can be passed to
find_package(OpenDDS COMPONENTS)
to change what is required. (PR #4160, PR #4140)- See Components for details.
-
Security
- Fixed null pointer exception caused by RTPS Parameters with incorrect zero size. (PR #4197)
Fixes
-
CMake Config Package
-
Fixed issue deserializing bounded sequences with JSON (PR #4150)
- The deserialization will fail if the JSON input contains more elements than the bounded sequence can hold.
-
Updated the RtpsRelay's tracking of client IP addresses so they are removed when no longer used. (PR #4202)
- The RtpsRelay configuration option -MaxAddrSetSize was renamed to -MaxIpsPerClient
Documentation
-
Moved various markdown files into the Sphinx documentation so that they are now included along with the Developer's Guide: (PR #4139)
INSTALL.md
is now Building and Installing.docs/dependencies.md
is now Dependencies.docs/cmake.md
is now Using OpenDDS in a CMake Project.docs/android.md
is now Android.docs/ios.md
is now iOS.
-
Restructured how the documentation is presented to cleanly separate the Developer's Guide and internal documentation. (PR #4139)
-
Added a proper main page. (PR #4139)
-
In addition to
NEWS.md
, started adding release notes to Release Notes. (PR #4125)
Notes
-
CMake Config Package
-
OPENDDS_TARGET_SOURCES
is now calledopendds_target_sources
. (PR #4140)- CMake macros and functions names are case insensitive, so this should have no effect on CMake code.
-