v0.7.0
Major Changes:
Support direct module creation in App mode;
[Breaking Change] Remove channel’s context manager, now you can directly create a new context;
[Breaking Change] Remove rpc’s context manager, now you can directly create a new context;
[Breaking Change] Renamed the original coroutine RPC Proxy/Service interfaces to CoProxy/CoService, old naming is no longer supported;
[Breaking Change] All plugin binary files now have the “aimrt_” prefix;
[Breaking Change] Removed async_wrapper.h;
[Breaking Change] Removed aimrt::util::Function<R(Args…)>, now aimrt::util::Function can only be used for encapsulating C interface Functions, please use std::function for normal scenarios;
[Breaking Change] Renamed disable_module -> disable_modules in pkg configuration; and added enable_modules configuration.
[Breaking Change] Renamed rpc_filter.h -> rpc_co_filter.h, renamed RpcHandle/RpcFilter/FilterManager -> CoRpcHandle/CoRpcFilter/CoFilterManager.
Optimized the rpc context part in Python interfaces, upgrading the interface style to align with the CPP version;
Local rpc backend now supports timeout functionality;
Added framework-side filter functionality for rpc/channel;
Added log_control_plugin:
Provides runtime interfaces for viewing and modifying log levels;
Added related examples;
Added related documentation;
Added channel publisher proxy and subscriber proxy, now you can use typed proxies to publish/subscribe to topics;
Rebuilt the documentation system based on sphinx;
Added guard_thread as the default logging thread;
Moved lcm and sm plugins to separate repositories;
Added opentelemetry_plugin:
Provides trace capabilities for rpc and channel;
Minor Changes:
Optimized the output of rpc status Tostring method;
Added Tostring method for rpc context and channel context;
rpc context can now set/get func name;
ros2_plugin:
ros2 RPC/Channel now supports QOS configuration;
Added related examples;
Improved related documentation;
Fixed some minor bugs;
mqtt_plugin:
Fixed some issues with mqtt plugin reconnection;
mqtt rpc backend added the ability to specify mqtt_client_id;
Fixed a bug in RPC Server Handle lifecycle;
Fixed garbled text issue when using std::format as log format method;
Fixed a bug in environment variable substitution in configuration files;
Upgraded fmt library from v9.1.0 to v10.2.1, and changed the reference method to header-only;
Upgraded tbb library from v2021.12.0-rc2 to v2021.13.0;
Optimized the example system, simplified example configurations;
Added some unit tests;
Modified names of several code generation plugins;
Added simple_thread type executor;
Added option to package aimrt-py;
Added unused configuration check functionality;
aimrt_main added option to specify runtime duration;