This changelog tracks the Rust svdtools project. See
CHANGELOG-python.md for the Python svdtools project.
v0.5.0 2025-05-25
- Add
binfeature (enabled by default), make some dependencies optional - Skip adding
enumeratedValues&writeConstraintto derived fields
v0.4.6 2025-04-03
- Fixed compilation with new
rust
v0.4.5 2025-03-11
- Calculate
_addposition for peripherals and registers
v0.4.4 2025-02-08
- Add
prefixandsuffixas opposite tostripandstrip_end
v0.4.3 2025-01-31
- Allow shorthand when
_deriveacross clusters
v0.4.2 2025-01-25
- Fix optional
fspecinset_field_modified_write_values
v0.4.1 2025-01-21
html: fieldreadActionandmodifiedWriteValuesinaccesspatch: allow processing without path dependencies
v0.4.0 2025-01-06
- breaking Support "?~" in field
_modify&_derive - Keep position when merge fields
v0.3.21 2024-12-31
_derivefield
v0.3.20 2024-11-14
- Implement
_expand_cluster - Support derived registers/fields in
svdtools html
v0.3.19 2024-10-18
- Fix deletion childrens on cluster modify
- Sugar for simple
_splitand_merge
v0.3.18 2024-08-10
- Replace
yaml-rustwithyaml-rust2. Check for duplicate keys and other YAML parse errors - Prevent collapsing columns in HTML
register-map-tablewithmin-width - Protect from using one
enumeratedValuesin fields with different width
v0.3.17 2024-07-05
- Support "isDefault" enum value in
svdtools html
v0.3.16 2024-07-03
- Add possibility to add field arrays
v0.3.15 2024-07-02
- Add
infotool, only withdevice-namefor now - Add
expand-patchtool to show full patch rule with all includes
v0.3.14 2024-04-04
- If there is no path to interpolate, show unmodified
description. - Support write constraints when defining new register fields
- Allow absolute identifiers in
_deriveregister
v0.3.13 2024-03-29
- Interpolate path and name in
descriptionandderivedFrom - Allow specs started with
_(missing part) - Allow 1 string
_include
v0.3.12 2024-03-23
dimArrayIndexsupport- Allow to modify registers in
_cluster: - Add addressOffset check in
collect_in_cluster - Refactor
RegisterBlockExt, useBlockPathfor better errors - Allow specs started with
_ - Allow process,
_deleteand_modifycluster without_clustersspecifier
v0.3.11 2024-03-06
- Add
_expand_array - Allow register arrays in
collect_in_cluster - Custom
dimIncrementfor 1-elementclusterorarray
v0.3.10 2024-02-26
- Allow to specify
nameforenumeratedValues - Avoid unneded whitespaces in generated
html
v0.3.9 2024-01-19
- Use
<details>instead of JavaScript inhtmltemplate - Fix escape special characters on Windows
v0.3.8 2023-12-23
- Fix #176 in
collect_in_cluster
v0.3.7 2023-12-22
- Support
bitRangeandmsb+lsbin field_modify - Support
_includein peripherals indevice.yaml - Add
--enum_deriveflag - Strip
alternateRegistertoo - Add
modifiedWriteValuesandreadActionfield patch (#156) - Ignore rule if starts with "?~" and no matched instances
- Fix #144
- Flag to check for errors after patching
v0.3.6 2023-11-01
- Fix #182
v0.3.5 2023-11-30
- Move field with derived enums before other
-1for default enum value- Update
displayNameduring collect, improve searching commondescription - mmaps: peripheral arrays, bump
svdcrates - patch:
--show-patch-on-errorprints yaml patches on error
v0.3.4 2023-10-14
- Revert #145
- Improve "Could not find errors"
- use register size as dimIncrement for 1-element arrays
- Replace spec indices search with regex
- modify writeConstraint for register
v0.3.3 2023-10-02
- Fast fix for #161
v0.3.2 2023-10-01
_modifyderivedFromfor peripherals, clusters, registers and fields- fix field bit range in
svdtools html
v0.3.1 2023-09-19
- add
svdtools htmlandsvdtools htmlcomparetools fromstm32-rs - update
svd-encoder,--format-configand optionalout_pathforpatch - add field name in enumeratedValues derive path
v0.3.0 2023-03-27
- cluster add/modify
- use
normpathinstead of std::fs::canonicalize
v0.2.8 2023-01-28
- patch: added possibility to modify dim elements (arrays)
- mmap: replace %s in field array
v0.2.7 2022-09-18
- Print svdtools version on error, update dependencies
- Check
_delete,_strip, etc. on array of strings
v0.2.6 2022-08-21
Breaking changes:
- Move
_strip,_strip_endbefore_modify(#89)- Existing patch files may need updating to refer to the stripped versions of names being modified
- Allow
_deriveto rename derived peripherals, optionally specify a new base address and description (#118)- If registers were being copied and modified, use
_copyinstead of_derivefor those peripherals.
- If registers were being copied and modified, use
Other changes:
- Improve error messages on missing files (#117)
- Fix help documentation for
svdtools patchcommand (#119)
v0.2.5 2022-07-23
- update
svd-rscrates to 0.14 convert: Addformat_configoption
v0.2.4 2022-05-15
- Added action to build binaries and release for every version tag and latest commit
- Use
svd-parser0.13.4, addexpand_propertiesoption inconvert patch: check enumusage, don't add it if unneeded
v0.2.3 2022-05-01
- Add support for
modifiedWriteValues&readActionfor fields
v0.2.2 2022-04-23
- Use
svd-encoder0.13.2 - Support
expandwhen processing SVD files (#104) - Sanitize enumeratedValues (#103)
v0.2.1 2022-02-12
- Use
svd-encoder0.13.1 - Remove register
accessif empty
v0.2.0 2022-01-15
- Use
svd-parser0.13.1 - Add
_clear_fieldsinDeviceandPeripheral(#90) - Add new
convertcommand to convert between SVD (XML), JSON, and YAML (#92) - Provide option to opt out of regex replace of 0's in description when
creating arrays by using a custom
descriptionattribute (#95)
v0.1.0 2021-12-09
- Initial release with feature-parity with the Python project.