v0.7.0
Major Changes:
In App mode, modules can now be created directly;
[Breaking Change] Removed the context manager for channel; you can now directly new a context;
[Breaking Change] Removed the context manager for rpc; you can now directly new a context;
[Breaking Change] Renamed the coroutine RPC Proxy/Service interfaces to CoProxy/CoService; the old naming is no longer supported;
[Breaking Change] All plugin binaries now have an “aimrt_” prefix;
[Breaking Change] Removed async_wrapper.h;
[Breaking Change] Removed aimrt::util::Function<R(Args…)>; aimrt::util::Function can now only be used to wrap C-interface Functions; for general use, please use std::function;
[Breaking Change] Renamed disable_module -> disable_modules in pkg configuration; added enable_modules configuration.
[Breaking Change] Renamed rpc_filter.h -> rpc_co_filter.h, and renamed RpcHandle/RpcFilter/FilterManager -> CoRpcHandle/CoRpcFilter/CoFilterManager.
Optimized the rpc context part of the Python interface, aligning its style with the CPP version;
local rpc backend now supports timeout;
Added framework-level filter functionality for rpc/channel;
Added log_control_plugin:
Provides runtime interfaces to view and modify log levels;
Added related examples;
Added related documentation;
Added channel publisher proxy and subscriber proxy; you can now use typed proxies to publish and 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 tracing capabilities for rpc and channel;
Minor Changes:
Optimized the output of the rpc status Tostring method;
Added Tostring methods for rpc context and channel context;
rpc context can now set/get func name;
ros2_plugin:
ros2 RPC / Channel now supports configurable QOS;
Added related examples;
Improved related documentation;
Fixed some minor bugs;
mqtt_plugin:
Fixed some issues with mqtt plugin reconnection after disconnection;
mqtt rpc backend added the ability to specify mqtt_client_id;
Fixed a bug in the lifecycle of RPC Server Handle;
Fixed garbled characters when using std::format as the log format method;
Fixed a bug in environment variable substitution in configuration files;
Upgraded fmt library, v9.1.0 -> v10.2.1, and changed the reference method to header-only;
Upgraded tbb library, v2021.12.0-rc2 -> v2021.13.0;
Optimized the example system, simplifying example configurations;
Added some unit tests;
Renamed several code generation plugins;
Added simple_thread type executor;
Added an option to package aimrt-py;
Added an unused configuration check feature;
aimrt_main added an option to specify runtime duration;