Version 1.2 of OpenDDS. New to this version are the following changes: - Implemented the WaitSet, GuardCondition, and StatusCondition interfaces from the OMG DDS specification. - Implemented DomainParticipant::get_current_time() from formal/07-01-01. - Added the ability for using multiple repositories to provide redundant service metadata management. The ability to federate repositories and redirect applications to attach to a new repository in the event a repository fails or becomes unreachable. This is an experimental feature. - Removed requirement for repository domain specification files. Repositories will manage DomainParticipants and their contained Entities in any domain without requiring the domain to be prespecified in a configuration file. This removes the '-d' command line argument from the repositories as well. - Internal service Entity identifiers have been expanded to 128 bits. These internal identifiers were previously 32 bits. The 128 format follows the format of OMG Specification formal/08-04-09 (The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification, Version 2.0) GUID_t unique identifier type. OpenDDS places the identifier value for the DataWriter Entity of a publication on the wire to identify the source of data samples. This means that this version of OpenDDS WILL NOT INTEROPERATE with previous versions since the 128 values are not compatible with the previous 32 bit values. - Java Bindings for OpenDDS See $DDS_ROOT/java/README, $DDS_ROOT/java/INSTALL, $DDS_ROOT/java/FAQ - dcps_ts.pl changes Modified this script to create a single idl, header, and source file no matter how many types are contained within the input idl file. This allows the output file names to be based upon the input file name (instead of the types found in the idl file). Users of prior OpenDDS versions can use the script $DDS_ROOT/bin/update_dcps.pl to assist with this transition. Added a command line argument to allow an output directory to be specified. All output files will be placed into this directory if present. They will continue to be placed in the current directory if this argument is not present. - DCPSInfoRepo changes A new library has been introduced (libDCPSInfoRepoServ) which provides the neccessary hooks for running the DCPSInfoRepo within another process. For example usage, see: $DDS_ROOT/dds/InfoRepo/DCPSInfoRepo.cpp. - Fixed bug in DCPSInfoRepo that did not re-evaluate the compatibility and associations when QoS change is made. - Fixed bugs that affected connection establishment. Fixed DataWriterImpl to handle the case that remove_association is called before fully_associated is called. Fixed a race condition that connection delay deletion removes new assocaitions. Corrected fully association ack verification to fix issues when multiple associations of a datalink are added simultaneously. - Added datalink_release_delay and removed keep_link configuration. The datalink_release_delay is the delay for datalink release after no associations. It defaults to 10 seconds. This is to fix disconnect problem happened when removing and adding association related to same datalink during short period. Removed keep_link which can be replaced with a big value of datalink_release_delay. - Fixed a potential deadlock in reliable multicast transport.
Release Notes from previous versions are in the DDS_ROOT/DDS_release_notes.txt file included with OpenDDS.