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;