Skip to content

Releases: tokio-rs/prost

v0.13.1

09 Jul 13:32
f19104a
Compare
Choose a tag to compare

Prost version 0.13.1

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

Bug fixes

  • Enum variant named Error causes ambiguous item (#1098)

v0.13.0

08 Jul 17:14
23f7174
Compare
Choose a tag to compare

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 derive trait Copy for some messages. If you manually implement Copy you should remove your implementation.

  • Change generated functions signatures to remove type parameters (#1045)

    The function signature of trait Message is changed to use impl Buf instead of a named generic type. If you implement trait Message, you should change the function signature.

  • Lightweight error value in TryFrom for enums (#1010)

    When a impl TryFrom<i32> is generated by prost derive macros, it will now return the error type UnknownEnumValue instead of DecodeError. 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)

v0.12.6

31 May 15:47
d42c85e
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 patch update fixes a regression:

  • fix(prost-build): re-export error_message_protoc_not_found, protoc_from_env & protoc_include_from_env (#1063)

v0.12.5

31 May 15:47
26405ab
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 patch update brings new fixes:

  • fix: include_file should handle proto without package (#1002)
  • Place Config::format behind the format feature flag
  • Handle keyword Self after stripping enum type prefix (#998)

Documentation

  • fix(readme): fix the link and badge for CI (#1049)

Internal

  • style(codegen): Syntax to a separate file (#1029)
  • chore(codegen): extract c string escaping to a separate file (#1028)
  • style(prost-build): CodeGenerator::boxed method (#1019)
  • style(prost-build): Consolidate field data into struct (#1017)
  • style(prost-build): BytesType and MapType into a collections module. (#1030)
  • style(prost-build): Split Config and Module into a separate module and files (#1020)
  • style(prost-build): prost_path helper (#1018)
  • style: Fix toml indent (#1048)
  • style: Fix clippy warnings and enable clippy in CI (#1008)
  • build: Use git submodule to download protobuf sources (#1014)
  • ci: Add TOML validation with taplo (#1034)
  • tests: Create a separate tempdir for each test (#1044)
  • tests: Remove GoogleMessage3 and GoogleMessage4 benchmarks (#1037)
  • chore: Update internal crates to Rust edition 2021 (#1039)
  • chore: Update crate descriptions (#1038)
  • chore: Fix clippy checks in CI (#1032)
  • chore: Add Casper Meijn as author (#1025)

v0.12.4

05 Apr 16:41
38a00d8
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 patch update brings new features and fixes:

  • Bump MSRV to 1.70 (minimum supported Rust version)
  • Rename cargo feature prost-derive to derive (#992)
  • Add @generated comment on top of generated files (#935)
  • Optimize implementation of prost::Name when generated by prost-build (#956)

Dependencies

  • build(deps): Allow itertools 0.12 (#948)
  • build(deps): Allow heck 0.5 (#1012)
  • build(deps): Allow multimap 0.10 (#1013)

Documentation

  • Improve protoc not found error message (#937)
  • build: Add development container config (#949)
  • docs: Fixed README typos (#952 / #967 / #970)

Internal

  • chore: Fix minimal versions (#920)
  • fix: fq_message_name should begin with one dot (#981)
  • improve encode_varint performance by bounding its loop (#940)
  • style: Remove duplicate function call (#989)
  • test: Improve test decode_varint_slow (#977)
  • chore: Add dep: prefix to feature dependencies (#919)
  • Minor clippy lint fixes. (#1006)
  • chore: Use taiki-e/install-action to setup cargo-machete (#909)
  • chore: Remove which dependency. (#962)
  • chore: Update to actions/checkout@v4 (#910)

v0.12.3

21 Nov 19:36
907e9f6
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 patch updates brings a few new fixes:

v0.12.2

16 Nov 16:13
3cf34f0
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 patch updates brings a few new features and fixes:

  • feat: Generate implementation for Name trait (#931)
  • fix: generate Name::full_name properly (#923)

v0.12.0

01 Sep 15:20
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 patch updates brings a few new features and fixes:

  • Bump syn to version 2
  • Bump MSRV to 1.64
  • Added TryFrom<i32> for enums
  • Optional debug implementations
  • Initial generic Any and Name impl/traits.

v0.11.9

12 Apr 18:25
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 patch updates brings a few new features and fixes:

  • build: Support boxing fields via Config::boxed (#802)

v0.11.8

25 Feb 00:28
d5395ba
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 patch updates brings a few new features and fixes:

  • types: Fix unintentional change in compiler module visibility #824

prost-types 0.11.7 was yanked due to the above unintentional semver breakage.