v0.8.0

Major Changes:

  • 【Breaking Change】Optimized the configuration method for rpc/channel filters, now allowing filters to be configured for specific funcs/topics;

  • Added recording plugin:

    • Supports packet recording, including immediate recording and triggered recording modes, with capabilities like packet splitting and rolling;

    • Supports packet playback, including immediate playback and triggered playback modes;

  • 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 logging backend and optimized performance of existing logging backends;

  • Improved CI by adding more compiler checks and fixed compilation failures with certain clang versions;

  • Fixed cmake issues during plugin installation;

  • Fixed a bug in simple executor when shutting down without initialization;

  • Optimized executor behavior during shutdown;

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

  • Optimized examples including benchmark examples;

  • Optimized copyright information;

  • Improved log messages during framework initialization;

  • Added and refined documentation;

  • Optimized some exception handling logic;

  • Improved 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 available for non-ROS message scenarios;

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

  • Improved log messages in some areas;

  • Optimized coding style in some parts of the code;