ROS# Version 2.2.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.2.0] - 22.07.2025
Added
- ROS2 Message/Service/Action Generation: Major refactor and extension of the message auto-generation pipeline to support new ROS2 message, service, and action interface features, including:
- Support for default values, bounded variable-size arrays and strings in ROS2
.msgfiles. For example:string full_name "John Doe"int32[] samples [-200, -100, 0, 100, 200]int32[<=5] up_to_five_integers_arraystring<=10 up_to_ten_characters_string
- New token types and parsing logic for ROS2 message syntax.
- Improved handling of C# keywords and identifier validation in generated code. Invalid identifiers are added with '
@' instead of '_', eliminating the need for an additionalJsonProperty. - Note: Bounded strings in bounded variable-size arrays are not supported (
string<=10[<=5] up_to_five_strings_up_to_ten_characters_eachfor example). These will be generated as standard string arrays.
- Support for default values, bounded variable-size arrays and strings in ROS2
- Editor Usability: Improved error messages, dialog titles, and progress reporting in Unity Editor message generation windows.
Changed
- Refactored Message Parser/Tokenizer: Message parsing and tokenization logic has been refactored for maintainability, extensibility, and ROS2 compatibility.
- All API calls below
Parse()andTokenize()have changed.Parse()andTokenize()have the same definition and functionality, and are backwards compatible. MessageTokenizer.csnow processes messages line by line using regular expressions instead of character by character.
- All API calls below
- Consistent Constructor Generation: Parameterized and default constructors in generated message/service/action classes now consistently support new ROS2 features.
Fixed
- Some of the auto-generated messages now correctly define ROS2-specific arrays.
Removed
CodeDomProviderbased identifier validation is no longer supported.