Skip to content

Releases: OpenDDS/OpenDDS

OpenDDS 3.23.1

01 Feb 20:40
e5d2e5c
Compare
Choose a tag to compare

Download OpenDDS-3.23.1.zip (Windows) or OpenDDS-3.23.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Fixes:

  • Addressed a DDS Security issue where participants can sign their own permissions file if the same CA is used for both identity and permissions (#3992)
  • Addressed CVE-2023-23932, where untrusted sources can use invalid CDR strings in RTPS messages to crash OpenDDS applications (#4010, #4016, #4018)
    • Thanks to Seulbae Kim (@squizz617) for discovering this.
  • Fixed an issue in DynamicData::get_*_values and print_dynamic_data (#3952)
  • Fixed a bug where DynamicDataReader wouldn't be able to read a topic type with final or mutable extensibility (#3993)
  • Fixed race conditions involving reference counted objects (#3999)

OpenDDS 3.23.0

21 Dec 19:06
8db0c7f
Compare
Choose a tag to compare

Download OpenDDS-3.23.zip (Windows) or OpenDDS-3.23.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • DataRepresentationQosPolicy and TypeConsistencyEnforcementQosPolicy can be set through XML (#3763)
  • RTPS send queue performance improvements (#3794)
  • Cross-compiling improvements (#3853)
  • New support for DynamicDataWriter and enhanced support for DynamicDataReader (#3827, #3727, #3871, #3718, #3830, #3893, #3904, #3885, #3933, #3935)
  • New config option for RtpsDiscovery SpdpRequestRandomPort (#3903)
  • New opendds_mwc.pl Wrapper Script (#3821, #3913)
  • Improve support for loading signed documents (#3864)

Fixes:

  • Unauthenticated participant leads to invalid iterator (#3748)
  • Shmem Association race (#3549)
  • Shmem and tcp null pointer (#3779)
  • Submodule checkout on Windows (#3812)

Notes:

OpenDDS 3.22.0

16 Sep 20:39
Compare
Choose a tag to compare

Download OpenDDS-3.22.zip (Windows) or OpenDDS-3.22.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • Sequences in FACE mapping: support == for any type (#3604)
  • Implement instance security methods from DDS Security Spec (#3557)
  • Added meta-discovery server to RtpsRelay (#3655)
  • Support building for VxWorks 21.03 (#3723, #3740)
  • Alive and active flags now have timestamps in RtpsRelay (#3579)
  • Static initializers for registration of TypeSupport objects (#3736)

Fixes:

  • Fixed bug where partitions for RtpsRelay client were not updated (#3583)
  • Fixed data race on status flag which causes missing listener invocation for BIT readers (#3584)
  • Fixed bug where SEDP removes crypto handles before dissassociating (#3597)
  • Fixed null BIT subscriber in ConnectionRecord (#3610)
  • Fixed bug where user data reverts to original for RtpsRelay clients (#3613)
  • Removed warning about unexpected register in MulticastManager (#3608)
  • Fixed reference counting issue that blocks SPDP shutdown (#3619)
  • Fixed dds_suppress_anys=0 (#3656)
  • Ignore interfaces with no FQDN in AddressLookup (#3660)
  • Fixed memory leak where DataWriter doesn't remove unregistered instances (#3684)
  • Update TransportClient's use of PendingAssoc's lock (#3652)
  • Clone Google Test and RapidJSON if not found (#3691)
  • Set extensibility on enums (#3686)
  • Do not use fixed-size buffer for partition parsing (#3704)
  • Prevent Use Of IPv4-mapped IPv6 'Any' Addresses In RTPS Locators (#3713)
  • Fix SEGV in shutdown when using monitor (#3732)
  • Crash from missing BIT reader in shutdown (#3741)

Notes:

  • Removed wait param in TransportRegistry::create_inst (#3644)
  • Changed Multicast Group Join Errors to Warnings (#3558)
  • Remove Leading :: from TypeObject Names (#3679)
  • Updates to the ValueReader/ValueWriter/ValueDispatcher framework (#3719)
  • Updates to Dockerfile (#3737)

OpenDDS 3.21.0

24 Jun 20:15
d699e4a
Compare
Choose a tag to compare

Download OpenDDS-3.21.zip (Windows) or OpenDDS-3.21.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • Reduced code generation for XTypes (#3456)
  • ValueWriter::begin_struct_member now takes a member descriptor for identifying key fields (#3459)
  • Added detailed logging for invalid QoS (#3475)
  • Added example usage for inspect (#3493)
  • RTPS:
    • Added debug logging for non-final RTPS messages (#3504)
    • ConnectionRecord now reports the round-trip latency to the RtpsRelay (#3506)

Fixes:

  • Add locking to RecorderImpl (#3531)
  • Fixed minor issues with choosing addresses and hostnames in NetworkResource (#3527)
  • RTPS:
    • PropertySeq now checks for invalid length (#3432)
    • UseXTypes RTPS discovery option now accepts descriptive values (#3493)
      • This was added in OpenDDS 3.20.0, but wasn't functional.
    • Performance improvements for RTPS (#3500, #3508)
    • Fixed a bug where heartbeats were being sent to readers that didn't exist anymore (#3540)

OpenDDS 3.20.0

25 Mar 22:34
bf1b1df
Compare
Choose a tag to compare

Download OpenDDS-3.20.zip (Windows) or OpenDDS-3.20.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • Added the host_name shared memory transport config option (#3386)
  • Added an example test for demonstrating issues (#3322)
  • Added the --old-typeobject-encoding option to opendds_idl for compatibility with TypeObject before OpenDDS 3.18.0 (#3263)
  • Added return code to ServiceParticipant::shutdown() (#3159, #3270)
  • CMake Module:
    • Improved support for installing CMake projects that use OpenDDS (#3315, #3354, #3367, #3368, #3393)
      • OpenDDS, ACE, and TAO libraries can now be installed using install(IMPORTED_RUNTIME_ARTIFACTS) if using CMake 3.21 or later
        • To help facilitate this, a new function called opendds_get_library_dependencies has been added.
      • To help install generated files, OPENDDS_TARGET_SOURCES now adds lists of the files that where passed in and generated that are part of the PUBLIC and INTERFACE scopes as properties on the target
      • See docs/cmake.md for details on all of these new features
    • Added an OPENDDS_DEFAULT_SCOPE option that allows changing the default scope of OPENDDS_TARGET_SOURCES (#3315)
    • Support INSTALL_LIB being used with make install to change the name of the lib directory (#2879)
      • NOTE: This required changing the CMake module installation destination from lib to share.

Platform Support and Dependencies:

  • Support for Visual Studio 2022 (#3267)
  • Updated to work with the C++20 standard library (#3288)
  • Support for OpenSSL 3.0.1 and later (#3358, #3404)
  • Updated Wireshark dissector to work with GLib 2.68 and later (#2918)
  • Removed Boost as an optional dependency (#3323)
  • Updated the RapidJSON submodule (#3284)

Fixes:

  • Fixed issue preventing 2 sequence<string> anonymous types in the same struct (#3415)
  • Fixed issues with entity association when using the multicast transport (#3377)
  • Fixed issue #3268, a segfault in opendds_idl (#3374)
  • Fixed thread safety of DataReaderImpl_T's allocator (#3335, #3403)
  • Improvements to how data representation is handled (#3233)
  • Fixed instance lifetime issue with assert_liveliness (#3241)
  • RTPS:
    • Improved internal handling of remote addresses to reduce initial traffic (#3375)
    • General ICE improvements (#3298, #3218)
    • Improvements to RtpsRelay (#3257, #3240, #3237)
    • Check for invalid RTPS Parameter length (#3405)
  • CMake Module:
    • Fixed issue when using install(EXPORT) on a target used with OPENDDS_TARGET_SOURCES (#3315)
    • Fixed issue #1297 where opendds_idl generates an incorrect include path (#3315)

OpenDDS 3.19.0

11 Dec 02:31
6f1cbc4
Compare
Choose a tag to compare

Download OpenDDS-3.19.zip (Windows) or OpenDDS-3.19.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • XTypes: Dynamic Language Binding (#2976)
    • Read support only in this version
    • New inspect tool that prints data samples read from a topic in text form
    • See section 16.7 of the Developer's Guide for details
  • CDR Encapsulation support for non-rtps_udp transports (#3135)
    • When XCDR2 is enabled in DataRepresentationQosPolicy, these transports can use mutable and extensible extensibility
  • Enhanced RtpsRelay support (#3208, #3116, #3094)
  • RTPS transport-level statistics (#3166)
  • Made the allocators in TransportReceiveStrategy configurable (#3170)
  • Option to simulate lossy network (#3138)
  • Configurable maximum participants in discovery (#3145)
  • Extend ValueWriter/ValueReader with array based operations (#3140)
  • Extend RawDataSample with the header to support XCDR2 streams (#3028)
  • DCPSLogLevel config option, see section 7.6 of the Developer's Guide for details (#3113, #3158)

Fixes:

  • Source IP check override configuration (#3195)
  • Update use of receive address in RtpsUdpDataLink::accumulate_addresses (#3191)
  • Updated Node.js/V8 support (#3188, #3177)
  • Better support for DDS Security static library builds (#3122)
  • TransportReceiveStrategy: fixed issue with response queue (#3136)
  • Remove broken fragment resend early return check (#3095)
  • Added special-case handling for PID_PROPERTY_LIST interop (#3057)
  • SEDP sequencing (#3068, #3116)
  • MultiTopic robustness (#2988)
  • Fixed issue with find_package(Threads) on recent CMake releases when calling find_package(OpenDDS) before a C/C++ project has been declared (#3093)

Notes:

  • configure: Add vs2022 as a compiler option (#3169)
  • MSVC++ 12.0 updates (#3075)
  • Fixed dependency cycle when OPENDDS_TARGET_SOURCES is used on a CMake target that also has Qt MOC source files (#3093)

OpenDDS 3.18.1

24 Sep 22:33
e3f454e
Compare
Choose a tag to compare

Download OpenDDS-3.18.1.zip (Windows) or OpenDDS-3.18.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Fixes:

  • Improve RTPS messaging behaviors under IPv6 (#2923)
  • Fixed a few rtps_udp transport issues (#2954, #2997, #2998, #3009, #3013, #3027)
  • Configurable parameters for RTPS Discovery lease durations (#2999)
  • Auth resend backs off (more delay over time) (#2937, #2984)
  • Input validity check for RTPS Parameters (#2917), sequences (#2944), addresses (#2981, #3016), locators (#3000)
  • Fragment reassembly fixes (#2960)
  • Type lookup service fixes (#2941)
  • Fixed generation of unreachable code in operator<< (#2962)
  • RtpsRelay logging and related changes (#2936, #2980, #2979, #2978, 2987, #2996, #2832)
  • XML QoS loader can now use custom error handlers (#2961)
  • CMake: Prevent Duplicate BUILD_DLL creation (#2977)
  • CMake: Assign runtime library tao_idl on MSVC (#2990)

OpenDDS 3.16.1

27 Aug 21:14
Compare
Choose a tag to compare

Download OpenDDS-3.16.1.zip (Windows) or OpenDDS-3.16.1.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • Transport (#2940)
    • Added a new configuration option for rtps_udp transport called zero_init_acknak.
      When this enabled in the ini file, preassociation acknaks will start at 0. This is
      a feature added to allow interoperability with RTI-DDS.

OpenDDS 3.18.0

24 Aug 21:36
baf7626
Compare
Choose a tag to compare

Download OpenDDS-3.18.zip (Windows) or OpenDDS-3.18.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • IDL4 explicitly-named integer types (#2814, #2857, #2862)
    • The existing IDL integer types, short, long, and long long, now have new aliases, which are int16, int32, and int64 respectively, along with unsigned versions of them like uint32.
    • There are also two new distinct integer types: int8 and uint8.
  • RTPS:
    • Added the LeaseExtension RTPS discovery config option that extends the lease of discovered participants (#2869)
    • Added the SedpPassiveConnectDuration RTPS discovery config option (#2847)
    • Improved reassembly of fragments by adding an expiration to them (#2848)
      • Added the SedpFragmentReassemblyTimeout RTPS discovery config option to control this.
    • Use preallocated buffers in RtpsUdpDataLink (#2901)
      • Added the anticipated_fragments RTPS transport config option to scale how much memory is preallocated for packet customization and fragments buffers.
    • To try to reduce possible network congestion, temporarily increase the heartbeat send period while they go unanswered (#2911, #2913, #2915)
    • Added the SendBufferSize and RecvBufferSize RTPS discovery config options to set the buffer sizes for the sockets used for discovery (#2935)
  • The QoS XML Handler can now take input from a string (#2439)

Fixes:

  • RTPS:
    • Fixed RtpsUdpDataLink leaking remote writers on failed associations (#2812)
    • Fixed TypeObject encoding compatibly and consistency issues (#2749, #2804)
    • Fixed local/local RTPS associations not properly notifying liveliness (#2783)
    • Fixed durable data not being delivered in the right order (#2728)
    • RtpsUdpDataLink will no longer purge durable data (#2690)
    • Fixed writers of fragmented data samples having issues reconnecting with readers (#2930)
    • Fixed non-durable readers receiving historical samples (#2914)
    • Fixed issues with security permissions and governance XML file parsing (#2896, #2912, #2916)
      • <id_range>s in domain id sets can now omit <max> in permissions and governance files.
        • This means <id_range><min>0</min></id_range> will now mean all domains.
      • Fix date/time in <not_before> and <not_after> in permissions grants always being interpreted as local time and fix issues with parsing time zone offsets.
      • Fixed settings for multiple <domain_rule>s in governance files ending up just being copies of the first domain rule.
      • Allow using 1/0 in addition to TRUE/FALSE and true/false for boolean values.
    • RtpsRelay fixes and improvements (#2899, #2895, #2887, #2884, #2864, #2881, #2776, #2761, #2751, #2717, #2710, #2927, #2929, #2928, #2921)
  • Fixed Topics returned from find_topic not being distinct entities (#2731)
  • Try to workaround faulty DNS when getting the FQDN (#2677)
  • Fixed configure --wireshark-cmake not working on Linux (#2679)
  • Fixed an invalid memory write in SporadicTask (#2685)
  • Fixed occasional deadlocks in DataReaderImpl and SubscriberImpl associated with presentation QoS (#2886, #2903)
  • make install:
    • Use $(INSTALL_LIB) instead of hardcoded lib for Java-related files (#2740)
    • Use relative links in $(INSTALL_PREFIX)/share (#2780)
    • Fix headers unnecessarily getting installed to $(INSTALL_PREFIX)/include/DCPS (#2864)

Notes:

  • Fixed a spelling error for the DCPSChunkAssociationMultiplier config option (#2723)
    • The old spelling, DCPSChunkAssociationMutltiplier (with an extra "t" in "Multiplier"), will continue to also be accepted for the time being.

OpenDDS 3.17.0

19 May 16:43
b1d25ee
Compare
Choose a tag to compare

Download OpenDDS-3.17.zip (Windows) or OpenDDS-3.17.tar.gz (Linux/macOS) instead of "Source code (zip)" or "Source code (tar.gz)".

Additions:

  • Support for converting samples to and from JSON (#2312)
    • This requires RapidJSON, so it is now installed along with OpenDDS if it was configured (#2426)
      • NOTE: This might conflict with an existing RapidJSON installation.
  • Support for ignore_member_names in the XTypes type consistency enforcement QoS (#2364)
  • Internal tracking of and reuse of instance handles (#2530, #2557)
  • --install-origin-relative configure script option for installing with RPATH relative to $ORIGIN (#2651)
  • RTPS:
    • RTPS message logging (#2458)
    • RTPS performance logging (#2477)
    • Add logging to measure latency of RTPS discovery and association (#2511)
    • Consolidate RTPS messages based on time (#2534)
    • RtpsUdpDataLink can now handle more than one unicast address (#2653)

Fixes:

  • DiscoveryBase: additional iterator checks (#2421)
  • Improve memory usage (#2481)
  • Allow Java with linux-cross in configure script, Fixes #2518 (#2519)
  • Fix listeners not being invoked when remote participant times out (#2602, #2650)
  • RTPS:
  • Security:
    • Auth plugin: check for one of the expected handshake message types (#2551)
    • Fixed re-keying the endpoints that use derived keys (#2623)
  • Type Support Generation:
    • Use a leading :: to qualify generated C++ scoped names (#2350)
    • opendds_idl fix for underscore fields (#2377)
    • Make initialization of static XTypes type support data tread-safe in C++03 (#2362, #2389)
    • Clean up JNI local references, fixes runtime issues with large types (#2465, #2497)
    • Corrected serialization for XCDR2 mutable unions. (#2471)
    • Fix for include of a TAO pidl sequence using the TAO_ROOT-based path (#2566)
    • Generate Typecode identifiers needed by tao_idl when using C++11 Mapping (#2582, #2627)
    • Support IDL modules and topic types that are C++ or IDL keywords (#2608, #2665, #2668)
  • CMake Module:
    • Fix an issue where a type support library's export header was expected to exist before it was created (#2495)
    • Use CMAKE_CXX_COMPILER as the preprocessor for opendds_idl and tao_idl so a compiler is no longer required on the path. (#2503)
    • Fix compatibility with CMake 3.3 (#2562)
    • Subsequent calls to find_package(OpenDDS) no longer cause a fatal error (#2616)
      • NOTE: OPENDDS_ALLOW_ENV_CHANGE optionally allowed this before, so it is no longer needed and has been removed.

Notes:

  • OPENDDS_VERSION and other version indicators now includes the ".0" at the end for minor releases like this one. (#2563)
    • NOTE: Release archive filenames and Git tags will retain the old version pattern for now.
  • CMake Module: CMAKE_CXX_STANDARD will no longer be set on Unix platforms. This will have to be correctly set by the user (#2616)