Skip to content

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

prost 0.5.0 should be mostly source-compatible with version 0.4.0, with one exception: prost 0.4.0 escapes field and message names which are Rust keyword by appending a suffix underscore; prost 0.5.0 does not escape field or message names, instead using the new raw-identifier feature. In addition, the minimum rustc version has been bumped to 1.32.0.

0.5.0 ships with new features and bug fixes:

  • @adeschamps fixed a bug which caused enum fields with a default value whose prefix is stripped to be incorrectly generated.
  • @danburkert added an option for overriding the code-generation output directory with a new prost_build::Config::out_dir() method.
  • @danburkert added a re-export of prost-derive types in prost. As a result, it should no longer be necessary for applications to depend directly on the prost-derive crate.
  • @ebkalderon, @trha, and @danburkert added support to the code generator for referencing prost generated types in external crates with a new prost_build::Config::extern_path() method.
  • @jeffparsons made code generation more robust by always fully-qualifying standard library types.
  • @nrc added support for generating edition-2018 compatible code.

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

  • Anthony Deschamps
  • Dan Burkert
  • Eliza Weisman
  • Eyal Kalderon
  • Jeff Parsons
  • Nick Cameron
  • Sebastian Hahn
  • Timothy Hobbs
  • Trinh Hoang Anh
Assets 2
You can’t perform that action at this time.