OpenDDS 3.9

@mitza-oci mitza-oci released this Sep 30, 2016 · 498 commits to master since this release

Release notes for Version 3.9 of OpenDDS

Version 3.9 of OpenDDS.

  • Updated how DataWriter QoS is interpreted by internal data strucutres:
    • RESOURCE_LIMITS.max_samples_per_instance controls total samples that can be
      stored per instance, independent of HISTORY
    • HISTORY.depth controls number of samples (per instance) that will be made
      available to late-joining readers if DURABILITY is enabled
      • KEEP_ALL history uses max_samples_per_instance as its depth
    • WriteDataContainer is more eager to remove samples that are no longer needed
    • WriteDataContainer will not remove samples that are required to implement
      DURABILITY, hence if RELIABILITY is enabled this can block a write() just
      like other "no resource available" scenarios
  • Fixed an RTPS interoperability issue with the new ParticipantMessageData
    messages (used for liveliness)
  • Enhanced RTPS support for DURABILITY QoS enabling faster reader/writer
    associations when DURABILITY is in use (set to TRANSIENT_LOCAL)
  • RTPS Discovery has a new option "SpdpLocalAddress" which can be used to
    bind SPDP's socket to a particular network interface
  • InfoRepo discovery will use TAO's BiDir GIOP feature to reduce number
    of sockets needed (disable with -DCPSBidirGIOP 0)
  • Intermediate Type Language (itl), a helper library used by the OpenDDS
    wireshark dissector, is now included in the source tree in
    tools/IntermediateTypeLang. itl depends on the 3rd-pary lib rapidjson.
    When running the configure script, use --rapidjson=
  • Corrected makefile generation for Java bindings with IDL bounded strings
  • Fixed a bug where some header files would be missing from "make install"
  • "make install" now works with Java bindings
  • Configure script: now supports FreeBSD, Mac OS X El Capitan,
    and cross-compiles for Linux targets (Raspberry Pi and Intel Edison tested).
    The configure script attempts to find the JDK if invoked with --java.
  • cross-compilation now works with Java bindings, including use of JRE compact1

Using the GitHub "releases" page

Download OpenDDS-3.9.zip (Windows) or OpenDDS-3.9.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.8

@mitza-oci mitza-oci released this Dec 21, 2015 · 633 commits to master since this release

Release notes for Version 3.8 of OpenDDS

  • Improved support for Safety Profile
  • OpenDDS multicast transport (reliable mode) now guarantees in-order delivery
  • Added a "default address" configuration parameter that sets an overall default for binding to a specific network interface
  • Fixed bugs in transport framework, udp transport, InfoRepo discovery, static discovery, and the Liveliness and Durability QoS policies

Using the GitHub "releases" page

Download OpenDDS-3.8.zip (Windows) or OpenDDS-3.8.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.7

@mitza-oci mitza-oci released this Sep 11, 2015 · 933 commits to master since this release

Release notes for Version 3.7 of OpenDDS

Additions:

  • Implements FACE Transport Services API v2.1, FACE safety base and
    FACE safety extended profiles (Future Airborne Capability Environment).
  • Implements DDS 1.4 and RTPS 2.2.
  • Support allocations from memory pool in safety profile builds. Introduced
    standard library containers and strings, as well as TAO sequences that
    allocate from this pool.
  • To support FACE TS, the IDL struct DDS::SampleInfo has a new field
    "opendds_reserved_publication_seq" as an extension to the DDS specification.
  • Updated opendds_idl for FACE support, moving some of the code-generation
    from tao_idl to opendds_idl when targeting FACE TS.
  • Support IDL fixed type inside of DCPS_DATA_TYPE (used with FACE TS).
  • Type-specific DataWriterImpl and DataReaderImpl are now templates. Code
    generation now introduces a typedef of these.
  • Content filtering now supports modulus (MOD) operator as an extension.
  • Added a static (configuration-based) discovery mechanism.
  • RTPS Discovery is now supported when OpenDDS is built without built-in topics.
  • RTPS Discovery has a new configuration parameter SedpLocalAddress which
    configures the rtps_udp transport used internally by discovery in the same way
    that local_address configures a user-created rtps_udp transport instance.
  • Support non-default liveliness QOS in rtps_udp transport.
  • Support wait_for_acknowledgements in rtps_udp transport.
  • Support command line option -DCPSRTISerialization when integrating with RTI
    DDS using RTPS, to account for a different serialization algorithm.
  • Configure script handles some cross-compile builds and safety profile.
  • Support for new Visual Studio compilers (vc11, vc12, and vc14).
  • Support for clang builds on Mac OS X.
  • Removed support for old GCC compilers (<= 3.3).
  • opendds_idl command-line option -Gitl is a replacement for -Gws. Wireshark
    dissector now reads ITL files, rather than .ini files.

