v0.8.0

Major Changes:

  • [Breaking Change] Optimized the configuration method of rpc/channel filter; now you can configure filters for specific func/topic;

  • Added replay plugin:

    • Supports packet recording, including immediate recording and trigger-based recording, with capabilities such as packet splitting and rolling;

    • Supports packet playback, including immediate playback and trigger-based playback;

  • Added zenoh plugin, supporting zenoh channel backend;

  • Added grpc plugin, supporting grpc rpc backend;

  • Added iceoryx plugin, supporting iceoryx channel backend;

  • Now supports custom rpc service names;

Minor Changes:

  • Simplified the logging backend and optimized the performance of existing logging backends;

  • Improved CI, added compilation checks for more compilers, and fixed compilation failures under certain clang versions;

  • Fixed cmake issues during plugin installation;

  • Fixed a bug in simple executor when uninitialized shutdown occurs;

  • Optimized executor behavior during shutdown;

  • Fixed occasional crashes during shutdown of net plugin and mqtt plugin;

  • Optimized examples including bench examples;

  • Optimized copyright information;

  • Optimized framework initialization log information;

  • Added and improved documentation;

  • Optimized some exception handling logic;

  • Optimized channel serialization/deserialization logic;

  • Fixed a bug where ros2 plugin couldn’t register multiple subscribers in different modules within the same process;

  • ROS2 Plugin:

    • Now supports timeout functionality;

    • Optimized QOS functionality, now usable in non-ROS message scenarios;

  • asio_thread, guard_thread, simple_thread, tbb_thread now support setting task count thresholds, with warnings when approaching the threshold;

  • Optimized log prompt information in some areas;

  • Optimized coding style in some code sections;