CoreDX DDS Release Notes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.9.1 ID 1056: Fixed: RPC: poor performance for nested service invocations [regression] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.9.0 ID 1065: Fixed: RTPS traffic amplification mitigation ID 1064: Fixed: Modern C++: DP QoS not propagating 'properties' to core ID 1063: Fixed: DDS System XML: not inheriting DP QoS properly from Domain Library ID 1062: Fixed: Java: DynamicType 'map' marshal error ID 1061: Fixed: C++ bounded sequence push_back() incorrect bound enforcement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.8.1 ID 1060: Added: Modern C++: add optional.has_value() ID 1059: Added: NodeJS: add support for TypeScript ID 1058: Added: NodeJS: improvements to NodeJS package (npm and electron compatible) ID 1057: Fixed: IDL: improvements to 'includes' in generated XML ID 1056: Fixed: RPC: poor performance for nested service invocations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.8.0 ID 1055: Added: CORE: add 'soname' to shared libraries ID 1054: Added: PYTHON: support for armv5 / armv7 targets ID 1053: Fixed: RTPS: failure to validate incoming SeqNumSet results in corruption ID 1052: Fixed: IDL: optional enum code gen error for modern C++ and C# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.7.1 ID 1051: Added: Security: port for WolfSSL 4.7.0 ID 1050: Fixed: IDL: nested enum code generation bug for modern C++ ID 1049: Fixed: IDL: using enum as array dimension produces error in gen'd Java ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.7.0 ID 1048: Fixed: IDL: generated modern c++ code referencing enum type missing scope ID 1047: Added: IDL: add 'toString()' method to generated Java types ID 1046: Added: Java: add DynamicTypeMember methods is_key() and is_optional() ID 1045: Fixed: Java: DynamicType enum with many constants use excessive memory ID 1044: Added: Security: support for secure ParticpantMessage (liveliness) topic ID 1043: Added: Security: support for secure SPDP Participant topic ID 1042: Added: Security: support for WITH_ORIGIN_AUTHENTICATION protection ID 1041: Added: Security: support ID Certificate chains ID 1040: Added: Security: support DH+MODP-2048 key agreement algo with wolfssl ID 1039: Added: Security: support rtps_protection = ENCRYPT ID 1038: Fixed: Security: potential memory leak from failed authentication ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.6.2 ID 1031: Added: IDL: [optional] support escaping symbol with 'underscore' to avoid keyword collision [--keywordEscape enables behavior] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.6.1 ID 1037: Fixed: Python: error in pub.rem_dw() and sub.rem_dr() ID 1036: Fixed: CORE: improve generation of TypeObject from DynamicType ID 1035: Fixed: Java: CDR of too-large fixed string may cause data corruption ID 1034: Fixed: Java: error accessing string member of DynamicData ID 1033: Fixed: RTPS: Constructing incorrect GAP (introduced with ID 1025) ID 1032: Fixed: Modern C++: Creating a Topic from DynamicType doesn't use correct type name ID 1031: Added: IDL: support escaping symbol with 'underscore' to avoid keyword collision ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.6.0 ID 1030: Added: Java: add TypeObjectHelper.typeObjectFromTypecodeQosPolicy( ) ID 1029: Fixed: JAVA: potential stack overflow under some JVM's with DynamicTypes ID 1028: Fixed: IDL: error in traditional c++ code generation in Foo::copy() for empty IDL struct ID 1027: Added: FreeRTOS port: add toc_set_ticks_per_sec( int tps ) ID 1026: Fixed: RTPS: correctly recognize XCDR2 encapsulation header ID 1025: Added: RTPS: support for agressive GAP to improve streaming perf ID 1024: Added: IDL: support all syntactic variations of @extensibility annotation ID 1023: Added: IDL to Java: option to map enum to 'enum' instead of 'class' ID 1022: Fixed: IDL to C++: code gen bug for 'scoped enums' ID 1021: Added: support for Pyhon v3.8 ID 1020: Added: Security: port to OpenSSL v1.1.1 ID 1019: Added: Modern C++: add reception timestamp to SampleInfo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.5.2 ID 1018: Added: IDL: support for @topic annotation ID 1017: Added: IDL: allow primary annotation application on typedef ID 1016: Fixed: NodeJS: failure to correctly marshal sequence of complex elements ID 1015: Fixed: RTPS: Reader pre-cache GAP fails under translocal with much history ID 1014: Fixed: C#: memory leak in get_matched_publication_data() / get_matched_subscription_data() ID 1013: Added: NODEJS: port to windows ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.5.1 ID 1012: Added: XML System: put xml 'name' property into QoS 'entity_name' for Participants/Readers/Writers ID 1011: Added: CDX Mux improvements (ports on same domain, transport 'ifname', XML Types, create entities at startup) ID 1010: Fixed: Modern C++: TopicTraits::topic_type_name is missing ID 1009: Fixed: Modern C++: potential segfault when creating Reader with empty topic or type name ID 1008: Fixed: Modern C++: strings have extra NUL character appended on reception ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.5.0 ID 1007: Fixed: FreeRTOS port issue initializing static lock for logging ID 1006: Fixed: Security: may ignore peer DPD udpates if not authenticating ID 1005: Added: Security: ability to configure key agreement algo (DH and ECDH) ID 1004: Fixed: NodeJS: error handling arrays/sequences of primitives ID 1003: Fixed: NodeJS: error handling optional members ID 1002: Fixed: C++ DynamicType::get_all_members() should included inherited ID 1001: Fixed: C++ DynamicData::set_int32()/set_int32_values() for enum data ID 1000: Fixed: C++ DynamicType::equals() bug with ENUM types ID 999: Added: coredx_ddl accepts --unionDiscriminatorGrok ID 998: Added: Modern C++: 'optional' members now use dds::core::optional ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.4.3 ID 997: IDL: Generating modern C++ from multiple IDL results in compilation errors ID 996: Fixed: RPC: fix warning in generated C++ ServiceListener ID 995: Fixed: RTPS: Receiving a malformed NackFrag may cause crash ID 994: Fixed: XML: Loading enum type from XML may not initialize enumerator values correctly ID 993: Fixed: Python: incorrect code generation for nested unions ID 992: Added: Modern C++: provide DynamicData default constructor ID 989: Added: Modern C++: DynamicData marshal/unmarshal convenience routines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.4.2 ID 991: Fixed: Modern C++: improve DynamicType::operator== and DynamicData::operator== ID 990: Added: Modern C++: implement DataReader dds::sub::get( AnyDataReader & ) ID 989: Added: Modern C++: DynamicData marshal/unmarshal convenience routines ID 988: Fixed: Modern C++: Don't hide Reference 'new' operator (issue with some older compilers) ID 987: Fixed: CORE: remove duplicate prototypes from include/dds/xcdr.h ID 986: Added: Modern C++ Dyntype: Add 'content_type()' alias for 'element_type()' in Collection types ID 985: Added: Modern C++: support bitwise operators on StatusMask ID 984: Added: Modern C++: implementation for DomainId type ID 983: Added: Modern C++ Dyntype: add some aliases for getters and setters to DynamicData ID 982: Added: Modern C++ Dyntype: Unions add null constructor, copy constructor, and assignment op ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.4.1 ID 981: Fixed: DYNTYPE: C++ sequence optimization (952) regression causes data corruption ID 980: Fixed: IDL/C++: invalid code gen for RPC operations with scoped enum return value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.4.0 ID 979: Fixed: DYNTYPE: C++ union type should create discriminator member from TypeDescriptor ID 978: Fixed: C++ DYNTYPE: DynamicType::equals() should compare members too ID 977: Added: IDL: improve memory safety of generated code ID 976: Fixed: C++ DYNTYPE: read/take_next_sample() and get_key_value() may fail with DynamicDataReader ID 975: Fixed: C DYNTYPE: read/take_next_sample() and get_key_value() may fail with DynamicDataReader ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.3.0 ID 974: Added: Java: DomainParticipantFactory.set_logio() API ID 973: Added: XML: Add support for Xinclude (without xpointer) ID 972: Fixed: CORE: Potential GUID construction race (possible GUID collision) ID 971: Fixed: Security: OpenSSL initialization race (multiple plugins init simultaneously) ID 970: Fixed: DynamicType/Java: Error generating TypeObject may crash (xcdr regression) ID 969: Fixed: SPY: potential crash when port number doesn't map to valid domain_id ID 961: Fixed: IDL: ability to disable warnings from "unhandled #pragma" (w/strict mode) ID 960: Fixed: QOS Provider: better support for profile inheritance (fixed regression) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.2.0 ID 968: Fixed: IDL/Java: seq's and arrays of types from a different module are not correctly qualified ID 967: Added: CoreDX DDS Nano early evaluation ID 966: Fixed: IDL: Annotation values with non-trivial expressions may not evaluate correctly ID 965: Fixed: IDL/Java: Union with enum discriminator from a different namespace doesn’t generate properly ID 964: Fixed: IDL: Enum types should map to a signed type instead of unsigned ID 963: Fixed: DomainParticipant::enable() should return PRECONDITION_NOT_MET if already enabled ID 962: Fixed: IDL/Python: better support for user data types declared in different modules ID 961: Fixed: IDL: ability to disable warnings from "unhandled #pragma" ID 960: Fixed: QOS Provider: better support for profile inheritance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.1.0 ID 959: Fixed: FILTER: ensure that filter expression and strings don't overflow ID 958: Fixed: CDR: generated key_must_hash() code is incorrect for some types ID 957: Added: C#: Add DomainParticipantFactory.set_logio_routine() API ID 956: Fixed: DYNTYPE: C++ crash in DynamicData::get_member_id_at_index() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.0.3 ID 955: Fixed: QosProvider supports data_tags on datareader_qos and datawriter_qos ID 954: Fixed: DynamicType (c,c++) marshal array of enum may use incorrect size ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.0.2 ID 953: Added: JAVASCRIPT: support for nodejs environment in Linux_x86_64 env ID 952: Added: DYNTYPE: Optimize C++ DynamicData containing seq/array of primitives ID 951: Fixed: Security: verify_guid() failure ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.0.1 ID 950: Added: Examples: add VS2013, VS2015, and VS2019 projects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 5.0.0 ID 949: Fixed: C++11: DynamicData should be Value type (not Reference) ID 948: Fixed: RTPS: don't attempt to aggregate DataFrag with Data submessage[s] ID 947: Fixed: RPC: C++ rpc client indicates matched_service before it is ready for operations ID 946: Fixed: C++: DomainParticipant::lookup_participant() return NULL (not -1) on failure ID 945: Fixed: RTPS: handle keyhash in app unreg/dispose messages ID 944: Fixed: CDR serialization interoperability issue (alignment after optional or mutable field) ID 943: Fixed: IDL: invalid/missing Java code generated for RPC interface operation [rework] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.8 ID 943: Fixed: IDL: invalid Java code generated for interface operation with complex parameter from different namespace ID 942: Added: CORE: Support builtin ParticipantMessage topic BEST_EFFORT mode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.7 ID 941: Fixed: DDS XML: fix return value of DDS_Application_enable() ID 940: Added: IDL: allow user override of the advertised (discovery) LENGTH for unbounded seq<>, map<>, and string<> ID 939: Added: IDL: support non-standard //@copy-language verbatim alternative ID 938: Added: PORT: support Thread-X on NXP MCIMX6U ID 937: Fixed: CORE: clean up thread/lock handles under Windows ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.6 ID 936: Fixed: PYTHON: handle re-opened namespaces in multiple compilations ID 935: Fixed: RTPS: should ignore a 'DPD unregister' for self GUID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.5 ID 934: Added: C++11: merge c++11 API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.4 ID 933: Fixed: IDL: address shadow warnings (gcc4.8) in modern c++ generated code ID 932: Fixed: IDL: coredx_ddl crash when gen python code for sequence typedef ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.3 ID 931: Fixed: PYTHON: potential deadlock under heavy data traffic (mult-threaded mode) ID 930: Fixed: Filter: sorting algo bug under VxWorks bug impacts filter application ID 928: Added: IDL: option for scoped enum type in traditional c++ generator (fix scope error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.2 ID 929: Added: IDL: provide options for strict keyword case and keyword-identifier collision detection ID 928: Added: IDL: option for scoped enum type in traditional c++ generator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.1 ID 927: Added: IDL: support the 'extended' types: int8, int32, int64, etc ID 926: Added: CORE: register_type should detect same type but 'kind' collision (for example: generated vs dynamic) ID 925: Added: C++: provide copy constructors and assignment operator for all QoS ID 924: Added: C++: optionally elide "using namespace DDS;" from generated headers ID 923: Fixed: DDL C++: don't generate the unused TypeSupport_get_fully_qualified_type_name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.8.0 ID 922: Fixed: fixed string constant generates duplicate const error ID 921: Added: PYTHON: provide a Python language binding ID 920: Added: RPC: provide RPC support in VxWorks 6.x builds ID 919: Added: RTPS: improved input checking on builtin topics ID 918: Fixed: Security: library conflict with Java and CSharp native libraries breaks content filters ID 917: Fixed: Security: Support for payload encode of large/fragmented messages ID 916: Fixed: FRAG repair is extremely delayed with multiple readers on lossy network ID 915: Added: CSharp: provide dotnet nupkg in Windows vs2015 build ID 914: Added: C++: add missing SampleRejectedStatusKind constants ID 913: Fixed: PORT: resolve VxWorks header file clash (inttypes) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.7.0 ID 912: Added: CORE: Improve DomainParticipant::print_stats() capability ID 911: Fixed: C++ DynamicData: equals() method not handling float NaN and INF ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.6.2 ID 910: Fixed: RTPS: Filtering writer doesn't correctly handle readers with only multicast locators ID 909: Fixed: DDL: C/C++ seq generated code is not CDR compliant (regression from ID 809) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.6.1 - ID 908: Fixed: C++ DynamicData: equals() method not handling strings properly - ID 907: Fixed: C++ DynamicData: error cleaning DynamicType when holding last ref ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.6.0 - ID 906: Fixed: RTOS32: avoid blocking writes on UDP socket[s] - ID 905: Fixed: SECURITY: openssl error queue causes valgrind warnings - ID 904: Added: PORT: RTOS32 x86 support - ID 903: Fixed: SECURE: increase authentication handshake timeout period (120s) - ID 902: Fixed: C#: change C# TypeSupport to work around iOS pInvoke bug - ID 901: Fixed: RPC: client may receive response intended for a different client - ID 900: Added: C++: DynamicData::clone method incomplete - ID 899: Added: C++: DynamicDataWriter missing type specific operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.5.2 - ID 898: Added: IDL: improved code generation for c++11 language - ID 897: Fixed: XML DynamicType: When loading types from XML support ENUM constants in expressions - ID 896: Fixed: XML DynamicType: When constructing UNION from XML, case labels are not correct - ID 895: Fixed: C DynamicType: Union discriminator must not be marked optional - ID 894: Fixed: C DynamicType: unmarshal unbounded array gets incorrect length ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.5.1 - ID 893: Fixed: TCP Transport: error handling large data samples ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.5.0 - ID 892: Fixed: RTPS: Failure to repair DATAFRAG[s] with multiple locators - ID 891: Added: beta support for "modern c++" api - ID 890: Fixed: RTPS: deleting a writer fails to dispose/unregister instances (v4.3.0 regression) - ID 889: Fixed: Security: authentication handshake fails to complete on congested network - ID 888: Fixed: DYN_TYPE: error adding enumerator to enum when loading XML definition - ID 887: Fixed: C#: assembly fails with reference to missing symbol HAS_LMT_TRANSPORT - ID 886: Added: XML: Support for DDS System XML (ApplicationLibrary) [currently C API, only] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.4.3 - ID 885: Fixed: PORT: iOS 11 support for Xamarin C# environment - ID 884: Added: PORT: OSX 10.14 port - ID 883: Added: IDL: Support @final, @extensible, @mutable short-hand - ID 882: Fixed: CORE: Fixed IP addr parsing on RTOS that require inet_addr() - ID 881: Fixed: IDL: emit CSharp code for module level verbatim annotations - ID 880: Fixed: IDL: add support for empty structure inheritance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.4.2 - ID 879: Fixed: XTypes: DynamicType API was missing apply_annotation_to_member() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.4.1 - ID 878: Added: PORT: INTEGRITY - enable multicast on zcu102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.4.0 - ID 877: Added: C++: Add missing DomainParticipantFactory::set_license() method - ID 876: Added: TCP: add checksum to mitigate risk of corrupted data - ID 874: Fixed: CSHARP: catch unmarshal exception in generated code - ID 873: Fixed: UDP: Improve detection of 'co-located' peer to reduce false positives - ID 872: Added: UDP: support configuration of network interfaces by name - ID 871: Fixed: DDL: Searching for partially qualified typename fails if it is in a re-opened scope - ID 870: Fixed: Security: key exchange can fail if discovery happens late - ID 869: Fixed: JAVA: add support for Reader Locator[s] in DataReaderQos ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.3.0 - ID 868: Fixed: CODEGEN: invalid Java/C# code generation for enum constant in IDL expression - ID 867: Fixed: NETLINK: use ParticipantID to distinguish netlink connectio ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.2.3 - ID 866: Fixed: SECURITY: memory leak if participant_enable() fails due to security configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.2.2 - ID 865: Fixed: TRANSPORT: LwIP v2 sendmsg() results in data corruption - ID 864: Added: PORT: INTEGRITY IoT on Intel - ID 863: Fixed: Reliable Writer with (apply_filters = TRUE) and (require_acks = FALSE) fails - ID 862: Fixed: Reliable Reader doesn't send NACK if HB is 'final', even when it should ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.2.1 - ID 861: Fixed: RPC: data fields in user-defined exceptions are not propagated to client code - ID 860: Fixed: CORE: potential crash when processing malformed DATA_FRAG submsg - ID 859: Fixed: SECURITY: builtin entityId may be incorrect in multicast DATA msgs - ID 858: Added: PORT: include shared libraries and C++ API for DEOS target ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.2.0 - ID 857: Added: CORE: support writer blocking operations in non-threaded environments - ID 856: Fixed: RTPS: Failure to add INFO_DEST on unicast msgs confuses some implementations - ID 855: Fixed: PORT: Windows inttypes.h name conflict - ID 854: Added: PORT: New version of DEOS (20180310) - ID 853: Fixed: PORT: VxWorks653 on e500v2 build flags - ID 852: Added: PORT: mingw64 - ID 851: Fixed: DDL: alignment error for array of primitive types > 1 byte [bug introduced in v4.0.16] - ID 850: Added: RTPS: allow Reader to read specific user defined Locator[s] - ID 849: Added: RTPS: ACK-less Reliable protocol - ID 848: Added: C++: Sequence bound checking (set COREDX_DDS_SEQ_EX) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.1.1 - ID 847: Fixed: DDS: unable to control rtps parameters for builtin topics - ID 846: Fixed: DDL: error in C# codegen for sequences of complex elements (eg, arrays of struct) - ID 845: Fixed: FILTER: integral constants with high bit (sign) set are not treated properly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.1.0 - ID 844: Fixed: RPC: function call API timeout with multiple simultaneous calls - ID 843: Added: C/C++: Enforce sequence and map max bound on add/insert - ID 842: Added: TRANSPORT: limit multicast TX to localhost if possible - ID 841: Fixed: RTPS: include infodest submsg even on UNICAST locators - ID 840: Fixed: SECURITY: handle reception of keys with transform_kind == NONE - ID 839: Fixed: CORE: fix unresolved toc_vsnprintf and toc_snprintf symbols on some rtos targets - ID 838: Fixed: UDPv6: transport is not using the correct scope_id for manually configured interface - ID 837: Fixed: SECURITY: incorrectly sending hash_c1 under the hash_c2 property in auth-final - ID 836: Fixed: SECURITY: include challenge1 and challenge2 in auth-final ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.22 - ID 835: Fixed: Improved handling of dds entity creation failures in RPC - ID 834: Fixed: RTPS: Failure in transmission of FRAG NACK impacts large data on lossy links - ID 833: Fixed: Windows DLL loading error - ID 832: Fixed: Security: Handshake failure when peer is not using multicast - ID 831: Fixed: Security: authentication failure when peer has IP reassembly errors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.21 - ID 829: Fixed: Security: error processing domains id and id_range in perms doc - ID 828: Added: ContentFilter: provide CF support under Integrity-178 - ID 827: Added: Security: add support for data_tag configuration - ID 826: Added: integration with WolfSSL crypto - ID 825: Fixed: DDL: invalid empty Typecode array possible [C/C++] - ID 824: Fixed: rpc function call api timeout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.20 - ID 823: Fixed: Java DynamicData samples with Boolean or Character fields fails to unmarshal - ID 822: Fixed: RTPS: Heavy datafrag traffic with BestEffort reader can consume extreme memory - ID 821: Fixed: SECURITY: create_datareader/writer() should fail if NOT ALLOWED by security and autoenable=TRUE - ID 820: Fixed: Support distinct payload and submessage protection kinds - ID 819: Fixed: SECURITY: data_protection_kind=SIGN -> payload format not to spec - ID 818: Fixed: C++: Builtin DataReader[s] dynamic type information is incorrect ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.19 - ID 817: Fixed: DDL: bug in code gen for RPC 'out' parameters in Java and C# - ID 816: Added: TRANSPORT: ARINC 653 transport - ID 815: Added: PORT: VxWorks 653 port - ID 814: Added: PORT: DEOS 653 port - ID 813: Fixed: QOS: QosProvider support for DomainParticipantQos::properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.18 - ID 812: Fixed: CORE: matching a pre-v4.0 datatype with enums fails ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.17 - ID 811: Added: C#: Support for X-Type DynamicType + DynamicData APIs - ID 809: Fixed: DDL: REVISIT: inefficient handling of multi-byte arrays and sequences ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.16 - ID 809: Fixed: DDL: inefficient handling of multi-byte arrays and sequences ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.15 - ID 808: Fixed: TRANSPORT: IPv6 address bind error on Linux kernel 3+ - ID 804: Fixed: SECURITY: error in computation of Additional MACs (disabled by default) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.14 - ID 807: Fixed: RPC: Provide Windows DLL for RPC - ID 806: Added: IDL: Support for 64bit integer constants - ID 805: Added: PORT: Support FreeRTOS / LWIP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VERSION 4.0.13 - ID 804: Fixed: SECURITY: error in computation of Additional MACs (disabled for now) - MERGE patches up to v3.6.49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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: Added: 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.49 - ID 802: Fixed: C++: multiple calls to read/take before return_loan() can lose samples ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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