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;