29 lines
1.4 KiB
Markdown
Raw Normal View History

2024-09-30 17:22:32 +08:00
# v0.9.0
**重要修改**
- 优化了 zenoh 插件:
- 更新 zenohc 库至 1.0.0.11 版本;
2024-09-30 17:22:32 +08:00
- 添加了 zenoh rpc 后端;
- 现在可以传入 zenoh 原生配置;
2024-10-14 09:45:07 +08:00
- mqtt 新增配置项以支持加密传输;
- 新增了第三方库 asioruntime::core 不再引用 boost改为引用独立的 asio 库,以减轻依赖;
- 新增 aimrt_cli trans 命令,用于将 使用 aimrt record_playback 插件录制的 bag 文件转换为 ros2 的 bag 文件;
feat: add a new plugin: echo (#51) * CI: change build worlflow image tag from v20240927 to latest * feat/plugins: Add echo plugin - Add echo plugin for message pass-through and logging - Implement loading and management of different types of support packages - Add support for multi-threaded executors - Optimize log initialization and management logic - Add support for YAML configuration files * build: Update build scripts and enable Echo plugin - Add build options for Echo plugin in build.bat, build.sh, test.bat, and test.sh scripts - Optimize JSON serialization error handling and log output in echo_plugin.cc * chore: Add Echo plugin related documentation - Update release notes with Echo plugin feature description - Add Echo plugin usage documentation - Add Echo plugin example configuration and running instructions * chore: format the code - Add thread safety checks for Echo executor - Optimize code structure to improve readability and maintainability * choro: restructure JSON parsing logic - Replace json-c with jsoncpp library - Rewrite json_to_yaml function to improve code readability and robustness * choro: adapt CMakeLists for Windows compatibility * choro : turn off the echo plugin in windows * feat(echo_plugin): Support YAML format message echo - Modify GetYamlCpp.cmake to enable yaml-cpp installation - Add yaml_convert.h and yaml_convert_test.cc in ros2_util - Update echo_plugin to support YAML format message serialization and deserialization - Add YAML serialization type support in aimrt_module_ros2_interface * choro: Fix documentation * choro : fix format and delete the extra support for echo about pb message type * choro : format * choro: add ros2 example for echo plugin and delete useless code * choro: rename the echo example shell * choro: fix some mistake * chore: refactor type support package loader and migrate to core module - Migrate TypeSupportPkgLoader from echo_plugin and record_playback_plugin to core/util directory - Optimize log output, replace printf with AIMRT_INFO * choro: replace the aimrt::common::util::AimRTException() to AIMRT_ASSERT --------- Co-authored-by: yuguanlin <yuguanlin@agibot.com>
2024-10-31 20:03:42 +08:00
- 新增 Echo 插件,用于回显消息;
2024-09-30 17:22:32 +08:00
**次要修改**
- 缩短了一些 examples 的文件路径长度;
2024-10-14 09:45:07 +08:00
- 优化代码结构,移动代码 src/runtime/common/net 至新位置 src/common/net
- 升级 jsoncpp 至 1.9.6 版本以优化一些 cmake 问题;
feat: add aimrt_py benchmark publisher and subscriber applications (#28) * feat: add aimrt_py benchmark publisher and subscriber applications Introduce new benchmark publisher and subscriber modules, enabling performance testing with custom configuration. Includes necessary YAML configuration files and scripts for simulation of message publishing and receiving. * style: correct message size formatting Update the log message to use "bytes" for clarity and consistency in reporting metrics. * feat: add python benchmark example and update dependencies Introduce an aimrt_py benchmark example for Python testing. Replace boost dependency with the standalone asio library to reduce overall dependencies and enhance configuration options for zenoh and mqtt. * feat: add aimrt_py channel benchmark example Introduce a new benchmark example for aimrt_py to enhance Python benchmarking capabilities and provide clearer insights into performance metrics. * format code * style: format loss rate output Remove the percentage symbol from the loss rate display for a cleaner presentation. * docs: update release notes for v0.9.0 Clarify new features, config options, and dependency changes, including the addition of the aimrt_py channel benchmark example and removal of boost dependencies in favor of asio. * docs: add benchmark example to Python interfaces section Include a new link for the pb_chn_bench example to enhance the documentation and provide users with more comprehensive usage scenarios. * docs: add README for protobuf channel benchmark example Provide instructions on setting up and running a Python channel benchmark using protobuf with HTTP backend. Include details on core modules, configuration, and execution steps to enhance usability and understanding. * docs: update installation instructions to link to quick start guide Enhance user experience by providing direct access to the installation guide for the `aimrt_py` package, improving clarity and reducing search time for new users. * docs: correct grpc reference in README Update the section title to accurately reflect the protocol being used, enhancing clarity for users.
2024-10-16 14:03:05 +08:00
- 新增了 aimrt_py channel benchmark 示例;
feat: add aimrt_py rpc benchmark example (#37) * feat: add python benchmark example and update dependencies Introduce an aimrt_py benchmark example for Python testing. Replace boost dependency with the standalone asio library to reduce overall dependencies and enhance configuration options for zenoh and mqtt. * feat: add RPC benchmark client and configuration Introduce a new benchmark client module and accompanying scripts to facilitate testing and performance measurement of RPC services. Include configuration for parallel execution and adjustable benchmarking parameters. * docs: add benchmark process for protobuf RPC Include detailed instructions for reproducing the crash issue and running benchmarks effectively to streamline troubleshooting and performance evaluation. * chore: include string header Add the string header to enable potential future string manipulations within the RPC handling code. This sets the stage for improved functionality and cleaner code integration down the line. * feat: enhance benchmark reporting and logging Improve performance benchmarking by logging detailed results, including latency metrics and error rates. Ensure more precise measurements by using microseconds for task duration and substituting print statements with structured logging. * chore: update benchmark configurations for clarity and accuracy Refine the benchmark plans to provide clearer settings. Adjust parameters for the fixed-frequency mode to ensure more relevant testing scenarios. * chore: add script and config files for HTTP server examples Include new symbolic links for server configuration and application scripts to streamline example setup and ensure consistency across projects. * docs: update README for better clarity on python RPC benchmark setup Enhance the README to provide a clearer guide on using the protobuf RPC benchmark example, including setup instructions, core files, and configuration details. This improves user experience and facilitates easier implementation for developers. * style: correct casing in module name Standardize the module name casing for improved consistency and readability in the RPC server application. * docs: add pb_rpc_bench example link Include the link to the pb_rpc_bench example for better accessibility and completeness in the tutorial. * style: clean up code formatting Remove unnecessary blank lines to improve readability in the benchmark RPC client module. * docs: modify aimrt_py rpc release note
2024-10-18 16:33:58 +08:00
- 新增了 aimrt_py rpc benchmark 示例;
- iceoryx 插件在编译前先检查是否存在libacl不存在则不进行编译
- 提供 RPC 服务的插件现在支持指定 service name
- 提供一键运行example的脚本并生成测试报告
- 修复 aimrt_py 多线程 rpc 调用 server 端概率性崩溃的问题;
- 为 aimrt_py 的 channel 功能提供了 Context 支持;
- 现在支持 install aimrt::runtime::core
- 删除一些未使用的协议;
2024-10-31 21:26:55 +08:00
- 支持日志自定义输出格式;
feat: add json and ros2 serialization support for grpc plugin (#81) * feat: enhance gRPC content-type handling and serialization support Improve content-type validation in gRPC request headers to support additional types, allowing for JSON serialization. Update the serialization logic to dynamically set the type based on incoming headers, ensuring better compatibility and error handling. * feat: support ros2 service function names Enhance service function registration to accept names starting with 'ros2:' in addition to 'pb:'. Update URL path handling and content type mappings accordingly to ensure compatibility with ROS 2 services, improving integration capabilities. * feat: add gRPC plugin configuration and startup scripts Introduce configuration files for the gRPC client and server plugins, allowing for easier setup and management of RPC communication. Add shell scripts to launch the client and server with the specified configurations, streamlining the development process. * refactor: improve service function name validation and error handling Enhance the clarity of service function name registration by separating the function name variable for improved readability. Update error messages for better guidance on valid prefixes and standardize maps for content types and serialization types. This increases maintainability and reduces the risk of errors during registration. * refactor: streamline client option lookup and improve code clarity Simplify the client option lookup by replacing `std::find_if` with `std::ranges::find_if`. Also, enhance readability by cleaning up comment formatting and unnecessary whitespace. * chore: update copyright information in configuration files Revise copyright year and licensing details to reflect the current ownership and license for the AimRT project. * refactor: improve validation logic in options Enhance option verification by using standard algorithms for consistency and readability. This ensures minimum thresholds for connection numbers and timer durations are respected, improving robustness in client and server configurations. * docs: update release notes and plugin documentation Add support for grpc plugin serialization with ros2 messages and json format, enhancing flexibility in data handling. Remove outdated protobuf-only restriction to improve compatibility and user experience. * docs: add ros2 rpc example details and usage instructions Expand the README to include a new section on using the grpc plugin with a ros2-based RPC interface. Provide explicit instructions on configuration, core code references, and running the server and client. Enhance the documentation to clarify the differences from the protobuf RPC example. --------- Co-authored-by: zhangyi <zhangyi@agibot.com>
2024-11-05 11:44:25 +08:00
- grpc 插件支持 ros2 消息以及 json 序列化格式;