- fix incorrect handling of escape codes \r, \n, \t while writing files
- fix the newly added input quantity check in AXIS_PTS: NO_INPUT_QUANTITY must be handled explicitly
- change the behavior of merge for GROUPS and FUNCTION Previously, if two GROUPS in a merge had the same name, then the incoming group was renamed with the suffix ".MERGE". Now the content for GROUPs/FUNCTIONs with the same name is combined.
- a2l checker improvements
- fix incorrect checks for TYPEDEF_AXIS and COMPU_METHOD
- add extra checks for GROUP, MEASUREMENT, COMPU_METHOD, AXIS_PTS
- add tests for all the checks
- allow the parser to read hex encoded integers where a float is expected (Louis Caron)
- generate Rust enums with values for A2ML enums with values in the a2ml_specification macro
- fix some cases where users of items that were renamed during a merge were not updated to use the new name
- add handling of /include inside A2ML blocks (Louis Caron)
- fix multi-level /include inside A2L (bug report by Louis Caron)
- Specification: AR_COMPONENT is a block enclosed in /begin and /end, not a keyword
- Specification: The integer value in a STRUCTURE_COMPONENT should be called "address_offset" instead of "size"
- Specification: The proc macro specification has been replaced with the code generated by the macro. This provides no direct benefit, but allows rust-analyzer to understand all of a2lfile.
- Cleanup: References from TYPEDEF_AXIS to RECORD_LAYOUT are now taken into account, so that used RECORD_LAYOUTs are not removed
- Cleanup: References from STATUS_STRING_REF to COMPU_METHOD are now taken into account, so that used COMPU_METHODs are not removed
- Documentation: The type of log_msgs is now correctly shown als A2lError instead of String
- Misc: Improved tests
- Misc: Updated github workflows
- Misc: Apache2 and MIT license files were added to the repository