Releases: tokio-rs/prost
v0.10.4
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
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
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
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
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
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
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
'sFrom
implementation for converting intoSystemTime
has been converted to a fallibleTryFrom
implementation.prost-build
'scompile_protos
now takesimpl AsRef<Path>
to allow each parameter to use its own generic type.- Bundled
protoc
version bumped to3.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
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 protobufbytes
fields. When deserializing from aBytes
instance, this enables zero-copy deserialization forbytes
fields! - @olix0r bumped the
bytes
dependency to 0.6, which included most of the heavy lifting for the subsequent move tobytes
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
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
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