OpenDDS version 3.7 is now available for download.
Updated OpenDDS Developer's Guide
Features added and bugs/fixes in this release include:
Features added:
- 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 (
- 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:
- OCI no longer builds with vc71, vc8, and GCC 4.1.1. If you require support of these older platforms contact sales@ociweb.com.
- The project repository is now at https://github.com/objectcomputing/OpenDDS