Releases: OpenDDS/OpenDDS
OpenDDS 3.5
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.
OpenDDS 3.4.1
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.
OpenDDS 3.4
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.
OpenDDS 3.3
Release notes for Version 3.3 of OpenDDS
- If an instance of a transport can't be set up, an exception is thrown so
that different configuration parameters can be attempted by the user. - Corrected the mapping of Priority QoS to DiffServ CodePoint DS subfield.
- For thread-per-connection send, if no explicit scheduling policy has been
configured, OpenDDS will now inherit the current thread's policy/priority. - Fixed a possible deadlock of RTPS discovery on Windows.
- Added non-blocking I/O setting to tcp sockets, VxWorks 6.4 required it.
- Fixed various bugs in deadline and ownership QoS.
- Improved multicast transport's robustness during handshaking when many
connections are set up at the same time, and also allow for multicast
to skip over recieved datagrams that don't have the expcted header values. - Multicast transport configuration can now specify a local network interface
which will be used to join the multicast group. - The support for the generation of the DDS4CCM needed LEM library has been
moved to CIAO DDS4CCM. This removed the optional dependency on CIAO.
Using the GitHub "releases" page
Download OpenDDS-3.3.zip (Windows) or OpenDDS-3.3.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 3.2
Release notes for Version 3.2 of OpenDDS
- Added a new transport type: Shared Memory
Use "shmem" as the short name (in place of "tcp", "udp", "multicast", etc.).
See dds/DCPS/transport/shmem/ShmemInst.h for configurable parameters. - The udp transport now supports setting IP DSCP (DiffServ CodePoint) based on
the writer's TRANSPORT_PRIORITY QoS value. - Fixed bugs in udp and multicast transports, including reassembly of fragments.
- Made several changes in order to support CIAO 1.1.2 with DDS4CCM. From
this version DDS4CCM has support for OpenDDS as DDS vendor. Check the CIAO
release notes for details on what has been ported. - Added new QOS_XML library with which QoS settings can be done through an XML
file. Used at this moment by the CIAO DDS4CCM implementation. - Implemented rejection of samples due to exceeding max_instances and
max_samples. - Made the RTPS discovery and transport code more robust.
- Refactored InfoRepo-based discovery into its own library. This reduces the
dependency on TAO such that certain TAO libraries will no longer be loaded
unless they are needed for InfoRepo-based discovery. - For IDL files that only contain local interfaces, the generation of
server-side TAO code was suppressed. The suppression applies to DdsDcps*.idl.
This means, for example, that code that was including DdsDcpsSubscriptionS.h
needs to be changed to include DdsDcpsSubscriptionC.h. - To reduce library size, OpenDDS can now be conditionally compiled to exclude
profiles discussed in the Compliance section of the DDS spec. See
section 1.3.3 in the Developer's Guide for more information.
Using the GitHub "releases" page
Download OpenDDS-3.2.zip (Windows) or OpenDDS-3.2.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 3.1
Release notes for Version 3.1 of OpenDDS
- This release includes the initial implementation of DDS Interoperability
in OpenDDS, using the DDS-RTPS spec v2.1 from the OMG (formal/2010-11-01).
RTPS support in OpenDDS consists of two main features:- A pluggable transport implementation, known as "rtps_udp" because it
implements the UDP PSM of the DDS-RTPS spec. This is a peer of the
existing OpenDDS-native transports: "tcp", "udp", and "multicast". - A new discovery mechanism for RTPS's distributed discovery. This can
replace the DCPSInfoRepo in existing OpenDDS deployments.
Neither of these features is enabled by default. See the OpenDDS Developer's
Guide chapter 7 for configuration details. Also, note that not every OpenDDS
feature (for example, certain QoS values) is supported with RTPS in the
initial implementation. These exceptions are documented in the Developer's
Guide sections 7.3.3 and 7.4.5.5.
- A pluggable transport implementation, known as "rtps_udp" because it
- Changed set_qos() of DataWriter, DataReader, Publisher and Subscriber so
when provided a QoS value incompatible with an existing association, that the
value will be changed, association will be broken, and RETCODE_OK returned.
Previously, if any association would be broken, no change would take place
and false would be returned. New version is compatible with DDS spec. - OpenDDS udp transport enhancements:
- Added send_buffer_size and rcv_buffer_size parameters to the udp
transport configuration. - The default local address will use DNS host names instead of IP
addresses. - Added support for IPv6 when ACE is built with IPv6 support.
- Added send_buffer_size and rcv_buffer_size parameters to the udp
- OpenDDS multicast transport enhancements:
- Added a configuration parameter "async_send" (defaults to false)
that will send multicast datagrams using async I/O if supported
by the platform. As of now this is only implemented on Windows.
It could be extended to Unix aio_*() functions in theory, but these
are generally not preferred and the regular socket functions are
sufficiently fast.
- Added a configuration parameter "async_send" (defaults to false)
- Removed DataReaderQosExt from DdsDcpsSubscriptionExt.idl. This was only
being used to provide a non-standard-compliant backwards-compatibility
setting to get the DURABILITY QoS behavior matching that of OpenDDS v1.2
and earlier. It was not being used in any OpenDDS code.
Using the GitHub "releases" page
Download OpenDDS-3.1.zip (Windows) or OpenDDS-3.1.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 3.0.1
Release notes for Version 3.0.1 of OpenDDS
- The DCPSInfoRepo reassociates Built in Topic connections for existing
datareaders and datawriters when restarted from persistence. - The opendds_idl compiler will now print a warning about not including TAO's
orb.idl file when a file named orb.idl is included. - Fixed a bug where the timeout for passive_connect_duration was ignored.
- Fixed multiple bugs in fragmentation/reassembly used for udp and multicast.
- Fixed multicast loopback and session re-use problems.
- Fixed a bug with memory management for the TransportCustomizedElement
used in publisher-side content filtering. - New example Messenger.minimal - which is like messenger, but streamlined
for new users to understand the whole easier.
Using the GitHub "releases" page
Download OpenDDS-3.0.1.zip (Windows) or OpenDDS-3.0.1.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 3.0
Release notes for Version 3.0 of OpenDDS
- Transport configuration has undergone a major redesign and any existing
transport application code or transport configuration files need to be
updated. See the Developer's Guide for details of the design. See
$DDS_ROOT/docs/OpenDDS_3.0_Transition.txt for a description on how
to migrate your applications to the OpenDDS 3.0 design. As a part of
this design OpenDDS gains the following capabilities:- Most applications can do all transport configuration via
configuration files (no transport source code required). - Individual writers and readers can now support multiple
transports.
- Most applications can do all transport configuration via
- The simpleTcp transport was renamed to tcp (the directory containing
its source code was also renamed). - The udp transport no longer required a local_address when being
configured. If not specified, the property defaults to a value
selected by the operating system (similar to the tcp transport). - Details of the OpenDDS Modeling SDK changes in this release are documented
in the Eclipse-based help, see OpenDDS Modeling SDK Guide -> Getting
Started -> Introduction to the OpenDDS Modeling SDK. - First release of OpenDDS Real-Time Data (RTD) for Excel an Excel Add-in
and RTD Server. It allows visualization of an operating OpenDDS system
from within Excel. It gives a tree view of a repository that mirrors the
stand-alone OpenDDS Monitor application's tree view, but with the
additional capabilities to automatically restart monitoring of a repository
when a saved workbook is opened, monitoring multiple repositories
simultaneously, and snapshot a repository monitor tree view. - Wireshark dissector improvements include removal of the restriction
that inforepo IOR be placed in a special file. Dissector config
files can now be generated by opendds_idl. - The monitor tool has a new view which is an alternate to the Graphviz
view. The Node view uses Qt gui elements to model the OpenDDS system.
Users can manipulate Node view graphs before saving them to PNG files.
Using the GitHub "releases" page
Download OpenDDS-3.0.zip (Windows) or OpenDDS-3.0.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 2.4
Release notes for Version 2.4 of OpenDDS
- This will be the final release of OpenDDS that will build with the current
patch level of TAO 1.5a. This release is compatible with (the current patch
levels of) TAO 1.5a, and 1.6a, as well as the current DOC Group release.
Future releases will be compatible with TAO 1.6a and the DOC group -- see
the README file for details on TAO versions. - The implementation of ContentFilteredTopics now defaults to evaluating
the filter expression at the publisher so that data samples which would
be ignored by the subscriber can be dropped before getting to the transport.
This feature can be turned off with "-DCPSPublisherContentFilter 0" or the
equivalent setting in the [common] section of the configuration file.
When using non-default DEADLINE or LIVELINESS QoS policy values, special
consideration needs to be given to how these "missing" samples impact the
QoS behavior, see the document in docs/design/CONTENT_SUBSCRIPTION. - DisjointSequence, an internal class used to track sequence numbers for both
multicast and wait_for_acks, was enhanced to store contiguous ranges instead
of individual values. Thus it will not require so much memory in cases where
there are gaps in the sequence numbers. - Began implementing the DDS Interoperabiltiy specification aka "RTPS"
(see OMG formal/2010-11-01). Changes in this release include fragmentation
and reassembly for udp and multicast, 64-bit sequence numbers, and the ability
to transmit only the key fields for the instance-control messages (register,
unregister, dispose). - The monitor tool, an instrumentation viewer application for OpenDDS,
has new options for generating and viewing directed graphs. The tool
generates Graphviz-readable .dot files, manages converting the files to
representative .png files, and displays the generated .png files in its
GUI. Monitor executes Graphviz command-line tools in a separate process.
There are no compile-time or run-time dependencies on Graphviz. The
monitor tool will run on systems without Graphviz installed but will
not be able to generate .png files. - Enhanced the Wireshark packet dissector to inspect SAMPLE_DATA message
contents. This requires a data model expressed in an .ini file (documented
in tools/dissector/README). In order to associate a SAMPLE_DATA message
with a type, the publication ID is harvested from InfoRepo GIOP messages.
In order to detect InfoRepo GIOP messages, the IOR for the InfoRepo must
be written in a file called "IOR.txt" in the current working directory when
wireshark is invoked. - Enhancements and fixes of OpenDDS Modeling SDK. Version: 1.1.0.
- Topic types from a DcpsLib shown in Project Explorer can be
dragged to diagram for another DcpsLib. This allows the same
Topic to be used in multiple DcpsLibs. - For more, see the Eclipse online help, under "OpenDDS Modeling
SDK Guide > Getting Started"
- Topic types from a DcpsLib shown in Project Explorer can be
- Enhancements and fixes of OpenDDS Modeling SDK. Version: 1.0.1.
- For more, see the Eclipse online help, under "OpenDDS Modeling
SDK Guide > Getting Started"
- For more, see the Eclipse online help, under "OpenDDS Modeling
Using the GitHub "releases" page
Download OpenDDS-2.4.zip (Windows) or OpenDDS-2.4.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.
OpenDDS 2.3
Release notes for Version 2.3 of OpenDDS
- First release of the OpenDDS Modeling SDK, a modeling tool that can be
used by the application developer to define the required middleware
components and data structures as a UML model and then generate the
code to implement the model using OpenDDS. The generated code can
then be compiled and linked with the application to provide seamless
middleware support to the application. UML models are manipulated using
a graphical editor based on Eclipse. See the OpenDDS Developer's Guide
http://download.ociweb.com/OpenDDS/OpenDDS-latest.pdf for
installation instructions. - DCPSInfoRepo no longer requires an -ORBSvcConf argument when using
Built-In Topics. The DCPSInfoRepo process will take care of loading
SimpleTCP (if it's not already loaded). - Fixed method signature of DataWriter::register_instance_w_timestamp()
to have two arguments per the latest spec, not three. - "make install" is now available on platforms using GNU Make and when
building with OCI TAO 1.6a or DOC Group TAO. - Added support for Microsoft Visual Studio 2010 (vc10).
Using the GitHub "releases" page
Download OpenDDS-2.3.zip (Windows) or OpenDDS-2.3.tar.gz (Linux/Solaris/MacOSX) instead of using the GitHub-generated "source code" links.