Skip to content

Bump tonic version from 0.13.0 to 0.14.0#88

Draft
teodordelibasic-db wants to merge 1 commit intomainfrom
dependency-versions-bump
Draft

Bump tonic version from 0.13.0 to 0.14.0#88
teodordelibasic-db wants to merge 1 commit intomainfrom
dependency-versions-bump

Conversation

@teodordelibasic-db
Copy link
Contributor

Summary

Bump tonic to 0.14, prost to 0.14, arrow to 57, and related dependencies across the workspace.

Dependency Changes

Crate Old New
tonic 0.12/0.13 0.14
tonic-prost (new) 0.14
tonic-build 0.12/0.13 removed
tonic-prost-build (new) 0.14
prost 0.12/0.13 0.14
prost-types 0.13 0.14
prost-reflect 0.14 0.16
prost-build 0.12 removed
arrow-flight 56.2.0 57
arrow-array 56.2.0 57
arrow-schema 56.2.0 57
arrow-ipc 56.2.0 57

Files Changed

Cargo.toml dependency bumps (8 files):

  • sdk/Cargo.toml - tonic, prost, arrow-*, added tonic-prost, replaced tonic-build with tonic-prost-build
  • tests/Cargo.toml - same as sdk, plus prost-reflect bump
  • ffi/Cargo.toml - prost, prost-types
  • jni/Cargo.toml - prost, prost-types, arrow-*
  • examples/proto/single/Cargo.toml - tonic, prost, prost-reflect, replaced tonic-build/prost-build with tonic-prost-build, removed nonexistent tls feature
  • examples/proto/batch/Cargo.toml - same as single
  • tools/generate_files/Cargo.toml - tonic, prost, replaced tonic-build with tonic-prost-build, added tonic-prost

Build scripts and source (3 files):

  • sdk/build.rs - tonic_build::compile_protos() to tonic_prost_build::compile_protos()
  • tests/build.rs - tonic_build::configure() to tonic_prost_build::configure()
  • tools/generate_files/src/generate.rs - tonic_build::configure() to tonic_prost_build::configure()

No arrow-flight API changes were needed. All core APIs (FlightClient, FlightDataEncoderBuilder, FlightError::Tonic, FlightServiceServer, PutResult, IpcWriteOptions) are unchanged between arrow-flight 56 and 57.


Breaking Changes for SDK Clients

Required Dependency Updates

Clients must update their own dependencies to match:

Dependency Old New
prost 0.13 0.14
prost-types 0.13 0.14
tonic 0.13 0.14
arrow-flight 56 57
arrow-array 56 57
arrow-schema 56 57
arrow-ipc 56 57

Mixing versions will result in "two different versions of crate" type errors at compile time.


prost 0.13 to 0.14

  • Debug removed as supertrait of Message. Code with generic bounds like T: prost::Message that previously relied on the implicit Debug bound must now use T: prost::Message + Debug explicitly.
  • Eq and Hash are now auto-derived on generated message types when all fields support them. Any manual impl Eq or impl Hash for SDK-generated protobuf types will conflict and must be removed.
  • Repeated boxed fields changed: Vec<Box<T>> is now Vec<T> for repeated fields marked as boxed. Code indexing into these fields may need adjustment.
  • MSRV raised to 1.82.

tonic 0.13 to 0.14

  • Status internals are now boxed. Code that destructures or pattern-matches on tonic::Status fields may need updates.
  • Source error now included in Status::Display. Log output and error messages involving tonic::Status will contain more detail, which may affect log parsing or error string matching.
  • Generic tls feature removed. Clients enabling tonic/tls must switch to a specific backend: tls-native-roots, tls-ring, tls-aws-lc, or tls-webpki-roots.
  • tonic-prost is a new runtime dependency. Projects with their own .proto codegen need tonic-prost (runtime) and tonic-prost-build (build-time) instead of tonic-build.

arrow 56 to 57

  • MSRV raised to 1.85 (Rust 2024 edition).
  • DataType display formatting changed for RunEndEncoded, Map, ListView, LargeListView, and Union types. Code that parses or compares Display output of these types will need updates.
  • Array trait marked unsafe to implement (as of 57.3.0). Custom Array implementations must add unsafe.

prost-reflect 0.14 to 0.16

  • Only relevant if clients use prost-reflect directly alongside the SDK. The 0.16 release updates its internal prost dependency to 0.14 -- no API changes beyond that.

Signed-off-by: teodordelibasic-db <teodor.delibasic@databricks.com>
@teodordelibasic-db teodordelibasic-db marked this pull request as draft February 6, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant