AimRT v0.9.0 Release!
Main Changes (Compared to v0.8.3):
Major Changes:
- Optimized the zenoh plugin:
- Added zenoh rpc backend;
- zenoh plugin supports both network communication and shared memory communication;
- Allows passing native zenoh configurations for richer configuration;
- 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 to convert bag files recorded using the aimrt record_playback plugin to ros2 bag files;
- Added Echo plugin for message echoing;
- Added timer based on executor for convenient scheduled tasks;
- aimrt_py channel and rpc support ros2 message types;
- Added Proxy plugin for message forwarding;
Minor Changes:
- Shortened the file path length of some examples;
- Optimized code structure, moved code from src/runtime/common/net to new location src/common/net;
- Upgraded jsoncpp to version 1.9.6 to optimize some cmake issues;
- Added aimrt_py channel benchmark example;
- Added aimrt_py rpc benchmark example;
- iceoryx plugin checks for the existence of libacl before compiling, and does not compile if it is absent;
- Plugins providing RPC services now support specifying service name;
- Provided a script to run examples with one click and generate test reports;
- Fixed the issue of probabilistic crashes on the server side during multi-threaded rpc calls in aimrt_py;
- Provided Context support for the channel functionality of aimrt_py;
- Now supports installing aimrt::runtime::core;
- Removed some unused protocols;
- Supports custom log output formats;
- Supports periodic proactive log flushing to disk;
- grpc plugin supports ros2 messages and json serialization format;
- mqtt added configuration options to support ssl/tls one-way/two-way authentication for encrypted transmission;
- mqtt plugin will automatically retry asynchronous connection when the broker is not started, and provides reconnection interval configuration options;
- ros2 plugin supports custom rpc service names;
- asio thread/strand executor now supports whether to use system clock;