fix(deps): update rust crate prost to 0.14.0 #70

Open
renovate-bot wants to merge 1 commit from renovate/tokio-prost-monorepo into master
Member

This PR contains the following updates:

Package Type Update Change
prost dependencies minor 0.12.3 -> 0.14.0

Release Notes

tokio-rs/prost (prost)

v0.14.1

Compare Source

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

⚠️ Revert emission of rerun commands

Version 0.14.1 reverts the emission of rerun commands. Other than this change, it is identical to 0.14.0.

In version 0.14.0, prost-build began emitting rerun commands. While intended to improve build correctness, this change caused regressions for some users—for example, those generating protos from an includes directory. These edge cases are difficult to address reliably, so the change has been rolled back in 0.14.1.

For more details, see issue #​1296.

Breaking changes

  • prost: Relax Message Debug trait bound (#​1147)

    BREAKING CHANGE: trait Debug was a supertrait of trait Message. This is no longer required by prost. If your code relies on trait Debug being implemented for every impl Message, you must now explicitly state that you require both Debug and Message. For example: where M: Debug + Message

  • prost: Remove prost-derive feature (#​1247)

    BREAKING CHANGE: Feature flag prost-derive is renamed to derive. Please rename any usage of prost-derive feature in your Cargo.toml.

  • prost-build: Prevent repeated fields to be boxed (#​1237)

    BREAKING CHANGE: A repeated field that is manually marked as boxed was typed as Vec<Box<T>>. Those fields are now simply typed as Vec<T> to prevent double indirection. The boxed configuration is effectively ignored for repeated fields.

  • prost-build: Make type_name_domain cumulative (#​1228)

    BREAKING CHANGE: The configuration for domain names of messages is now cumulative. All calls to prost_build::Config::type_name_domain are now concatenated. The previous behavior was that only the arguments of the last call were used. If you do multiple calls to type_name_domain, you need to remove all but the last call to maintain the same behavior.

  • prost-build: Derive Eq and Hash trait for messages where possible (#​1175)

    BREAKING CHANGE: prost-build will automatically derive trait Eq and trait Hash for types where all field support those as well. If you manually impl Eq and/or impl Hash for generated types, then you need to remove the manual implementation. If you use type_attribute to derive(Eq) and/or derive(Hash), then you need to remove those.

Features

  • prost-types: Implement conversion Duration to/from chrono::TimeDelta (#​1236)
  • prost-build: Prepare for 2024 keyword gen (#​1257)

Dependencies

  • (deps) Update pulldown-cmark to 0.13 (#​1259)
  • (deps) update criterion requirement from 0.5 to 0.6 (#​1280)

Documentation

  • Update dead link LICENSE in prost-types/README.md (#​1262)

Styling

Testing

  • Run tests using edition 2024 (#​1254)
  • Run clippy with edition 2024 enabled (#​1256)

v0.14.0

Compare Source

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

Breaking changes

  • prost: Relax Message Debug trait bound (#​1147)

    BREAKING CHANGE: trait Debug was a supertrait of trait Message. This is no longer required by prost. If your code relies on trait Debug being implemented for every impl Message, you must now explicitly state that you require both Debug and Message. For example: where M: Debug + Message

  • prost: Remove prost-derive feature (#​1247)

    BREAKING CHANGE: Feature flag prost-derive is renamed to derive. Please rename any usage of prost-derive feature in your Cargo.toml.

  • prost-build: Emit rerun commands (#​1140)

    BREAKING CHANGE: Previously cargo assumed it had to rerun build.rs if any files in the project changed. prost-build will now emit rerun commands, which means only the explicitly marked files cause a rerun. If your build.rs is dependent on any other file paths than those given to prost-build, then your build.rs needs to emit rerun commands as well.

  • prost-build: Prevent repeated fields to be boxed (#​1237)

    BREAKING CHANGE: A repeated field that is manually marked as boxed was typed as Vec<Box<T>>. Those fields are now simply typed as Vec<T> to prevent double indirection. The boxed configuration is effectively ignored for repeated fields.

  • prost-build: Make type_name_domain cumulative (#​1228)

    BREAKING CHANGE: The configuration for domain names of messages is now cumulative. All calls to prost_build::Config::type_name_domain are now concatenated. The previous behavior was that only the arguments of the last call were used. If you do multiple calls to type_name_domain, you need to remove all but the last call to maintain the same behavior.

  • prost-build: Derive Eq and Hash trait for messages where possible (#​1175)

    BREAKING CHANGE: prost-build will automatically derive trait Eq and trait Hash for types where all field support those as well. If you manually impl Eq and/or impl Hash for generated types, then you need to remove the manual implementation. If you use type_attribute to derive(Eq) and/or derive(Hash), then you need to remove those.

Features

  • prost-types: Implement conversion Duration to/from chrono::TimeDelta (#​1236)
  • prost-build: Prepare for 2024 keyword gen (#​1257)

Dependencies

  • (deps) Update pulldown-cmark to 0.13 (#​1259)
  • (deps) update criterion requirement from 0.5 to 0.6 (#​1280)

Documentation

  • Update dead link LICENSE in prost-types/README.md (#​1262)

Styling

Testing

  • Run tests using edition 2024 (#​1254)
  • Run clippy with edition 2024 enabled (#​1256)

v0.13.5

Compare Source

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

Features

  • prost-types: Derive Arbitrary (#​1188)

Documentation

  • Use intra doc links instead of HTML tags (#​1219)

Dependencies

  • Update pulldown-cmark-to-cmark requirement from >=16, <=19 to >=16, <=20 (#​1206)
  • Update itertools requirement from >=0.10, <=0.13 to >=0.10, <=0.14 (#​1222)
  • Update petgraph requirement to include 0.7 (#​1226)
  • Update rand requirement from 0.8 to 0.9 (#​1233)
  • Bump clippy to 1.83 (#​1220)
  • Update flake.lock (#​1216)

Styling

Testing

  • default_enum_value: Move tests to separate module (#​1198)
  • nesting: Move tests to separate module (#​1218)
  • recursive_oneof: Move tests to separate module (#​1225)
  • boxed_field: Box an oneof field (#​1235)
  • groups: Move tests to separate module (#​1234)
  • default_string_escape: Move tests to separate module (#​1239)
  • Move DecodeError tests closer to the implementation (#​1227)

v0.13.4

Compare Source

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

Features

  • Impl Name for Protobuf well-known wrapper types (#​1174)

Performance

  • NonZeroU64 to optimize encoded_len_varint (#​1192)

Dependencies

  • Remove unused bytes dependency from prost-build (#​1169)
  • Update pulldown-cmark-to-cmark requirement from >=16, <=17 to >=16, <=18 (#​1173)
  • Update pulldown-cmark-to-cmark requirement from >=16, <=18 to >=16, <=19 (#​1195)
  • Update protobuf to v25.3 (#​1165)
  • Update protobuf to v25.4 (#​1176)

Styling

  • Remove explicit lifetimes (#​1180)
  • Remove unnecessary empty line after document (#​1181)

Testing

  • (boxed_field) Confirm Foo::bar is boxed (#​1168)
  • Move build.rs to standard location (#​1167)
  • (custom_debug) Merge skip_debug into custom_debug (#​1178)
  • Rename invalid_doctest to disable_comments (#​1183)
  • (custom_attributes) Move module to separate file (#​1187)

Build

  • Bump clippy version to 1.82 (#​1182)
  • Restrict permissions of GITHUB_TOKEN (#​1189)

v0.13.3

Compare Source

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

Features
  • (prost-types) Add normalized functions (#​1158)
Bug Fixes
  • (prost-build) Remove derived(Copy) on boxed fields (#​1157)
Documentation
  • (prost-types) Add description of using Any (#​1141)
  • (prost-build) Use cargo add in example (#​1149)
Styling
  • Use Path::display() when printing a path (#​1150)
  • MessageGraph::new() can't actually fail (#​1151)
  • (generated-code) Use Self in as_str_name (#​1154)
Testing
  • Actually test skip_debug for prost::Oneof (#​1148)
  • (prost-build) Validate error texts (#​1152)
  • (prost-build) Fix error texts (#​1156)
Build
  • Increase MSRV to 1.71.1 (#​1135)
  • (deps) Update pulldown-cmark to 0.12 and pulldown-cmark-to-cmark to 16 (#​1144)
  • (protobuf) Compile and install protoc on Windows (#​1145)
  • (protobuf) Use same protoc from same repo as .proto-files (#​1136)
  • (deps) Update pulldown-cmark-to-cmark from 16 to 17 (#​1155)
  • Unify assert on fixtures (#​1142)

v0.13.2

Compare Source

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

Features

  • prost-build: Add protoc executable path to Config (#​1126)
  • prost-build: Extract file descriptor loading from compile_protos() (#​1067)

Bug Fixes

  • prost-types: Fix date-time parsing (#​1096)
  • prost-types: '+' is not a numeric digit (#​1104)
  • prost-types: Converting DateTime to Timestamp is fallible (#​1095)
  • prost-types: Parse timestamp with long second fraction (#​1106)
  • prost-types: Format negative fractional duration (#​1110)
  • prost-types: Allow unknown local time offset (#​1109)

Styling

  • Remove use of legacy numeric constants (#​1089)
  • Move encoding functions into separate modules (#​1111)
  • Remove needless borrow (#​1122)

Testing

  • Add tests for public interface of DecodeError (#​1120)
  • Add parse_date fuzzing target (#​1127)
  • Fix build without std (#​1134)
  • Change some proptest to kani proofs (#​1133)
  • Add parse_duration fuzzing target (#​1129)
  • fuzz: Fix building of fuzzing targets (#​1107)
  • fuzz: Add fuzz targets to workspace (#​1117)

Miscellaneous Tasks

  • Move old protobuf benchmark into prost (#​1100)
  • Remove allow clippy::derive_partial_eq_without_eq (#​1115)
  • Run cargo test without all-targets (#​1118)
  • dependabot: Add github actions (#​1121)
  • Update to cargo clippy version 1.80 (#​1128)

Build

  • Use proc-macro in Cargo.toml (#​1102)
  • Ignore missing features in tests crates (#​1101)
  • Use separated build directory for protobuf (#​1103)
  • protobuf: Don't install unused test proto (#​1116)
  • protobuf: Use crate cmake (#​1137)
  • deps: Update devcontainer to Debian Bookworm release (#​1114)
  • deps: Bump actions/upload-artifact from 3 to 4 (#​1123)
  • deps: Bump baptiste0928/cargo-install from 2 to 3 (#​1124)
  • deps: bump model-checking/kani-github-action from 0.32 to 1.1 (#​1125)

v0.13.1

Compare Source

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

Compare Source

note: this version was yanked in favor of 0.13.1

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)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [prost](https://github.com/tokio-rs/prost) | dependencies | minor | `0.12.3` -> `0.14.0` | --- ### Release Notes <details> <summary>tokio-rs/prost (prost)</summary> ### [`v0.14.1`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0141) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.14.0...v0.14.1) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### ⚠️ Revert emission of `rerun` commands Version 0.14.1 reverts the emission of `rerun` commands. Other than this change, it is identical to 0.14.0. In version 0.14.0, `prost-build` began emitting `rerun` commands. While intended to improve build correctness, this change caused regressions for some users—for example, those generating `protos` from an `includes` directory. These edge cases are difficult to address reliably, so the change has been rolled back in 0.14.1. For more details, see [issue #&#8203;1296](https://github.com/tokio-rs/prost/issues/1296). #### Breaking changes - prost: Relax Message Debug trait bound ([#&#8203;1147](https://github.com/tokio-rs/prost/issues/1147)) BREAKING CHANGE: `trait Debug` was a supertrait of `trait Message`. This is no longer required by `prost`. If your code relies on `trait Debug` being implemented for every `impl Message`, you must now explicitly state that you require both Debug and Message. For example: `where M: Debug + Message` - prost: Remove prost-derive feature ([#&#8203;1247](https://github.com/tokio-rs/prost/issues/1247)) BREAKING CHANGE: Feature flag `prost-derive` is renamed to `derive`. Please rename any usage of `prost-derive` feature in your `Cargo.toml`. - prost-build: Prevent repeated fields to be boxed ([#&#8203;1237](https://github.com/tokio-rs/prost/issues/1237)) BREAKING CHANGE: A repeated field that is manually marked as boxed was typed as `Vec<Box<T>>`. Those fields are now simply typed as `Vec<T>` to prevent double indirection. The `boxed` configuration is effectively ignored for repeated fields. - prost-build: Make `type_name_domain` cumulative ([#&#8203;1228](https://github.com/tokio-rs/prost/issues/1228)) BREAKING CHANGE: The configuration for domain names of messages is now cumulative. All calls to `prost_build::Config::type_name_domain` are now concatenated. The previous behavior was that only the arguments of the last call were used. If you do multiple calls to type\_name\_domain, you need to remove all but the last call to maintain the same behavior. - prost-build: Derive Eq and Hash trait for messages where possible ([#&#8203;1175](https://github.com/tokio-rs/prost/issues/1175)) BREAKING CHANGE: `prost-build` will automatically derive `trait Eq` and `trait Hash` for types where all field support those as well. If you manually `impl Eq` and/or `impl Hash` for generated types, then you need to remove the manual implementation. If you use `type_attribute` to `derive(Eq)` and/or `derive(Hash)`, then you need to remove those. #### Features - prost-types: Implement conversion `Duration` to/from `chrono::TimeDelta` ([#&#8203;1236](https://github.com/tokio-rs/prost/issues/1236)) - prost-build: Prepare for 2024 keyword `gen` ([#&#8203;1257](https://github.com/tokio-rs/prost/issues/1257)) #### Dependencies - *(deps)* Update pulldown-cmark to 0.13 ([#&#8203;1259](https://github.com/tokio-rs/prost/issues/1259)) - *(deps)* update criterion requirement from 0.5 to 0.6 ([#&#8203;1280](https://github.com/tokio-rs/prost/issues/1280)) #### Documentation - Update dead link LICENSE in `prost-types/README.md` ([#&#8203;1262](https://github.com/tokio-rs/prost/issues/1262)) #### Styling - Use DoubleEndedIterator::next\_back ([#&#8203;1255](https://github.com/tokio-rs/prost/issues/1255)) - Fix typo ([#&#8203;1260](https://github.com/tokio-rs/prost/issues/1260)) #### Testing - Run tests using edition 2024 ([#&#8203;1254](https://github.com/tokio-rs/prost/issues/1254)) - Run clippy with edition 2024 enabled ([#&#8203;1256](https://github.com/tokio-rs/prost/issues/1256)) ### [`v0.14.0`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0140) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.5...v0.14.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### Breaking changes - prost: Relax Message Debug trait bound ([#&#8203;1147](https://github.com/tokio-rs/prost/issues/1147)) BREAKING CHANGE: `trait Debug` was a supertrait of `trait Message`. This is no longer required by `prost`. If your code relies on `trait Debug` being implemented for every `impl Message`, you must now explicitly state that you require both Debug and Message. For example: `where M: Debug + Message` - prost: Remove prost-derive feature ([#&#8203;1247](https://github.com/tokio-rs/prost/issues/1247)) BREAKING CHANGE: Feature flag `prost-derive` is renamed to `derive`. Please rename any usage of `prost-derive` feature in your `Cargo.toml`. - prost-build: Emit `rerun` commands ([#&#8203;1140](https://github.com/tokio-rs/prost/issues/1140)) BREAKING CHANGE: Previously `cargo` assumed it had to rerun `build.rs` if any files in the project changed. `prost-build` will now emit `rerun` commands, which means only the explicitly marked files cause a rerun. If your `build.rs` is dependent on any other file paths than those given to `prost-build`, then your `build.rs` needs to emit `rerun` commands as well. - prost-build: Prevent repeated fields to be boxed ([#&#8203;1237](https://github.com/tokio-rs/prost/issues/1237)) BREAKING CHANGE: A repeated field that is manually marked as boxed was typed as `Vec<Box<T>>`. Those fields are now simply typed as `Vec<T>` to prevent double indirection. The `boxed` configuration is effectively ignored for repeated fields. - prost-build: Make `type_name_domain` cumulative ([#&#8203;1228](https://github.com/tokio-rs/prost/issues/1228)) BREAKING CHANGE: The configuration for domain names of messages is now cumulative. All calls to `prost_build::Config::type_name_domain` are now concatenated. The previous behavior was that only the arguments of the last call were used. If you do multiple calls to type\_name\_domain, you need to remove all but the last call to maintain the same behavior. - prost-build: Derive Eq and Hash trait for messages where possible ([#&#8203;1175](https://github.com/tokio-rs/prost/issues/1175)) BREAKING CHANGE: `prost-build` will automatically derive `trait Eq` and `trait Hash` for types where all field support those as well. If you manually `impl Eq` and/or `impl Hash` for generated types, then you need to remove the manual implementation. If you use `type_attribute` to `derive(Eq)` and/or `derive(Hash)`, then you need to remove those. #### Features - prost-types: Implement conversion `Duration` to/from `chrono::TimeDelta` ([#&#8203;1236](https://github.com/tokio-rs/prost/issues/1236)) - prost-build: Prepare for 2024 keyword `gen` ([#&#8203;1257](https://github.com/tokio-rs/prost/issues/1257)) #### Dependencies - *(deps)* Update pulldown-cmark to 0.13 ([#&#8203;1259](https://github.com/tokio-rs/prost/issues/1259)) - *(deps)* update criterion requirement from 0.5 to 0.6 ([#&#8203;1280](https://github.com/tokio-rs/prost/issues/1280)) #### Documentation - Update dead link LICENSE in `prost-types/README.md` ([#&#8203;1262](https://github.com/tokio-rs/prost/issues/1262)) #### Styling - Use DoubleEndedIterator::next\_back ([#&#8203;1255](https://github.com/tokio-rs/prost/issues/1255)) - Fix typo ([#&#8203;1260](https://github.com/tokio-rs/prost/issues/1260)) #### Testing - Run tests using edition 2024 ([#&#8203;1254](https://github.com/tokio-rs/prost/issues/1254)) - Run clippy with edition 2024 enabled ([#&#8203;1256](https://github.com/tokio-rs/prost/issues/1256)) ### [`v0.13.5`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0135) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.4...v0.13.5) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### Features - prost-types: Derive Arbitrary ([#&#8203;1188](https://github.com/tokio-rs/prost/issues/1188)) #### Documentation - Use intra doc links instead of HTML tags ([#&#8203;1219](https://github.com/tokio-rs/prost/issues/1219)) #### Dependencies - Update pulldown-cmark-to-cmark requirement from >=16, <=19 to >=16, <=20 ([#&#8203;1206](https://github.com/tokio-rs/prost/issues/1206)) - Update itertools requirement from >=0.10, <=0.13 to >=0.10, <=0.14 ([#&#8203;1222](https://github.com/tokio-rs/prost/issues/1222)) - Update petgraph requirement to include 0.7 ([#&#8203;1226](https://github.com/tokio-rs/prost/issues/1226)) - Update rand requirement from 0.8 to 0.9 ([#&#8203;1233](https://github.com/tokio-rs/prost/issues/1233)) - Bump clippy to 1.83 ([#&#8203;1220](https://github.com/tokio-rs/prost/issues/1220)) - Update flake.lock ([#&#8203;1216](https://github.com/tokio-rs/prost/issues/1216)) #### Styling - Replace unnecessary `map_or` ([#&#8203;1221](https://github.com/tokio-rs/prost/issues/1221)) - prost-build: Use enum getter ([#&#8203;1238](https://github.com/tokio-rs/prost/issues/1238)) #### Testing - default\_enum\_value: Move tests to separate module ([#&#8203;1198](https://github.com/tokio-rs/prost/issues/1198)) - nesting: Move tests to separate module ([#&#8203;1218](https://github.com/tokio-rs/prost/issues/1218)) - recursive\_oneof: Move tests to separate module ([#&#8203;1225](https://github.com/tokio-rs/prost/issues/1225)) - boxed\_field: Box an oneof field ([#&#8203;1235](https://github.com/tokio-rs/prost/issues/1235)) - groups: Move tests to separate module ([#&#8203;1234](https://github.com/tokio-rs/prost/issues/1234)) - default\_string\_escape: Move tests to separate module ([#&#8203;1239](https://github.com/tokio-rs/prost/issues/1239)) - Move DecodeError tests closer to the implementation ([#&#8203;1227](https://github.com/tokio-rs/prost/issues/1227)) ### [`v0.13.4`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0134) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.3...v0.13.4) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### Features - Impl Name for Protobuf well-known wrapper types ([#&#8203;1174](https://github.com/tokio-rs/prost/issues/1174)) #### Performance - NonZeroU64 to optimize encoded\_len\_varint ([#&#8203;1192](https://github.com/tokio-rs/prost/issues/1192)) #### Dependencies - Remove unused `bytes` dependency from `prost-build` ([#&#8203;1169](https://github.com/tokio-rs/prost/issues/1169)) - Update pulldown-cmark-to-cmark requirement from >=16, <=17 to >=16, <=18 ([#&#8203;1173](https://github.com/tokio-rs/prost/issues/1173)) - Update pulldown-cmark-to-cmark requirement from >=16, <=18 to >=16, <=19 ([#&#8203;1195](https://github.com/tokio-rs/prost/issues/1195)) - Update protobuf to v25.3 ([#&#8203;1165](https://github.com/tokio-rs/prost/issues/1165)) - Update protobuf to v25.4 ([#&#8203;1176](https://github.com/tokio-rs/prost/issues/1176)) #### Styling - Remove explicit lifetimes ([#&#8203;1180](https://github.com/tokio-rs/prost/issues/1180)) - Remove unnecessary empty line after document ([#&#8203;1181](https://github.com/tokio-rs/prost/issues/1181)) #### Testing - *(boxed\_field)* Confirm `Foo::bar` is boxed ([#&#8203;1168](https://github.com/tokio-rs/prost/issues/1168)) - Move build.rs to standard location ([#&#8203;1167](https://github.com/tokio-rs/prost/issues/1167)) - *(custom\_debug)* Merge `skip_debug` into `custom_debug` ([#&#8203;1178](https://github.com/tokio-rs/prost/issues/1178)) - Rename `invalid_doctest` to `disable_comments` ([#&#8203;1183](https://github.com/tokio-rs/prost/issues/1183)) - *(custom\_attributes)* Move module to separate file ([#&#8203;1187](https://github.com/tokio-rs/prost/issues/1187)) #### Build - Bump clippy version to 1.82 ([#&#8203;1182](https://github.com/tokio-rs/prost/issues/1182)) - Restrict permissions of `GITHUB_TOKEN` ([#&#8203;1189](https://github.com/tokio-rs/prost/issues/1189)) ### [`v0.13.3`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0133) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.2...v0.13.3) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. ##### Features - *(prost-types)* Add `normalized` functions ([#&#8203;1158](https://github.com/tokio-rs/prost/issues/1158)) ##### Bug Fixes - *(prost-build)* Remove `derived(Copy)` on boxed fields ([#&#8203;1157](https://github.com/tokio-rs/prost/issues/1157)) ##### Documentation - *(prost-types)* Add description of using Any ([#&#8203;1141](https://github.com/tokio-rs/prost/issues/1141)) - *(prost-build)* Use `cargo add` in example ([#&#8203;1149](https://github.com/tokio-rs/prost/issues/1149)) ##### Styling - Use `Path::display()` when printing a path ([#&#8203;1150](https://github.com/tokio-rs/prost/issues/1150)) - `MessageGraph::new()` can't actually fail ([#&#8203;1151](https://github.com/tokio-rs/prost/issues/1151)) - *(generated-code)* Use `Self` in `as_str_name` ([#&#8203;1154](https://github.com/tokio-rs/prost/issues/1154)) ##### Testing - Actually test `skip_debug` for `prost::Oneof` ([#&#8203;1148](https://github.com/tokio-rs/prost/issues/1148)) - *(prost-build)* Validate error texts ([#&#8203;1152](https://github.com/tokio-rs/prost/issues/1152)) - *(prost-build)* Fix error texts ([#&#8203;1156](https://github.com/tokio-rs/prost/issues/1156)) ##### Build - Increase MSRV to 1.71.1 ([#&#8203;1135](https://github.com/tokio-rs/prost/issues/1135)) - *(deps)* Update pulldown-cmark to 0.12 and pulldown-cmark-to-cmark to 16 ([#&#8203;1144](https://github.com/tokio-rs/prost/issues/1144)) - *(protobuf)* Compile and install protoc on Windows ([#&#8203;1145](https://github.com/tokio-rs/prost/issues/1145)) - *(protobuf)* Use same `protoc` from same repo as .proto-files ([#&#8203;1136](https://github.com/tokio-rs/prost/issues/1136)) - *(deps)* Update pulldown-cmark-to-cmark from 16 to 17 ([#&#8203;1155](https://github.com/tokio-rs/prost/issues/1155)) - Unify assert on fixtures ([#&#8203;1142](https://github.com/tokio-rs/prost/issues/1142)) ### [`v0.13.2`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0132) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.1...v0.13.2) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### Features - prost-build: Add protoc executable path to Config ([#&#8203;1126](https://github.com/tokio-rs/prost/issues/1126)) - prost-build: Extract file descriptor loading from compile\_protos() ([#&#8203;1067](https://github.com/tokio-rs/prost/issues/1067)) #### Bug Fixes - prost-types: Fix date-time parsing ([#&#8203;1096](https://github.com/tokio-rs/prost/issues/1096)) - prost-types: '+' is not a numeric digit ([#&#8203;1104](https://github.com/tokio-rs/prost/issues/1104)) - prost-types: Converting DateTime to Timestamp is fallible ([#&#8203;1095](https://github.com/tokio-rs/prost/issues/1095)) - prost-types: Parse timestamp with long second fraction ([#&#8203;1106](https://github.com/tokio-rs/prost/issues/1106)) - prost-types: Format negative fractional duration ([#&#8203;1110](https://github.com/tokio-rs/prost/issues/1110)) - prost-types: Allow unknown local time offset ([#&#8203;1109](https://github.com/tokio-rs/prost/issues/1109)) #### Styling - Remove use of legacy numeric constants ([#&#8203;1089](https://github.com/tokio-rs/prost/issues/1089)) - Move encoding functions into separate modules ([#&#8203;1111](https://github.com/tokio-rs/prost/issues/1111)) - Remove needless borrow ([#&#8203;1122](https://github.com/tokio-rs/prost/issues/1122)) #### Testing - Add tests for public interface of DecodeError ([#&#8203;1120](https://github.com/tokio-rs/prost/issues/1120)) - Add `parse_date` fuzzing target ([#&#8203;1127](https://github.com/tokio-rs/prost/issues/1127)) - Fix build without std ([#&#8203;1134](https://github.com/tokio-rs/prost/issues/1134)) - Change some proptest to kani proofs ([#&#8203;1133](https://github.com/tokio-rs/prost/issues/1133)) - Add `parse_duration` fuzzing target ([#&#8203;1129](https://github.com/tokio-rs/prost/issues/1129)) - fuzz: Fix building of fuzzing targets ([#&#8203;1107](https://github.com/tokio-rs/prost/issues/1107)) - fuzz: Add fuzz targets to workspace ([#&#8203;1117](https://github.com/tokio-rs/prost/issues/1117)) #### Miscellaneous Tasks - Move old protobuf benchmark into prost ([#&#8203;1100](https://github.com/tokio-rs/prost/issues/1100)) - Remove allow clippy::derive\_partial\_eq\_without\_eq ([#&#8203;1115](https://github.com/tokio-rs/prost/issues/1115)) - Run `cargo test` without `all-targets` ([#&#8203;1118](https://github.com/tokio-rs/prost/issues/1118)) - dependabot: Add github actions ([#&#8203;1121](https://github.com/tokio-rs/prost/issues/1121)) - Update to cargo clippy version 1.80 ([#&#8203;1128](https://github.com/tokio-rs/prost/issues/1128)) #### Build - Use `proc-macro` in Cargo.toml ([#&#8203;1102](https://github.com/tokio-rs/prost/issues/1102)) - Ignore missing features in `tests` crates ([#&#8203;1101](https://github.com/tokio-rs/prost/issues/1101)) - Use separated build directory for protobuf ([#&#8203;1103](https://github.com/tokio-rs/prost/issues/1103)) - protobuf: Don't install unused test proto ([#&#8203;1116](https://github.com/tokio-rs/prost/issues/1116)) - protobuf: Use crate `cmake` ([#&#8203;1137](https://github.com/tokio-rs/prost/issues/1137)) - deps: Update devcontainer to Debian Bookworm release ([#&#8203;1114](https://github.com/tokio-rs/prost/issues/1114)) - deps: Bump actions/upload-artifact from 3 to 4 ([#&#8203;1123](https://github.com/tokio-rs/prost/issues/1123)) - deps: Bump baptiste0928/cargo-install from 2 to 3 ([#&#8203;1124](https://github.com/tokio-rs/prost/issues/1124)) - deps: bump model-checking/kani-github-action from 0.32 to 1.1 ([#&#8203;1125](https://github.com/tokio-rs/prost/issues/1125)) ### [`v0.13.1`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#Prost-version-0131) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.13.0...v0.13.1) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. #### Bug fixes - Enum variant named Error causes ambiguous item ([#&#8203;1098](https://github.com/tokio-rs/prost/issues/1098)) ### [`v0.13.0`](https://github.com/tokio-rs/prost/blob/HEAD/CHANGELOG.md#PROST-version-0130) [Compare Source](https://github.com/tokio-rs/prost/compare/v0.12.6...v0.13.0) **note**: this version was yanked in favor of 0.13.1 *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `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 ([#&#8203;950](https://github.com/tokio-rs/prost/issues/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 ([#&#8203;1045](https://github.com/tokio-rs/prost/issues/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<i32> for enums ([#&#8203;1010](https://github.com/tokio-rs/prost/issues/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 ([#&#8203;1058](https://github.com/tokio-rs/prost/issues/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 ([#&#8203;1074](https://github.com/tokio-rs/prost/issues/1074)) - update criterion requirement from 0.4 to 0.5 ([#&#8203;1071](https://github.com/tokio-rs/prost/issues/1071)) - Remove unused libz-sys ([#&#8203;1077](https://github.com/tokio-rs/prost/issues/1077)) - build(deps): update itertools requirement from >=0.10, <=0.12 to >=0.10, <=0.13 ([#&#8203;1070](https://github.com/tokio-rs/prost/issues/1070)) #### Documentation - better checking of tag duplicates, avoid discarding invalid variant errs ([#&#8203;951](https://github.com/tokio-rs/prost/issues/951)) - docs: Fix broken link warnings ([#&#8203;1056](https://github.com/tokio-rs/prost/issues/1056)) - Add missing LICENSE symlink ([#&#8203;1086](https://github.com/tokio-rs/prost/issues/1086)) #### Internal - workspace package metadata ([#&#8203;1036](https://github.com/tokio-rs/prost/issues/1036)) - fix: Build error due to merge conflict ([#&#8203;1068](https://github.com/tokio-rs/prost/issues/1068)) - build: Fix release scripts ([#&#8203;1055](https://github.com/tokio-rs/prost/issues/1055)) - chore: Add ci to check MSRV ([#&#8203;1057](https://github.com/tokio-rs/prost/issues/1057)) - ci: Add all tests pass job ([#&#8203;1069](https://github.com/tokio-rs/prost/issues/1069)) - ci: Add Dependabot ([#&#8203;957](https://github.com/tokio-rs/prost/issues/957)) - ci: Ensure both README are the same and prost version is correct ([#&#8203;1078](https://github.com/tokio-rs/prost/issues/1078)) - ci: Set rust version of clippy job to a fixed version ([#&#8203;1090](https://github.com/tokio-rs/prost/issues/1090)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguNSIsInVwZGF0ZWRJblZlciI6IjQwLjU3LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOlsicmVub3ZhdGUtYm90Il19-->
renovate-bot force-pushed renovate/tokio-prost-monorepo from 3b1f2930a2 to 88e0baacf8 2024-08-30 12:09:51 +05:30 Compare
renovate-bot force-pushed renovate/tokio-prost-monorepo from 88e0baacf8 to d0d199154e 2025-06-16 05:33:09 +05:30 Compare
renovate-bot changed title from fix(deps): update rust crate prost to 0.13.0 to fix(deps): update rust crate prost to 0.14.0 2025-06-16 05:33:10 +05:30
Author
Member

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package prost@0.12.6 --precise 0.14.0
    Updating crates.io index
error: failed to select a version for the requirement `prost = "^0.12"`
candidate versions found which didn't match: 0.14.0
location searched: crates.io index
required by package `tonic v0.11.0`
    ... which satisfies dependency `tonic = "^0.11.0"` (locked to 0.11.0) of package `dcache v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/mCaptcha/dcache)`

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package prost@0.12.6 --precise 0.14.0 Updating crates.io index error: failed to select a version for the requirement `prost = "^0.12"` candidate versions found which didn't match: 0.14.0 location searched: crates.io index required by package `tonic v0.11.0` ... which satisfies dependency `tonic = "^0.11.0"` (locked to 0.11.0) of package `dcache v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/mCaptcha/dcache)` ```
Some checks failed
renovate/artifacts Artifact file update failure
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/tokio-prost-monorepo:renovate/tokio-prost-monorepo
git switch renovate/tokio-prost-monorepo

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff renovate/tokio-prost-monorepo
git switch renovate/tokio-prost-monorepo
git rebase master
git switch master
git merge --ff-only renovate/tokio-prost-monorepo
git switch renovate/tokio-prost-monorepo
git rebase master
git switch master
git merge --no-ff renovate/tokio-prost-monorepo
git switch master
git merge --squash renovate/tokio-prost-monorepo
git switch master
git merge --ff-only renovate/tokio-prost-monorepo
git switch master
git merge renovate/tokio-prost-monorepo
git push origin master
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: mCaptcha/dcache#70
No description provided.