v0.13.0
PROST version 0.13.0
PROST! is a Protocol Buffers implementation for the Rust Language. prost
generates simple, idiomatic Rust code from proto2
and proto3
files.
This major update brings new features and fixes:
Breaking changes
-
derive Copy trait for messages where possible (#950)
prost-build
will automatically derivetrait Copy
for some messages. If you manually implementCopy
you should remove your implementation. -
Change generated functions signatures to remove type parameters (#1045)
The function signature of
trait Message
is changed to useimpl Buf
instead of a named generic type. If you implementtrait Message
, you should change the function signature. -
Lightweight error value in TryFrom for enums (#1010)
When a
impl TryFrom<i32>
is generated byprost
derive macros, it will now return the error typeUnknownEnumValue
instead ofDecodeError
. The new error can be used to retreive the integer value that failed to convert.
Features
-
fix: Only touch include file if contents is changed (#1058)
Most generated files are untouched when the contents doesn't change. Use the same mechanism for include file as well.
Dependencies
- update env_logger requirement from 0.10 to 0.11 (#1074)
- update criterion requirement from 0.4 to 0.5 (#1071)
- Remove unused libz-sys (#1077)
- build(deps): update itertools requirement from >=0.10, <=0.12 to >=0.10, <=0.13 (#1070)
Documentation
- better checking of tag duplicates, avoid discarding invalid variant errs (#951)
- docs: Fix broken link warnings (#1056)
- Add missing LICENSE symlink (#1086)
Internal
- workspace package metadata (#1036)
- fix: Build error due to merge conflict (#1068)
- build: Fix release scripts (#1055)
- chore: Add ci to check MSRV (#1057)
- ci: Add all tests pass job (#1069)
- ci: Add Dependabot (#957)
- ci: Ensure both README are the same and prost version is correct (#1078)
- ci: Set rust version of clippy job to a fixed version (#1090)