chore(deps): update all dependencies #2

Merged
kjuulh merged 2 commits from renovate/all into main 2023-09-24 22:06:39 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
anyhow workspace.dependencies patch 1.0.71 -> 1.0.75
bytes workspace.dependencies major 0.4 -> 1.5
capnp dependencies minor 0.17.2 -> 0.18.1
capnpc build-dependencies minor 0.17.2 -> 0.18.0
criterion (source) dev-dependencies minor 0.4 -> 0.5
prost-build build-dependencies minor 0.5 -> 0.12
prost-build workspace.dependencies minor 0.5 -> 0.12
serde (source) workspace.dependencies patch 1.0.88 -> 1.0.188

Release Notes

dtolnay/anyhow

v1.0.75

Compare Source

v1.0.74

Compare Source

v1.0.73

Compare Source

v1.0.72

Compare Source

  • Documentation improvements
tokio-rs/bytes

v1.5.0

Compare Source

Added
Changed
  • Mark BytesMut::extend_from_slice as inline (#​595)

v1.4.0

Compare Source

Added
  • Make IntoIter constructor public (#​581)
Fixed
  • Avoid large reallocations when freezing BytesMut (#​592)
Documented
  • Document which functions require std (#​591)
  • Fix duplicate "the the" typos (#​585)

v1.3.0

Compare Source

Added
  • Rename and expose BytesMut::spare_capacity_mut (#​572)
  • Implement native-endian get and put functions for Buf and BufMut (#​576)
Fixed
  • Don't have important data in unused capacity when calling reserve (#​563)
Documented
  • Bytes::new etc should return Self not Bytes (#​568)

v1.2.1

Compare Source

Fixed
  • Fix unbounded memory growth when using reserve (#​560)

v1.2.0

Compare Source

Added
  • Add BytesMut::zeroed (#​517)
  • Implement Extend<Bytes> for BytesMut (#​527)
  • Add conversion from BytesMut to Vec<u8> (#​543, #​554)
  • Add conversion from Bytes to Vec<u8> (#​547)
  • Add UninitSlice::as_uninit_slice_mut() (#​548)
  • Add const to Bytes::{len,is_empty} (#​514)
Changed
Fixed
Documented
  • Redraw layout diagram with box drawing characters (#​539)
  • Clarify BytesMut::unsplit docs (#​535)

v1.1.0

Compare Source

Added
  • BufMut::put_bytes(self, val, cnt) (#​487)
  • Implement From<Box<[u8]>> for Bytes (#​504)
Changed
  • Override put_slice for &mut [u8] (#​483)
  • Panic on integer overflow in Chain::remaining (#​482)
  • Add inline tags to UninitSlice methods (#​443)
  • Override copy_to_bytes for Chain and Take (#​481)
  • Keep capacity when unsplit on empty other buf (#​502)
Documented
  • Clarify BufMut allocation guarantees (#​501)
  • Clarify BufMut::put_int behavior (#​486)
  • Clarify actions of clear and truncate. (#​508)

v1.0.1

Compare Source

Changed
  • mark Vec::put_slice with #[inline] (#​459)
Fixed
  • Fix deprecation warning (#​457)
  • use Box::into_raw instead of mem::forget-in-disguise (#​458)

v1.0.0

Compare Source

Changed
  • Rename Buf/BufMut methods bytes() and bytes_mut() to chunk() and chunk_mut() (#​450)
Removed
  • remove unused Buf implementation. (#​449)

v0.6.0

Compare Source

API polish in preparation for a 1.0 release.

Changed
  • BufMut is now an unsafe trait (#​432).
  • BufMut::bytes_mut() returns &mut UninitSlice, a type owned by bytes to
    avoid undefined behavior (#​433).
  • Buf::copy_to_bytes(len) replaces Buf::into_bytes() (#​439).
  • Buf/BufMut utility methods are moved onto the trait and *Ext traits are
    removed (#​431).
Removed
  • BufMut::bytes_vectored_mut() (#​430).
  • new methods on combinator types (#​434).

v0.5.6

Compare Source

  • Improve BytesMut to reuse buffer when fully advanced.
  • Mark BytesMut::{as_mut, set_len} with #[inline].
  • Relax synchronization when cloning in shared vtable of Bytes.
  • Move loom to dev-dependencies.

v0.5.5

Compare Source

Added
  • Allow using the serde feature in no_std environments (#​385).
Fix
  • Fix BufMut::advance_mut to panic if advanced passed the capacity (#​354)..
  • Fix BytesMut::freeze ignoring amount previously advanced (#​352).

v0.5.4

Compare Source

Added
  • Make Bytes::new a const fn.
  • Add From<BytesMut> for Bytes.
Fix
  • Fix reversed arguments in PartialOrd for Bytes.
  • Fix Bytes::truncate losing original capacity when repr is an unshared Vec.
  • Fix Bytes::from(Vec) when allocator gave Vec a pointer with LSB set.
  • Fix panic in Bytes::slice_ref if argument is an empty slice.

v0.5.3

Compare Source

Added
  • must_use attributes to split, split_off, and split_to methods (#​337).
Fix
  • Potential freeing of a null pointer in Bytes when constructed with an empty Vec<u8> (#​341, #​342).
  • Calling Bytes::truncate with a size large than the length will no longer clear the Bytes (#​333).

v0.5.2

Compare Source

Added
  • Limit methods into_inner, get_ref, get_mut, limit, and set_limit (#​325).

v0.5.1

Compare Source

Fix
  • Growth documentation for BytesMut (#​321)

v0.5.0

Compare Source

Fix
  • Potential overflow in copy_to_slice
Changed
  • Increased minimum supported Rust version to 1.39.
  • Bytes is now a "trait object", allowing for custom allocation strategies (#​298)
  • BytesMut implicitly grows internal storage. remaining_mut() returns
    usize::MAX (#​316).
  • BufMut::bytes_mut returns &mut [MaybeUninit<u8>] to reflect the unknown
    initialization state (#​305).
  • Buf / BufMut implementations for &[u8] and &mut [u8]
    respectively (#​261).
  • Move Buf / BufMut "extra" functions to an extension trait (#​306).
  • BufMutExt::limit (#​309).
  • Bytes::slice takes a RangeBounds argument (#​265).
  • Bytes::from_static is now a const fn (#​311).
  • A multitude of smaller performance optimizations.
Added
  • no_std support (#​281).
  • get_*, put_*, get_*_le, and put_*le accessors for handling byte order.
  • BorrowMut implementation for BytesMut (#​185).
Removed
  • IntoBuf (#​288).
  • Buf implementation for &str (#​301).
  • byteorder dependency (#​280).
  • iovec dependency, use std::IoSlice instead (#​263).
  • optional either dependency (#​315).
  • optional i128 feature -- now available on stable. (#​276).

v0.4.12

Compare Source

Added
  • Implement FromIterator<&'a u8> for BytesMut/Bytes (#​244).
  • Implement Buf for VecDeque (#​249).

v0.4.11

Compare Source

  • Use raw pointers for potentially racy loads (#​233).
  • Implement BufRead for buf::Reader (#​232).
  • Documentation tweaks (#​234).

v0.4.10

Compare Source

  • impl Buf and BufMut for Either (#​225).
  • Add Bytes::slice_ref (#​208).

v0.4.9

Compare Source

  • Add 128 bit number support behind a feature flag (#​209).
  • Implement IntoBuf for &mut [u8]

v0.4.8

Compare Source

  • Fix panic in BytesMut FromIterator implementation.
  • Bytes: Recycle space when reserving space in vec mode (#​197).
  • Bytes: Add resize fn (#​203).

v0.4.7

Compare Source

  • Make Buf and BufMut usable as trait objects (#​186).
  • impl BorrowMut for BytesMut (#​185).
  • Improve accessor performance (#​195).

v0.4.6

Compare Source

  • Implement FromIterator for Bytes/BytesMut (#​148).
  • Add advance fn to Bytes/BytesMut (#​166).
  • Add unsplit fn to BytesMut (#​162, #​173).
  • Improvements to Bytes split fns (#​92).

v0.4.5

Compare Source

  • Fix range bug in Take::bytes
  • Misc performance improvements
  • Add extra PartialEq implementations.
  • Add Bytes::with_capacity
  • Implement AsMut[u8] for BytesMut

v0.4.4

Compare Source

  • Add serde support behind feature flag
  • Add extend_from_slice on Bytes and BytesMut
  • Add truncate and clear on Bytes
  • Misc additional std trait implementations
  • Misc performance improvements

v0.4.3

Compare Source

  • Fix Vec::advance_mut bug
  • Bump minimum Rust version to 1.15
  • Misc performance tweaks

v0.4.2

Compare Source

  • Misc performance tweaks
  • Improved Debug implementation for Bytes
  • Avoid some incorrect assert panics

v0.4.1

Compare Source

Added
  • Implement FromIterator<&'a u8> for BytesMut/Bytes (#​244).
  • Implement Buf for VecDeque (#​249).
capnproto/capnproto-rust

v0.18.1

Compare Source

v0.18.0

Compare Source

bheisler/criterion.rs

v0.5.1

Compare Source

Fixed
  • Quick mode (--quick) no longer crashes with measured times over 5 seconds when --noplot is not active

v0.5.0

Compare Source

Changed
  • Replaced lazy_static dependency with once_cell
  • Improved documentation of the html_reports feature
  • Replaced atty dependency with is-terminal
  • MSRV bumped to 1.64
  • Upgraded clap dependency to v4
  • Upgraded tempfile dependency to v3.5.0
Fixed
  • Quick mode (--quick) no longer outputs 1ms for measured times over 5 seconds
  • Documentation updates
tokio-rs/prost

v0.12.1

Compare Source

v0.12.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • Bump syn to version 2
  • Bump MSRV to 1.64
  • Added TryFrom<i32> for enums
  • Optional debug implementations
  • Initial generic Any and Name impl/traits.

v0.11.9

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • build: Support boxing fields via Config::boxed (#​802)

v0.11.8

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • types: Fix unintentional change in compiler module visibility #​824

prost-types 0.11.7 was yanked due to the above unintentional semver breakage.

v0.11.7

Compare Source

v0.11.6

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

v0.11.5

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

v0.11.4

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • build: Add clippy allow lint to all code generated prost structs

v0.11.3

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • build: Use log to print error logs.
  • build: Remove accidentally included prints.
  • build: Improve debian error message hint.

v0.11.2

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This patch updates brings a few new features and fixes:

  • build: Improve protoc sourcing instructions in error messages.
  • build: Add Clone to Service types.
  • build: Sort modules to produce deterministic include files.
  • core: Tuple struct support.
  • build: Allow generated code derive path's to be changed.
  • build: Allow changing prost crate path.
  • build: Add code formatting support.

v0.11.1: prost-build-v0.11.1

Compare Source

  • Removes extra spaces in doc generation

v0.11.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

Relase 0.11 brings a few breaking changes and changes to how prost sources protoc.

  • prost-build now requires protoc to be available in the path or set
    via the PROTOC env var.
  • prost-types now contains new Timestamp/Duration FromStr implementations.
  • MSRV bump to 1.56 and all crates have been moved to edition 2021

Notible changes that are not breaking:

  • prost-build now has a cleanup-markdown feature for cleaining up
    code blocks from protobuf files so that they work under rustdoc tests.
  • prost-build now generates as_str_name for message types.

v0.10.4

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

Small fix for compiling protoc from source to speed up compile times.

v0.10.3

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This release reverts #​605 and contains some typo fixes.

(this release is actually the v0.10.2 release but prost-build had to be yanked because of a local publish issue)

v0.10.2

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This release reverts #​605 and contains some typo fixes.

(this release was yanked due to missing third-party source, v0.10.3 is now the active release for this)

v0.10.1

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

This minor release brings no new code changes but symlinks license files in all the crates.

v0.10.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

Release 0.10 brings a few new ....

  • protoc is no longer bundled but is now compiled from bundled source
  • Minor performance improvements
  • Methods exposed to allow third party protobuf generation libraries

v0.9.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

Release 0.9.0 brings in many helpful changes and fixes, here are a few highlights:

  • Apple silicon support
  • Improve encode/decode varint performance
  • Support no package declaration
  • Support single include files
  • Fix multiple attribute support

v0.8.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

NOTE: This version contains a security fix for prost-types and is recommend that you upgrade to it from <0.7.

prost 0.8.0 includes breaking changes:

  • Timestamp's From implementation for converting into SystemTime has been converted to a fallible TryFrom implementation.
  • prost-build's compile_protos now takes impl AsRef<Path> to allow each parameter to use its own generic type.
  • Bundled protoc version bumped to 3.15.8

As well as many new (non-breaking) changes:

  • @​pluth enabled zero-copy support for Bytes based fields.
  • @​sfackler for fixing message optionals and oneofs in prost-build.
  • @​rubdos for adding the ability to encode prost messages directly to a Vec<u8>.

and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.7:

v0.7.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

prost 0.7.0 includes breaking changes:

  • The minimum-supported Rust version (MSRV) is now 1.46.0.
  • The bytes public dependency version is now 1.0.
  • The bundled protoc version is now 3.14.0.

As well as many new (non-breaking) features and improvements:

  • @​hockeybuggy added support for deprecated field annotations.
  • @​garbageslam and @​dflemstr added no_std support.
  • @​joseph-wakeling-frequenz fixed a bug in Timestamp <-> SystemTime conversions.
  • @​rolftimmermans added support for generating Rust bytes::Bytes fields from protobuf bytes fields. When deserializing from a Bytes instance, this enables zero-copy deserialization for bytes fields!
  • @​olix0r bumped the bytes dependency to 0.6, which included most of the heavy lifting for the subsequent move to bytes 1.0.
  • @​danburkert added support for the experimental proto3 optional field presence feature.

and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.6.1:

v0.6.1

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

prost 0.6.1 fixes a bug in which decoding untrusted input could overflow the stack. The bug was reported by @​dbrgn in #​267 (with an attached repro!), and fixed by @​danburkert. The fix extended the same recursion limits introduced in #​186 by @​nrc (released in 0.6.0) to the logic which skips unknown fields during decoding, which became recursive when support was added for decoding groups (also released in 0.6.0). The 0.6.0 release of the prost crates has been yanked from crates.io.

Additionally, @​koushiro updated the private dependencies of all prost crates to the latest versions.

Many thanks to the generous contributors who have helped out since 0.6.0:

  • Dan Burkert
  • Danilo Bargen
  • Qinxuan Chen

v0.6.0

Compare Source

PROST! is a Protocol Buffers implementation for the Rust Language. prost generates simple, idiomatic Rust code from proto2 and proto3 files.

prost 0.6.0 includes breaking changes:

  • The minimum-supported Rust version (MSRV) is now 1.39.0.
  • The bytes public dependency version is now 0.5.
  • The prost-types Timestamp and Duration types now impl TryFrom for their
    std::time equivalents. The old inherent try_from methods have been
    removed.
  • Deeply nested messages now fail decoding with an error, instead of potentially
    resulting in a stack overflow. The limit is set to a nesting depth of 100, and
    the limit can be disabled using a new no-recursion-limit Cargo feature.

As well as many new (non-breaking) features and improvements:

  • @​hanya added support for protobuf Group types.
  • @​danburkert improved the benchmark suite, including adding support for the
    full set of upstream message encoding and decoding benchmarks.
  • @​nrc implemented a series of micro-optimizations which result in faster
    message encoding and decoding.
  • @​dunmatt improved the method docs on generated types.
  • @​lukaslueg removed the dependency on byteorder.
  • @​parasyte added the ServiceGenerator::finalize_package, which is useful for
    advanced service generators.
  • @​joelgallant improved the error message that occurs when attempting to compile
    .proto files without a package specifier.
  • @​LucioFranco removed the direct dependency of generated types on the bytes
    crate, which means applications which use prost code generation are no
    longer required to declare a bytes dependency.
  • @​ErichDonGubler and @​hobofan bumped the syn, quote, and proc-macro2 to stable
    versions.
  • @​Timmmm improved prost-build so that it no longer writes .rs files when they
    are unchanged, which improves working with tools like cargo watch in
    codebases with prost code generation.
  • @​Hirevo replaced usage of failure with anyhow.
  • @​danburkert bumped the packaged protoc version to 3.11.2.

Many thanks to the generous contributors who have helped out since 0.5.0:

  • Dan Burkert
  • Erich Gubler
  • FujiApple
  • Hanya
  • Jay Oster
  • Joel Gallant
  • koushiro
  • Lucio Franco
  • Luffbee
  • lukaslueg
  • M@ Dunlap
  • Maximilian Goisser
  • Mikhail Zabaluev
  • Nick Cameron
  • Nicolas Polomack
  • Stephan Wolski
  • Tim Hutt
serde-rs/serde

v1.0.188

Compare Source

  • Fix "failed to parse manifest" error when building serde using a Cargo version between 1.45 and 1.50 (#​2603)

v1.0.187

Compare Source

  • Remove support for Emscripten targets on rustc older than 1.40 (#​2600)

v1.0.186

Compare Source

  • Disallow incompatible versions of serde_derive and serde in the dependency graph (#​2588, thanks @​soqb)

v1.0.185

Compare Source

  • Fix error "cannot move out of *self which is behind a shared reference" deriving Serialize on a non_exhaustive enum (#​2591)

v1.0.184

Compare Source

  • 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

Compare Source

  • Support deserializing Box<OsStr> with an equivalent representation as OsString (#​2556, thanks @​DBLouis)

v1.0.182

Compare Source

v1.0.181

Compare Source

  • Make serde(alias) work in combination with flatten when using in-place deserialization (#​2443, thanks @​Mingun)
  • Improve the representation of adjacently tagged enums in formats where enum tags are serialized by index, as opposed to by string name (#​2505, #​2496, thanks @​Baptistemontan)

v1.0.180

Compare Source

  • Update to 2018 edition

v1.0.179

Compare Source

  • Support serialization of tuple variants inside a flattened field (#​2448, thanks @​Mingun)

v1.0.178

Compare Source

  • Fix build error when using serde with "std" feature turned off and "unstable" feature turned on (#​2541)

v1.0.177

Compare Source

  • Add serde(rename_all_fields = "...") attribute to apply a rename_all on every struct variant of an enum (#​1695, thanks @​jplatte)
  • Improve diagnostics for attribute parse errors (#​2536, thanks @​jplatte)

v1.0.176

Compare Source

  • Allow tag field of an internally tagged enum to have same name as a field inside a skipped struct variant (#​2266, thanks @​flisky)

v1.0.175

Compare Source

v1.0.174

Compare Source

  • Documentation improvements

v1.0.173

Compare Source

  • Fix missing trait implementations when using serde derive macro on a macro-generated data structure, such as via the bitflags crate (#​2516)

v1.0.172

Compare Source

  • Experiment with precompiling the serde_derive macros to reduce build time (#​2514)

v1.0.171

Compare Source

v1.0.170

Compare Source

  • Produce error message on suffixed string literals inside serde attributes (#​2242)
  • Support single identifier as unbraced default value for const generic parameter (#​2449)

v1.0.169

Compare Source

  • Add Deserializer::deserialize_identifier support for adjacently tagged enums (#​2475, thanks @​Baptistemontan)
  • Fix unused_braces lint in generated Deserialize impl that uses braced const generic expressions (#​2414)

v1.0.168

Compare Source

  • Allow serde::de::IgnoredAny to be the type for a serde(flatten) field (#​2436, thanks @​Mingun)
  • Allow larger preallocated capacity for smaller elements (#​2494)

v1.0.167

Compare Source

  • Add serialize and deserialize impls for RangeFrom and RangeTo (#​2471, thanks @​tbu-)

v1.0.166

Compare Source

  • Add no-alloc category to crates.io metadata

v1.0.165

Compare Source

  • Fix incorrect count of fields passed to tuple deserialization methods when using serde(skip_deserializing) attributes (#​2466, thanks @​Mingun)
  • Fix -Zminimal-versions build

v1.0.164

Compare Source

v1.0.163

Compare Source

  • Eliminate build script from serde_derive crate to slightly reduce build time (#​2442, thanks @​taiki-e)

v1.0.162

Compare Source

  • Support deserializing flattened adjacently tagged enums from data formats which represent fields as bytes, such as the csv crate (#​2377, thanks @​mfro)

    #[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),
    }
    
    common,kind,parameter
    1,foo,42
    2,bar,true
    

v1.0.161

Compare Source

  • Improve error messages produced by serde_test on test failure (#​2435, thanks @​Mingun)

v1.0.160

Compare Source

v1.0.159

Compare Source

  • Accept empty #[serde()] attribute (#​2422)

v1.0.158

Compare Source

  • Fix "expected serde crate attribute to be a string" error when using macro_rules metavariable inside of serde attribute: #[serde(crate = $serde_path)] (#​2409)

v1.0.157

Compare Source

  • Update syn dependency to 2.x

v1.0.156

Compare Source

  • Documentation improvements

v1.0.155

Compare Source

  • Support Serialize and Deserialize impls for core::ffi::CStr and alloc::ffi::CString without "std" feature (#​2374, thanks @​safarir)

v1.0.154

Compare Source

  • Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both flatten and 'static fields (#​2383, thanks @​Mingun)

v1.0.153

Compare Source

  • Support serde(alias = "…") attribute used inside of flattened struct (#​2387, thanks @​bebecue)

v1.0.152

Compare Source

  • Documentation improvements

v1.0.151

Compare Source

  • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#​2344)

v1.0.150

Compare Source

  • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#​2334)
  • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#​2337, thanks @​badboy)

v1.0.149

Compare Source

  • Relax some trait bounds from the Serialize impl of BinaryHeap, BTreeSet, and HashSet (#​2333, thanks @​jonasbb)

v1.0.148

Compare Source

  • Support remote derive for generic types that have private fields (#​2327)

v1.0.147

Compare Source

  • Add serde::de::value::EnumAccessDeserializer which transforms an EnumAccess into a Deserializer (#​2305)

v1.0.146

Compare Source

v1.0.145

Compare Source

v1.0.144

Compare Source

  • Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types (#​2263, thanks @​taiki-e)

v1.0.143

Compare Source

  • Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (#​2253, thanks @​taiki-e)

v1.0.142

Compare Source

  • Add keywords to crates.io metadata

v1.0.141

Compare Source

  • Add no-std category to crates.io metadata

v1.0.140

Compare Source

  • Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (#​2251, thanks @​taiki-e)

v1.0.139

Compare Source

  • Add new constructor function for all IntoDeserializer impls (#​2246)

v1.0.138

Compare Source

  • Documentation improvements

v1.0.137

Compare Source

  • Update documentation links to some data formats whose repos have moved (#​2201, thanks @​atouchet)
  • Fix declared rust-version of serde and serde_test (#​2168)

v1.0.136

Compare Source

  • Improve default error message when Visitor fails to deserialize a u128 or i128 (#​2167)

v1.0.135

Compare Source

  • Update discord channels listed in readme

v1.0.134

Compare Source

  • Improve error messages on deserializing NonZero integers from a 0 value (#​2158)

v1.0.133

Compare Source

  • Optimize deserialization of data structures that contain recursive use of flatten fields or tag or untagged enums (#​2148)

v1.0.132

Compare Source

  • Enable Serialize and Deserialize impls for std::sync::atomic::{AtomicI64, AtomicU64} on riscv64 arch (#​2141, thanks @​Avimitin)

v1.0.131

Compare Source

  • Avoid unused_results being triggered in generated code for adjacently tagged enum (#​2116, thanks @​tyranron)

v1.0.130

Compare Source

  • Provide MapAccess and SeqAccess impl for reference to a dynamically sized existing impl (#​2081)

v1.0.129

Compare Source

v1.0.128

Compare Source

v1.0.127

Compare Source

  • Resolve warning in rustc nightly-2021-07-31+ compiling serde_test

v1.0.126

Compare Source

  • Resolve conflict with forbid(future_incompatible) lint setting in generated code (#​2026, thanks @​hyd-dev)

v1.0.125

Compare Source

v1.0.124

Compare Source

  • Fix possible panic deserializing invalid data as SystemTime (#​1997, thanks @​cyang1)

v1.0.123

Compare Source

  • Support Self keywords in fields of types that derive Deserialize (#​1830, thanks @​taiki-e)
  • Allow floats to be deserialized from ints in tagged unions (#​1842, thanks @​Timmmm)
  • Support Self inside fields that use serialize_with (#​1970)

v1.0.122

Compare Source

  • Add IntoDeserializer impl for &[u8] (#​1898, thanks @​Mingun)

  • Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys (#​1914, thanks @​Mingun)

  • Add attribute to override default deserialization failure expectation message (#​1916, thanks @​Mingun)

    #[derive(Deserialize)]
    #[serde(untagged, expecting = "single version or array of versions")]
    struct VersionSpec {
        One(Version),
        Many(Vec<Version>),
    }
    
  • Improve serde_test handling of map entries and error message construction (#​1918, thanks @​Mingun)

  • Produce more accurate location information on test failures from serde_test crate (#​1920, thanks @​Mingun)

  • Improve diagnostic on failure to parse a rename_all attribute (#​1960, #​1961)

  • Eliminate unnecessary trait bounds on some value Deserializer impls (#​1963)

v1.0.121

Compare Source

  • Support borrowed data during deserialization of a field identifier (#​1917, thanks @​Mingun)
  • Fix panic when deserializing Duration with nanoseconds that cause the seconds counter to overflow (#​1958, thanks @​jonasbb)

v1.0.120

Compare Source

  • Fix deserialization of ignored fields containing 128-bit integer (#​1955, thanks @​TheJokr)

v1.0.119

Compare Source

v1.0.118

Compare Source

v1.0.117

Compare Source

v1.0.116

Compare Source

  • Fix deserialization of IpAddr, SocketAddr, Bound, Result, OsString in formats which process variant identifiers as u64 (#​1888, thanks @​joshtriplett)

v1.0.115

Compare Source

  • Support #[serde(flatten)] on a field whose type is a type parameter and concrete type is () (#​1873)

v1.0.114

Compare Source

  • Improve packed repr matching to support deriving Serialize for structs having repr(C, packed) (#​1813, thanks @​TannerRogalsky)

v1.0.113

Compare Source

v1.0.112

Compare Source

  • Support serde(flatten) on map types where the Serializer only works with serialize_entry (#​1837)

v1.0.111

Compare Source

  • Process borrowed lifetimes inside of interpolated macro_rules metavariables, such as in the case of #[derive(Deserialize)] struct S<'a> { field: $field } (#​1821)

v1.0.110

Compare Source

v1.0.109

Compare Source

  • Allow adjacently tagged newtype variants containing Option to omit the content field when deserializing (#​1553, #​1706, thanks @​zth0)
  • Avoid panicking when a SystemTime older than UNIX_EPOCH is serialized (#​1702, thanks @​hjiayz)

v1.0.108

Compare Source

  • Provide a Serializer impl that can write primitives and unit variants to a &mut fmt::Formatter (#​1705, thanks @​jethrogb)

    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

Compare Source

  • Fix panic during macro expansion when using serde(skip) and serde(other) in the same enum (#​1804)

v1.0.106

Compare Source

  • Hide dummy const implementation detail from rustdoc when documenting a binary crate (#​1768, thanks @​robo9k)

v1.0.105

Compare Source

v1.0.104

Compare Source

v1.0.103

Compare Source

  • Support deserializing untagged unit variants from formats that treat unit as None (#​1668)

v1.0.102

Compare Source

  • Support deserializing PathBuf from bytes like &Path already did, and support deserializing Box<Path> (#​1656, thanks @​heftig)

v1.0.101

Compare Source

  • 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, thanks @​arilotter)

  • Support skip attribute inside of newtype variants (#​1622, thanks @​Xaeroxe)

v1.0.100

Compare Source

  • 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).

    #[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:

    #[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:

    [features]
    std = ["serde/std"]
    
    #[cfg(feature = "std")]
    impl std::error::Error for MySerError {}
    

    ... or else now may provide the std Error impl unconditionally via Serde's re-export:

    impl serde::ser::StdError for MySerError {}
    

v1.0.99

Compare Source

  • 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

Compare Source

v1.0.97

Compare Source

  • Introduce serde(try_from = "...") attribute to derive Deserialize based on a given implementation of std::convert::TryFrom (#​1526, thanks @​fanzeyi)

    #[derive(Deserialize)]
    #[serde(try_from = "u32")]
    enum N {
        Zero,
        One,
        Two,
    }
    
    impl TryFrom<u32> for N {
        type Error = String;
    
        fn try_from(u: u32) -> Result<Self, Self::Error> {
            match u {
                0 => Ok(Self::Zero),
                1 => Ok(Self::One),
                2 => Ok(Self::Two),
                other => Err(format!("out of range: {}", other)),
            }
        }
    }
    

v1.0.96

Compare Source

v1.0.95

Compare Source

yanked

v1.0.94

Compare Source

  • Accept enums in input data when deserializing IgnoredAny (#​1558)

v1.0.93

Compare Source

  • Allow integer keys in untagged flattened map (#​1545)

v1.0.92

Compare Source

v1.0.91

Compare Source

  • Support deserializing from MapAccessDeserializer into an enum (#​1522)

v1.0.90

Compare Source

  • 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, thanks @​sgrif)

    #[derive(Deserialize)]
    #[serde(crate = "__tw::codegen::serde")]
    struct S { ... }
    
    // expands to:
    impl<'de> __tw::codegen::serde::Deserialize<'de> for S {
        ...
    }
    

v1.0.89

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.71` -> `1.0.75` | | [bytes](https://github.com/tokio-rs/bytes) | workspace.dependencies | major | `0.4` -> `1.5` | | [capnp](https://github.com/capnproto/capnproto-rust) | dependencies | minor | `0.17.2` -> `0.18.1` | | [capnpc](https://github.com/capnproto/capnproto-rust) | build-dependencies | minor | `0.17.2` -> `0.18.0` | | [criterion](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://github.com/bheisler/criterion.rs)) | dev-dependencies | minor | `0.4` -> `0.5` | | [prost-build](https://github.com/tokio-rs/prost) | build-dependencies | minor | `0.5` -> `0.12` | | [prost-build](https://github.com/tokio-rs/prost) | workspace.dependencies | minor | `0.5` -> `0.12` | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.88` -> `1.0.188` | --- ### Release Notes <details> <summary>dtolnay/anyhow</summary> ### [`v1.0.75`](https://github.com/dtolnay/anyhow/releases/tag/1.0.75) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.74...1.0.75) - Partially work around rust-analyzer bug (https://github.com/rust-lang/rust-analyzer/issues/9911) ### [`v1.0.74`](https://github.com/dtolnay/anyhow/releases/tag/1.0.74) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.73...1.0.74) - Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://github.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://github.com/RalfJung)) ### [`v1.0.73`](https://github.com/dtolnay/anyhow/releases/tag/1.0.73) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.73) - Update backtrace support to nightly's new Error::provide API (https://github.com/rust-lang/rust/pull/113464, [#&#8203;319](https://github.com/dtolnay/anyhow/issues/319)) ### [`v1.0.72`](https://github.com/dtolnay/anyhow/releases/tag/1.0.72) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72) - Documentation improvements </details> <details> <summary>tokio-rs/bytes</summary> ### [`v1.5.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;150-September-7-2023) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.4.0...v1.5.0) ##### Added - Add `UninitSlice::{new,uninit}` ([#&#8203;598](https://github.com/tokio-rs/bytes/issues/598), [#&#8203;599](https://github.com/tokio-rs/bytes/issues/599)) - Implement `BufMut` for `&mut [MaybeUninit<u8>]` ([#&#8203;597](https://github.com/tokio-rs/bytes/issues/597)) ##### Changed - Mark `BytesMut::extend_from_slice` as inline ([#&#8203;595](https://github.com/tokio-rs/bytes/issues/595)) ### [`v1.4.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;140-January-31-2023) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.3.0...v1.4.0) ##### Added - Make `IntoIter` constructor public ([#&#8203;581](https://github.com/tokio-rs/bytes/issues/581)) ##### Fixed - Avoid large reallocations when freezing `BytesMut` ([#&#8203;592](https://github.com/tokio-rs/bytes/issues/592)) ##### Documented - Document which functions require `std` ([#&#8203;591](https://github.com/tokio-rs/bytes/issues/591)) - Fix duplicate "the the" typos ([#&#8203;585](https://github.com/tokio-rs/bytes/issues/585)) ### [`v1.3.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;130-November-20-2022) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.2.1...v1.3.0) ##### Added - Rename and expose `BytesMut::spare_capacity_mut` ([#&#8203;572](https://github.com/tokio-rs/bytes/issues/572)) - Implement native-endian get and put functions for `Buf` and `BufMut` ([#&#8203;576](https://github.com/tokio-rs/bytes/issues/576)) ##### Fixed - Don't have important data in unused capacity when calling reserve ([#&#8203;563](https://github.com/tokio-rs/bytes/issues/563)) ##### Documented - `Bytes::new` etc should return `Self` not `Bytes` ([#&#8203;568](https://github.com/tokio-rs/bytes/issues/568)) ### [`v1.2.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;121-July-30-2022) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.2.0...v1.2.1) ##### Fixed - Fix unbounded memory growth when using `reserve` ([#&#8203;560](https://github.com/tokio-rs/bytes/issues/560)) ### [`v1.2.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;120-July-19-2022) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.1.0...v1.2.0) ##### Added - Add `BytesMut::zeroed` ([#&#8203;517](https://github.com/tokio-rs/bytes/issues/517)) - Implement `Extend<Bytes>` for `BytesMut` ([#&#8203;527](https://github.com/tokio-rs/bytes/issues/527)) - Add conversion from `BytesMut` to `Vec<u8>` ([#&#8203;543](https://github.com/tokio-rs/bytes/issues/543), [#&#8203;554](https://github.com/tokio-rs/bytes/issues/554)) - Add conversion from `Bytes` to `Vec<u8>` ([#&#8203;547](https://github.com/tokio-rs/bytes/issues/547)) - Add `UninitSlice::as_uninit_slice_mut()` ([#&#8203;548](https://github.com/tokio-rs/bytes/issues/548)) - Add const to `Bytes::{len,is_empty}` ([#&#8203;514](https://github.com/tokio-rs/bytes/issues/514)) ##### Changed - Reuse vector in `BytesMut::reserve` ([#&#8203;539](https://github.com/tokio-rs/bytes/issues/539), [#&#8203;544](https://github.com/tokio-rs/bytes/issues/544)) ##### Fixed - Make miri happy ([#&#8203;515](https://github.com/tokio-rs/bytes/issues/515), [#&#8203;523](https://github.com/tokio-rs/bytes/issues/523), [#&#8203;542](https://github.com/tokio-rs/bytes/issues/542), [#&#8203;545](https://github.com/tokio-rs/bytes/issues/545), [#&#8203;553](https://github.com/tokio-rs/bytes/issues/553)) - Make tsan happy ([#&#8203;541](https://github.com/tokio-rs/bytes/issues/541)) - Fix `remaining_mut()` on chain ([#&#8203;488](https://github.com/tokio-rs/bytes/issues/488)) - Fix amortized asymptotics of `BytesMut` ([#&#8203;555](https://github.com/tokio-rs/bytes/issues/555)) ##### Documented - Redraw layout diagram with box drawing characters ([#&#8203;539](https://github.com/tokio-rs/bytes/issues/539)) - Clarify `BytesMut::unsplit` docs ([#&#8203;535](https://github.com/tokio-rs/bytes/issues/535)) ### [`v1.1.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;110-August-25-2021) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.0.1...v1.1.0) ##### Added - `BufMut::put_bytes(self, val, cnt)` ([#&#8203;487](https://github.com/tokio-rs/bytes/issues/487)) - Implement `From<Box<[u8]>>` for `Bytes` ([#&#8203;504](https://github.com/tokio-rs/bytes/issues/504)) ##### Changed - Override `put_slice` for `&mut [u8]` ([#&#8203;483](https://github.com/tokio-rs/bytes/issues/483)) - Panic on integer overflow in `Chain::remaining` ([#&#8203;482](https://github.com/tokio-rs/bytes/issues/482)) - Add inline tags to `UninitSlice` methods ([#&#8203;443](https://github.com/tokio-rs/bytes/issues/443)) - Override `copy_to_bytes` for Chain and Take ([#&#8203;481](https://github.com/tokio-rs/bytes/issues/481)) - Keep capacity when unsplit on empty other buf ([#&#8203;502](https://github.com/tokio-rs/bytes/issues/502)) ##### Documented - Clarify `BufMut` allocation guarantees ([#&#8203;501](https://github.com/tokio-rs/bytes/issues/501)) - Clarify `BufMut::put_int` behavior ([#&#8203;486](https://github.com/tokio-rs/bytes/issues/486)) - Clarify actions of `clear` and `truncate`. ([#&#8203;508](https://github.com/tokio-rs/bytes/issues/508)) ### [`v1.0.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;101-January-11-2021) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.0.0...v1.0.1) ##### Changed - mark `Vec::put_slice` with `#[inline]` ([#&#8203;459](https://github.com/tokio-rs/bytes/issues/459)) ##### Fixed - Fix deprecation warning ([#&#8203;457](https://github.com/tokio-rs/bytes/issues/457)) - use `Box::into_raw` instead of `mem::forget`-in-disguise ([#&#8203;458](https://github.com/tokio-rs/bytes/issues/458)) ### [`v1.0.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;100-December-22-2020) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.6.0...v1.0.0) ##### Changed - Rename `Buf`/`BufMut` methods `bytes()` and `bytes_mut()` to `chunk()` and `chunk_mut()` ([#&#8203;450](https://github.com/tokio-rs/bytes/issues/450)) ##### Removed - remove unused Buf implementation. ([#&#8203;449](https://github.com/tokio-rs/bytes/issues/449)) ### [`v0.6.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;060-October-21-2020) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.6...v0.6.0) API polish in preparation for a 1.0 release. ##### Changed - `BufMut` is now an `unsafe` trait ([#&#8203;432](https://github.com/tokio-rs/bytes/issues/432)). - `BufMut::bytes_mut()` returns `&mut UninitSlice`, a type owned by `bytes` to avoid undefined behavior ([#&#8203;433](https://github.com/tokio-rs/bytes/issues/433)). - `Buf::copy_to_bytes(len)` replaces `Buf::into_bytes()` ([#&#8203;439](https://github.com/tokio-rs/bytes/issues/439)). - `Buf`/`BufMut` utility methods are moved onto the trait and `*Ext` traits are removed ([#&#8203;431](https://github.com/tokio-rs/bytes/issues/431)). ##### Removed - `BufMut::bytes_vectored_mut()` ([#&#8203;430](https://github.com/tokio-rs/bytes/issues/430)). - `new` methods on combinator types ([#&#8203;434](https://github.com/tokio-rs/bytes/issues/434)). ### [`v0.5.6`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;056-July-13-2020) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.5...v0.5.6) - Improve `BytesMut` to reuse buffer when fully `advance`d. - Mark `BytesMut::{as_mut, set_len}` with `#[inline]`. - Relax synchronization when cloning in shared vtable of `Bytes`. - Move `loom` to `dev-dependencies`. ### [`v0.5.5`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;055-June-18-2020) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.4...v0.5.5) ##### Added - Allow using the `serde` feature in `no_std` environments ([#&#8203;385](https://github.com/tokio-rs/bytes/issues/385)). ##### Fix - Fix `BufMut::advance_mut` to panic if advanced passed the capacity ([#&#8203;354](https://github.com/tokio-rs/bytes/issues/354)).. - Fix `BytesMut::freeze` ignoring amount previously `advance`d ([#&#8203;352](https://github.com/tokio-rs/bytes/issues/352)). ### [`v0.5.4`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;054-January-23-2020) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.3...v0.5.4) ##### Added - Make `Bytes::new` a `const fn`. - Add `From<BytesMut>` for `Bytes`. ##### Fix - Fix reversed arguments in `PartialOrd` for `Bytes`. - Fix `Bytes::truncate` losing original capacity when repr is an unshared `Vec`. - Fix `Bytes::from(Vec)` when allocator gave `Vec` a pointer with LSB set. - Fix panic in `Bytes::slice_ref` if argument is an empty slice. ### [`v0.5.3`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;053-December-12-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.2...v0.5.3) ##### Added - `must_use` attributes to `split`, `split_off`, and `split_to` methods ([#&#8203;337](https://github.com/tokio-rs/bytes/issues/337)). ##### Fix - Potential freeing of a null pointer in `Bytes` when constructed with an empty `Vec<u8>` ([#&#8203;341](https://github.com/tokio-rs/bytes/issues/341), [#&#8203;342](https://github.com/tokio-rs/bytes/issues/342)). - Calling `Bytes::truncate` with a size large than the length will no longer clear the `Bytes` ([#&#8203;333](https://github.com/tokio-rs/bytes/issues/333)). ### [`v0.5.2`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;052-November-27-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.1...v0.5.2) ##### Added - `Limit` methods `into_inner`, `get_ref`, `get_mut`, `limit`, and `set_limit` ([#&#8203;325](https://github.com/tokio-rs/bytes/issues/325)). ### [`v0.5.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;051-November-25-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.0...v0.5.1) ##### Fix - Growth documentation for `BytesMut` ([#&#8203;321](https://github.com/tokio-rs/bytes/issues/321)) ### [`v0.5.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;050-November-25-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.12...v0.5.0) ##### Fix - Potential overflow in `copy_to_slice` ##### Changed - Increased minimum supported Rust version to 1.39. - `Bytes` is now a "trait object", allowing for custom allocation strategies ([#&#8203;298](https://github.com/tokio-rs/bytes/issues/298)) - `BytesMut` implicitly grows internal storage. `remaining_mut()` returns `usize::MAX` ([#&#8203;316](https://github.com/tokio-rs/bytes/issues/316)). - `BufMut::bytes_mut` returns `&mut [MaybeUninit<u8>]` to reflect the unknown initialization state ([#&#8203;305](https://github.com/tokio-rs/bytes/issues/305)). - `Buf` / `BufMut` implementations for `&[u8]` and `&mut [u8]` respectively ([#&#8203;261](https://github.com/tokio-rs/bytes/issues/261)). - Move `Buf` / `BufMut` "extra" functions to an extension trait ([#&#8203;306](https://github.com/tokio-rs/bytes/issues/306)). - `BufMutExt::limit` ([#&#8203;309](https://github.com/tokio-rs/bytes/issues/309)). - `Bytes::slice` takes a `RangeBounds` argument ([#&#8203;265](https://github.com/tokio-rs/bytes/issues/265)). - `Bytes::from_static` is now a `const fn` ([#&#8203;311](https://github.com/tokio-rs/bytes/issues/311)). - A multitude of smaller performance optimizations. ##### Added - `no_std` support ([#&#8203;281](https://github.com/tokio-rs/bytes/issues/281)). - `get_*`, `put_*`, `get_*_le`, and `put_*le` accessors for handling byte order. - `BorrowMut` implementation for `BytesMut` ([#&#8203;185](https://github.com/tokio-rs/bytes/issues/185)). ##### Removed - `IntoBuf` ([#&#8203;288](https://github.com/tokio-rs/bytes/issues/288)). - `Buf` implementation for `&str` ([#&#8203;301](https://github.com/tokio-rs/bytes/issues/301)). - `byteorder` dependency ([#&#8203;280](https://github.com/tokio-rs/bytes/issues/280)). - `iovec` dependency, use `std::IoSlice` instead ([#&#8203;263](https://github.com/tokio-rs/bytes/issues/263)). - optional `either` dependency ([#&#8203;315](https://github.com/tokio-rs/bytes/issues/315)). - optional `i128` feature -- now available on stable. ([#&#8203;276](https://github.com/tokio-rs/bytes/issues/276)). ### [`v0.4.12`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0412-March-6-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.11...v0.4.12) ##### Added - Implement `FromIterator<&'a u8>` for `BytesMut`/`Bytes` ([#&#8203;244](https://github.com/tokio-rs/bytes/issues/244)). - Implement `Buf` for `VecDeque` ([#&#8203;249](https://github.com/tokio-rs/bytes/issues/249)). ### [`v0.4.11`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0411-November-17-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.10...v0.4.11) - Use raw pointers for potentially racy loads ([#&#8203;233](https://github.com/tokio-rs/bytes/issues/233)). - Implement `BufRead` for `buf::Reader` ([#&#8203;232](https://github.com/tokio-rs/bytes/issues/232)). - Documentation tweaks ([#&#8203;234](https://github.com/tokio-rs/bytes/issues/234)). ### [`v0.4.10`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0410-September-4-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.9...v0.4.10) - impl `Buf` and `BufMut` for `Either` ([#&#8203;225](https://github.com/tokio-rs/bytes/issues/225)). - Add `Bytes::slice_ref` ([#&#8203;208](https://github.com/tokio-rs/bytes/issues/208)). ### [`v0.4.9`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;049-July-12-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.8...v0.4.9) - Add 128 bit number support behind a feature flag ([#&#8203;209](https://github.com/tokio-rs/bytes/issues/209)). - Implement `IntoBuf` for `&mut [u8]` ### [`v0.4.8`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;048-May-25-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.7...v0.4.8) - Fix panic in `BytesMut` `FromIterator` implementation. - Bytes: Recycle space when reserving space in vec mode ([#&#8203;197](https://github.com/tokio-rs/bytes/issues/197)). - Bytes: Add resize fn ([#&#8203;203](https://github.com/tokio-rs/bytes/issues/203)). ### [`v0.4.7`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;047-April-27-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.6...v0.4.7) - Make `Buf` and `BufMut` usable as trait objects ([#&#8203;186](https://github.com/tokio-rs/bytes/issues/186)). - impl BorrowMut for BytesMut ([#&#8203;185](https://github.com/tokio-rs/bytes/issues/185)). - Improve accessor performance ([#&#8203;195](https://github.com/tokio-rs/bytes/issues/195)). ### [`v0.4.6`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;046-Janary-8-2018) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.5...v0.4.6) - Implement FromIterator for Bytes/BytesMut ([#&#8203;148](https://github.com/tokio-rs/bytes/issues/148)). - Add `advance` fn to Bytes/BytesMut ([#&#8203;166](https://github.com/tokio-rs/bytes/issues/166)). - Add `unsplit` fn to `BytesMut` ([#&#8203;162](https://github.com/tokio-rs/bytes/issues/162), [#&#8203;173](https://github.com/tokio-rs/bytes/issues/173)). - Improvements to Bytes split fns ([#&#8203;92](https://github.com/tokio-rs/bytes/issues/92)). ### [`v0.4.5`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;045-August-12-2017) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.4...v0.4.5) - Fix range bug in `Take::bytes` - Misc performance improvements - Add extra `PartialEq` implementations. - Add `Bytes::with_capacity` - Implement `AsMut[u8]` for `BytesMut` ### [`v0.4.4`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;044-May-26-2017) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.3...v0.4.4) - Add serde support behind feature flag - Add `extend_from_slice` on `Bytes` and `BytesMut` - Add `truncate` and `clear` on `Bytes` - Misc additional std trait implementations - Misc performance improvements ### [`v0.4.3`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;043-April-30-2017) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.2...v0.4.3) - Fix Vec::advance_mut bug - Bump minimum Rust version to 1.15 - Misc performance tweaks ### [`v0.4.2`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;042-April-5-2017) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.1...v0.4.2) - Misc performance tweaks - Improved `Debug` implementation for `Bytes` - Avoid some incorrect assert panics ### [`v0.4.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0412-March-6-2019) [Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.0...v0.4.1) ##### Added - Implement `FromIterator<&'a u8>` for `BytesMut`/`Bytes` ([#&#8203;244](https://github.com/tokio-rs/bytes/issues/244)). - Implement `Buf` for `VecDeque` ([#&#8203;249](https://github.com/tokio-rs/bytes/issues/249)). </details> <details> <summary>capnproto/capnproto-rust</summary> ### [`v0.18.1`](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.18.0...capnp-v0.18.1) [Compare Source](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.18.0...capnp-v0.18.1) ### [`v0.18.0`](https://github.com/capnproto/capnproto-rust/compare/capnpc-v0.17.2...capnpc-v0.18.0) [Compare Source](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.17.2...capnp-v0.18.0) </details> <details> <summary>bheisler/criterion.rs</summary> ### [`v0.5.1`](https://github.com/bheisler/criterion.rs/blob/HEAD/CHANGELOG.md#&#8203;051---2023-05-26) [Compare Source](https://github.com/bheisler/criterion.rs/compare/0.5.0...0.5.1) ##### Fixed - Quick mode (--quick) no longer crashes with measured times over 5 seconds when --noplot is not active ### [`v0.5.0`](https://github.com/bheisler/criterion.rs/blob/HEAD/CHANGELOG.md#&#8203;050---2023-05-23) [Compare Source](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0) ##### Changed - Replaced lazy_static dependency with once_cell - Improved documentation of the `html_reports` feature - Replaced atty dependency with is-terminal - MSRV bumped to 1.64 - Upgraded clap dependency to v4 - Upgraded tempfile dependency to v3.5.0 ##### Fixed - Quick mode (`--quick`) no longer outputs 1ms for measured times over 5 seconds - Documentation updates </details> <details> <summary>tokio-rs/prost</summary> ### [`v0.12.1`](https://github.com/tokio-rs/prost/compare/v0.12.0...v0.12.1) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.12.0...v0.12.1) ### [`v0.12.0`](https://github.com/tokio-rs/prost/releases/tag/v0.12.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.9...v0.12.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - Bump `syn` to version 2 - Bump MSRV to 1.64 - Added `TryFrom<i32>` for enums - Optional debug implementations - Initial generic `Any` and `Name` impl/traits. ### [`v0.11.9`](https://github.com/tokio-rs/prost/releases/tag/v0.11.9) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.8...v0.11.9) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Support boxing fields via `Config::boxed` ([#&#8203;802](https://github.com/tokio-rs/prost/pull/802)) ### [`v0.11.8`](https://github.com/tokio-rs/prost/releases/tag/v0.11.8) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.7...v0.11.8) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - types: Fix unintentional change in compiler module visibility [#&#8203;824](https://github.com/tokio-rs/prost/pull/824) `prost-types` 0.11.7 was yanked due to the above unintentional semver breakage. ### [`v0.11.7`](https://github.com/tokio-rs/prost/compare/v0.11.6...v0.11.7) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.6...v0.11.7) ### [`v0.11.6`](https://github.com/tokio-rs/prost/releases/tag/v0.11.6) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.5...v0.11.6) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Add message and enum attributes (https://github.com/tokio-rs/prost/pull/784) ### [`v0.11.5`](https://github.com/tokio-rs/prost/releases/tag/v0.11.5) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.4...v0.11.5) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Allow file descriptor be generated without --include_source_info (https://github.com/tokio-rs/prost/pull/786) - build: Expose from_str_name for generated enums (https://github.com/tokio-rs/prost/pull/774) ### [`v0.11.4`](https://github.com/tokio-rs/prost/releases/tag/v0.11.4) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.3...v0.11.4) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Add clippy allow lint to all code generated prost structs ### [`v0.11.3`](https://github.com/tokio-rs/prost/releases/tag/v0.11.3) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.2...v0.11.3) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Use `log` to print error logs. - build: Remove accidentally included prints. - build: Improve debian error message hint. ### [`v0.11.2`](https://github.com/tokio-rs/prost/releases/tag/v0.11.2) [Compare Source](https://github.com/tokio-rs/prost/compare/prost-build-0.11.1...v0.11.2) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Improve `protoc` sourcing instructions in error messages. - build: Add `Clone` to `Service` types. - build: Sort modules to produce deterministic include files. - core: Tuple struct support. - build: Allow generated code derive path's to be changed. - build: Allow changing prost crate path. - build: Add code formatting support. ### [`v0.11.1`](https://github.com/tokio-rs/prost/releases/tag/prost-build-0.11.1): prost-build-v0.11.1 [Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.0...prost-build-0.11.1) - Removes extra spaces in doc generation ### [`v0.11.0`](https://github.com/tokio-rs/prost/releases/tag/v0.11.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.4...v0.11.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Relase 0.11 brings a few breaking changes and changes to how prost sources protoc. - `prost-build` now requires `protoc` to be available in the path or set via the `PROTOC` env var. - `prost-types` now contains new `Timestamp`/`Duration` `FromStr` implementations. - MSRV bump to `1.56` and all crates have been moved to edition 2021 Notible changes that are not breaking: - `prost-build` now has a `cleanup-markdown` feature for cleaining up code blocks from protobuf files so that they work under rustdoc tests. - `prost-build` now generates `as_str_name` for message types. ### [`v0.10.4`](https://github.com/tokio-rs/prost/releases/tag/v0.10.4) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.3...v0.10.4) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Small fix for compiling protoc from source to speed up compile times. ### [`v0.10.3`](https://github.com/tokio-rs/prost/releases/tag/v0.10.3) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.2...v0.10.3) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This release reverts [#&#8203;605](https://github.com/tokio-rs/prost/issues/605) and contains some typo fixes. (this release is actually the `v0.10.2` release but `prost-build` had to be yanked because of a local publish issue) ### [`v0.10.2`](https://github.com/tokio-rs/prost/releases/tag/v0.10.2) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.1...v0.10.2) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This release reverts [#&#8203;605](https://github.com/tokio-rs/prost/issues/605) and contains some typo fixes. (this release was yanked due to missing third-party source, `v0.10.3` is now the active release for this) ### [`v0.10.1`](https://github.com/tokio-rs/prost/releases/tag/v0.10.1) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.0...v0.10.1) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This minor release brings no new code changes but symlinks license files in all the crates. ### [`v0.10.0`](https://github.com/tokio-rs/prost/releases/tag/v0.10.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.9.0...v0.10.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Release 0.10 brings a few new .... - `protoc` is no longer bundled but is now compiled from bundled source - Minor performance improvements - Methods exposed to allow third party protobuf generation libraries ### [`v0.9.0`](https://github.com/tokio-rs/prost/releases/tag/v0.9.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.8.0...v0.9.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Release 0.9.0 brings in many helpful changes and fixes, here are a few highlights: - Apple silicon support - Improve encode/decode varint performance - Support no package declaration - Support single include files - Fix multiple attribute support ### [`v0.8.0`](https://github.com/tokio-rs/prost/releases/tag/v0.8.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.7.0...v0.8.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. *NOTE: This version contains a security fix for `prost-types` and is recommend that you upgrade to it from <0.7.* `prost` 0.8.0 includes breaking changes: - `Timestamp`'s `From` implementation for converting into `SystemTime` has been converted to a fallible `TryFrom` implementation. - `prost-build`'s `compile_protos` now takes `impl AsRef<Path>` to allow each parameter to use its own generic type. - Bundled `protoc` version bumped to `3.15.8` As well as many new (non-breaking) changes: - [@&#8203;pluth](https://github.com/pluth) enabled zero-copy support for `Bytes` based fields. - [@&#8203;sfackler](https://github.com/sfackler) for fixing message optionals and oneofs in `prost-build`. - [@&#8203;rubdos](https://github.com/rubdos) for adding the ability to encode prost messages directly to a `Vec<u8>`. and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.7: - [@&#8203;dfreese](https://github.com/dfreese) - [@&#8203;carols10cents](https://github.com/carols10cents) - [@&#8203;pluth](https://github.com/pluth) - [@&#8203;jfornoff](https://github.com/jfornoff) - [@&#8203;sphw](https://github.com/sphw) - [@&#8203;bpowers](https://github.com/bpowers) - [@&#8203;sfackler](https://github.com/sfackler) - [@&#8203;koushiro](https://github.com/koushiro) - [@&#8203;dbrgn](https://github.com/dbrgn) - [@&#8203;argv-minus-one](https://github.com/argv-minus-one) - [@&#8203;nagisa](https://github.com/nagisa) - [@&#8203;evanj](https://github.com/evanj) - [@&#8203;aquarhead](https://github.com/aquarhead) ### [`v0.7.0`](https://github.com/tokio-rs/prost/releases/tag/v0.7.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.6.1...v0.7.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. `prost` 0.7.0 includes breaking changes: - The minimum-supported Rust version (MSRV) is now 1.46.0. - The `bytes` public dependency version is now 1.0. - The bundled `protoc` version is now 3.14.0. As well as many new (non-breaking) features and improvements: - [@&#8203;hockeybuggy](https://github.com/hockeybuggy) added support for `deprecated` field annotations. - [@&#8203;garbageslam](https://github.com/garbageslam) and [@&#8203;dflemstr](https://github.com/dflemstr) added `no_std` support. - [@&#8203;joseph-wakeling-frequenz](https://github.com/joseph-wakeling-frequenz) fixed a bug in Timestamp <-> SystemTime conversions. - [@&#8203;rolftimmermans](https://github.com/rolftimmermans) added support for generating Rust `bytes::Bytes` fields from protobuf `bytes` fields. When deserializing from a `Bytes` instance, this enables zero-copy deserialization for `bytes` fields! - [@&#8203;olix0r](https://github.com/olix0r) bumped the `bytes` dependency to 0.6, which included most of the heavy lifting for the subsequent move to `bytes` 1.0. - [@&#8203;danburkert](https://github.com/danburkert) added support for the experimental proto3 optional field presence feature. and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.6.1: - M@ Dunlap - [@&#8203;Max-Meldrum](https://github.com/Max-Meldrum) - [@&#8203;Veetaha](https://github.com/Veetaha) - [@&#8203;dan-fritchman](https://github.com/dan-fritchman) - [@&#8203;danburkert](https://github.com/danburkert) - [@&#8203;dflemstr](https://github.com/dflemstr) - [@&#8203;dfreese](https://github.com/dfreese) - [@&#8203;gabrielrussoc](https://github.com/gabrielrussoc) - [@&#8203;garbageslam](https://github.com/garbageslam) - [@&#8203;hockeybuggy](https://github.com/hockeybuggy) - [@&#8203;jen20](https://github.com/jen20) - [@&#8203;joseph-wakeling-frequenz](https://github.com/joseph-wakeling-frequenz) - [@&#8203;olix0r](https://github.com/olix0r) - [@&#8203;oll3](https://github.com/oll3) - [@&#8203;repi](https://github.com/repi) - [@&#8203;rolftimmermans](https://github.com/rolftimmermans) - [@&#8203;vorot93](https://github.com/vorot93) - [@&#8203;wchargin](https://github.com/wchargin) ### [`v0.6.1`](https://github.com/tokio-rs/prost/releases/tag/v0.6.1) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.6.0...v0.6.1) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. `prost` 0.6.1 fixes a bug in which decoding untrusted input could overflow the stack. The bug was reported by [@&#8203;dbrgn](https://github.com/dbrgn) in [#&#8203;267](https://github.com/tokio-rs/prost/issues/267) (with an attached repro!), and fixed by [@&#8203;danburkert](https://github.com/danburkert). The fix extended the same recursion limits introduced in [#&#8203;186](https://github.com/tokio-rs/prost/issues/186) by [@&#8203;nrc](https://github.com/nrc) (released in 0.6.0) to the logic which skips unknown fields during decoding, which became recursive when support was added for decoding groups (also released in 0.6.0). The 0.6.0 release of the `prost` crates has been yanked from crates.io. Additionally, [@&#8203;koushiro](https://github.com/koushiro) updated the private dependencies of all `prost` crates to the latest versions. Many thanks to the generous contributors who have helped out since 0.6.0: - Dan Burkert - Danilo Bargen - Qinxuan Chen ### [`v0.6.0`](https://github.com/tokio-rs/prost/releases/tag/v0.6.0) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.5.0...v0.6.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. `prost` 0.6.0 includes breaking changes: - The minimum-supported Rust version (MSRV) is now 1.39.0. - The `bytes` public dependency version is now `0.5`. - The prost-types `Timestamp` and `Duration` types now impl `TryFrom` for their `std::time` equivalents. The old inherent `try_from` methods have been removed. - Deeply nested messages now fail decoding with an error, instead of potentially resulting in a stack overflow. The limit is set to a nesting depth of 100, and the limit can be disabled using a new `no-recursion-limit` Cargo feature. As well as many new (non-breaking) features and improvements: - [@&#8203;hanya](https://github.com/hanya) added support for protobuf Group types. - [@&#8203;danburkert](https://github.com/danburkert) improved the benchmark suite, including adding support for the full set of upstream message encoding and decoding benchmarks. - [@&#8203;nrc](https://github.com/nrc) implemented a series of micro-optimizations which result in faster message encoding and decoding. - [@&#8203;dunmatt](https://github.com/dunmatt) improved the method docs on generated types. - [@&#8203;lukaslueg](https://github.com/lukaslueg) removed the dependency on `byteorder`. - [@&#8203;parasyte](https://github.com/parasyte) added the `ServiceGenerator::finalize_package`, which is useful for advanced service generators. - [@&#8203;joelgallant](https://github.com/joelgallant) improved the error message that occurs when attempting to compile .proto files without a package specifier. - [@&#8203;LucioFranco](https://github.com/LucioFranco) removed the direct dependency of generated types on the `bytes` crate, which means applications which use `prost` code generation are no longer required to declare a `bytes` dependency. - [@&#8203;ErichDonGubler](https://github.com/ErichDonGubler) and [@&#8203;hobofan](https://github.com/hobofan) bumped the `syn`, `quote`, and `proc-macro2` to stable versions. - [@&#8203;Timmmm](https://github.com/Timmmm) improved `prost-build` so that it no longer writes .rs files when they are unchanged, which improves working with tools like `cargo watch` in codebases with `prost` code generation. - [@&#8203;Hirevo](https://github.com/Hirevo) replaced usage of `failure` with `anyhow`. - [@&#8203;danburkert](https://github.com/danburkert) bumped the packaged `protoc` version to 3.11.2. Many thanks to the generous contributors who have helped out since 0.5.0: - Dan Burkert - Erich Gubler - FujiApple - Hanya - Jay Oster - Joel Gallant - koushiro - Lucio Franco - Luffbee - lukaslueg - M@ Dunlap - Maximilian Goisser - Mikhail Zabaluev - Nick Cameron - Nicolas Polomack - Stephan Wolski - Tim Hutt </details> <details> <summary>serde-rs/serde</summary> ### [`v1.0.188`](https://github.com/serde-rs/serde/releases/tag/v1.0.188) [Compare Source](https://github.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 ([#&#8203;2603](https://github.com/serde-rs/serde/issues/2603)) ### [`v1.0.187`](https://github.com/serde-rs/serde/releases/tag/v1.0.187) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.186...v1.0.187) - Remove support for Emscripten targets on rustc older than 1.40 ([#&#8203;2600](https://github.com/serde-rs/serde/issues/2600)) ### [`v1.0.186`](https://github.com/serde-rs/serde/releases/tag/v1.0.186) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.185...v1.0.186) - Disallow incompatible versions of `serde_derive` and `serde` in the dependency graph ([#&#8203;2588](https://github.com/serde-rs/serde/issues/2588), thanks [@&#8203;soqb](https://github.com/soqb)) ### [`v1.0.185`](https://github.com/serde-rs/serde/releases/tag/v1.0.185) [Compare Source](https://github.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 ([#&#8203;2591](https://github.com/serde-rs/serde/issues/2591)) ### [`v1.0.184`](https://github.com/serde-rs/serde/releases/tag/v1.0.184) [Compare Source](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.183) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.182...v1.0.183) - Support deserializing `Box<OsStr>` with an equivalent representation as `OsString` ([#&#8203;2556](https://github.com/serde-rs/serde/issues/2556), thanks [@&#8203;DBLouis](https://github.com/DBLouis)) ### [`v1.0.182`](https://github.com/serde-rs/serde/releases/tag/v1.0.182) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.181...v1.0.182) - Render field aliases in sorted order in error messages ([#&#8203;2458](https://github.com/serde-rs/serde/issues/2458), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Support `serde(default)` on tuple structs ([#&#8203;2553](https://github.com/serde-rs/serde/issues/2553), thanks [@&#8203;Mingun](https://github.com/Mingun)) ### [`v1.0.181`](https://github.com/serde-rs/serde/releases/tag/v1.0.181) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.180...v1.0.181) - Make `serde(alias)` work in combination with `flatten` when using in-place deserialization ([#&#8203;2443](https://github.com/serde-rs/serde/issues/2443), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Improve the representation of adjacently tagged enums in formats where enum tags are serialized by index, as opposed to by string name ([#&#8203;2505](https://github.com/serde-rs/serde/issues/2505), [#&#8203;2496](https://github.com/serde-rs/serde/issues/2496), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan)) ### [`v1.0.180`](https://github.com/serde-rs/serde/releases/tag/v1.0.180) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.179...v1.0.180) - Update to 2018 edition ### [`v1.0.179`](https://github.com/serde-rs/serde/releases/tag/v1.0.179) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.178...v1.0.179) - Support serialization of tuple variants inside a flattened field ([#&#8203;2448](https://github.com/serde-rs/serde/issues/2448), thanks [@&#8203;Mingun](https://github.com/Mingun)) ### [`v1.0.178`](https://github.com/serde-rs/serde/releases/tag/v1.0.178) [Compare Source](https://github.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 ([#&#8203;2541](https://github.com/serde-rs/serde/issues/2541)) ### [`v1.0.177`](https://github.com/serde-rs/serde/releases/tag/v1.0.177) [Compare Source](https://github.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 ([#&#8203;1695](https://github.com/serde-rs/serde/issues/1695), thanks [@&#8203;jplatte](https://github.com/jplatte)) - Improve diagnostics for attribute parse errors ([#&#8203;2536](https://github.com/serde-rs/serde/issues/2536), thanks [@&#8203;jplatte](https://github.com/jplatte)) ### [`v1.0.176`](https://github.com/serde-rs/serde/releases/tag/v1.0.176) [Compare Source](https://github.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 ([#&#8203;2266](https://github.com/serde-rs/serde/issues/2266), thanks [@&#8203;flisky](https://github.com/flisky)) ### [`v1.0.175`](https://github.com/serde-rs/serde/releases/tag/v1.0.175) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.174...v1.0.175) - Restore missing LICENSE files in serde_derive crate ([#&#8203;2527](https://github.com/serde-rs/serde/issues/2527), thanks [@&#8203;ankane](https://github.com/ankane)) ### [`v1.0.174`](https://github.com/serde-rs/serde/releases/tag/v1.0.174) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.173...v1.0.174) - Documentation improvements ### [`v1.0.173`](https://github.com/serde-rs/serde/releases/tag/v1.0.173) [Compare Source](https://github.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 ([#&#8203;2516](https://github.com/serde-rs/serde/issues/2516)) ### [`v1.0.172`](https://github.com/serde-rs/serde/releases/tag/v1.0.172) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.171...v1.0.172) - Experiment with precompiling the serde_derive macros to reduce build time ([#&#8203;2514](https://github.com/serde-rs/serde/issues/2514)) ### [`v1.0.171`](https://github.com/serde-rs/serde/releases/tag/v1.0.171) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.170...v1.0.171) - Support `derive(Deserialize)` on unit structs that have const generics ([#&#8203;2500](https://github.com/serde-rs/serde/issues/2500), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan)) ### [`v1.0.170`](https://github.com/serde-rs/serde/releases/tag/v1.0.170) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.169...v1.0.170) - Produce error message on suffixed string literals inside serde attributes ([#&#8203;2242](https://github.com/serde-rs/serde/issues/2242)) - Support single identifier as unbraced default value for const generic parameter ([#&#8203;2449](https://github.com/serde-rs/serde/issues/2449)) ### [`v1.0.169`](https://github.com/serde-rs/serde/releases/tag/v1.0.169) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.168...v1.0.169) - Add Deserializer::deserialize_identifier support for adjacently tagged enums ([#&#8203;2475](https://github.com/serde-rs/serde/issues/2475), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan)) - Fix unused_braces lint in generated Deserialize impl that uses braced const generic expressions ([#&#8203;2414](https://github.com/serde-rs/serde/issues/2414)) ### [`v1.0.168`](https://github.com/serde-rs/serde/releases/tag/v1.0.168) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.167...v1.0.168) - Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)` field ([#&#8203;2436](https://github.com/serde-rs/serde/issues/2436), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Allow larger preallocated capacity for smaller elements ([#&#8203;2494](https://github.com/serde-rs/serde/issues/2494)) ### [`v1.0.167`](https://github.com/serde-rs/serde/releases/tag/v1.0.167) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.166...v1.0.167) - Add serialize and deserialize impls for `RangeFrom` and `RangeTo` ([#&#8203;2471](https://github.com/serde-rs/serde/issues/2471), thanks [@&#8203;tbu-](https://github.com/tbu-)) ### [`v1.0.166`](https://github.com/serde-rs/serde/releases/tag/v1.0.166) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.165...v1.0.166) - Add `no-alloc` category to crates.io metadata ### [`v1.0.165`](https://github.com/serde-rs/serde/releases/tag/v1.0.165) [Compare Source](https://github.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 ([#&#8203;2466](https://github.com/serde-rs/serde/issues/2466), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Fix `-Zminimal-versions` build ### [`v1.0.164`](https://github.com/serde-rs/serde/releases/tag/v1.0.164) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164) - Allowed enum variants to be individually marked as untagged ([#&#8203;2403](https://github.com/serde-rs/serde/issues/2403), thanks [@&#8203;dewert99](https://github.com/dewert99)) ### [`v1.0.163`](https://github.com/serde-rs/serde/releases/tag/v1.0.163) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163) - Eliminate build script from serde_derive crate to slightly reduce build time ([#&#8203;2442](https://github.com/serde-rs/serde/issues/2442), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) ### [`v1.0.162`](https://github.com/serde-rs/serde/releases/tag/v1.0.162) [Compare Source](https://github.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 ([#&#8203;2377](https://github.com/serde-rs/serde/issues/2377), thanks [@&#8203;mfro](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.161) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.160...v1.0.161) - Improve error messages produced by serde_test on test failure ([#&#8203;2435](https://github.com/serde-rs/serde/issues/2435), thanks [@&#8203;Mingun](https://github.com/Mingun)) ### [`v1.0.160`](https://github.com/serde-rs/serde/releases/tag/v1.0.160) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160) - Make derived serializer/deserializer internals `doc(hidden)` ([#&#8203;2426](https://github.com/serde-rs/serde/issues/2426), thanks [@&#8203;compiler-errors](https://github.com/compiler-errors)) ### [`v1.0.159`](https://github.com/serde-rs/serde/releases/tag/v1.0.159) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.158...v1.0.159) - Accept empty #\[serde()] attribute ([#&#8203;2422](https://github.com/serde-rs/serde/issues/2422)) ### [`v1.0.158`](https://github.com/serde-rs/serde/releases/tag/v1.0.158) [Compare Source](https://github.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)]` ([#&#8203;2409](https://github.com/serde-rs/serde/issues/2409)) ### [`v1.0.157`](https://github.com/serde-rs/serde/releases/tag/v1.0.157) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.156...v1.0.157) - Update syn dependency to 2.x ### [`v1.0.156`](https://github.com/serde-rs/serde/releases/tag/v1.0.156) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156) - Documentation improvements ### [`v1.0.155`](https://github.com/serde-rs/serde/releases/tag/v1.0.155) [Compare Source](https://github.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 ([#&#8203;2374](https://github.com/serde-rs/serde/issues/2374), thanks [@&#8203;safarir](https://github.com/safarir)) ### [`v1.0.154`](https://github.com/serde-rs/serde/releases/tag/v1.0.154) [Compare Source](https://github.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 ([#&#8203;2383](https://github.com/serde-rs/serde/issues/2383), thanks [@&#8203;Mingun](https://github.com/Mingun)) ### [`v1.0.153`](https://github.com/serde-rs/serde/releases/tag/v1.0.153) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.153) - Support `serde(alias = "…")` attribute used inside of flattened struct ([#&#8203;2387](https://github.com/serde-rs/serde/issues/2387), thanks [@&#8203;bebecue](https://github.com/bebecue)) ### [`v1.0.152`](https://github.com/serde-rs/serde/releases/tag/v1.0.152) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.151...v1.0.152) - Documentation improvements ### [`v1.0.151`](https://github.com/serde-rs/serde/releases/tag/v1.0.151) [Compare Source](https://github.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** ([#&#8203;2344](https://github.com/serde-rs/serde/issues/2344)) ### [`v1.0.150`](https://github.com/serde-rs/serde/releases/tag/v1.0.150) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150) - Relax some trait bounds from the `Serialize` impl of `HashMap` and `BTreeMap` ([#&#8203;2334](https://github.com/serde-rs/serde/issues/2334)) - Enable `Serialize` and `Deserialize` impls of `std::sync::atomic` types on more platforms ([#&#8203;2337](https://github.com/serde-rs/serde/issues/2337), thanks [@&#8203;badboy](https://github.com/badboy)) ### [`v1.0.149`](https://github.com/serde-rs/serde/releases/tag/v1.0.149) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149) - Relax some trait bounds from the `Serialize` impl of `BinaryHeap`, `BTreeSet`, and `HashSet` ([#&#8203;2333](https://github.com/serde-rs/serde/issues/2333), thanks [@&#8203;jonasbb](https://github.com/jonasbb)) ### [`v1.0.148`](https://github.com/serde-rs/serde/releases/tag/v1.0.148) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148) - Support `remote` derive for generic types that have private fields ([#&#8203;2327](https://github.com/serde-rs/serde/issues/2327)) ### [`v1.0.147`](https://github.com/serde-rs/serde/releases/tag/v1.0.147) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.146...v1.0.147) - Add `serde::de::value::EnumAccessDeserializer` which transforms an `EnumAccess` into a `Deserializer` ([#&#8203;2305](https://github.com/serde-rs/serde/issues/2305)) ### [`v1.0.146`](https://github.com/serde-rs/serde/releases/tag/v1.0.146) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.146) - Allow internally tagged newtype variant to contain unit ([#&#8203;2303](https://github.com/serde-rs/serde/issues/2303), thanks [@&#8203;tage64](https://github.com/tage64)) ### [`v1.0.145`](https://github.com/serde-rs/serde/releases/tag/v1.0.145) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145) - Allow RefCell\<T>, Mutex\<T>, and RwLock\<T> to be serialized regardless of whether T is `Sized` ([#&#8203;2282](https://github.com/serde-rs/serde/issues/2282), thanks [@&#8203;ChayimFriedman2](https://github.com/ChayimFriedman2)) ### [`v1.0.144`](https://github.com/serde-rs/serde/releases/tag/v1.0.144) [Compare Source](https://github.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 ([#&#8203;2263](https://github.com/serde-rs/serde/issues/2263), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) ### [`v1.0.143`](https://github.com/serde-rs/serde/releases/tag/v1.0.143) [Compare Source](https://github.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 ([#&#8203;2253](https://github.com/serde-rs/serde/issues/2253), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) ### [`v1.0.142`](https://github.com/serde-rs/serde/releases/tag/v1.0.142) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.141...v1.0.142) - Add keywords to crates.io metadata ### [`v1.0.141`](https://github.com/serde-rs/serde/releases/tag/v1.0.141) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.140...v1.0.141) - Add `no-std` category to crates.io metadata ### [`v1.0.140`](https://github.com/serde-rs/serde/releases/tag/v1.0.140) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140) - Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain ([#&#8203;2251](https://github.com/serde-rs/serde/issues/2251), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) ### [`v1.0.139`](https://github.com/serde-rs/serde/releases/tag/v1.0.139) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.138...v1.0.139) - Add `new` constructor function for all `IntoDeserializer` impls ([#&#8203;2246](https://github.com/serde-rs/serde/issues/2246)) ### [`v1.0.138`](https://github.com/serde-rs/serde/releases/tag/v1.0.138) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.137...v1.0.138) - Documentation improvements ### [`v1.0.137`](https://github.com/serde-rs/serde/releases/tag/v1.0.137) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.136...v1.0.137) - Update documentation links to some data formats whose repos have moved ([#&#8203;2201](https://github.com/serde-rs/serde/issues/2201), thanks [@&#8203;atouchet](https://github.com/atouchet)) - Fix declared `rust-version` of serde and serde_test ([#&#8203;2168](https://github.com/serde-rs/serde/issues/2168)) ### [`v1.0.136`](https://github.com/serde-rs/serde/releases/tag/v1.0.136) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.135...v1.0.136) - Improve default error message when `Visitor` fails to deserialize a u128 or i128 ([#&#8203;2167](https://github.com/serde-rs/serde/issues/2167)) ### [`v1.0.135`](https://github.com/serde-rs/serde/releases/tag/v1.0.135) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.134...v1.0.135) - Update discord channels listed in readme ### [`v1.0.134`](https://github.com/serde-rs/serde/releases/tag/v1.0.134) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.134) - Improve error messages on deserializing NonZero integers from a 0 value ([#&#8203;2158](https://github.com/serde-rs/serde/issues/2158)) ### [`v1.0.133`](https://github.com/serde-rs/serde/releases/tag/v1.0.133) [Compare Source](https://github.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 ([#&#8203;2148](https://github.com/serde-rs/serde/issues/2148)) ### [`v1.0.132`](https://github.com/serde-rs/serde/releases/tag/v1.0.132) [Compare Source](https://github.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 ([#&#8203;2141](https://github.com/serde-rs/serde/issues/2141), thanks [@&#8203;Avimitin](https://github.com/Avimitin)) ### [`v1.0.131`](https://github.com/serde-rs/serde/releases/tag/v1.0.131) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.131) - Avoid `unused_results` being triggered in generated code for adjacently tagged enum ([#&#8203;2116](https://github.com/serde-rs/serde/issues/2116), thanks [@&#8203;tyranron](https://github.com/tyranron)) ### [`v1.0.130`](https://github.com/serde-rs/serde/releases/tag/v1.0.130) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130) - Provide `MapAccess` and `SeqAccess` impl for reference to a dynamically sized existing impl ([#&#8203;2081](https://github.com/serde-rs/serde/issues/2081)) ### [`v1.0.129`](https://github.com/serde-rs/serde/releases/tag/v1.0.129) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.129) - Support deserialization of remote structs that used packed repr ([#&#8203;2078](https://github.com/serde-rs/serde/issues/2078), [#&#8203;2079](https://github.com/serde-rs/serde/issues/2079), [#&#8203;2080](https://github.com/serde-rs/serde/issues/2080)) ### [`v1.0.128`](https://github.com/serde-rs/serde/releases/tag/v1.0.128) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128) - Enable 128-bit integers on emscripten in Rust 1.40+ ([#&#8203;2076](https://github.com/serde-rs/serde/issues/2076), thanks [@&#8203;Manishearth](https://github.com/Manishearth)) ### [`v1.0.127`](https://github.com/serde-rs/serde/releases/tag/v1.0.127) [Compare Source](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.126) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126) - Resolve conflict with `forbid(future_incompatible)` lint setting in generated code ([#&#8203;2026](https://github.com/serde-rs/serde/issues/2026), thanks [@&#8203;hyd-dev](https://github.com/hyd-dev)) ### [`v1.0.125`](https://github.com/serde-rs/serde/releases/tag/v1.0.125) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.124...v1.0.125) - Improve performance of serializing `Ipv4Addr` ([#&#8203;2001](https://github.com/serde-rs/serde/issues/2001), thanks [@&#8203;saethlin](https://github.com/saethlin)) ### [`v1.0.124`](https://github.com/serde-rs/serde/releases/tag/v1.0.124) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.123...v1.0.124) - Fix possible panic deserializing invalid data as `SystemTime` ([#&#8203;1997](https://github.com/serde-rs/serde/issues/1997), thanks [@&#8203;cyang1](https://github.com/cyang1)) ### [`v1.0.123`](https://github.com/serde-rs/serde/releases/tag/v1.0.123) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.122...v1.0.123) - Support `Self` keywords in fields of types that derive Deserialize ([#&#8203;1830](https://github.com/serde-rs/serde/issues/1830), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) - Allow floats to be deserialized from ints in tagged unions ([#&#8203;1842](https://github.com/serde-rs/serde/issues/1842), thanks [@&#8203;Timmmm](https://github.com/Timmmm)) - Support `Self` inside fields that use serialize_with ([#&#8203;1970](https://github.com/serde-rs/serde/issues/1970)) ### [`v1.0.122`](https://github.com/serde-rs/serde/releases/tag/v1.0.122) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.121...v1.0.122) - Add IntoDeserializer impl for &\[u8] ([#&#8203;1898](https://github.com/serde-rs/serde/issues/1898), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys ([#&#8203;1914](https://github.com/serde-rs/serde/issues/1914), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Add attribute to override default deserialization failure expectation message ([#&#8203;1916](https://github.com/serde-rs/serde/issues/1916), thanks [@&#8203;Mingun](https://github.com/Mingun)) ```rust #[derive(Deserialize)] #[serde(untagged, expecting = "single version or array of versions")] struct VersionSpec { One(Version), Many(Vec<Version>), } ``` - Improve `serde_test` handling of map entries and error message construction ([#&#8203;1918](https://github.com/serde-rs/serde/issues/1918), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Produce more accurate location information on test failures from `serde_test` crate ([#&#8203;1920](https://github.com/serde-rs/serde/issues/1920), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Improve diagnostic on failure to parse a `rename_all` attribute ([#&#8203;1960](https://github.com/serde-rs/serde/issues/1960), [#&#8203;1961](https://github.com/serde-rs/serde/issues/1961)) - Eliminate unnecessary trait bounds on some value Deserializer impls ([#&#8203;1963](https://github.com/serde-rs/serde/issues/1963)) ### [`v1.0.121`](https://github.com/serde-rs/serde/releases/tag/v1.0.121) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.120...v1.0.121) - Support borrowed data during deserialization of a field identifier ([#&#8203;1917](https://github.com/serde-rs/serde/issues/1917), thanks [@&#8203;Mingun](https://github.com/Mingun)) - Fix panic when deserializing `Duration` with nanoseconds that cause the seconds counter to overflow ([#&#8203;1958](https://github.com/serde-rs/serde/issues/1958), thanks [@&#8203;jonasbb](https://github.com/jonasbb)) ### [`v1.0.120`](https://github.com/serde-rs/serde/releases/tag/v1.0.120) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.119...v1.0.120) - Fix deserialization of ignored fields containing 128-bit integer ([#&#8203;1955](https://github.com/serde-rs/serde/issues/1955), thanks [@&#8203;TheJokr](https://github.com/TheJokr)) ### [`v1.0.119`](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.119) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.119) ### [`v1.0.118`](https://github.com/serde-rs/serde/releases/tag/v1.0.118) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118) - Support serialization of core::num::Wrapping in no_std mode ([#&#8203;1926](https://github.com/serde-rs/serde/issues/1926), thanks [@&#8203;attente](https://github.com/attente)) ### [`v1.0.117`](https://github.com/serde-rs/serde/releases/tag/v1.0.117) [Compare Source](https://github.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) ### [`v1.0.116`](https://github.com/serde-rs/serde/releases/tag/v1.0.116) [Compare Source](https://github.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 ([#&#8203;1888](https://github.com/serde-rs/serde/issues/1888), thanks [@&#8203;joshtriplett](https://github.com/joshtriplett)) ### [`v1.0.115`](https://github.com/serde-rs/serde/releases/tag/v1.0.115) [Compare Source](https://github.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 `()` ([#&#8203;1873](https://github.com/serde-rs/serde/issues/1873)) ### [`v1.0.114`](https://github.com/serde-rs/serde/releases/tag/v1.0.114) [Compare Source](https://github.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)` ([#&#8203;1813](https://github.com/serde-rs/serde/issues/1813), thanks [@&#8203;TannerRogalsky](https://github.com/TannerRogalsky)) ### [`v1.0.113`](https://github.com/serde-rs/serde/releases/tag/v1.0.113) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.113) - Improve diagnostic when a serde trait is not implemented ([#&#8203;1827](https://github.com/serde-rs/serde/issues/1827), thanks [@&#8203;taiki-e](https://github.com/taiki-e)) ### [`v1.0.112`](https://github.com/serde-rs/serde/releases/tag/v1.0.112) [Compare Source](https://github.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 ([#&#8203;1837](https://github.com/serde-rs/serde/issues/1837)) ### [`v1.0.111`](https://github.com/serde-rs/serde/releases/tag/v1.0.111) [Compare Source](https://github.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 }` ([#&#8203;1821](https://github.com/serde-rs/serde/issues/1821)) ### [`v1.0.110`](https://github.com/serde-rs/serde/releases/tag/v1.0.110) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.109...v1.0.110) - Support deriving Serialize impl for a `repr(packed)` struct ([#&#8203;1791](https://github.com/serde-rs/serde/issues/1791), thanks [@&#8203;alvardes](https://github.com/alvardes)) ### [`v1.0.109`](https://github.com/serde-rs/serde/releases/tag/v1.0.109) [Compare Source](https://github.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 ([#&#8203;1553](https://github.com/serde-rs/serde/issues/1553), [#&#8203;1706](https://github.com/serde-rs/serde/issues/1706), thanks [@&#8203;zth0](https://github.com/zth0)) - Avoid panicking when a SystemTime older than UNIX_EPOCH is serialized ([#&#8203;1702](https://github.com/serde-rs/serde/issues/1702), thanks [@&#8203;hjiayz](https://github.com/hjiayz)) ### [`v1.0.108`](https://github.com/serde-rs/serde/releases/tag/v1.0.108) [Compare Source](https://github.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` ([#&#8203;1705](https://github.com/serde-rs/serde/issues/1705), thanks [@&#8203;jethrogb](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.107) [Compare Source](https://github.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 ([#&#8203;1804](https://github.com/serde-rs/serde/issues/1804)) ### [`v1.0.106`](https://github.com/serde-rs/serde/releases/tag/v1.0.106) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.105...v1.0.106) - Hide dummy const implementation detail from rustdoc when documenting a binary crate ([#&#8203;1768](https://github.com/serde-rs/serde/issues/1768), thanks [@&#8203;robo9k](https://github.com/robo9k)) ### [`v1.0.105`](https://github.com/serde-rs/serde/releases/tag/v1.0.105) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.104...v1.0.105) - Allow #\[serde(borrow)] to work on non-standard `Cow` types ([#&#8203;1754](https://github.com/serde-rs/serde/issues/1754), thanks [@&#8203;maciejhirsz](https://github.com/maciejhirsz)) ### [`v1.0.104`](https://github.com/serde-rs/serde/releases/tag/v1.0.104) [Compare Source](https://github.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 ### [`v1.0.103`](https://github.com/serde-rs/serde/releases/tag/v1.0.103) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.102...v1.0.103) - Support deserializing untagged unit variants from formats that treat unit as None ([#&#8203;1668](https://github.com/serde-rs/serde/issues/1668)) ### [`v1.0.102`](https://github.com/serde-rs/serde/releases/tag/v1.0.102) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102) - Support deserializing `PathBuf` from bytes like `&Path` already did, and support deserializing `Box<Path>` ([#&#8203;1656](https://github.com/serde-rs/serde/issues/1656), thanks [@&#8203;heftig](https://github.com/heftig)) ### [`v1.0.101`](https://github.com/serde-rs/serde/releases/tag/v1.0.101) [Compare Source](https://github.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 ([#&#8203;1617](https://github.com/serde-rs/serde/issues/1617), thanks [@&#8203;arilotter](https://github.com/arilotter)) - Support skip attribute inside of newtype variants ([#&#8203;1622](https://github.com/serde-rs/serde/issues/1622), thanks [@&#8203;Xaeroxe](https://github.com/Xaeroxe)) ### [`v1.0.100`](https://github.com/serde-rs/serde/releases/tag/v1.0.100) [Compare Source](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.99) [Compare Source](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.98) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.97...v1.0.98) - Add support for NonZeroI\* types ([#&#8203;1589](https://github.com/serde-rs/serde/issues/1589), thanks [@&#8203;Flaise](https://github.com/Flaise)) ### [`v1.0.97`](https://github.com/serde-rs/serde/releases/tag/v1.0.97) [Compare Source](https://github.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) ([#&#8203;1526](https://github.com/serde-rs/serde/issues/1526), thanks [@&#8203;fanzeyi](https://github.com/fanzeyi)) ```rust #[derive(Deserialize)] #[serde(try_from = "u32")] enum N { Zero, One, Two, } impl TryFrom<u32> for N { type Error = String; fn try_from(u: u32) -> Result<Self, Self::Error> { 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://github.com/serde-rs/serde/releases/tag/v1.0.96) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.95...v1.0.96) - Implement serialization and deserialization for std::sync::atomic types ([#&#8203;1572](https://github.com/serde-rs/serde/issues/1572) and [#&#8203;1581](https://github.com/serde-rs/serde/issues/1581), thanks [@&#8203;Roguelazer](https://github.com/Roguelazer)) - Make "alloc" feature work on stable Rust 1.36+ ([#&#8203;1576](https://github.com/serde-rs/serde/issues/1576), thanks [@&#8203;c410-f3r](https://github.com/c410-f3r)) ### [`v1.0.95`](https://github.com/serde-rs/serde/releases/tag/v1.0.95) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.94...v1.0.95) *yanked* ### [`v1.0.94`](https://github.com/serde-rs/serde/releases/tag/v1.0.94) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.93...v1.0.94) - Accept enums in input data when deserializing IgnoredAny ([#&#8203;1558](https://github.com/serde-rs/serde/issues/1558)) ### [`v1.0.93`](https://github.com/serde-rs/serde/releases/tag/v1.0.93) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.92...v1.0.93) - Allow integer keys in untagged flattened map ([#&#8203;1545](https://github.com/serde-rs/serde/issues/1545)) ### [`v1.0.92`](https://github.com/serde-rs/serde/releases/tag/v1.0.92) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.91...v1.0.92) - Support using `serde(flatten)` in no_std + alloc mode ([#&#8203;1543](https://github.com/serde-rs/serde/issues/1543), thanks [@&#8203;jplatte](https://github.com/jplatte)) ### [`v1.0.91`](https://github.com/serde-rs/serde/releases/tag/v1.0.91) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91) - Support deserializing from MapAccessDeserializer into an enum ([#&#8203;1522](https://github.com/serde-rs/serde/issues/1522)) ### [`v1.0.90`](https://github.com/serde-rs/serde/releases/tag/v1.0.90) [Compare Source](https://github.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 ([#&#8203;1499](https://github.com/serde-rs/serde/issues/1499), thanks [@&#8203;sgrif](https://github.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://github.com/serde-rs/serde/releases/tag/v1.0.89) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.88...v1.0.89) - Implement Serialize and Deserialize for core::cmp::Reverse\<T> ([#&#8203;1486](https://github.com/serde-rs/serde/issues/1486), thanks [@&#8203;vorot93](https://github.com/vorot93)) - Fix a Clippy lint triggered within generated code involving flatten + deny_unknown_fields ([#&#8203;1492](https://github.com/serde-rs/serde/issues/1492), thanks [@&#8203;thomaseizinger](https://github.com/thomaseizinger)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->
kjuulh added 1 commit 2023-09-24 01:31:17 +02:00
kjuulh force-pushed renovate/all from 8aab18c424 to f3e86eca59 2023-09-24 11:06:21 +02:00 Compare
kjuulh force-pushed renovate/all from f3e86eca59 to de78b3c02c 2023-09-24 12:39:10 +02:00 Compare
kjuulh force-pushed renovate/all from de78b3c02c to aa592de935 2023-09-24 14:16:54 +02:00 Compare
kjuulh force-pushed renovate/all from aa592de935 to d840ce6afd 2023-09-24 16:45:04 +02:00 Compare
kjuulh force-pushed renovate/all from d840ce6afd to b60a5aa03f 2023-09-24 21:14:33 +02:00 Compare
kjuulh added 1 commit 2023-09-24 22:06:26 +02:00
kjuulh merged commit 8a6e5c7ac0 into main 2023-09-24 22:06:39 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/crunch#2
No description provided.