Skip to content

Commit

Permalink
OpenDDS Release 3.28.0
Browse files Browse the repository at this point in the history
  • Loading branch information
iguessthislldo committed Apr 16, 2024
1 parent a5c2ef0 commit 27ebd79
Show file tree
Hide file tree
Showing 30 changed files with 3,727 additions and 186 deletions.
71 changes: 71 additions & 0 deletions NEWS.md
@@ -1,5 +1,76 @@
# OpenDDS Releases

## Version 3.28.0 of OpenDDS

Released 2024-04-16

Download [this release on GitHub](https://github.com/OpenDDS/OpenDDS/releases/tag/DDS-3.28).

Read [the documentation for this release on Read the Docs](https://opendds.readthedocs.io/en/dds-3.28).

### Additions

- Added an XCDR2 value writer that can be used to serialize static and dynamic samples to XCDR2 encoding format. ([PR #4421](https://github.com/OpenDDS/OpenDDS/pull/4421))
- Added utility to [flatten the index](https://opendds.readthedocs.io/en/dds-3.28/devguide/xtypes.html#xtypes-reading-collections-of-basic-types) to a multi-dimensional array represented by dynamic data. ([PR #4421](https://github.com/OpenDDS/OpenDDS/pull/4421))
- A new header, `dds/OpenDDSConfig.h` is generated by configure or CMake. ([PR #4482](https://github.com/OpenDDS/OpenDDS/pull/4482), [PR #4498](https://github.com/OpenDDS/OpenDDS/pull/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 their `ace/config.h` file.
- See [`dds/OpenDDSConfig.h.in`](https://github.com/OpenDDS/OpenDDS/blob/DDS-3.28/dds/OpenDDSConfig.h.in) for details.
- `ConfigStore`
- Converted the transport and discovery loading and `domain` section to use `ConfigStore`. ([PR #4488](https://github.com/OpenDDS/OpenDDS/pull/4488), [PR #4475](https://github.com/OpenDDS/OpenDDS/pull/4475), [PR #4469](https://github.com/OpenDDS/OpenDDS/pull/4469), [PR #4454](https://github.com/OpenDDS/OpenDDS/pull/4454))
- OpenDDS can now be configured with environment variables. ([PR #4491](https://github.com/OpenDDS/OpenDDS/pull/4491))
- See [Configuration with Environment Variables](https://opendds.readthedocs.io/en/dds-3.28/devguide/run_time_configuration.html#config-environment-variables) for details.
- OpenDDS now supports multiple config files. ([PR #4505](https://github.com/OpenDDS/OpenDDS/pull/4505))
- See [Configuration Approach](https://opendds.readthedocs.io/en/dds-3.28/devguide/run_time_configuration.html#config-store-keys) for details.
- The ConfigStore is available in Java. ([PR #4515](https://github.com/OpenDDS/OpenDDS/pull/4515))
- The `@value(x)` annotation is now supported on IDL enumerators when using the IDL-to-C++11 mapping. ([PR #4519](https://github.com/OpenDDS/OpenDDS/pull/4519))
- See [@value(v)](https://opendds.readthedocs.io/en/dds-3.28/devguide/xtypes.html#xtypes-value) for details.
- The IDL for the Shapes example was updated for interoperability. ([PR #4528](https://github.com/OpenDDS/OpenDDS/pull/4528))
- Added [`[rtps_discovery] SpdpUserTag`](https://opendds.readthedocs.io/en/dds-3.28/devguide/run_time_configuration.html#cfg-prop-rtps_discovery-SpdpUserTag). ([PR #4533](https://github.com/OpenDDS/OpenDDS/pull/4533))
- The data type for the OpenDDS-specific Built-in ParticipantLocation Topic now includes the lease duration. ([PR #4545](https://github.com/OpenDDS/OpenDDS/pull/4545))
- See [OpenDDSParticipantLocation Topic](https://opendds.readthedocs.io/en/dds-3.28/devguide/built_in_topics.html#built-in-topics-openddsparticipantlocation-topic) for details.
- Allow compile-time configuration of CLOCK_BOOTTIME as the clock used for timers ([PR #4568](https://github.com/OpenDDS/OpenDDS/pull/4568))
- If the platform supports it, this can be done using `--boottime` when building with the configure script or [`OPENDDS_BOOTTIME_TIMERS`](https://opendds.readthedocs.io/en/dds-3.28/devguide/building/index.html#cmake-var-OPENDDS_BOOTTIME_TIMERS) when building with CMake.

### Platform Support and Dependencies

- Building with CMake
- Fixed [building with CMake and Apple Clang on macOS](https://github.com/OpenDDS/OpenDDS/issues/4478) without setting `-DCMAKE_CXX_STANDARD=14` or using ACE 6. ([PR #4481](https://github.com/OpenDDS/OpenDDS/pull/4481), [PR #4487](https://github.com/OpenDDS/OpenDDS/pull/4487))
- Added support for C++03 and some support for building ACE/TAO with the same compiler and C++ standard as OpenDDS. ([PR #4481](https://github.com/OpenDDS/OpenDDS/pull/4481), [PR #4487](https://github.com/OpenDDS/OpenDDS/pull/4487))
- Fixed [building release builds on Windows at the same time as ACE/TAO](https://github.com/OpenDDS/OpenDDS/issues/4531) ([PR #4535](https://github.com/OpenDDS/OpenDDS/pull/4535))
- Fixed [ACE/TAO build not getting Xerces path](https://github.com/OpenDDS/OpenDDS/issues/4375) when using [`OPENDDS_XERCES3`](https://opendds.readthedocs.io/en/dds-3.28/devguide/building/cmake.html#cmake-var-OPENDDS_XERCES3). ([PR #4572](https://github.com/OpenDDS/OpenDDS/pull/4572))

### Fixes

- The ValueReader and ValueWriter interfaces now use `ACE_CDR::Fixed` as the type of IDL fixed values ([PR #4466](https://github.com/OpenDDS/OpenDDS/pull/4466))
- CMake Config Package
- Made [`opendds_target_sources(INCLUDE_BASE)`](https://opendds.readthedocs.io/en/dds-3.28/devguide/building/cmake.html#cmake-func-arg-opendds_target_sources-INCLUDE_BASE) work correctly in more cases, specifically involving generating an export header. ([PR #4489](https://github.com/OpenDDS/OpenDDS/pull/4489))
- Added [`opendds_target_sources(EXPORT_HEADER_DIR)`](https://opendds.readthedocs.io/en/dds-3.28/devguide/building/cmake.html#cmake-func-arg-opendds_target_sources-EXPORT_HEADER_DIR) and [`opendds_export_header(DIR)`](https://opendds.readthedocs.io/en/dds-3.28/devguide/building/cmake.html#cmake-func-arg-opendds_export_header-DIR) as part of these changes.
- Fixed bug so ConfigStore entries generated by SEDP are cleaned up. ([PR #4540](https://github.com/OpenDDS/OpenDDS/pull/4540), [PR #4485](https://github.com/OpenDDS/OpenDDS/pull/4485))
- Fixed bug where various RtpsDiscoveryConfig setters didn't set. ([PR #4540](https://github.com/OpenDDS/OpenDDS/pull/4540), [PR #4485](https://github.com/OpenDDS/OpenDDS/pull/4485))
- Fixed bug where `vread` for unions used uninitialized memory. ([PR #4544](https://github.com/OpenDDS/OpenDDS/pull/4544))
- Fixed bug where an RTPS Reader gets stuck when heartbeat advances. ([PR #4548](https://github.com/OpenDDS/OpenDDS/pull/4548))
- XCDR2 KeyOnly serialization of union that has no key now has a delimiter for appendable and mutable extensibility. ([PR #4554](https://github.com/OpenDDS/OpenDDS/pull/4554))

### Documentation

- [Run-time Configuration](https://opendds.readthedocs.io/en/dds-3.28/devguide/run_time_configuration.html#config) ([PR #4464](https://github.com/OpenDDS/OpenDDS/pull/4464), [PR #4570](https://github.com/OpenDDS/OpenDDS/pull/4570), [PR #4467](https://github.com/OpenDDS/OpenDDS/pull/4467), [PR #4588](https://github.com/OpenDDS/OpenDDS/pull/4588))
- Restructured configuration properties so they can be linked to directly.
Also reviewed each property description to correct or add missing context as needed.
- [Introduction to OpenDDS](https://opendds.readthedocs.io/en/dds-3.28/devguide/introduction.html#introduction) ([PR #4467](https://github.com/OpenDDS/OpenDDS/pull/4467))
- Added [Plugins](https://opendds.readthedocs.io/en/dds-3.28/devguide/introduction.html#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](https://opendds.readthedocs.io/en/dds-3.28/devguide/quality_of_service.html#qos) ([PR #4520](https://github.com/OpenDDS/OpenDDS/pull/4520))
- Added [Property QoS](https://opendds.readthedocs.io/en/dds-3.28/devguide/quality_of_service.html#qos-property), [Data Representation QoS](https://opendds.readthedocs.io/en/dds-3.28/devguide/quality_of_service.html#qos-data-representation), and [Type Consistency Enforcement QoS](https://opendds.readthedocs.io/en/dds-3.28/devguide/quality_of_service.html#qos-type-consistency-enforcement).
- 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](https://opendds.readthedocs.io/en/dds-3.28/glossary.html#term-Instance), [unregister](https://opendds.readthedocs.io/en/dds-3.28/glossary.html#term-Unregister), and [dispose](https://opendds.readthedocs.io/en/dds-3.28/glossary.html#term-Dispose) to the glossary. ([PR #4520](https://github.com/OpenDDS/OpenDDS/pull/4520))
- [DDS Security](https://opendds.readthedocs.io/en/dds-3.28/devguide/dds_security.html#sec)
- Added summary of important information needed to use the security library. ([PR #4467](https://github.com/OpenDDS/OpenDDS/pull/4467))
- Moved [Fnmatch Expressions](https://opendds.readthedocs.io/en/dds-3.28/devguide/annex.html#fnmatch-exprs) into an "annex" file so it can be common between security and partitions QoS. ([PR #4520](https://github.com/OpenDDS/OpenDDS/pull/4520))
- `ConfigStore`
- Add [configuration capabilities](https://opendds.readthedocs.io/en/dds-3.28/devguide/run_time_configuration.html#run-time-configuration-configuration-approach) to DevGuide. ([PR #4556](https://github.com/OpenDDS/OpenDDS/pull/4556))

## Version 3.27.0 of OpenDDS

Released 2024-02-07
Expand Down
4 changes: 2 additions & 2 deletions PROBLEM-REPORT-FORM
@@ -1,6 +1,6 @@
This is OpenDDS version 3.28.0-dev (NOT A RELEASE)
This is OpenDDS version 3.28.0, released Apr 16 2024

OpenDDS VERSION: 3.28.0-dev
OpenDDS VERSION: 3.28.0
TAO VERSION:

HOST MACHINE and OPERATING SYSTEM:
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1,4 +1,4 @@
This is OpenDDS version 3.28.0-dev (NOT A RELEASE)
This is OpenDDS version 3.28.0, released Apr 16 2024

This software is open source and free of licensing fees. See the
LICENSE file (in this directory) for license details.
Expand Down
6 changes: 3 additions & 3 deletions dds/Version.h
Expand Up @@ -11,9 +11,9 @@
#define OPENDDS_MAJOR_VERSION 3
#define OPENDDS_MINOR_VERSION 28
#define OPENDDS_MICRO_VERSION 0
#define OPENDDS_VERSION_METADATA "dev"
#define OPENDDS_IS_RELEASE 0
#define OPENDDS_VERSION "3.28.0-dev"
#define OPENDDS_VERSION_METADATA ""
#define OPENDDS_IS_RELEASE 1
#define OPENDDS_VERSION "3.28.0"

#define OPENDDS_VERSION_AT_LEAST(MAJOR, MINOR, MICRO) (\
(OPENDDS_MAJOR_VERSION > (MAJOR)) || \
Expand Down

0 comments on commit 27ebd79

Please sign in to comment.