Skip to content

v0.6.0

Compare
Choose a tag to compare
@danburkert danburkert released this 13 Jan 01:15
· 280 commits to master since this release

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