CoreDX DDS Release Notes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.12 - ID 801: Fixed: JAVA: IDL4 generated code for complex key computing size incorrectly - ID 800: Fixed: SECURITY: support protection=SIGN for submessage and payload - ID 799: Fixed: XML: parser bug for comments that span multiple xml elements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.11 - ID 798: Fixed: C++: ContentFilteredTopic::get_topicdescription() returns NULL - ID 797: Fixed: XTypes: failure while unmarshaling missing mutable structure member - ID 796: Fixed: DDL: error marshaling sequence length (wrong endian!) - ID 795: Fixed: SECURITY: Changes to support DDS Security interoperability - MERGE patches up to v3.6.48 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.10 - ID 792: Fixed: DDL: unmarshalling an extensible data type may fail if cdr data is shortened - ID 791: Fixed: DYN_TYPE: detect member_id collisions and auto-assign if id==MEMBER_ID_INVALID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.9 - ID 790: Fixed: QOS: Allow reader to specify data representation other than XCDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.8 - ID 789: Fixed: RTPS: Linux update to multicast socket bind causes error under Windows - ID 786: Fixed: DDL: [revisited] marshaled mutable sample has incorrect padding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.7 - ID 787: Fixed: CORE deleting a reader(content_filter_topic) prior to enabling may crash - ID 786: Fixed: DDL: marshaled mutable sample has incorrect padding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.6 - ID 785: Fixed: CONTENT_FILTERS: unbounded string parameters fail in IN and LIKE expressions - ID 784: Fixed: CONTENT_FILTERS: filtering on inherited field fails under Java/CSharp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.5 - ID 783: Fixed: DDL: generated Java enum _BAD_VALUE constant may collide with a good value - ID 782: Fixed: DDL: error handling @value annotation on last enum label - ID 781: Fixed: DDL: improve handling of @top-level annotation (RTI legacy, @nested is preferred) - Added: Incorprate RPC Java API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.4 - ID 777: Addded: X-Types: workaround for RTI 'module' interoperability - ID 776: Fixed: X-Types: Error constructing ENUM type from TypeObject - MERGE patches from v3.6.42-44 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.3 - ID 774: Added: DDL: add string support methods to generated Java ENUM classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0 - Adds: X-Types support - Adds: RPC over DDS support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.48 - ID 794: Fixed: RTPS: failure to tx HB after repair impacts performance - ID 793: Fixed: JAVA: Race condition in JNI init may crash with multiple readers on same topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.47 - ID 788: Added: CORE: Add a DomainParticipant::unregister_type() method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.46 - ID 779: Fixed: DDL: support for sequence of arrays is not computing max size correctly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.45 - ID 778: Fixed: JAVA: return_loan() call after read w/NO_DATA can crash ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.44 - ID 775: Fixed: TRANSPORT: failure to detect RTI unicast ports when co-located on Windows ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.43 - ID 773: Added: C#/Java: Support QosProvider under C# and Java language bindings - ID 772: Added: Core: Add static libraries compiled with -fPIC (linux targets) - ID 771: Added: C#: Add NuGet assembly targeting netstandard1.6 and net4.6.1 - ID 770: Added: DDL: Add get_fully_qualified_type_name() to Java and C# TypeSupport ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.42 - ID 769: Fixed: CORE: add helpful [entity]::get_guid() to Participant, DataReader, and DataWriter - ID 768: Fixed: JAVA: [entity]::get_instance_handle() always returns HANDLE_NIL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.41 - ID 767: Fixed: CORE: fixed issue with 64bit windows builds under win8+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.40 - ID 764: Fixed: IDL: improve processing of ill-formed annotations (further bug 759 regression) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.39 - ID 766: Fixed: QoS: allow override of send_initial_nack on builtins - ID 765: Fixed: RTPS: throttle initial nacks if peer is unresponsive - ID 764: Fixed: IDL: improve processing of ill-formed annotations (bug 759 regression) - ID 763: Fixed: RTPS: reader pre-cache processing can treat writers unfairly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.38 - ID 762: Added: PORT: Support INTEGRITY 11 / on PPC4080 - ID 761: Added: JAVA: provide java language binding for OSX - ID 760: Fixed: RTPS: DATA_FRAG source timestamp not set properly in reader sample_info - ID 759: Fixed: DDL: accept //@top-level annotation syntax w/o error - ID 758: Fixed: RTPS: Reader may stop rx'ing data when max_precache=0 and RELIABLE + KEEP_ALL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.37 - ID 757: Fixed: CORE: potential deadlock in set_listener() under load - ID 756: Fixed: TLM: Race condition loading license key ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.36 - ID 755: Fixed: RTPS: HB/AckNack adjustments for interoperability w/OpenDDS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.35 - ID 754: Fixed: DDL: C++ code gen: Union with array member fails to generate modifier method - ID 753: Added: INTEGRITY: use system provided malloc/free (non-178b) - ID 752: Added: PORT: Support mingw32 gcc4 - ID 751: Fixed: TRANSPORT: VxWorks 6+ use getifaddr() instead of SIOCGIFCONF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.34 - ID 750: Added: PORT: Support INTEGRITY 11 / PPC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.33 - ID 749: Fixed: CONTENT_FILTER: Filtering on enum members is disabled ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.32 - ID 746: Fixed: QOS_PROVIDER: Generalize the XML parser API to support alternate XML parsers [remove all references to libxml2 dynamic library from QosProvider lib] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.31 - ID 748: Fixed: QOS_PROVIDER: windows DLL memory management issue (add return QoS operations) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.30 - ID 747: Fixed: C++: DynamicType marshal/unmarshal alignment considers CDR header - ID 743: Added: C++: Add ability to set sequence buffer directly in C++ API (add complementary release() method) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.29 - ID 746: Added: QOS_PROVIDER: Generalize the XML parser API to support alternate XML parsers - ID 745: Fixed: QOS_PROVIDER: drops setting of "PeerParticipantQosPolicy.strict_match" - ID 744: Fixed: DDL: coredx_ddl compiler -g/-G options fail if guard variable contains dash ('-') character - ID 743: Added: C++: Add ability to set sequence buffer directly in C++ API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.28 - ID 742: Fixed: RTPS: interop issue with OpenSplice Participant that has builtin-topic "Topic" writer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.27 - ID 741: Added: UDP TRANSPORT: Support distinct meta/user multicast addresses - ID 740: Added: PORT: Support ReWorks / mips32 / gcc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.26 - ID 739: Fixed: CORE: race condition in DomainParticipant::enable() [since 3.6.19] - ID 738: Fixed: RTPS: occasional failure to add samples to pre-cache under heavy traffic (>10K samples/sec) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.25 - ID 737: Fixed: CORE: memory corruption processing IPv6 address - ID 736: Fixed: CORE: Error processing typecode from RTI v5.1 - ID 735: Fixed: C++: Partition qos policy assignment operator is incomplete - ID 734: Fixed: CORE: Failure to cleanup LocalRef under Android causes an exception when reading many (>100) samples - ID 733: Fixed: DDL: IDL Constants TRUE and FALSE generate invalid Java and C-Sharp code - ID 732: Fixed: DDL: when generating C-Sharp code, the ddl compiler does not honor the -s option - ID 731: Fixed: C++: the include/dds/dds_seq.hh header uses 'NULL' without proper includes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.24 - ID 730: Added: QOS: Add QosProvider API to C++ language binding (load Qos Profiles from XML) - ID 729: Fixed: TRANSPORT: Set default UDP max_tx_size to 8192 when running under QNX - ID 728: Added: QOS: Add QosProvider API to C language binding (load Qos Profiles from XML) - ID 727: Fixed: TRANSPORT: UDP interface monitor may cause memory corruption under QNX - ID 726: Fixed: CORE: Reliability max_blocking_time not correct on QNX / LynxOS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.23 - ID 725: Added: PORT: Support VxWorks 6.8 SMP and VxWorks 6.9 SMP - ID 724: Fixed: RTPS: CoreDX_RTPSWriterQosPolicy.enable_batch_msg is being ignored (BATCH not enabled in some cases) - ID 723: Fixed: CORE: Performance regression introduced in v3.6.22 Bug 719 (for POSIX environments) - ID 722: Added: DDL: add options for specifying preprocessor guard for generated c/c++ header files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.22 - ID 721: Fixed: RTPS: BATCH and FRAG samples are using wrong clock for reception time - ID 720: Added: DISCOVERY: update lease time if we receive ANY message from peer, not just DPD - ID 719: Added: CORE: Support multi-threaded deployment under INTEGRITY-178 - ID 718: Added: DISCOVERY: option to limit discovery to pre-defined peers - ID 717: Fixed: DDL: anonymous "sequence of array" type may cause coredx_ddl to crash - ID 716: Added: DDL: option to generate safe unmarshal code (slower + safer) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.21 - ID 715: Fixed: C-SHARP: DomainParticipantQos.peer_locators may leak memory in core - ID 714: Fixed: C-SHARP: registered typesupport is not reclaimed correctly by delete_participant() - ID 713: Fixed: CORE: DataReader::delete_contained_entities did not reclaim QueryCondition(s) - ID 712: Fixed: LMT: Partial packet write can lead to data corruption - ID 711: Added: QOS: ability to toggle pre-allocation of samples or instances (via resource_limits QoS) - ID 710: Added: DDL: preserve path in generated #include statements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.20 - ID 709: Fixed: DATAFRAG: improve collection and management of fragments - ID 708: Fixed: RTPS: When sending direct HB, we should add INFO_DEST rtps submsg for clarity - ID 707: Fixed: DATAFRAG: incorrectly expiring incomplete fragments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.19 - ID 706: Fixed: DDL: constants not handled correctly when suppressing generation of included files (-s) - ID 705: Fixed: TRANSPORT: TCP connections may not be (re)established when network interfaces change - ID 704: Added: TRANSPORT: Support dynamic network detection on Mac OS-X and iOS - ID 703: Fixed: RTPS: Send Initial NACK on builtin topics to support detection of 'reborn' peers - ID 702: Fixed: C-SHARP: Strings with extended unicode characters may cause memory corruption ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.18 - ID 701: Fixed: C++: All Listener inheritance should be virtual - ID 700: Added: DDL: generate TypeSupport::get_fully_qualified_type_name() - ID 699: Fixed: TRANSPORT: Windows reports interface ready before socket open will succeed - ID 698: Added: PORT: Support SunOS 5.11 - ID 697: Fixed: DDL: coredx_ddl compiler may emit invalid code for multi-dimension arrays ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.17 - ID 696: Fixed: TRANSPORT: LMT transport deadlock during connection - ID 695: Fixed: CORE: Calling DomainParticipant::delete_contained_entities() multiple times can cause corruption - ID 694: Added: TRANSPORT: Implement shared memory transport for INTEGRITY-178 RTOS - ID 693: Fixed: TRANSPORT: UDP transport support BROADCAST only discovery - ID 692: Fixed: CORE: Lifespan QoS does not always purge samples from Writer cache - ID 691: Fixed: DDL: unknown type error when re-opening multiple levels of namespace - ID 690: Fixed: RTPS: Differentiate between 'this-net' broadcast and multicast addresses - ID 689: Fixed: DDL: coredx_ddl compiler should check TypeCode for overflow ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.16 - ID 688: Fixed: TRANSPORT: handle Windows mcast join error - ID 687: Fixed: TRANSPORT: adding transport to enabled DomainParticipant should fail - ID 686: Added: DDL: Support enum initializers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.15 - ID 685: Added: CSHARP: Add an abstract get_typename() to TypeSupport - ID 684: Fixed: TPORT: failure to detect network change under WinCE - ID 683: Fixed: multi-path network environment incorrectly triggers 'reborn peer' error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.14 - ID 682: Added: C-SHARP: Add support for DomainParticipant.get_builtin_subscriber() and associated readers - ID 681: Fixed: C-SHARP: DDL generated code for union with enum discriminator fails to compile - ID 680: Fixed: C-SHARP: DDL generated code for a constant of enum type fails to compile - ID 679: Added: C-SHARP: Port to Android - ID 678: Added: LOGGING: generate better timestamps on logging messages - ID 677: Fixed: C-SHARP: the logging version of the C# library is missing logging output under Linux - ID 676: Fixed: CONTENT FILTER: a syntax error in the filter expression may cause crash - ID 675: Fixed: CORE: DataReader::read/take_instance(handle=NULL) operates like read/take() - ID 674: Added: DDL: document command-line options to include/exclude certain code elements - ID 673: Added: DDL: support generation of extra scoped typedefs under C++ - ID 672: Fixed: JAVA: DDL generated typecode can exceed Java compiler limits (improve) - ID 671: Fixed: C-SHARP: DDL generated DataReader::take_next_sample() doesn't do a 'take' - ID 670: Fixed: C-SHARP: DDL generated marshal for ENUM type fails to compile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.13 - ID 669: Added: JAVA: generate Foo::init() method to initialize a type's members to non-null values sufficient for marshal() - ID 668: Fixed: C-SHARP: Potential AOT error under iOS with Xamarin - ID 667: Fixed: CONTENT FILTER: Possible crash with string filter arguments on Windows 64bit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.12 - ID 666: Added: DDL: accept input file name as final command line argument (without -f) - ID 665: Fixed: C-SHARP: add support for DomainParticipant::builtin_wait_for_acknowledgments() - ID 664: Fixed: C-SHARP: factory methods are not thread safe - ID 663: Fixed: CORE: multiple threads writing to a single DataWriter may cause lost samples - ID 662: Fixed: DDL: specifying output path with -d fails with leading '/' - ID 661: Fixed: DDL: specifying output path with -d fails with leading '/ - ID 660: Fixed: PARTITION: The range match operator (eg: '[a-z]') may fail if closing bracket is missing - ID 659: Fixed: CONTENT FILTER: Duplicate values in 'IN' param list may cause others to be dropped - ID 658: Fixed: CONTENT FILTER: Handling of float and double values may lose precision ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.11 - ID 657: Fixed: DDL: Generated java code for large data types can exceed compiler limits. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.10 - ID 655: Fixed: RTPS: Potential data loss/corruption in processing DATAFRAG submessages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.9 - ID 654: Fixed: TRANSPORT: TCP Transport should generate ERROR if specified 'participant_index' is not available - ID 653: Fixed: RTPS: Reliable Writer should send HEARTBEAT when an UNRESPONSIVE reader comes back - ID 652: Fixed: TRANSPORT: Handle connection failures in TCP Transport - ID 651: Fixed: CORE: A Reader with History.kind=KEEP_ALL + ResourceLimits may REJECT samples - ID 650: Fixed: RTPS: some large values of domain_id can result in a crash - ID 649: Added: JAVA: Add ability to construct DynamicTypeTypeSupport from discovered TypeCode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.8 - ID 648: Added: C-SHARP: Add support for DataWriter.get_matched_subscription_data() and DataReader.get_matched_publication_data() - ID 647: Added: C-SHARP: Add support for DomainParticipant.get_discovered_participant_data() - ID 646: Fixed: TRANSPORT: remove usage of non-standard sockaddr_storage in transport API - ID 645: Added: TRANSPORT: Add an SSL based transport for secure communications - ID 644: Added: LOGGING: add logging to track CoreDX DDS task scheduling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.7 - ID 643: Fixed: LynxOS-178: Avoid OS provided alloc routines - ID 642: Added: PORT: Support Altera FPGA (NIOS2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.6 - ID 641: Fixed : RTPS: Possible mis-aligned mem access under LynxOS-178 PPC - ID 640: Fixed : CORE: incorrect Writer buffer sizing when min_buffer_size > max_buffer_size ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.5 - ID 639: Fixed : C-SHARP: DataWriter.write_w_timestamp() does not process timestamp correctly - ID 638: Fixed : C-SHARP: DomainParticipant.get_current_time() does not return correct time ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.4 - ID 637: Added: TRANSPORT: port new transport API to C# and Java - ID 636: Fixed: TRANSPORT: failure to adjust UDP socket MULTICAST_TTL is not fatal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.3 - ID 635: Fixed: C++: remove std::vector from implementation of DDS::sequence data type - ID 634: Fixed: C-SHARP: DDL defined constants used as array size fail to compile - ID 633: Fixed: DSPLINK: The TI DSP processor does not support unaligned data access ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.2 - ID 632: Fixed: DSPLINK: Improve SIO buffer management - ID 631: Fixed: DSPLINK: Potential overflow with large network packets - ID 630: Fixed: C++: Entity QoS structure copy constructors should be private - ID 629: Fixed: DDL: string constants generate invalid C++ code - ID 628: Fixed: DDL: 'octet' constants generate syntax error in coredx_ddl - ID 627: Added: LICENSE: add API to enable debug of licenses - ID 626: Fixed: JAVA: Request for non-existent field in DynamicType struct or union may cause crash - ID 625: Fixed: JAVA: WaitSet::wait() may populate the 'active conditions' list incorrectly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.1 - ID 624: Fixed: TRANSPORT: remove misleading error message concerning IPv6 detection - ID 623: Fixed: TRANSPORT: enable UDP multicast loopback under VxWorks 6.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.6.0 - ID 621: Fixed: DYNAMIC_TYPE: Unions with ENUM discriminators not handled properly - ID 620: Added: TRANSPORT: improved configuration/integration of coredx transport API - ID 619: Added: C#: Support for MonoTouch under iOS - ID 618: Added: PORT: Support Apple iOS - ID 617: Added: PORT: Support Apple Mac OS-X - ID 616: Added: DDL: test for mis-configured target endian flag - ID 615: Added: TRANSPORT: Add a Local Machine transport (LMT) - ID 614: Added: TRANSPORT: Integrate support for IPv6 into UDP transport ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.19 - ID 611: Added: PORT: Support LynxOS-178 RTOS - ID 610: Fixed: JAVA: Data corruption possible in java binding on big-endian 32bit platforms - ID 609: Fixed: DDL: -s command line option to suppress code generation for included files fails under MinGW ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.18 - ID 608: Fixed: C#: Data corruption when setting 'partition' in PublisherQos or SubscriberQos ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.17 - ID 607: Added: RTPS: add COREDX_UDP_RX_BUFFER_SIZE env var for config of initial UDP msg buffer - ID 606: Fixed: RTPS: Ignore NACK for samples that don't yet exist (interoperability with OpenDDS) - ID 605: Added: C#: Add support for DomainParticipantQos.peer_participants - ID 604: Added: CORE: detect network interface changes under Windows - ID 603: Added: RTPS: Add 'PRODUCT_VERSION' to discovery data on the wire - ID 599: Fixed: CORE: improve handling of system clock backwards jump [re-opened] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.16 - ID 602: Fixed: RTPS: samples provided to read/take for NOT_ALIVE instances may have invalid key data - ID 601: Fixed: RTPS: The UDP transport fails to advertise all possible Locators (regression introduced with Bug 580) - ID 600: Added: PORT: Support ThreadX RTOS on ARM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.15 - ID 599: Fixed: CORE: improve handling of system clock backwards jump ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.14 - ID 598: Fixed: C#: language binding is missing the DomainParticipantQos.thread_model QoS Policy - ID 597: Fixed: C#: WinCE port caused regression in C# support for WinXP - ID 596: Fixed: C#: Data alignment issue under WinCE on ARM may cause crash ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.13 - ID 588: Added: PORT: Add example for TI DSPBIOS on C67xx DSP (with QNX on ARM GPP) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.12 - ID 595: Fixed: CORE: RTPS HistoryCache should clear the key buffer to avoid UMR - ID 594: Fixed: CORE: DDS_Entity operations should perform error check on param values - ID 593: Fixed: C#: QueryCondition.get_query_expression() doesn't return valid string - ID 592: Fixed: C#: DomainParticipantListener.on_inconsistent_topic() is not invoked properly - ID 591: Added: C#: support .NET Compact Framework (v3.5) - ID 590: Added: PORT: WinCE 6 on ARM - ID 498: Fixed: C#: Publisher::lookup_datawriter() always returns null. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.11 - ID 589: Fixed: DDL: fix parsing error on IDL 'interface' syntax - ID 588: Added: PORT: Support TI DSPBIOS on C67xx DSP (with QNX or Linux on ARM GPP) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.10 - ID 587: Fixed: DDL: Java generated code not compatible with Android API 15 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.9 - ID 585: Fixed: DDL: Java generated code for an array with 'const' symbol used as size doesn't compile - ID 584: Fixed: RTPS: Ingore a remote writer lease_duration of ZERO (from OpenSplice) - ID 583: Fixed: RTPS: Handle the RTPS InfoSource submessage correctly (OpenSplice interop) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.8 - ID 582: Fixed: C#: Subscriber::create_datareader() -> DataReader::enable() may terminate with AccessViolation - ID 581: Fixed: JAVA: Detach native threads prior to thread destruction to avoid warning under some Java VM's ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.7 - ID 580: Added: TRANSPORT: Support for RTPS over TCP/IP - ID 579: Fixed: CORE: potential deadlock during DomainParticipant_delete_contained_entities() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.6 - ID 578: Added: PORT: Support INTEGRITY 178b RTOS - ID 577: Fixed: C++: DomainParticipant::get_discovered_participant_data() can crash if InstanceHandle is unknown ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.4 - ID 574: Fixed: DDS: The default reliability kind for Writers should be RELIABLE not BEST_EFFORT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.3 - ID 572: Added: RTPS: Append HB (piggyback) to DATA when possible to reduce UDP datagrams - ID 571: Added: QUERY_CONDITION: Optimize QueryCondition with index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.2 - ID 562: Added: RTPS: Support 'large' data with DATAFRAG and NACKFRAG submessages - ID 555: Added: DynamicType: support XCDR and CDR4 encodings in DynamicTypeTypeSupport ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.5.1 - ID 554: Added: RTPS: Support DATA_REPRESENTATION QoS policy and XCDR (subset) encoding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p25 - ID 576: Fixed: DDL: arrays of structures not unmarshaled properly in JAVA and C# - ID 575: Fixed: CORE: changing the system date may result in loss of DDS communication - ID 505: Fixed: DDL: Fully support arrays of structures containing some key fields - ID 455: Added: DYN_TYPE: full support for ENUM type in the DynamicType API - ID 378: Added: C++: Allow using method from derived types without using ::narrow() to cast ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p24 - ID 573: Fixed: SEGV due to race condition in libdds_cf.so during entity match processing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p23 - ID 570: Fixed: RTPS: potential memory leak in RELIABLE Reader under heavy load - ID 569: Fixed: C/C++: improve error handling in unmarshal of fixed length strings - ID 568: Fixed: JAVA: non-ascii strings may cause buffer overflow exception ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p22 - ID 567: Fixed: DynamicType: potential crash due to TypeCode parsing error - ID 566: Added: RTPS: Detect and handle a peer Participant with non-unique GUID - ID 565: Fixed: C++: Race condition and potential crash in multi-threaded app during entity deletion - ID 564: Fixed: Writer should propagate unregister_instance() on previously disposed instance - ID 561: Fixed: set_default_dr_qos(), set_default_dw_qos() inconsistent resource limits error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p21 - ID 560: Fixed: DDL: generated Java code for marshal of sequence of union doesn't compile - ID 559: Fixed: DDL: generated Java code for union constructor is not accessible outside package - ID 558: Fixed: DDL: generated Java code for constant of type 'enum' doesn't compile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p20 - ID 556: Fixed: RTPS: RELIABLE Writer may send redundant data in response to NACK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p19 - ID 553: Fixed: CORE: Improve precision of LIFESPAN processing to expire samples - ID 552: Fixed: CORE: Memory not reclaimed after remote DomainParticipant(s) terminate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p18 - ID 230: Fixed: RTPS: LIFESPAN qos should expire samples in Writer cache ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p17 - ID 551: Fixed: C#: Received 'String' values include '\0' terminator at end - ID 550: Fixed: C#: ContentFilteredTopic and QueryCondition get_expression_parameters() fails under .NET 4 - ID 549: Fixed: C++: DomainParticipant is missing add_transport() method - ID 548: Fixed: DDL: Potential crash generating code for UNION type with multiple labels on a member - ID 547: Fixed: CORE: WiFi network adapters not detected properly under Win Vista and Win7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p16 - ID 546: Fixed: DDL: generated Java code to unmarshal enum may produce compile error - ID 545: Fixed: DDL: type lookup not finding type definition referenced from module continuation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p15 - ID 543: Fixed: DDL: coredx_ddl command-line improvements (add -d help desc, no license req for -h) - ID 542: Fixed: RTPS: Potential crash after processing DomainParticipantData unreg ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p14 - ID 540: Fixed: RTPS: Fix regression introduced by ID 535 fix ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p13 - ID 539: Added: RTPS: Allow 'full' Reader to pause a Writer with a special ACKNACK (avoid HB/ACKNACK storm) - ID 536: Fixed: RTPS: ReaderListener::on_data_available not invoked correctly if pre-cache is disabled - ID 535: Fixed: RTPS: Pre-cached samples may not be processed properly if no further samples arrive ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p12 - ID 534: Fixed: RTPS: UnixDomain transport may overwrite stack on OS without IOV_MAX defined (eg, QNX) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p11 - ID 533: Fixed: DYNAMIC_TYPE: reception of zero-length sequence may cause memory leak - ID 532: Added: CDD: support configuration of the Unix Domain Socket filename ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p10 - ID 531: Added: RTPS: Allow configuration of pre-cache size for RELIABLE Readers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p9 - ID 530: Fixed: DDL: setting partition with >1 strings my cause out-of-bounds read - ID 529: Added: RTPS: disable multicast completely if COREDX_MULTICAST_TTL = 0 - ID 528: Added: JAVA: support discovery configuration with DomainParticipantQos.peer_participants ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p8 - ID 527: Added: DDL: generate 'KeyFilter' support code - ID 526: Fixed: RTPS: HB may have 'finalFlag =1' even when there are unacked samples - ID 525: Fixed: CDD: support CDD kill/restart - ID 523: Fixed: CDD: CDD may fail to advertise builtin discovery endpoints on network - ID 522: Fixed: CONTENT_FILTER - SQL IN() clause fails on big-endian platforms - ID 520: Fixed: CDD: handle changing IP addresses - ID 519: Fixed: CDD breaks particpant_index computation leading to comm failures - ID 518: Fixed: CDD can detect disappearance of local DP before lease_duration expires ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p7 - ID 521: Fixed: RTPS: write socket improperly bound (results in large recv-q) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p6 - ID 517: Fixed: RTPS: configure inclusion of Vendor specific MSGLEN submessage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p5 - ID 516: Fixed: RTPS: parsing of RTPS INFO_DEST submessage with GUIDPREFIX_UNKNOWN - ID 515: Fixed: CORE: improve latency response of no-thread DomainParticipant::do_work() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p4 - ID 514: Fixed: CORE: Potential deadlock in Reader when matched Writer with LIFESPAN!=INFINITE is deleted ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p3 - ID 513: Fixed: C#: Calling convention mismatch issue detected under .NET 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p2 - ID 512: Fixed: CONTENT_FILTER: Unsigned field values with MSB set fail to compare properly - ID 511: Fixed: CORE: Protect against redundant 'delete' calls (delete_participant(), ...) - ID 510: Fixed: C#: Fix memory leak in C# language binding (handle to unmanaged memory) - ID 509: Fixed: C#: Listener callback methods may cause Access Violation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0_p1 - ID 508: Fixed: C++: copy_from_topic_qos() overwrites 'non-topic' policy values - ID 507: Fixed: CORE: DomainParticipant::find_topic() should return a new Topic instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.4.0 - ID 504: Fixed: DDL: Generated 'C' code may generate warnings (unused parameter) - ID 503: Fixed: CORE: Large (>MAX_MSG_SIZE), fixed size data types should generate OUT_OF_RESOURCES error - ID 502: Fixed: RTPS: Data may improperly cross domains when running with 'no-thread' option - ID 467: Added: DDL: support '-d ' option for C and C++ generation - ID 317: Added: PORT: include C and C++ API for use on Android (in addition to Java) - ID 458: Fixed: PORT: support PPC74xx on Linux 2.6 - ID 457: Fixed: RTPS: Improve support for non-multicast enabled NIC's - ID 456: Fixed: CORE: fails to detect LOOPBACK and MULTICAST address on BigEndian machines - ID 440: Fixed: Improve SPDP protocol handling of Participants w/only UNICAST locators - ID 434: Fixed: Reliable writers should detect unresponsive reliable readers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.3.1 - ID 501: Fixed: RTPS: RELIABLE Reader may miss sample(s) written after writer matches reader and before reader matches writer - ID 499: Fixed: CDD: (bug 475 regression) Discovery information sent to incorrect locator when using CDD - ID 495: Fixed: DDL: generated C++ code may cause compiler warnings for 'unused variable' - ID 494: Added: CORE: add DomainParticipant::builtin_wait_for_acknowledgments() - ID 493: Fixed: RTPS: (bug 475 regression) Builtin topic data may be sent to incorrect locator - ID 492: Fixed: CORE: Publisher delete_contained_entities() may deadlock - ID 491: Fixed: LOG: Possible segfault in 'log' version of library when DISCOVERY_LOGGING is enabled - ID 490: Added: CORE: write() should check validity of arguments in logging version of library - ID 489: Added: CORE: unregister_instance() should check validity of arguments in logging version of library - ID 488: Fixed: RTPS: changes to PARTITION qos not sent after DW or DR is enabled - ID 486: Fixed: CORE: register_instance() should honor 'max_blocking_time' and may return TIMEOUT - ID 485: Fixed: RTPS: Reader cache fails to purge DISPOSED instance with no samples and no writers - ID 484: Fixed: DDL fails to recognize key of embeded struct when referenced by typedef name - ID 483: Fixed: RTPS: ReadCondition trigger may fail for 'NOT_READ' if sample arrives before return_loan() completes - ID 482: Fixed: RTPS: RELIABLE/TRANSIENT_LOCAL writer does not always purge instances from cache when allowed - ID 480: Fixed: RTPS: large data sample (65324...65400 bytes) not transmitted correctly - ID 479: Fixed: DynamicType: Potential memory leak with DynamicType sequences - ID 478: Fixed: CDD: Fails to transmit discovery info containing large typecode - ID 477: Added: DDL: Include version information in generated source code - ID 475: Fixed: RTPS: Communication fails with no configured network interface - ID 473: Fixed: RTPS: large samples (~64K+) may cause corruption or segfault - ID 472: Fixed: DDL: use of 'typedef' in ddl input may produce invalid generated code - ID 470: Fixed: DDL: C++ generated code for sequences of 'typedefd' structs/unions may crash - ID 469: Fixed: DDL: C++ generated code may use incorrect namespace in user defined sequences - ID 466: Fixed: RTPS: writer cache management bug - purge instance after dispose() + unregister() sequence - ID 465: Fixed: RTPS: writer may sometimes 'push' duplicate samples - ID 464: Fixed: DynamicType: DDS_DynamicType_set_max_length (-1) not handled correctly - ID 462: Fixed: CONTENT_FILTER: a series of OR conditions followed by other conditions fails - ID 461: Fixed: DDL: Possible memory leak in generated C++ code for union with complex allocated struct member - ID 460: Fixed: CDD: Central Discovery Daemon doesn't recognize existing network DWs and DRs on startup - ID 459: Fixed: RTPS: dynamic discovery may fail when TYPECODE data is too large - ID 453: Fixed: DDL: generated C++ code doesn't include appropriate header file - ID 451: Fixed: DDL: generated C++ union unmarshal code may leave union in invalid state - ID 450: Added: CORE: support QueryCondition as argument to read_w_condition() and take_w_condition() - ID 449: Added: PORT: support MicroBlaze soft-cpu on Xilinx FPGA - ID 448: Fixed: DDL: generated C++ code may incorrectly delete uninitialized union members - ID 446: Fixed: DDL: generated local variables may clash with improperly scoped pre-defined macros (eg: i386) - ID 445: Fixed: DDL: constants are not generated properly for Java - ID 444: Fixed: DDL: constants using a typedef'd type may generate code that will not compile - ID 443: Fixed: DDL: a constant definition with an expression may cause coredx_ddl to crash - ID 442: Added: DDL: support re-opening a module to add more types and constants - ID 441: Fixed: COREDX_USE_MULTICAST env var is not respected - ID 439: Fixed: GAP message is incorrectly delivered to some readers - ID 438: Fixed: ContentFilter: single character string constant incorrectly converted to integer - ID 437: Fixed: C++: Improve GuardCondition API - ID 435: Fixed: DDL Compiler: possible segfault when using enum symbol constants ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.3.0 - ID 432: Fixed: Java: Using handle=null with DataReader::read_next_instance() fails - ID 431: Fixed: lookup_instance() may return NIL for known key values (with variable len string in key) - ID 430: Fixed: writer-side filtering may fail to correctly deliver dispose message - ID 425: Fixed: Java: Entity::get_status_changes() should return 'int' - ID 423: Fixed: DataWriter::wait_for_acknowledgments() may block longer than necessary - ID 422: Fixed: possible deadlock in WaitSet / Condition :: detach/delete - ID 421: Added: DR::wait_for_historical_data() - ID 420: Fixed: Eliminated C++ compiler warnings (-W -Wall) in dds header files and generated code - ID 417: Fixed: Java: Status objects (for example: LivelinessLostStatus) do not have a public constructor - ID 416: Fixed: CORE: DomainParticipant_get_discovered_participant_data() had incorrect argument order. [ was not compliant with the standard, *** NOTE: API CHANGE *** ] - ID 415: Fixed: TypeCode parsing 'sequence' or 'string' (max_len == -1) => unbounded - ID 414: Fixed: Realible Reader GAP_CHANGE processing bug when (first==last) - ID 413: Fixed: Writer-side filtering GAP creation bug - ID 412: Fixed: Writer-side filtering may cause dropped data under heavy network load - ID 411: Fixed: Reliable Reader pre-cache management bug causes invalid ACKNACK - ID 410: Fixed: Discard received data if Union discriminator is unrecogized (extensible unions) - ID 409: Fixed: DDS_DynamicTypeTypeSupport_register_type() will copy the provided TypeSupport - ID 406: Fixed: C++ DynamicType support moved to separate (optional) library - ID 404/408 Fixed: CORE: Fixed error in type comparison for 'extensible unions' - ID 403 Added: CORE: Include numeric VERSION id in include/dds/coredx_version.h - ID 402/405 Fixed: CONTENT_FILTER: Optimize writer-side filtering for multiple RELIABLE readers - ID 401 Added: CORE: Support 'extensible union' types - ID 400/407 Fixed: Registering a type under an already known typename may cause segfault - ID 397 Fixed: DYNAMIC_TYPE: memory corruption with Seq max_length undefined - ID 396 Fixed: C++: Built-in entities not correctly linked to Core - ID 395 Fixed: return_loan() should clear the sequences - ID 394 Added: CORE: add API to control thread creation and invoke coredx work - ID 393 Fixed: CORE: C API get_discovered_topic_data() arguments reversed - ID 391 Fixed: CORE: C API wait_for_acknoledgments() is misnamed - ID 389 Added: CONTENT_FILTER: support filtering at writer - ID 386 Added: DYNAMIC_TYPE: support for DynamicTypes in C++ - ID 385 Fixed: CORE: recvfrom() errors printed when peer exits uncleanly (on Windows) - ID 384 Fixed: RTPS: PARTICIPANT_GUID.entityId not populated correctly - ID 383 Fixed: C++: DDS::DURATION_INFINITE_NSEC value is incorrect, should be 0xffffffff - ID 382 Fixed: DDL: coreDX_ddl compiler does not generate correct Java code for complex Union types - ID 381 Fixed: DDL: remove empty union in C++ generated code - ID 380 Fixed: DDL: generated C++ code missing _d() and _d( inactive -> active not handled properly - ID 307 Fixed: CORE: subscriber data_on_readers status - ID 306 Fixed: DDS: write/register_instance() poor performance (+50000 instances/sec) - ID 305 Fixed: DDS: DR race condition during enable() - ID 304 Fixed: DYN_TYPES: improve fixed length string support - ID 303 Fixed: RTPS: default multicast locator 'is_multicast' flag not set - ID 302 Fixed: RTPS: proxies fail to use 'default' locators if no locators defined - ID 300 Fixed: CONTENT_FILTER: sends DRD discovery too early - ID 299 Fixed: VxWorks: getaddrinfo() bug - ID 298 Fixed: DISCOVERY: Built-in Participant writer race - ID 297 Fixed: RTPS: Builtin reader race condition if application calls BI_Reader->take() - ID 296 Fixed: DISCOVERY: Race condition in matching DW/DR resulting in failure to match - ID 294 Fixed: LISTENER: augment listener API with self and callback_data args - ID 293 Fixed: MEMORY: instrument memory allocation/free - ID 292 Fixed: DDL: generated 'type' __alloc() has bogus parameter - ID 290 Fixed: DYN_TYPES: bug in union handling of create_typecode_from_type() - ID 288 Fixed: BUILTIN: copy typecode in builtin TypeSupport::copy() method - ID 287 Fixed: CORE: bug in num active writers management - ID 286 Fixed: JAVA: dw dispose / register / unregister method binding - ID 285 Fixed: MUX: doesn't forward 'DISPOSE' messages - ID 284 Fixed: implement wait_for_acknowledgements() - ID 283 Fixed: RTPS: history cache resource counting corruption - ID 281 Fixed: PORT: Support VxWorks 5.5.1 on PPC 405 - ID 280 Fixed: CONTENT_FILTER: support sql 'in' expression - ID 279 Fixed: QOS: allow user to configure 'max_packet_size' per writer - ID 278 Fixed: DYN_TYPES: support dynamic type DataWriter - ID 277 Fixed: DDL: potential memory corruption processing '-e' command line arg ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.1.0 New features and a few bug fixes: - ID 272 TOPIC: detect and report inconsistent topic/type - ID 271 C++: sequence optimization (byte sized elements) - ID 270 CONTENT_FILTER: optimize 'key field' filter execution with index - ID 269 RTPS: improve handling of GAP msg - ID 268 Fixed: CONTENT_FILTER: memory corruption with IMMEDIATE STRING argument - ID 266 CORE: optimize instance management - ID 265 CORE: return TIMEOUT from DW::write() routines - ID 264 DDL: remove keymap related TypeSupport routines - ID 262 CORE: clean out unused code/fields - ID 261 Fixed: CONTENT_FILTER: memory leak in delete_datareader() when using CFT - ID 260 CONTENT_FILTER: support > 255 parameters - ID 259 Fixed: CORE: ReadCondition_get_datareader() fails to return correct DR - ID 258 Fixed: CORE: ReadCondition/QueryCondition mask states - ID 257 Fixed: DYN_TYPES: segfault when data type contains 'key' and an 'array' - ID 255 PORT: Support NexusWare OS - ID 254 RTPS: provide backoff mechanism for HB - ID 252 QOS: allow user to configure (some) QoS policies for builtin entities - ID 251 RTPS: Reader pre-cache samples (reliable) - ID 250 PORT: Support LynxOS SE - ID 249 Fixed: CORE: function name mis-spelling - ID 248 DDL: LONG DOUBLE marshal/unmarshal broken (long double no longer supported) - ID 247 Fixed: DYN_TYPES: marshal of 'octet', 'byte', and 'boolean' is broken - ID 246 DDL: generate code that supports DLL generation under Windows - ID 244 DDL: support top-level unions - ID 243 Fixed: DDL: union case values of character literals fail - ID 242 DYN_TYPES: provide dynamic type support for VxWorks - ID 241 Fixed: SPARC: bus error in unmarshal (of RTPS header info) - ID 240 Fixed: JAVA: unmarshal does not alloc inner struct/union - ID 239 DYN_TYPES: support 'long double' in dynamic types (long double no supported) - ID 238 Fixed: DDL: handle unterminated 'fixed length' strings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.0.2 - Bug 221/234: Fixed: correct processing of endian flag in coredx_ddl - Bug 226: Fixed: memory leak in latency_test example code - Bug 231/235: Fixed: Windows builds need debug version of CPP ContentFilter lib - Bug 232: Fixed: error with interface enumeration under Win2K - Bug 233: Fixed: update example NMakefile(s) to work under VC6 - Bug 236: Fixed: potential Bus Error under SPARC Solaris due to memory alignment - Bug 237: Fixed: potential name clash in generated Java copy() routine ('from') ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 3.0.1 - Major new capabilities include: DynamicTypes, advanced QoS policies (Lifespan, SourceOrder, ReaderDataLifecycle, Exclusive Ownership), transport configuration (Heartbeat Period, Ack Response Delay, Nack Response Delay), unified directory structure - Bug 209: Fixed: port to Windows2000, VC6 platform - Bug 222: Fixed: port to PPC architecture - Bug 225: Fixed: improve header prototypes for ContentFilteredTopics ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.6 - Bug 220: Fixed: intermitent pausing of sends in writer (adversely affects latency) - Bug 228: Fixed: high latency on Solaris platforms - Bug 229: Fixed: intermitent delays on Solaris platforms - Additional performance focused improvements for latencies < 70usec ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.4 - Bug 205: Fixed: Support for compiling Java apps under MinGW - Bug 210: Fixed: Potential memory corruption when processing UNION data type in coredx_dll - Bug 211: Fixed: Potential memory corruption when deleting a DataWriter with TRANSIENT_LOCAL durability and history.depth > 1 - Bug 214: Fixed: Signature of DataReader::get_key_value() and lookup_instance() updated to match Standard API - Bug 215: Fixed: Signaure of DataWriter::write_w_timestamp() and dispose_w_timestamp() updated to match Standard API - Bug 216: Fixed: updated NMakefiles in examples/ to fix link errors - Bug 219: Fixed: Ported latency test code (examples/latency_test) to Windows and Solaris ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.3 - Bug 213: Fixed: Possible memory leak in C++ return_loan() implementation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.2 - Support for JAVA - Java API documentation available in doc/ subdirectory and on TOC WWW site - Added CoreDX DDS Windows DLL - Bug 200: Fixed: Memory leak in C++ TypeSupport clear() operation - Bug 202: Fixed: ContentFiltered topic sometimes is missing data - Bug 204: Fixed: Race condition during DataReader/DataWriter . enable() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.1 - Support for VxWorks 5.5.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.2.0 - Major update to IDL to improve supoprt for: enums, unions, sequence, sequence - Bug 186: Fixed: DDL compiler 'typedef' stmt generates syntax error - Bug 187: Fixed: DDS::Publisher::set_default_datawriter_qos(), DDS::Subscriber::set_default_datareader_qos() rejects valid qos values as invalid - Bug 188: Fixed: potential buffer overflow - Bug 189: Fixed: Add RTPS INFO_TIMESTAMP to data messages - Bug 192: Fixed: Proper build flags for 'content filter' library (libdds_cf etc) - Bug 193: Fixed: Add performance test code examples (examples: bwtest and latency_test) - Bug 194: Fixed: BEST_EFFORT reader and writer should not exchange ACKNACK and HB - Bug 196: Fixed: Improved data agregation for additional throughput - Bug 197: Fixed: Reduce memory allocation for data messages (use env COREDX_MAX_PACKET_SIZE ) - Bug 198: Fixed: Optimize rtps message construction - Bug 199: Fixed: Handle multiple network interfaces / locators correctly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.6c - Bug 184: Improved multicast handling of COREDX_IP_ADDR configuration - Bug 185: Implement DDS::DomainParticipant::ignore_participant() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.6b - Bug 178: Fixed user defined data structures with embedded structs containing keys - Bug 179: Fixed race condition during deletion of builtin DataReader(s) - Bug 180: Fixed handling of max_blocking_time in DataWriter::write() routines - Bug 181: Updated MinGW target - Bug 183: Fixed data/time discrepancy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.6a - Bug fix release: - Bug 175: Configure DomainParticipant static peers through QoS. (Augments discovery.) - Bug 176: sequence declarations generated incorrectly - Bug 177: solaris fix for "error sending msg" for messages with many segments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.6 - Major update to IDL support: additional types (long long, long double, unions) better support for nested namespaces support for arrays of arrays better support for typedefs - Bug 121: Fixed: support 'long long', 'unsigned long long', 'long double' - Bug 169: Fixed: correct padding for initial 8+ byte element - Bug 170: Fixed: don't send extraneous bytes for 'bounded' samples - Bug 43: Fixed: emit proper code for top level typedefs - bug 119: Fixed: Support IDL embedded structures / namespaces for C and C++ - Bug 172: Fixed: Support IDL Unions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.5 - Bug 167: Fixed: potential deadlock in DomainParticipant::enable() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.4 - Add example Makefiles for VxWorks - Bug 165: Fixed: Reader pauses after a dropped HB (when RELIABLE) - Bug 166: Fixed: RELIABLE reader can drop samples under heavy load ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.3 - further support for ContentFilteredTopics - VxWorks 6.6 port - include 'logging' version of library in distribution (static link only) - Bug 151: Fixed: coredx_ddl -f argument processing error on Windows output files are now put in current working directory consistent with other platforms - Bug 153: Fixed: late joining reader won't flood network with invalid ACKNACK - Bug 154: Fixed: read/take_next_instance() functions properly -- no missed instances! - Bug 157: Fixed: C++ library - Builtin-Entities used before initialized / race condition - Bug 158: Fixed: segfault in DW/DR ::copy_from_topic() - Bug 159: Fixed: C++ library - DomainParticipantFactory::create_participant() can return bad pointer - Bug 160: Fixed: don't install listener on RTPS::ParticipantMessage reader (there is no corresponding DDS entity) - Bug 161: Fixed: CacheChange 'valid_data' not set properly - Bug 162: Fixed: C++ library - Install "NULL" listener causes seg fault - Bug 163: Fixed: StatelessReader listener called with lock held - Bug 164: Fixed: C++ library WaitSet api is flawed ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.2 - for Windows (VS2005 and VS2008): added support for debug libraries Use the following libraries for linking in "Debug" builds: dds_d.lib dds_cpp_d.lib - for Windows: added VisualStudio project/solution files to the example code To use: 1) Set COREDX_HOME and TLM_LICENSE environment variables 2) run VisualStudio 3) open examples/hello_c/hello_c.sln or examples/hello_cpp/hello_cpp.sln ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.1 - added support for VisualStudio 2005 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.1.0 - added support for the QNX Neutrino(r) Operating System 6.4 on x86 - added API for ContentFilteredTopics, QueryConditions, and MultiTopics (these are still not fully supported) - improved IP Address detection properly handles interfaces with invalid/missing IP addresses - improved logging facility (added QoS policy to control logging) - fixed DataReader::read_next_instance() and similar API routines ( prior to this fix, these routines were incorrectly reporting 'not implemented' ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.6 - removed reference to a Microsoft Vista only function call (genereated run-time error when running on Microsoft XP) - Improved RTPS History Cache change mgmt when history_depth = 1 - this version is available only for Windows at this time ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.5 - fixed bug with C++ language binding on Linux 64bit build - improved C++ binding. Implemented the following API routines: DDS::DomainParticipant::get_discovered_participant_data() DDS::DomainParticipant::get_discovered_topic_data() DDS::DataReader::get_matched_publication_data() DDS::DataWriter::get_matched_subscription_data() - added declaration for missing DDS_GuardCondition__free() - added declaration for missing DDS_WaitSet__free() - moved include/dds/core/dds_builtin.h to include/dds/dds_builtin.h - moved include/dds/cored/dds_builtinDataReader.h to include/dds/ddds_builtinDataReader.h - changed Windows build packaging method from tar/gz to zip ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.4 - support Solaris i686pc and sun4u targets - support for mingw targets - support for older gcc compiler and libc on Linux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.3 - fixed bug with 'deadline' computing when system clock is not synchronized - fixed bug in computation of fixed sized marshall data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.2 - fixed off-by-one error in computation of LOST sample count - implemented blockind DDS::DataWriter::write() when RELIABLE and KEEP_ALL and RESOURCE_LIMITS - optimize memory utilization during marshall ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 2.0.1 - Support RTPS wire-protocol