Repository navigation
What's Changed
API Changes
- Added the
ron::de::from_valueconvenience function to deserialize aTfrom aValue(#618) - Removed the
once_celldependency (#625)
Format Changes
- Add support for parsing Rust-style string continuation escapes (#617)
- Serialise very large and very small floats in exponent notation, e.g.
1e300instead of a 303-character decimal expansion (#638)
Bug Fixes
- Fixed round-tripping of compact ranges whose start bound is
inforNaN(#605) - Fixed enforcement of
recursion_limitfor nested enum variants deserialised throughserde'sContent(e.g. untagged enums) (#632) - Fixed
-NaNlosing its sign when parsed as an untyped float on some targets, e.g. riscv64 (#634) - Fixed
RawValueaccepting unclosed line comments and extensions when deserialised from a non-RON format, e.g. JSON, which produced invalid RON on serialisation (#636) - Fixed
RawValue::from_ronaccepting#![type = "..."]and#![schema = "..."]attributes, which produced invalid RON when the raw value was serialised inside another value (#642) - Fixed
compact_rangesdropping the struct name and newtype variant unwrapping when a range with non-numeric bounds is written as a struct (#629) - Fixed quadratic backtracking over malformed strings when checking for a newtype or tuple inside untagged enums or unwrapped newtype variants (#639)
- Fixed
RawValueaccumulating extra whitespace around nested values each time a pretty-printed file is read and written again; non-comment whitespace around a nestedRawValueis now trimmed on deserialisation (#640) - Fixed newtype variants deserialised through
serde'sContent(e.g. untagged enums) rejecting a trailing comma and not checking for the closing), which accepted unbalanced parentheses (#643) - Fixed a comment directly after a string, byte string, or char literal being read as code when checking for a newtype or tuple inside untagged enums or unwrapped newtype variants, which rejected valid input or changed how it was deserialised (#644)
- Fixed
Valuepreallocating its sequence or map from an uncapped size hint when deserialised from a non-RON format, e.g. CBOR, so that a forged length aborted the process (#647) - Fixed untyped ranges, e.g.
Valueor untagged enums, rejecting aninforNaNend bound after..(as in0.0..infand..NaN) or a byte literal end bound after a bare..(as in..b'z'), which broke round-tripping compact ranges with an infinite end bound (#648) - Fixed
path_metadoc comments always ending with\ninstead ofPrettyConfig::new_line, which mixed line endings when using e.g."\r\n"(#649)
Documentation
- Mention the Zed extension in the tooling table (#630)
- Add enum variants to the syntax overview in the README (#633)
- Document
no_stdconfiguration and the global allocator requirement (#626) - Added "other implementations" section to the README (#628)
- Fix the
unwrap_variant_newtypesandimplicit_someexamples in the extensions docs, which did not enable their extension, and show how to enable extensions programmatically (#645) - Fixed mismatches between the
docs/grammar.mdand parser (char and Unicode escapes, backslashes in strings, whitespace around range operators and before extensions) (#635)
Miscellaneous
- Remove the
unsafeblock fromRawValue::trim_boxed(#646)
New Contributors
- @maxtaran2010 made their first contribution in #606
- @enomado made their first contribution in #608
- @thurn made their first contribution in #617
- @mahirhir made their first contribution in #605
- @zhouxt1 made their first contribution in #620
- @00200200 made their first contribution in #623
- @ac1982 made their first contribution in #626
- @qodelicious made their first contribution in #630
- @danish293 made their first contribution in #632
- @CriusNyx made their first contribution in #628
- @ChrisJr404 made their first contribution in #618
- @alisterd51 made their first contribution in #625
- @ybai08 made their first contribution in #629
- @TheNetherWatcher made their first contribution in #638
- @Yuren0312 made their first contribution in #641
- @akashchamp made their first contribution in #640
- @spicysharkco made their first contribution in #645
- @LuisFigueroaG made their first contribution in #648
Full Changelog: v0.12.2...v0.12.3