Skip to content

Releases: OpenDDS/OpenDDS

OpenDDS 3.31.0

29 Jan 22:10
2a1aa5f
Compare
Choose a tag to compare

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

  • Improve --boottime timers to not use a file descriptor per timer. (PR #4835, PR #4871)

Platform Support and Dependencies

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 or DDS-X.Y.Z.
      Release tags from now on will also be tagged as vX.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 and v3.31 will be used for any future 3.31 releases.

OpenDDS 3.30.0

11 Oct 22:20
e792fb8
Compare
Choose a tag to compare

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)

Fixes

Documentation

OpenDDS 3.29.1

31 Jul 14:42
Compare
Choose a tag to compare

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

26 Jul 19:29
Compare
Choose a tag to compare

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

Platform Support and Dependencies

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.

Fixes

  • When DCPSThreadStatusInterval is enabled, threads that run the ACE Reactor now use timers instead of a time-limited select() system call to update the InternalThreadBuiltInTopic. (PR #4677)
    • This allows the InternalThreadBuiltInTopic to be updated accurately on systems that suspend/resume and are configured for boottime timers.
  • [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

Read more

OpenDDS 3.28.1

02 May 19:58
802922c
Compare
Choose a tag to compare

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 and configure 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".

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)

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".

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

16 Apr 19:32
27ebd79
Compare
Choose a tag to compare

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 their ace/config.h file.
    • See dds/OpenDDSConfig.h.in for details.
  • ConfigStore
  • The @value(x) annotation is now supported on IDL enumerators when using the IDL-to-C++11 mapping. (PR #4519)
  • 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)
  • 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 or OPENDDS_BOOTTIME_TIMERS when building with CMake.

Platform Support and Dependencies

Fixes

Documentation

OpenDDS 3.27.0

07 Feb 21:33
6415d17
Compare
Choose a tag to compare

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

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 and create_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 to DCPSDefaultAddress to behave like SpdpLocalAddress and local_address. (PR #4451)

Notes

  • TheParticipantFactory* will now return a null pointer when DCPSConfigFile doesn't exist. (PR #4372)

OpenDDS 3.26.1

14 Nov 22:54
3d7f89e
Compare
Choose a tag to compare

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 a corner case in RTPS ParameterList parsing (PR #4336)

  • Reject some types of invalid RTPS DataFrag submessages (PR #4348)

OpenDDS 3.26.0

23 Oct 19:26
55aa5bc
Compare
Choose a tag to compare

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

Deprecations

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

20 Jul 21:22
2038b66
Compare
Choose a tag to compare

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

Security

  • Fixed null pointer exception caused by RTPS Parameters with incorrect zero size. (PR #4197)

Fixes

  • CMake Config Package

    • Made linking dependencies and macro definitions closer match using MPC with OpenDDS and TAO. (PR #4140)
    • Fixed issues with passing OPENDDS_IDL_OPTIONS -SI to opendds_target_sources. (PR #4140)
  • 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

Notes

  • CMake Config Package

    • OPENDDS_TARGET_SOURCES is now called opendds_target_sources. (PR #4140)

      • CMake macros and functions names are case insensitive, so this should have no effect on CMake code.