v0.7.0
重要修改:
App 模式下支持直接 create 模块;
【非兼容性修改】去除 channel 的 context manager,现在可以直接 new 一个 context;
【非兼容性修改】去除 rpc 的 context manager,现在可以直接 new 一个 context;
【非兼容性修改】原来的协程 RPC Proxy/Service 接口重命名为 CoProxy/CoService,不再支持老命名方式;
【非兼容性修改】所有的插件二进制文件都加了”aimrt_”前缀;
【非兼容性修改】移除了 async_wrapper.h;
【非兼容性修改】移除了 aimrt::util::Function<R(Args…)>,现在 aimrt::util::Function 仅能用于 C 接口 Function 的封装,普通场景请用 std::function;
【非兼容性修改】重命名了 pkg 配置中 disable_module -> disable_modules;并新增了 enable_modules 配置。
【非兼容性修改】重命名了 rpc_filter.h -> rpc_co_filter.h,重命名 RpcHandle/RpcFilter/FilterManager -> CoRpcHandle/CoRpcFilter/CoFilterManager。
优化了 python 接口中 rpc context 部分,升级接口风格与 CPP 版本对齐;
local rpc backend 支持 timeout 功能;
新增 rpc/channel 框架侧过滤器功能;
新增 log_control_plugin:
提供了运行时查看、修改日志等级的接口;
添加了相关示例;
添加了相关文档;
添加了 channel publisher proxy 和 subscriber proxy,现在可以使用带类型的 proxy 发布订阅 topic;
基于 sphinx 重构了文档系统;
添加了 guard_thread,作为默认日志线程;
移动 lcm、sm 插件至独立仓库;
新增 opentelemetry_plugin:
提供 rpc 和 channel 的 trace 能力;
次要修改:
优化了 rpc status Tostring 方法的输出;
为 rpc context、channel context 添加了 Tostring 方法;
rpc context 现在可以设置/获取 func name;
ros2_plugin:
ros2 RPC / Channel 现在支持配置 QOS;
添加了相关示例;
完善了相关文档;
修复了一些轻微 BUG;
mqtt_plugin:
修复了 mqtt 插件断线重连时的一些问题;
mqtt rpc backend 添加指定 mqtt_client_id 的功能;
修复了 RPC Server Handle 生命周期的 Bug;
修复了使用 std::format 作为日志 format 方法时的乱码问题;
修复了配置文件中替换环境变量的 BUG;
升级 fmt 库,v9.1.0 -> v10.2.1,并将引用方式改为 header-only;
升级 tbb 库,v2021.12.0-rc2 -> v2021.13.0;
优化了 example 体系,简化了 example 配置;
添加了一些单元测试;
修改了几个代码生成插件的名称;
新增 simple_thread 类型执行器;
新增了打包 aimrt-py 的选项;
新增了未使用配置检查功能;
aimrt_main 新增了指定运行时间的选项;