Fixes:

  • Fixed many tests for minimum profile builds.
  • Enforced correct behavior of a reliable data writer when history QoS
    is set to KEEP_LAST with depth=1.
  • opendds_idl can now be specified in user_macros.GNU instead of always
    assuming it is in $DDS_ROOT/bin (for -type gnuace builds).
  • Fixed initial IPv6 support in windows builds.
  • Fixed disassociate handling of local entities on loopback interface.
  • Corrected wait_for_acknowedgements for non-reliable writers to return
    success immediately.
  • Allow disassociating readers to finish processing messages from active writer
    before removing.
  • Remove TcpDataLink from DataLinkSet when connect() fails. Previously, the
    datalink would remain and would be seen as a fully-connected datalink by new
    associations.
  • DCPSTransportDebugLevel 1 messages are now association-oriented.
  • Fixed durable resend out-of-order handling for rtps_udp transport.
  • Fixed handling of acknowledgements during shutdown of rtps_udp data link.
  • RTPS Discovery now ignores 'RTPX' messages seen during RTI integration.
  • Dissection of unions in wireshark dissector (requires ITL).
  • Corrected reference counting scheme for Recorder and Replayer objects:
    the reference-counted handle types changed from _rch to _var.

Notes:

Using the GitHub "releases" page

Download OpenDDS-3.7.zip (Windows) or OpenDDS-3.7.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.6

@mitza-oci mitza-oci released this Feb 9, 2015 · 2423 commits to master since this release

Release notes for Version 3.6 of OpenDDS

Notes:

  • The discovery framework of OpenDDS has been refactored to be more
    asynchronous. This should make discovery faster and more reliable
    for both publishing and subscribing clients, regardless of the
    discovery mechanism used (RTPS or InfoRepo).
  • DataWriters now release locks more quickly than before. This allows the
    transport to be available to more threads when compared to 3.5.1.
  • Improved DDS specification compliance with regards to reliability,
    resource limits, and history qos settings. Specifically, reliable
    data writers may block for max_blocking_time and potentially return
    DDS::RETCODE_TIMEOUT in situations where they would have simply
    written the data in older version of OpenDDS. The new behavior
    is required by the DDS specification, see section 2.2.2.4.2.11
    of the version 1.4 specification for details. This change affects
    various operations of the data writer interface including the
    write and register operations.

Additions:

  • The wireshark dissector now supports wireshark versions 1.8.x, 1.10.x,
    1.12.x, and 1.99.1.
  • The modeling framework now support Eclipse 4.4 (Luna) and GMF 3.1.x
  • Added a public_address option for the tcp transport. This option
    allows a tcp transport instance to listen on one address (local_address)
    while advertising another address (public_address) to discovery.
    This feature was used to allow a proxy process between the subscriber
    and publisher in the TcpReconnect test, but may also be useful in
    other deployment scenarios, especially using OpenDDS through a firewall.

Fixes:

  • There were a number of concurrency and thread utilization improvements.
    These changes fixed a number of threading issues as well as improving
    the efficiency of publication.
  • Fixed some issues with RTPS discovery.
  • Fixed a number of issues related to the reconnect functionality of
    the tcp transport.
  • Fixed some bugs in the OpenDDS IPv6 support.
  • Eliminate duplicate samples received during durable resend.
  • Fixed memory leak at shutdown time in modeling library.

Tests:

  • Many updates to make test results more complete and deterministic.
  • Added a TcpReconnect test that exercised the ability of the tcp
    transport to seamlessly reconnect OpenDDS clients when the transport
    layer drops a connection.
  • Added a WriteDataContainer unit test to verify data writer memory
    management compliance with the DDS specification.
  • Added a PubScalability test that was used to test association and
    publications with large numbers of subscribers.
  • Added a packet reassembly unit test.

Using the GitHub "releases" page

Download OpenDDS-3.6.zip (Windows) or OpenDDS-3.6.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.5.1

@mitza-oci mitza-oci released this Aug 19, 2014 · 2819 commits to master since this release

Release notes for Version 3.5.1 of OpenDDS

Notes: Due to addition control messages in the 3.5.1 release, mixing 3.5.0
and 3.5.1 releases should work properly, but the 3.5.0 data readers can emit
the following error message when associating with a durable 3.5.1 data
writer:

ERROR: DataReaderImpl::data_received unexpected message_id = 11

Upgrade all endpoints to 3.5.1 to remove this error message.

Additions:

  • Support later (>= 4.7) versions of GCC compilers, and later (>= 2.0a)
    builds of TAO. Configure script now downloads 2.2a by default.
  • Added IDL compiler support for typedef of string fields within unions.
    Added Java IDL compiler support for struct forward declarations.
  • Updated UML design diagrams to reflect current code base.

