Skip to content

0.10.1 (Lettres Dansantes)

Compare
Choose a tag to compare
@thijsmie thijsmie released this 24 Aug 09:19
· 992 commits to master since this release

This release contains mostly fixes and some quality of life improvements. It also sees the first release of the new python-based cyclonedds CLI command.

Compatibility:

  • Note that some fixes to TypeRequest/Response have been made for spec compliance. This means that 0.10.1 will not be able to do dynamic type discovery with 0.9.*.
  • XTypes enum compatibility with OpenDDS will work after a fix is merged on the OpenDDS side.

Documentation:

  • improved Getting Started guide
  • improved structuring of the C++ API documentation

Core:

  • fixes "by source timestamp" destination order with >= 3 writers for the same instance
  • fixes a stall in retrieving historical data from a transient local writer after a partial disconnection and in combination with loss of specific packets
  • data received from a volatile writer prior to a heartbeat is now accepted if the writer is non-Cyclone DDS
  • fixes crash if the liveliness QoS on a writer is set to manual with lease duration infinity
  • fixes a crash on initialization of the TCP support code
  • fixes an incorrect unlock in security support code
  • fixes incorrect deserialization of property lists in security plugin
  • removed the fixed limit on the number of threads
  • fixes a variety of cases where it would crash on invoking an API function before initializing the library
  • fixes for interaction with the "ignorelocal" QoS setting when using Iceoryx

XTypes:

  • default_nested compiler option
  • validation of type information and type objects
  • various improvements to type lookups (among which compatibility with OpenDDS)
  • bug fixes for key handling in mutable structs (C)
  • de-duplicate list of dependent types in minimal type identifiers
  • fixes type object generation for int8 type
  • fixes assignability check for unbounded key members
  • dds_find_topic support using XTypes type information
  • "presence_required" option for network interfaces that are not required but should be used if present at start-up
  • fixes content filtering when using Iceoryx (C++)
  • serializer performance improvements (C++)

IDLC:

  • add option for setting output directory
  • add option for stripping a path prefix
  • correct alignment calculations for some cases using external or optional members (C)
  • support for default_literal annotation (C++)
  • fix handling of nested include files
  • variety of fixes for bugs causing invalid code to be generated (C++)

Tooling:

  • cyclonedds tool now provides more information on processes
  • cyclonedds tool now wraps ddsperf and draws pretty graphs
  • support for naming entities
  • C pubsub has been removed
  • the "debug monitor port" now generates JSON
  • update perftest script to current configuration and make security work

Platform/builds/packaging:

  • there is now a cyclonedds-nightly pypi package
  • C++11 compatibility
  • CMake to 3.16
  • fixes for builds without IDLC
  • support for static builds
  • IPv6 support can now be disabled in CMake
  • topic/type discovery are now enabled in the builds by default (topic discovery remains disabled by default at run-time)
  • dropped MinGW builds from CI (because of CI-specific problems)
  • add Iceoryx directory to rpath (macOS)