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;