All notable changes to roead will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
** Changed
- Drastically improved multithreaded AAMP->YAML performance
- Updated a number of deps
- Bumped MSRV to 1.80 for stable
LazyLock
** Fixed
- Fixed issues parsing
Null
strings and quoted numeric keys in YAML for AAMP files - Fixed missing negative sign when emitting
-0.0
in YAML
- Now treating of all null values in AAMP YAML as empty strings
- Fixed handling null/empty tagged strings in AAMP YAML
- Added docs for new macros
- Fixed broken BYML
array!
macro
- Added
map
andarray
BYML macros, plusparams
,objs
,lists
AAMP macros.
- Update dependencies, including breaking
indexmap
changes
- Updated ryml to 0.3.2, which may fix YAML issues with some TOTK BYML files.
- Added support for BYML versions 5-7. This introduces 3 new nodes types, which
means a breaking change to the BYML enum. Besides the difference it makes
for exhaustive pattern matching, the introduction of two new kinds of hash
nodes has triggered a renaming, so all references to
Byml::Hash
or thebyml::Hash
type alias are nowMap
, and the new hash types areHashMap
andValueHashMap
.
Byml::to_text()
no longer returns aResult
. Instead it panics if called on an invalid node type. This is more convenient in 90% of use cases, and the user can still explicitly check the node type first if they want to.
- Fixed parsing long values (u64, i64, f64)
- Added support for stable Rust toolchain (MSRV 1.69)