25 lines
1.2 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_py 多线程 rpc 调用 server 端概率性崩溃的问题;
feat: enhance aimrt_py channel with ctx functionality (#44) * chore: reorganize imports for consistency Refactor the import statements across multiple modules to improve readability and maintain consistency. Ensure all relevant libraries are imported in a coherent manner. * feat: add GetTopic method to PublisherRef and SubscriberRef Expose the GetTopic method for both PublisherRef and SubscriberRef to improve topic management and enhance usability within the Python interface. * feat: add context handling in publishing Introduce new context management methods for publishing messages with context support. Enhance the Python bindings to allow for better integration with context references, improving the flexibility and usability of the publisher functionality. * feat: enhance subscription with context support Add a new subscription method that includes context handling for better message processing. This improves the flexibility of message serialization formats and error handling during callback execution. * refactor: clean up publish and subscribe methods Improve code readability by removing unnecessary blank lines and ensuring consistent formatting in the publish and subscribe functions. * style: update ASCII art formatting in example runner Improve visual consistency of the ASCII banner in the output, enhancing readability. * chore: improve type annotations for publisher and subscriber functions Enhance the type hints in the RegisterPublishType, Publish, and Subscribe functions to improve code clarity and maintainability. This facilitates better integration with type-checking tools and helps prevent potential runtime errors. * feat: support multiple serialization types in publisher Enhance the publishing functionality to handle both protobuf and JSON serialization types. This improves flexibility and allows for broader compatibility with different data formats. Add error handling for invalid serialization types to ensure robustness. * fix: correct serialization type prefix Update the serialization type from "pb" to "json" when publishing JSON messages, ensuring accurate format differentiation for better clarity and preventing potential processing errors. * refactor: streamline serialization handling in PublishWithCtx Improve message serialization by consolidating logic and enhancing readability. Ensure error handling for unsupported types remains clear. * feat: add Context support for aimrt_py channel functionality Enhance channel functionality in aimrt_py by providing Context support, improving usability and enabling better resource management during operations. * refactor: streamline serialization type handling Improve clarity by formatting the serialization type in the publish method. This enhances readability and ensures consistent output in message formatting. * refactor: rename publish function and improve argument handling Enhance the Publish function to accept different argument configurations and simplify the serialization process, ensuring clearer logic and improved usability. * feat: enhance publishing with customizable serialization Allow publishers to specify serialization type (protobuf or JSON) when publishing messages. Update method signatures to improve clarity and error handling for serialization type validation. * feat: enhance Publish function documentation Clarify usage and expectations for the Publish function, including argument types and potential exceptions. This improves maintainability and usability for future developers. * refactor: simplify protobuf serialization handling Streamline the protobuf message serialization and deserialization processes by separating concerns into dedicated functions. Improve callback handling for subscriber methods to enhance code readability and maintainability. * refactor: streamline serialization and deserialization methods Simplify the process of message serialization and deserialization by consolidating functions and improving code clarity. This enhances maintainability and reduces redundancy in handling protobuf messages. * refactor: remove unused subscription method Eliminate the `PySubscribeWithSerializationType` function to streamline the code and improve maintainability, as it is not being used in the current implementation. * refactor: streamline callback parameter handling Simplify the validation and handling of callback parameters in the subscription process. Ensure the callback adheres to a clear signature expectation, enhancing code maintainability and reducing potential errors. * chore: streamline imports for clarity Optimize import statements by specifying only required components, improving readability and maintainability. * feat: enhance protobuf registration and subscription documentation Improve docstrings for registering and subscribing to protobuf message types, clarifying parameter details and callback expectations to aid developer understanding and usage.
2024-10-22 20:09:15 +08:00
- 为 aimrt_py 的 channel 功能提供了 Context 支持;
- 新增 bagtrans 命令行工具,用于将 使用 aimrt record_playback 插件录制的 bag 文件转换为 ros2 的 bag 文件;
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的脚本并生成测试报告