v0.9.0
Major Changes:
Optimized the zenoh plugin:
Added zenoh rpc backend;
The zenoh plugin now supports both network communication and shared memory communication methods;
Can pass native zenoh configurations for richer customization;
Added third-party library asio, runtime::core no longer references boost but instead references the standalone asio library to reduce dependencies;
Added aimrt_cli trans command for converting bag files recorded using the aimrt record_playback plugin into ros2 bag files;
Added Echo plugin for message echoing;
Added executor-based timer for convenient scheduled task execution;
aimrt_py channel and rpc now support ros2 message types;
Added Proxy plugin for message forwarding;
Minor Changes:
Shortened file path lengths for some examples;
Optimized code structure by moving code from src/runtime/common/net to new location src/common/net;
Upgraded jsoncpp to version 1.9.6 to resolve some cmake issues;
Added aimrt_py channel benchmark example;
Added aimrt_py rpc benchmark example;
The iceoryx plugin now checks for libacl existence before compilation, skipping compilation if not found;
Plugins providing RPC services now support specifying service names;
Added one-click script to run examples and generate test reports;
Fixed issue where aimrt_py multithreaded rpc calls could cause occasional server crashes;
Added Context support for aimrt_py’s channel functionality;
Now supports installing aimrt::runtime::core;
Removed some unused protocols;
Supports custom log output formats;
Supports periodic active log flushing operations;
grpc plugin now supports ros2 messages and json serialization format;
mqtt added configuration options to support ssl/tls one-way/two-way authentication encrypted transmission;
mqtt plugin will automatically retry asynchronous connections when broker is not available, with configurable reconnection interval;
ros2 plugin supports custom rpc service names;
asio thread/strand executors now support whether to use system clock;