# 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 新增了指定运行时间的选项；
