serde-rs/serde (serde)
### [`v1.0.199`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.199)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.198...v1.0.199)
- Fix ambiguous associated item when `forward_to_deserialize_any!` is used on an enum with `Error` variant ([#2732](https://togithub.com/serde-rs/serde/issues/2732), thanks [@aatifsyed](https://togithub.com/aatifsyed))
### [`v1.0.198`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.198)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.197...v1.0.198)
- Support serializing and deserializing `Saturating` ([#2709](https://togithub.com/serde-rs/serde/issues/2709), thanks [@jbethune](https://togithub.com/jbethune))
### [`v1.0.197`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.197)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.196...v1.0.197)
- Fix unused_imports warnings when compiled by rustc 1.78
- Optimize code size of some Display impls ([#2697](https://togithub.com/serde-rs/serde/issues/2697), thanks [@nyurik](https://togithub.com/nyurik))
### [`v1.0.196`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.196)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.195...v1.0.196)
- Improve formatting of "invalid type" error messages involving floats ([#2682](https://togithub.com/serde-rs/serde/issues/2682))
### [`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195)
- Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning ([#2671](https://togithub.com/serde-rs/serde/issues/2671))
### [`v1.0.194`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.194)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
### [`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)
- Fix field names used for the deserialization of `RangeFrom` and `RangeTo` ([#2653](https://togithub.com/serde-rs/serde/issues/2653), [#2654](https://togithub.com/serde-rs/serde/issues/2654), [#2655](https://togithub.com/serde-rs/serde/issues/2655), thanks [@emilbonnek](https://togithub.com/emilbonnek))
### [`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)
- Allow internal tag field in untagged variant ([#2646](https://togithub.com/serde-rs/serde/issues/2646), thanks [@robsdedude](https://togithub.com/robsdedude))
### [`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)
- Documentation improvements
### [`v1.0.190`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.190)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.189...v1.0.190)
- Preserve NaN sign when deserializing f32 from f64 or vice versa ([#2637](https://togithub.com/serde-rs/serde/issues/2637))
### [`v1.0.189`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.189)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.188...v1.0.189)
- Fix "cannot infer type" error when internally tagged enum contains untagged variant ([#2613](https://togithub.com/serde-rs/serde/issues/2613), thanks [@ahl](https://togithub.com/ahl))
### [`v1.0.188`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.188)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.187...v1.0.188)
- Fix *"failed to parse manifest"* error when building serde using a Cargo version between 1.45 and 1.50 ([#2603](https://togithub.com/serde-rs/serde/issues/2603))
### [`v1.0.187`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.187)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.186...v1.0.187)
- Remove support for Emscripten targets on rustc older than 1.40 ([#2600](https://togithub.com/serde-rs/serde/issues/2600))
### [`v1.0.186`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.186)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.185...v1.0.186)
- Disallow incompatible versions of `serde_derive` and `serde` in the dependency graph ([#2588](https://togithub.com/serde-rs/serde/issues/2588), thanks [@soqb](https://togithub.com/soqb))
### [`v1.0.185`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.185)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.184...v1.0.185)
- Fix error *"cannot move out of `*self` which is behind a shared reference"* deriving Serialize on a non_exhaustive enum ([#2591](https://togithub.com/serde-rs/serde/issues/2591))
### [`v1.0.184`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.184)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.183...v1.0.184)
- Restore from-source `serde_derive` build on all platforms — eventually we'd like to use a first-class precompiled macro if such a thing becomes supported by cargo / crates.io
### [`v1.0.183`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.183)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.182...v1.0.183)
- Support deserializing `Box` with an equivalent representation as `OsString` ([#2556](https://togithub.com/serde-rs/serde/issues/2556), thanks [@DBLouis](https://togithub.com/DBLouis))
### [`v1.0.182`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.182)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.181...v1.0.182)
- Render field aliases in sorted order in error messages ([#2458](https://togithub.com/serde-rs/serde/issues/2458), thanks [@Mingun](https://togithub.com/Mingun))
- Support `serde(default)` on tuple structs ([#2553](https://togithub.com/serde-rs/serde/issues/2553), thanks [@Mingun](https://togithub.com/Mingun))
### [`v1.0.181`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.181)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.180...v1.0.181)
- Make `serde(alias)` work in combination with `flatten` when using in-place deserialization ([#2443](https://togithub.com/serde-rs/serde/issues/2443), thanks [@Mingun](https://togithub.com/Mingun))
- Improve the representation of adjacently tagged enums in formats where enum tags are serialized by index, as opposed to by string name ([#2505](https://togithub.com/serde-rs/serde/issues/2505), [#2496](https://togithub.com/serde-rs/serde/issues/2496), thanks [@Baptistemontan](https://togithub.com/Baptistemontan))
### [`v1.0.180`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.180)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.179...v1.0.180)
- Update to 2018 edition
### [`v1.0.179`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.179)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.178...v1.0.179)
- Support serialization of tuple variants inside a flattened field ([#2448](https://togithub.com/serde-rs/serde/issues/2448), thanks [@Mingun](https://togithub.com/Mingun))
### [`v1.0.178`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.178)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.177...v1.0.178)
- Fix build error when using serde with "std" feature turned off and "unstable" feature turned on ([#2541](https://togithub.com/serde-rs/serde/issues/2541))
### [`v1.0.177`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.177)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.176...v1.0.177)
- Add `serde(rename_all_fields = "...")` attribute to apply a `rename_all` on every struct variant of an enum ([#1695](https://togithub.com/serde-rs/serde/issues/1695), thanks [@jplatte](https://togithub.com/jplatte))
- Improve diagnostics for attribute parse errors ([#2536](https://togithub.com/serde-rs/serde/issues/2536), thanks [@jplatte](https://togithub.com/jplatte))
### [`v1.0.176`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.176)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.175...v1.0.176)
- Allow tag field of an internally tagged enum to have same name as a field inside a skipped struct variant ([#2266](https://togithub.com/serde-rs/serde/issues/2266), thanks [@flisky](https://togithub.com/flisky))
### [`v1.0.175`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.175)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.174...v1.0.175)
- Restore missing LICENSE files in serde_derive crate ([#2527](https://togithub.com/serde-rs/serde/issues/2527), thanks [@ankane](https://togithub.com/ankane))
### [`v1.0.174`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.174)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.173...v1.0.174)
- Documentation improvements
### [`v1.0.173`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.173)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.172...v1.0.173)
- Fix missing trait implementations when using serde derive macro on a macro-generated data structure, such as via the `bitflags` crate ([#2516](https://togithub.com/serde-rs/serde/issues/2516))
### [`v1.0.172`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.172)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.171...v1.0.172)
- Experiment with precompiling the serde_derive macros to reduce build time ([#2514](https://togithub.com/serde-rs/serde/issues/2514))
### [`v1.0.171`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.171)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.170...v1.0.171)
- Support `derive(Deserialize)` on unit structs that have const generics ([#2500](https://togithub.com/serde-rs/serde/issues/2500), thanks [@Baptistemontan](https://togithub.com/Baptistemontan))
### [`v1.0.170`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.170)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.169...v1.0.170)
- Produce error message on suffixed string literals inside serde attributes ([#2242](https://togithub.com/serde-rs/serde/issues/2242))
- Support single identifier as unbraced default value for const generic parameter ([#2449](https://togithub.com/serde-rs/serde/issues/2449))
### [`v1.0.169`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.169)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.168...v1.0.169)
- Add Deserializer::deserialize_identifier support for adjacently tagged enums ([#2475](https://togithub.com/serde-rs/serde/issues/2475), thanks [@Baptistemontan](https://togithub.com/Baptistemontan))
- Fix unused_braces lint in generated Deserialize impl that uses braced const generic expressions ([#2414](https://togithub.com/serde-rs/serde/issues/2414))
### [`v1.0.168`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.168)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.167...v1.0.168)
- Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)` field ([#2436](https://togithub.com/serde-rs/serde/issues/2436), thanks [@Mingun](https://togithub.com/Mingun))
- Allow larger preallocated capacity for smaller elements ([#2494](https://togithub.com/serde-rs/serde/issues/2494))
### [`v1.0.167`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.167)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.166...v1.0.167)
- Add serialize and deserialize impls for `RangeFrom` and `RangeTo` ([#2471](https://togithub.com/serde-rs/serde/issues/2471), thanks [@tbu-](https://togithub.com/tbu-))
### [`v1.0.166`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.166)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.165...v1.0.166)
- Add `no-alloc` category to crates.io metadata
### [`v1.0.165`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.165)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.164...v1.0.165)
- Fix incorrect count of fields passed to tuple deserialization methods when using `serde(skip_deserializing)` attributes ([#2466](https://togithub.com/serde-rs/serde/issues/2466), thanks [@Mingun](https://togithub.com/Mingun))
- Fix `-Zminimal-versions` build
### [`v1.0.164`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.164)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.163...v1.0.164)
- Allowed enum variants to be individually marked as untagged ([#2403](https://togithub.com/serde-rs/serde/issues/2403), thanks [@dewert99](https://togithub.com/dewert99))
### [`v1.0.163`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.163)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.162...v1.0.163)
- Eliminate build script from serde_derive crate to slightly reduce build time ([#2442](https://togithub.com/serde-rs/serde/issues/2442), thanks [@taiki-e](https://togithub.com/taiki-e))
### [`v1.0.162`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.162)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.161...v1.0.162)
- Support deserializing flattened adjacently tagged enums from data formats which represent fields as bytes, such as the `csv` crate ([#2377](https://togithub.com/serde-rs/serde/issues/2377), thanks [@mfro](https://togithub.com/mfro))
```rust
#[derive(Deserialize)]
pub struct Record {
common: u64,
#[serde(flatten)]
kind: Kind,
}
#[derive(Deserialize)]
#[serde(tag = "kind", content = "parameter", rename_all = "lowercase")]
enum Kind {
Foo(u64),
Bar(bool),
}
```
```csv
common,kind,parameter
1,foo,42
2,bar,true
```
### [`v1.0.161`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.161)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.160...v1.0.161)
- Improve error messages produced by serde_test on test failure ([#2435](https://togithub.com/serde-rs/serde/issues/2435), thanks [@Mingun](https://togithub.com/Mingun))
### [`v1.0.160`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.160)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.159...v1.0.160)
- Make derived serializer/deserializer internals `doc(hidden)` ([#2426](https://togithub.com/serde-rs/serde/issues/2426), thanks [@compiler-errors](https://togithub.com/compiler-errors))
### [`v1.0.159`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.159)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.158...v1.0.159)
- Accept empty #\[serde()] attribute ([#2422](https://togithub.com/serde-rs/serde/issues/2422))
### [`v1.0.158`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.158)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.157...v1.0.158)
- Fix *"expected serde crate attribute to be a string"* error when using macro_rules metavariable inside of serde attribute: `#[serde(crate = $serde_path)]` ([#2409](https://togithub.com/serde-rs/serde/issues/2409))
### [`v1.0.157`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.157)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.156...v1.0.157)
- Update syn dependency to 2.x
### [`v1.0.156`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.156)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.155...v1.0.156)
- Documentation improvements
### [`v1.0.155`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.155)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.154...v1.0.155)
- Support `Serialize` and `Deserialize` impls for `core::ffi::CStr` and `alloc::ffi::CString` without "std" feature ([#2374](https://togithub.com/serde-rs/serde/issues/2374), thanks [@safarir](https://togithub.com/safarir))
### [`v1.0.154`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.154)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.153...v1.0.154)
- Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both `flatten` and `'static` fields ([#2383](https://togithub.com/serde-rs/serde/issues/2383), thanks [@Mingun](https://togithub.com/Mingun))
### [`v1.0.153`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.153)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.152...v1.0.153)
- Support `serde(alias = "…")` attribute used inside of flattened struct ([#2387](https://togithub.com/serde-rs/serde/issues/2387), thanks [@bebecue](https://togithub.com/bebecue))
### [`v1.0.152`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.152)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.151...v1.0.152)
- Documentation improvements
### [`v1.0.151`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.151)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.150...v1.0.151)
- Update `serde::`{`ser`,`de`}`::StdError` to re-export `core::error::Error` when serde is built with `feature="std"` **off** and `feature="unstable"` **on** ([#2344](https://togithub.com/serde-rs/serde/issues/2344))
### [`v1.0.150`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.150)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.149...v1.0.150)
- Relax some trait bounds from the `Serialize` impl of `HashMap` and `BTreeMap` ([#2334](https://togithub.com/serde-rs/serde/issues/2334))
- Enable `Serialize` and `Deserialize` impls of `std::sync::atomic` types on more platforms ([#2337](https://togithub.com/serde-rs/serde/issues/2337), thanks [@badboy](https://togithub.com/badboy))
### [`v1.0.149`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.149)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.148...v1.0.149)
- Relax some trait bounds from the `Serialize` impl of `BinaryHeap`, `BTreeSet`, and `HashSet` ([#2333](https://togithub.com/serde-rs/serde/issues/2333), thanks [@jonasbb](https://togithub.com/jonasbb))
### [`v1.0.148`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.148)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.147...v1.0.148)
- Support `remote` derive for generic types that have private fields ([#2327](https://togithub.com/serde-rs/serde/issues/2327))
### [`v1.0.147`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.147)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.146...v1.0.147)
- Add `serde::de::value::EnumAccessDeserializer` which transforms an `EnumAccess` into a `Deserializer` ([#2305](https://togithub.com/serde-rs/serde/issues/2305))
### [`v1.0.146`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.146)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.145...v1.0.146)
- Allow internally tagged newtype variant to contain unit ([#2303](https://togithub.com/serde-rs/serde/issues/2303), thanks [@tage64](https://togithub.com/tage64))
### [`v1.0.145`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.145)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.144...v1.0.145)
- Allow RefCell\, Mutex\, and RwLock\ to be serialized regardless of whether T is `Sized` ([#2282](https://togithub.com/serde-rs/serde/issues/2282), thanks [@ChayimFriedman2](https://togithub.com/ChayimFriedman2))
### [`v1.0.144`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.144)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.143...v1.0.144)
- Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types ([#2263](https://togithub.com/serde-rs/serde/issues/2263), thanks [@taiki-e](https://togithub.com/taiki-e))
### [`v1.0.143`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.143)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.142...v1.0.143)
- Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case ([#2253](https://togithub.com/serde-rs/serde/issues/2253), thanks [@taiki-e](https://togithub.com/taiki-e))
### [`v1.0.142`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.142)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.141...v1.0.142)
- Add keywords to crates.io metadata
### [`v1.0.141`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.141)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.140...v1.0.141)
- Add `no-std` category to crates.io metadata
### [`v1.0.140`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.140)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.139...v1.0.140)
- Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain ([#2251](https://togithub.com/serde-rs/serde/issues/2251), thanks [@taiki-e](https://togithub.com/taiki-e))
### [`v1.0.139`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.139)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.138...v1.0.139)
- Add `new` constructor function for all `IntoDeserializer` impls ([#2246](https://togithub.com/serde-rs/serde/issues/2246))
### [`v1.0.138`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.138)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.137...v1.0.138)
- Documentation improvements
### [`v1.0.137`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.137)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.136...v1.0.137)
- Update documentation links to some data formats whose repos have moved ([#2201](https://togithub.com/serde-rs/serde/issues/2201), thanks [@atouchet](https://togithub.com/atouchet))
- Fix declared `rust-version` of serde and serde_test ([#2168](https://togithub.com/serde-rs/serde/issues/2168))
### [`v1.0.136`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.136)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.135...v1.0.136)
- Improve default error message when `Visitor` fails to deserialize a u128 or i128 ([#2167](https://togithub.com/serde-rs/serde/issues/2167))
### [`v1.0.135`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.135)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.134...v1.0.135)
- Update discord channels listed in readme
### [`v1.0.134`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.134)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.133...v1.0.134)
- Improve error messages on deserializing NonZero integers from a 0 value ([#2158](https://togithub.com/serde-rs/serde/issues/2158))
### [`v1.0.133`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.133)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.132...v1.0.133)
- Optimize deserialization of data structures that contain recursive use of `flatten` fields or `tag` or `untagged` enums ([#2148](https://togithub.com/serde-rs/serde/issues/2148))
### [`v1.0.132`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.132)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.131...v1.0.132)
- Enable Serialize and Deserialize impls for `std::sync::atomic::{AtomicI64, AtomicU64}` on riscv64 arch ([#2141](https://togithub.com/serde-rs/serde/issues/2141), thanks [@Avimitin](https://togithub.com/Avimitin))
### [`v1.0.131`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.131)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.130...v1.0.131)
- Avoid `unused_results` being triggered in generated code for adjacently tagged enum ([#2116](https://togithub.com/serde-rs/serde/issues/2116), thanks [@tyranron](https://togithub.com/tyranron))
### [`v1.0.130`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.130)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.129...v1.0.130)
- Provide `MapAccess` and `SeqAccess` impl for reference to a dynamically sized existing impl ([#2081](https://togithub.com/serde-rs/serde/issues/2081))
### [`v1.0.129`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.129)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.128...v1.0.129)
- Support deserialization of remote structs that used packed repr ([#2078](https://togithub.com/serde-rs/serde/issues/2078), [#2079](https://togithub.com/serde-rs/serde/issues/2079), [#2080](https://togithub.com/serde-rs/serde/issues/2080))
### [`v1.0.128`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.128)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.127...v1.0.128)
- Enable 128-bit integers on emscripten in Rust 1.40+ ([#2076](https://togithub.com/serde-rs/serde/issues/2076), thanks [@Manishearth](https://togithub.com/Manishearth))
### [`v1.0.127`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.127)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.126...v1.0.127)
- Resolve warning in rustc nightly-2021-07-31+ compiling serde_test
### [`v1.0.126`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.126)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.125...v1.0.126)
- Resolve conflict with `forbid(future_incompatible)` lint setting in generated code ([#2026](https://togithub.com/serde-rs/serde/issues/2026), thanks [@hyd-dev](https://togithub.com/hyd-dev))
### [`v1.0.125`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.125)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.124...v1.0.125)
- Improve performance of serializing `Ipv4Addr` ([#2001](https://togithub.com/serde-rs/serde/issues/2001), thanks [@saethlin](https://togithub.com/saethlin))
### [`v1.0.124`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.124)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.123...v1.0.124)
- Fix possible panic deserializing invalid data as `SystemTime` ([#1997](https://togithub.com/serde-rs/serde/issues/1997), thanks [@cyang1](https://togithub.com/cyang1))
### [`v1.0.123`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.123)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.122...v1.0.123)
- Support `Self` keywords in fields of types that derive Deserialize ([#1830](https://togithub.com/serde-rs/serde/issues/1830), thanks [@taiki-e](https://togithub.com/taiki-e))
- Allow floats to be deserialized from ints in tagged unions ([#1842](https://togithub.com/serde-rs/serde/issues/1842), thanks [@Timmmm](https://togithub.com/Timmmm))
- Support `Self` inside fields that use serialize_with ([#1970](https://togithub.com/serde-rs/serde/issues/1970))
### [`v1.0.122`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.122)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.121...v1.0.122)
- Add IntoDeserializer impl for &\[u8] ([#1898](https://togithub.com/serde-rs/serde/issues/1898), thanks [@Mingun](https://togithub.com/Mingun))
- Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys ([#1914](https://togithub.com/serde-rs/serde/issues/1914), thanks [@Mingun](https://togithub.com/Mingun))
- Add attribute to override default deserialization failure expectation message ([#1916](https://togithub.com/serde-rs/serde/issues/1916), thanks [@Mingun](https://togithub.com/Mingun))
```rust
#[derive(Deserialize)]
#[serde(untagged, expecting = "single version or array of versions")]
struct VersionSpec {
One(Version),
Many(Vec),
}
```
- Improve `serde_test` handling of map entries and error message construction ([#1918](https://togithub.com/serde-rs/serde/issues/1918), thanks [@Mingun](https://togithub.com/Mingun))
- Produce more accurate location information on test failures from `serde_test` crate ([#1920](https://togithub.com/serde-rs/serde/issues/1920), thanks [@Mingun](https://togithub.com/Mingun))
- Improve diagnostic on failure to parse a `rename_all` attribute ([#1960](https://togithub.com/serde-rs/serde/issues/1960), [#1961](https://togithub.com/serde-rs/serde/issues/1961))
- Eliminate unnecessary trait bounds on some value Deserializer impls ([#1963](https://togithub.com/serde-rs/serde/issues/1963))
### [`v1.0.121`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.121)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.120...v1.0.121)
- Support borrowed data during deserialization of a field identifier ([#1917](https://togithub.com/serde-rs/serde/issues/1917), thanks [@Mingun](https://togithub.com/Mingun))
- Fix panic when deserializing `Duration` with nanoseconds that cause the seconds counter to overflow ([#1958](https://togithub.com/serde-rs/serde/issues/1958), thanks [@jonasbb](https://togithub.com/jonasbb))
### [`v1.0.120`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.120)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.119...v1.0.120)
- Fix deserialization of ignored fields containing 128-bit integer ([#1955](https://togithub.com/serde-rs/serde/issues/1955), thanks [@TheJokr](https://togithub.com/TheJokr))
### [`v1.0.119`](https://togithub.com/serde-rs/serde/compare/v1.0.118...v1.0.119)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.118...v1.0.119)
### [`v1.0.118`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.118)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.117...v1.0.118)
- Support serialization of core::num::Wrapping in no_std mode ([#1926](https://togithub.com/serde-rs/serde/issues/1926), thanks [@attente](https://togithub.com/attente))
### [`v1.0.117`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.117)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.116...v1.0.117)
- Allow serialization of std::net::SocketAddrV6 to include a scope id if present (based on [https://github.com/rust-lang/rust/pull/77426](https://togithub.com/rust-lang/rust/pull/77426))
### [`v1.0.116`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.116)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.115...v1.0.116)
- Fix deserialization of IpAddr, SocketAddr, Bound, Result, OsString in formats which process variant identifiers as u64 ([#1888](https://togithub.com/serde-rs/serde/issues/1888), thanks [@joshtriplett](https://togithub.com/joshtriplett))
### [`v1.0.115`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.115)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.114...v1.0.115)
- Support `#[serde(flatten)]` on a field whose type is a type parameter and concrete type is `()` ([#1873](https://togithub.com/serde-rs/serde/issues/1873))
### [`v1.0.114`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.114)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.113...v1.0.114)
- Improve `packed` repr matching to support deriving Serialize for structs having `repr(C, packed)` ([#1813](https://togithub.com/serde-rs/serde/issues/1813), thanks [@TannerRogalsky](https://togithub.com/TannerRogalsky))
### [`v1.0.113`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.113)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.112...v1.0.113)
- Improve diagnostic when a serde trait is not implemented ([#1827](https://togithub.com/serde-rs/serde/issues/1827), thanks [@taiki-e](https://togithub.com/taiki-e))
### [`v1.0.112`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.112)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.111...v1.0.112)
- Support `serde(flatten)` on map types where the Serializer only works with serialize_entry ([#1837](https://togithub.com/serde-rs/serde/issues/1837))
### [`v1.0.111`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.111)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.110...v1.0.111)
- Process borrowed lifetimes inside of interpolated macro_rules metavariables, such as in the case of `#[derive(Deserialize)] struct S<'a> { field: $field }` ([#1821](https://togithub.com/serde-rs/serde/issues/1821))
### [`v1.0.110`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.110)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.109...v1.0.110)
- Support deriving Serialize impl for a `repr(packed)` struct ([#1791](https://togithub.com/serde-rs/serde/issues/1791), thanks [@alvardes](https://togithub.com/alvardes))
### [`v1.0.109`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.109)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.108...v1.0.109)
- Allow adjacently tagged newtype variants containing `Option` to omit the content field when deserializing ([#1553](https://togithub.com/serde-rs/serde/issues/1553), [#1706](https://togithub.com/serde-rs/serde/issues/1706), thanks [@zth0](https://togithub.com/zth0))
- Avoid panicking when a SystemTime older than UNIX_EPOCH is serialized ([#1702](https://togithub.com/serde-rs/serde/issues/1702), thanks [@hjiayz](https://togithub.com/hjiayz))
### [`v1.0.108`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.108)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.107...v1.0.108)
- Provide a `Serializer` impl that can write primitives and unit variants to a `&mut fmt::Formatter` ([#1705](https://togithub.com/serde-rs/serde/issues/1705), thanks [@jethrogb](https://togithub.com/jethrogb))
```rust
use serde::Serialize;
use std::fmt::{self, Display};
#[derive(Serialize)]
#[serde(rename_all = "kebab-case")]
pub enum MessageType {
StartRequest,
EndRequest,
}
impl Display for MessageType {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
self.serialize(f)
}
}
```
### [`v1.0.107`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.107)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.106...v1.0.107)
- Fix panic during macro expansion when using `serde(skip)` and `serde(other)` in the same enum ([#1804](https://togithub.com/serde-rs/serde/issues/1804))
### [`v1.0.106`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.106)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.105...v1.0.106)
- Hide dummy const implementation detail from rustdoc when documenting a binary crate ([#1768](https://togithub.com/serde-rs/serde/issues/1768), thanks [@robo9k](https://togithub.com/robo9k))
### [`v1.0.105`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.105)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.104...v1.0.105)
- Allow #\[serde(borrow)] to work on non-standard `Cow` types ([#1754](https://togithub.com/serde-rs/serde/issues/1754), thanks [@maciejhirsz](https://togithub.com/maciejhirsz))
### [`v1.0.104`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.104)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.103...v1.0.104)
- Revert stabilization of Serialize/Deserialize impls for `!` to account for [https://github.com/rust-lang/rust/pull/67224](https://togithub.com/rust-lang/rust/pull/67224)
### [`v1.0.103`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.103)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.102...v1.0.103)
- Support deserializing untagged unit variants from formats that treat unit as None ([#1668](https://togithub.com/serde-rs/serde/issues/1668))
### [`v1.0.102`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.102)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.101...v1.0.102)
- Support deserializing `PathBuf` from bytes like `&Path` already did, and support deserializing `Box` ([#1656](https://togithub.com/serde-rs/serde/issues/1656), thanks [@heftig](https://togithub.com/heftig))
### [`v1.0.101`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.101)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.100...v1.0.101)
- Report errors on malformed serde attributes, like `#[serde(rename =)]` -- the compiler used to reject these itself, but when the compiler relaxed its requirements on attribute syntax these malformed attributes began silently being ignored by serde_derive
- Eliminate unused variable warning when using skip_serializing inside a tuple variant of an adjacently tagged enum ([#1617](https://togithub.com/serde-rs/serde/issues/1617), thanks [@arilotter](https://togithub.com/arilotter))
- Support skip attribute inside of newtype variants ([#1622](https://togithub.com/serde-rs/serde/issues/1622), thanks [@Xaeroxe](https://togithub.com/Xaeroxe))
### [`v1.0.100`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.100)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.99...v1.0.100)
- Provide `serde::ser::StdError` and `serde::de::StdError` which are either a re-export of `std::error::Error` (if Serde's "std" feature is enabled) or a new identical trait (otherwise).
```rust
#[cfg(feature = "std")]
pub use std::error::Error as StdError;
#[cfg(not(feature = "std"))]
pub trait StdError: Debug + Display {
fn source(&self) -> Option<&(StdError + 'static)> { None }
}
```
Serde's error traits `serde::ser::Error` and `serde::de::Error` require `std::error::Error` as a supertrait, but only when Serde is built with "std" enabled. Data formats that don't care about no_std support should generally provide their error types with a `std::error::Error` impl directly:
```rust
#[derive(Debug)]
struct MySerError {...}
impl serde::ser::Error for MySerError {...}
impl std::fmt::Display for MySerError {...}
// We don't support no_std!
impl std::error::Error for MySerError {}
```
Data formats that *do* support no_std may either have a "std" feature of their own as has been required in the past:
```toml
[features]
std = ["serde/std"]
```
```rust
#[cfg(feature = "std")]
impl std::error::Error for MySerError {}
```
... or else now may provide the std Error impl unconditionally via Serde's re-export:
```rust
impl serde::ser::StdError for MySerError {}
```
### [`v1.0.99`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.99)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.98...v1.0.99)
- Update Syn dependency to 1.0.
*Note: This raises the minimum required compiler version for serde_derive from rustc 1.15 to rustc 1.31. The minimum required compiler version for serde remains at rustc 1.13.*
### [`v1.0.98`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.98)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.97...v1.0.98)
- Add support for NonZeroI\* types ([#1589](https://togithub.com/serde-rs/serde/issues/1589), thanks [@Flaise](https://togithub.com/Flaise))
### [`v1.0.97`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.97)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.96...v1.0.97)
- Introduce `serde(try_from = "...")` attribute to derive Deserialize based on a given implementation of [`std::convert::TryFrom`](https://doc.rust-lang.org/std/convert/trait.TryFrom.html) ([#1526](https://togithub.com/serde-rs/serde/issues/1526), thanks [@fanzeyi](https://togithub.com/fanzeyi))
```rust
#[derive(Deserialize)]
#[serde(try_from = "u32")]
enum N {
Zero,
One,
Two,
}
impl TryFrom for N {
type Error = String;
fn try_from(u: u32) -> Result {
match u {
0 => Ok(Self::Zero),
1 => Ok(Self::One),
2 => Ok(Self::Two),
other => Err(format!("out of range: {}", other)),
}
}
}
```
### [`v1.0.96`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.96)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.95...v1.0.96)
- Implement serialization and deserialization for std::sync::atomic types ([#1572](https://togithub.com/serde-rs/serde/issues/1572) and [#1581](https://togithub.com/serde-rs/serde/issues/1581), thanks [@Roguelazer](https://togithub.com/Roguelazer))
- Make "alloc" feature work on stable Rust 1.36+ ([#1576](https://togithub.com/serde-rs/serde/issues/1576), thanks [@c410-f3r](https://togithub.com/c410-f3r))
### [`v1.0.95`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.95)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.94...v1.0.95)
*yanked*
### [`v1.0.94`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.94)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.93...v1.0.94)
- Accept enums in input data when deserializing IgnoredAny ([#1558](https://togithub.com/serde-rs/serde/issues/1558))
### [`v1.0.93`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.93)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.92...v1.0.93)
- Allow integer keys in untagged flattened map ([#1545](https://togithub.com/serde-rs/serde/issues/1545))
### [`v1.0.92`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.92)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.91...v1.0.92)
- Support using `serde(flatten)` in no_std + alloc mode ([#1543](https://togithub.com/serde-rs/serde/issues/1543), thanks [@jplatte](https://togithub.com/jplatte))
### [`v1.0.91`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.91)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.90...v1.0.91)
- Support deserializing from MapAccessDeserializer into an enum ([#1522](https://togithub.com/serde-rs/serde/issues/1522))
### [`v1.0.90`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.90)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.89...v1.0.90)
- Add an attribute `#[serde(crate = "path::to::serde")]` which replaces the use of `extern crate serde` in the generated code; this is intended for crates that invoke Serde derives from a macro and need to refer to `serde` through their own re-export rather than requiring callers to list Serde in Cargo.toml ([#1499](https://togithub.com/serde-rs/serde/issues/1499), thanks [@sgrif](https://togithub.com/sgrif))
```rust
#[derive(Deserialize)]
#[serde(crate = "__tw::codegen::serde")]
struct S { ... }
```
```rust
// expands to:
impl<'de> __tw::codegen::serde::Deserialize<'de> for S {
...
}
```
### [`v1.0.89`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.89)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.88...v1.0.89)
- Implement Serialize and Deserialize for core::cmp::Reverse\ ([#1486](https://togithub.com/serde-rs/serde/issues/1486), thanks [@vorot93](https://togithub.com/vorot93))
- Fix a Clippy lint triggered within generated code involving flatten + deny_unknown_fields ([#1492](https://togithub.com/serde-rs/serde/issues/1492), thanks [@thomaseizinger](https://togithub.com/thomaseizinger))
### [`v1.0.88`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.88)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.87...v1.0.88)
- Support `flatten` and `skip_serializing` / `skip_deserializing` attributes on the same field
### [`v1.0.87`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.87)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.86...v1.0.87)
- Fix inclusion of tag in struct containing flattened fields ([#1468](https://togithub.com/serde-rs/serde/issues/1468), thanks [@jwillbold](https://togithub.com/jwillbold))
### [`v1.0.86`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.86)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.85...v1.0.86)
- Implement Serialize and Deserialize for core::ops::Bound\ ([#1466](https://togithub.com/serde-rs/serde/issues/1466), thanks [@0nkery](https://togithub.com/0nkery))
### [`v1.0.85`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.85)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.84...v1.0.85)
- Accept `#[serde(alias = "...")]` attribute on fields and variants which allows the same field or variant to be deserialized from any of multiple different names in the input ([#1458](https://togithub.com/serde-rs/serde/issues/1458), thanks [@Lymia](https://togithub.com/Lymia))
```rust
#[derive(Deserialize)]
struct S {
#[serde(alias = "old_name")]
new_name: String, // will deserialize from either of "old_name" or "new_name"
}
```
### [`v1.0.84`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.84)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.83...v1.0.84)
- Update example code in documentation to 2018 edition
### [`v1.0.83`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.83)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.82...v1.0.83)
- Support a `rename_all` specification that applies only to the Serialize impl or only to the Deserialize impl ([#1447](https://togithub.com/serde-rs/serde/issues/1447), thanks [@vincascm](https://togithub.com/vincascm))
```rust
#[derive(Serialize, Deserialize)]
#[serde(rename_all(
serialize = "camelCase",
deserialize = "SCREAMING_SNAKE_CASE",
))]
struct S { /* ... */ }
```
- Allow serializing struct name inside of structs with named fields ([#1448](https://togithub.com/serde-rs/serde/issues/1448), thanks [@motu42](https://togithub.com/motu42))
```rust
#[derive(Serialize)]
#[serde(tag = "type")]
struct S { /* ... */ } // serializes as {"type":"S",...}
```
### [`v1.0.82`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.82)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.81...v1.0.82)
- Support `serde(default)` attribute inside of tuple structs and tuple variants ([#1442](https://togithub.com/serde-rs/serde/issues/1442), thanks [@tcr](https://togithub.com/tcr))
### [`v1.0.81`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.81)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.80...v1.0.81)
- Better error messages when using an invalid combination of serde attributes ([#1424](https://togithub.com/serde-rs/serde/issues/1424), thanks [@hcpl](https://togithub.com/hcpl))
- Support deserializing tagged enums inside of untagged enums in formats that encode tagged enum variants by index, like MessagePack ([#1437](https://togithub.com/serde-rs/serde/issues/1437), thanks [@daboross](https://togithub.com/daboross))
### [`v1.0.80`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.80)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.79...v1.0.80)
- Performance optimization for `Vec::deserialize_in_place` to deserialize elements in place ([#1411](https://togithub.com/serde-rs/serde/issues/1411))
### [`v1.0.79`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.79)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.78...v1.0.79)
- Add `serde(other)` variant attribute for deserializing any variant that is not one of the others ([#1382](https://togithub.com/serde-rs/serde/issues/1382))
```rust
#[derive(Deserialize)]
#[serde(tag = "variant")]
enum MyEnum {
A(ModelA),
B(ModelB),
#[serde(other)]
Unknown,
}
```
In this internally tagged enum the `MyEnum::Unknown` variant would be produced if the `"variant"` tag in the input is neither `"A"` nor `"B"`.
This feature is currently limited to externally tagged and adjacently tagged enums in which the `other` variant is a unit variant.
### [`v1.0.78`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.78)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.77...v1.0.78)
- Fix panic deserializing flattened Value after flattened struct ([#1379](https://togithub.com/serde-rs/serde/issues/1379))
### [`v1.0.77`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.77)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.76...v1.0.77)
- Fix internally tagged enum deserialization with unknown fields ([#1376](https://togithub.com/serde-rs/serde/issues/1376), thanks [@dreid](https://togithub.com/dreid))
### [`v1.0.76`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.76)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.75...v1.0.76)
- Provide impls for [`NonZeroU128`](https://doc.rust-lang.org/std/num/struct.NonZeroU128.html) ([#1371](https://togithub.com/serde-rs/serde/issues/1371), thanks [@hcpl](https://togithub.com/hcpl))
### [`v1.0.75`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.75)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.74...v1.0.75)
- Adjust dependency version requirement to support building with `-Z minimal-versions` in CI ([#1367](https://togithub.com/serde-rs/serde/issues/1367))
### [`v1.0.74`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.74)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.73...v1.0.74)
- Disable i128 integers on Emscripten targets ([#1365](https://togithub.com/serde-rs/serde/issues/1365), thanks [@koute](https://togithub.com/koute))
### [`v1.0.73`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.73)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.72...v1.0.73)
- Fix the names of serialized fields when the Rust data structure uses a raw identifier ([#1362](https://togithub.com/serde-rs/serde/issues/1362))
### [`v1.0.72`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.72)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.71...v1.0.72)
- Fix compilation of `default-features = false, features = ["alloc", "rc"]` feature combination ([#1359](https://togithub.com/serde-rs/serde/issues/1359), thanks [@Pratyush](https://togithub.com/Pratyush))
### [`v1.0.71`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.71)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.70...v1.0.71)
- Provide impls for [`core::ops::RangeInclusive`](https://doc.rust-lang.org/core/ops/struct.RangeInclusive.html) ([#1347](https://togithub.com/serde-rs/serde/issues/1347), thanks [@c410-f3r](https://togithub.com/c410-f3r))
- Provide impls for [`core::ops::Range`](https://doc.rust-lang.org/core/ops/struct.Range.html) whether or not `"std"` feature is enabled ([#1348](https://togithub.com/serde-rs/serde/issues/1348))
### [`v1.0.70`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.70)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.69...v1.0.70)
- Update `--features alloc` to work with nightly-2018-07-07 ([#1335](https://togithub.com/serde-rs/serde/issues/1335))
### [`v1.0.69`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.69)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.68...v1.0.69)
- Support Rust 2018 `use_extern_macros` ([https://github.com/rust-lang/rust/pull/51496](https://togithub.com/rust-lang/rust/pull/51496))
### [`v1.0.68`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.68)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.67...v1.0.68)
- Suppress 'extern crate' warning for rust 2018 ([#1324](https://togithub.com/serde-rs/serde/issues/1324), thanks [@jechase](https://togithub.com/jechase))
### [`v1.0.67`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.67)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.66...v1.0.67)
- Implement Serialize for core::fmt::Arguments ([#1319](https://togithub.com/serde-rs/serde/issues/1319))
### [`v1.0.66`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.66)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.65...v1.0.66)
- Implement Serialize and Deserialize for `!` ([#544](https://togithub.com/serde-rs/serde/issues/544), unstable)
- Support Duration in no-std mode on sufficiently new compilers ([#1123](https://togithub.com/serde-rs/serde/issues/1123))
- Improve compiler error messages ([#1297](https://togithub.com/serde-rs/serde/issues/1297), thanks [@adamcrume](https://togithub.com/adamcrume))
### [`v1.0.65`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.65)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.64...v1.0.65)
- Do not panic when serializing a RefCell that is currently mutably borrowed ([#1300](https://togithub.com/serde-rs/serde/issues/1300), thanks [@xfix](https://togithub.com/xfix))
- Allow flattened fields after a flattened map to receive input fields ([#1299](https://togithub.com/serde-rs/serde/issues/1299))
### [`v1.0.64`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.64)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.63...v1.0.64)
- Second attempt to work around docs.rs old compiler version ([#1295](https://togithub.com/serde-rs/serde/issues/1295))
### [`v1.0.63`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.63)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.62...v1.0.63)
- Workaround to get docs.rs successfully building our docs with its old compiler ([#1294](https://togithub.com/serde-rs/serde/issues/1294))
### [`v1.0.62`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.62)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.61...v1.0.62)
- Implement [`IntoDeserializer`](https://docs.serde.rs/serde/de/trait.IntoDeserializer.html) for i128 and u128 ([#1280](https://togithub.com/serde-rs/serde/issues/1280))
- Implement Copy for the primitive value deserializers ([#1287](https://togithub.com/serde-rs/serde/issues/1287))
- Implement Clone for primitive value deserializers even when the error type cannot be cloned ([#1287](https://togithub.com/serde-rs/serde/issues/1287))
### [`v1.0.61`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.61)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.60...v1.0.61)
- Stabilize Deserialize impls for dynamically sized Rc / Arc ([#1266](https://togithub.com/serde-rs/serde/issues/1266))
- Stabilize Deserialize impl for Box\ ([#1267](https://togithub.com/serde-rs/serde/issues/1267))
### [`v1.0.60`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.60)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.59...v1.0.60)
- Add Serde impls for i128 and u128 when compiling with Rust 1.26+ ([#1263](https://togithub.com/serde-rs/serde/issues/1263))
- Stabilize Serde impls for std::num::NonZero\* on Rust 1.28+ ([#1278](https://togithub.com/serde-rs/serde/issues/1278), thanks [@SimonSapin](https://togithub.com/SimonSapin))
### [`v1.0.59`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.59)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.58...v1.0.59)
- Add a `serde(transparent)` container attribute to indicate that a struct serializes and deserializes the same as its only field -- analogous to `repr(transparent)` ([#1054](https://togithub.com/serde-rs/serde/issues/1054))
### [`v1.0.58`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.58)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.57...v1.0.58)
- Fix generated code for deserializing untagged newtype variant ([#1268](https://togithub.com/serde-rs/serde/issues/1268))
### [`v1.0.57`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.57)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.56...v1.0.57)
- Remove unstable Serialize and Deserialize impls for `NonZero` which has been removed from the most recent nightly compiler ([#1265](https://togithub.com/serde-rs/serde/issues/1265))
### [`v1.0.56`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.56)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.55...v1.0.56)
- Add a Serde build.rs script for rustc version detection in preparation for adding i128 / u128 primitive support on sufficiently new compilers. Please let us know in [#1136](https://togithub.com/serde-rs/serde/issues/1136) if having a build script causes undue complication in your environment. We will begin using the build script to enable observable functionality after a week or so, at which point it will become harder to roll back.
### [`v1.0.55`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.55)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.54...v1.0.55)
- Support formats that want to deserialize flattened identifiers as bytes ([#1257](https://togithub.com/serde-rs/serde/issues/1257))
### [`v1.0.54`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.54)
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.53...v1.0.54)
- Support flattened untagged Options in s
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1
->1.0.199
Release Notes
serde-rs/serde (serde)
### [`v1.0.199`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.199) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.198...v1.0.199) - Fix ambiguous associated item when `forward_to_deserialize_any!` is used on an enum with `Error` variant ([#2732](https://togithub.com/serde-rs/serde/issues/2732), thanks [@aatifsyed](https://togithub.com/aatifsyed)) ### [`v1.0.198`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.198) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.197...v1.0.198) - Support serializing and deserializing `SaturatingConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.