Skip to content

Conversation

@dashql-renovate
Copy link
Contributor

@dashql-renovate dashql-renovate bot commented Apr 2, 2025

This PR contains the following updates:

Package Type Update Change
prost dependencies minor ^0.12.6 -> ^0.14.1
prost dependencies minor 0.13.3 -> 0.14.1
prost-build build-dependencies minor 0.13.3 -> 0.14.1
tonic dependencies minor ^0.11.0 -> ^0.14.2
tonic-build build-dependencies minor 0.11 -> 0.14.2

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)
hyperium/tonic (tonic)

v0.14.2

Compare Source

What's Changed
New Contributors

Full Changelog: hyperium/tonic@v0.14.1...v0.14.2

v0.14.1

Compare Source

Bug Fixes
Features

0.6.2 (2021-12-08)

Bug Fixes

0.6.1 (2021-10-27)

Bug Fixes

v0.14.0

Compare Source

This release marks an important milestone for tonic, "hopefully" this will be the last major breaking release of Tonic before we start to transition work into bringing the community a joint-effort grpc-rust implementation. For the moment, any new features for the core of tonic that are not related to the work towards grpc-rust will not be accepted (I believe tonic to be in quite a good spot, security features of course will be handled with the upmost importance). Stay tuned there will be more information the coming months on what is going on with the new project but you can already see some of the code in the grpc crate within the tonic repository.

You can always watch this video for more info on grpc-rust.

Breaking Changes
  • Prost updated to v0.14
  • Prost has been extracted to their own crates
Migration guide

To migrate between <=v0.13.1 to v0.14 anything that used prost has now been moved into either tonic-prost or tonic-prost-build. All the previous types are still available but under these two new crates.

What's Changed
New Contributors

Full Changelog: hyperium/tonic@v0.13.1...v0.14.0

v0.13.1

Compare Source

What's Changed
New Contributors

Full Changelog: hyperium/tonic@v0.13.0...v0.13.1

v0.13.0

Compare Source

v0.12.3

Compare Source

Features
  • server: Added support for grpc max_connection_age (#​1865)
  • build: Add #[deprecated] to deprecated client methods (#​1879)
  • build: plumb skip_debug through prost Builder and add test (#​1900)
Bug Fixes
  • build: Revert "fix tonic-build cargo build script outputs (#​1821)" which accidentally increases MSRV (#​1898)
  • server: ignore more error kinds in incoming socket stream (#​1885)
  • transport: do not shutdown server on broken connections (#​1948)

v0.12.2

Compare Source

Features
  • Move TimeoutExpired out of transport (#​1826)
  • Move ConnectError type from transport (#​1828)
  • channel: allow setting max_header_list_size (#​1835)
  • router: Add RoutesBuilder constructor (#​1855)
  • tls: Rename tls-roots feature with tls-native-roots (#​1860)
  • router: Rename Routes::into_router with into_axum_router (#​1862)
  • router: Implement from axum::Router for Routes (#​1863)
  • channel: Re-enable TLS based on Cargo features in generated clients (#​1866)
  • server: allow setting max_header_list_size (#​1870)
  • build: Expose formatted service name (#​1684)
  • reflection: add back support for v1alpha reflection protocol (#​1888)
Bug Fixes
  • router: Add missing unimplemented fallback to RoutesBuilder (#​1864)
  • server: Prevent server from exiting on ECONNABORTED (#​1874)
  • web: fix panic in trailer parsing on multiple trailers (#​1880)
  • web: fix empty trailer parsing causing infinite parser loop (#​1883)

v0.12.1

Compare Source

Bug Fixes
  • Reduce tokio-stream feature (#​1795)

v0.12.0

Compare Source

This breaking release updates tonic to the hyper 1.0 ecosystem and also updates
to prost v0.13.0.

Features
Bug Fixes
BREAKING CHANGES
  • tonic and crates updated to hyper 1.0 (#​1670)
  • tonic and crates updated to prost 0.13 (#​1779)
  • tonic_reflection::server is updated to use the generated
    tonic_reflection::pb::v1 code.
  • Make compression encoding configuration more malleable (#​1757)
  • Removed implicit configuration of client TLS roots setup (#​1731)

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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Renovate Bot.

@dashql-renovate dashql-renovate bot added dependencies Pull requests that update a dependency file rust labels Apr 2, 2025
@dashql-renovate
Copy link
Contributor Author

dashql-renovate bot commented Apr 2, 2025

⚠️ Artifact update problem

Renovate failed to update artifacts 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 packages/dashql-compute/Cargo.toml --package prost@0.13.5 --precise 0.14.1
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /tmp/renovate/repos/github/ankoh/dashql/packages/dashql-compute/Cargo.toml
workspace: /tmp/renovate/repos/github/ankoh/dashql/Cargo.toml
    Updating crates.io index
error: failed to select a version for `tonic`.
    ... required by package `dashql-native v0.0.2-dev.17 (/tmp/renovate/repos/github/ankoh/dashql/packages/dashql-native)`
versions that meet the requirements `^0.14.2` are: 0.14.2

package `dashql-native` depends on `tonic` with feature `tls` but `tonic` does not have that feature.


failed to select a version for `tonic` which could resolve this conflict

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path packages/dashql-native/Cargo.toml --package prost@0.12.6 --precise 0.14.1
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /tmp/renovate/repos/github/ankoh/dashql/packages/dashql-compute/Cargo.toml
workspace: /tmp/renovate/repos/github/ankoh/dashql/Cargo.toml
    Updating crates.io index
error: failed to select a version for `tonic`.
    ... required by package `dashql-native v0.0.2-dev.17 (/tmp/renovate/repos/github/ankoh/dashql/packages/dashql-native)`
versions that meet the requirements `^0.14.2` are: 0.14.2

package `dashql-native` depends on `tonic` with feature `tls` but `tonic` does not have that feature.


failed to select a version for `tonic` which could resolve this conflict

@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch from f48086f to a4eda26 Compare April 8, 2025 11:36
@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch 2 times, most recently from a473c59 to 3c8e5ce Compare April 23, 2025 05:03
@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch from 3c8e5ce to 308d423 Compare May 6, 2025 05:03
@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch from 308d423 to 21a3e6e Compare June 3, 2025 18:24
@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch 3 times, most recently from 9bf7ef4 to cb8b562 Compare June 18, 2025 05:03
@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch from cb8b562 to 51a4231 Compare July 23, 2025 05:09
@ankoh
Copy link
Owner

ankoh commented Jul 23, 2025

tonic-build still depends on the old prost-build

@dashql-renovate dashql-renovate bot force-pushed the renovate/protobuf branch from 51a4231 to 9ac01cb Compare July 29, 2025 05:10
@dashql-renovate dashql-renovate bot changed the title Update protobuf Update protobuf to ^0.14.1 Aug 9, 2025
@dashql-renovate dashql-renovate bot changed the title Update protobuf to ^0.14.1 Update protobuf Sep 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants