v0.6.0
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 now0.5
. - The prost-types
Timestamp
andDuration
types now implTryFrom
for their
std::time
equivalents. The old inherenttry_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 newno-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 useprost
code generation are no
longer required to declare abytes
dependency. - @ErichDonGubler and @hobofan bumped the
syn
,quote
, andproc-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 likecargo watch
in
codebases withprost
code generation. - @Hirevo replaced usage of
failure
withanyhow
. - @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