Fixes:

  • DCPSInfoRepo no longer informs a subscriber about a crashed or killed
    publisher. This made associations of current publishers and subscribers
    delayed until timeout was reached.
  • Fixed deadlock condition in send_delayed_notifications() resulting from
    multiple datawriters.
  • Fixed deadlock in DataLinkSet::send_control().
  • Fixed deadlock in WaitSet::wait() and DataReaderImpl::data_received().
  • Fixed multicast transport with multiple participants in a single process.
  • Fixed parsing of -ReassociateDelay argument by DCPSInfoRepo.
  • Fixed crash of long-lived zero-copy sequence when it is destroyed and
    crash of zero-copy sequence accessing released instances.
  • Fixed unprotected access to DataWriterImpl::reader_info_, and
    TransportSendStrategy::pkt_chain_.
  • Fixed multiple RTPS crashes when participant is being deleted.
  • Fixed RTPS crash when a data reader is being deleted.
  • Fixed problem for non-unique repo ids for multicast when multiple
    (non-federated) DCPSInfoRepos are used on the same network.
  • Fixed crash caused by back-pressure in transport causing the most recent
    sample for an instance to be dropped.
  • Fixed error in reconstruction logic for fragmentation of udp and multicast
    transport packets.
  • Fixed PublisherImpl and SubscriberImpl to properly set a DataWriterImpl
    or DataReaderImpl entity's deleted flag during deletion to allow
    association checks to properly identify entities that are being deleted and
    not proceed in association.
  • Fixed problem for persisted DCPSInfoRepo where persisted participants
    were never dissociating.
  • Fixed activity improperly occuring when a partipant is being deleted
    that caused pure virtual function calls. In one case, waiting now takes
    place during deletion of a data writer until all control messages sent during
    unregistration of instances are account for. In another case fixed so
    TransportSendControlElement will delete itself before it reports to the listener
    that the message has been delivered/dropped.

Tests:

  • Many updates to make test results more deterministic.
  • Added Reliability test.
  • Added ManyToMany test to test associations with additional participants,
    publishers, subcribers, data readers and data writers.
  • Added PersistentInfoRepo test.
  • Restored thrasher medium and high test cases.
  • Rewrite Priority test to make it verify proper QOS functionality.
  • Rewrite LargeSample test to make it verify message contents are as expected.

Using the GitHub "releases" page

Download OpenDDS-3.5.1.zip (Windows) or OpenDDS-3.5.1.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.5

@mitza-oci mitza-oci released this Jan 27, 2014 · 3152 commits to master since this release

Release notes for Version 3.5 of OpenDDS

  • Updates to RTPS support resulting from both interoperability
    testing (March 2013 OMG meeting) and user feedback.
  • Fixed a bug in the DataReader relating to the Deadline timer.
  • Generated TypeSupportImpl classes now contain nested typedefs that
    facilitate programming with C++ templates.
    See tests/DCPS/ManyTopicTest for an example of usage.
  • Added config options to bind RTPS-related multicast sockets to
    specific network interfaces. See the ChangeLog for details.
  • Fixed an opendds_idl code generated bug when typedefs of basic
    types are used as fields of structs.
  • Corrected a number of other bugs related to discovery and scaling.

Using the GitHub "releases" page

Download OpenDDS-3.5.zip (Windows) or OpenDDS-3.5.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.4.1

@mitza-oci mitza-oci released this Feb 27, 2013 · 3246 commits to master since this release

Release notes for Version 3.4.1 of OpenDDS

  • Added a new option to opendds_idl, -Wb,v8, which generates type support
    for copying DCPS structs from C++ objects to JavaScript objects -- requires
    the V8 JavaScript engine. See https://npmjs.org/package/opendds for OpenDDS
    integration with Node.js.
  • Fixed a bug in serialization with misaligned reads. It only impacts
    certain platforms with strict alignment requirements such as SPARC/SunCC.
  • Clang 3.2 is now a supported compiler.
  • Fixed a bug in the rtps_udp transport, in certain cases an invalid Gap
    submessage was sent which can result in data samples not being received.

Using the GitHub "releases" page

Download OpenDDS-3.4.1.zip (Windows) or OpenDDS-3.4.1.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads

OpenDDS 3.4

@mitza-oci mitza-oci released this Jan 18, 2013 · 3268 commits to master since this release

Release notes for Version 3.4 of OpenDDS

  • Added new OpenDDS-specific APIs for sending and receiving untyped data,
    (does not require code generation from IDL data structures). See the
    Recorder and Replayer classes and the test in tests/DCPS/RecorderReplayer.
  • Implemented the ability to send fragmented data with the rtps_udp transport.
  • Fixed a bug in copy_from_topic_qos(): the Ownership policy is now copied.
  • The optimization of publisher-side content filtering now applies to durable
    data in addition to newly written data samples.
  • As with versions before 3.2, the DCPSInfoRepo object reference is allowed to
    fail to resolve. If it fails, the current operation can be re-tried at a
    later time when the DCPSInfoRepo server is available.
  • Added a new option for per-domain default transport configurations.
  • Corrected IDL string constants for QoS policy names which were wrong in the
    DDS spec (GROUPDATA and TRANSPORTPRIORITY ..._QOS_POLICY_NAME). These are
    not used anywhere in OpenDDS.

Using the GitHub "releases" page

Download OpenDDS-3.4.zip (Windows) or OpenDDS-3.4.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.

Downloads