Skip to content

Releases: tokio-rs/prost

v0.11.0

29 Jul 19:59
4459a1e
Compare
Choose a tag to compare

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

24 May 15:51
c2d70d9
Compare
Choose a tag to compare

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

05 May 15:55
48160ef
Compare
Choose a tag to compare

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

05 May 14:22
4a41329
Compare
Choose a tag to compare

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

13 Apr 15:00
8209f8a
Compare
Choose a tag to compare

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

31 Mar 17:34
8422b80
Compare
Choose a tag to compare

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

13 Oct 21:17
Compare
Choose a tag to compare

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

08 Jul 14:37
Compare
Choose a tag to compare

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

27 Dec 23:27
Compare
Choose a tag to compare

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

16 Jan 17:49
Compare
Choose a tag to compare

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