ReleaseDatabricks (DBRX)Databricks (DBRX)published Dec 22, 2025seen Jun 26

databricks/zerobus-sdk rust/v0.2.0

databricks/zerobus-sdk

Open original ↗

Captured source

source ↗
published Dec 22, 2025seen Jun 26captured 4whttp 200method plain

Rust SDK v0.2.0

Repository: databricks/zerobus-sdk

Tag: rust/v0.2.0

Published: 2025-12-22T14:59:58Z

Prerelease: no

Release notes:

Version changelog

Release v0.2.0

New Features and Improvements

  • Batch Ingestion API: Added ingest_records() method for ingesting multiple records at once
  • All-or-nothing semantics: entire batch succeeds or fails as a unit
  • Ingesting an empty batch is a no-op.
  • JSON Serialization Support: Added support for JSON record serialization alongside Protocol Buffers (default)
  • No protobuf schema compilation required
  • Added HeadersProvider, a trait for flexible authentication strategies
  • Implemented OAuthHeadersProvider for OAuth 2.0 Client Credentials flow (default authentication method used by create_stream())

Bug Fixes

Documentation

  • Added JSON and protobuf serialization examples for batch ingestion
  • Enhanced API Reference with batch ingestion documentation
  • Added JSON and protobuf serialization examples
  • Updated README's.
  • Enhanced API Reference with JSON mode documentation
  • Added Azure workspace and endpoint URL examples

Internal Changes

  • [BREAKING] Changed backpressure mechanism to track in-flight requests instead of in-flight records

API Changes

  • [BREAKING] changed max_inflight_records to max_inflight_requests in StreamConfigurationOptions as we now track in-flight requests
  • [BREAKING] get_unacked_records() method now returns impl Iterator instead of Vec> - flattens all batches into individual records
  • Added get_unacked_batches() method to ZerobusStream that returns Vec to preserve batch structure - records ingested together remain grouped
  • Added ingest_records() method to ZerobusStream for bulk record ingestion
  • recreate_stream method in ZerobusSdk now accepts a reference to a stream, instead of taking ownership of it.
  • TableProperties struct now has descriptor_proto field as optional (breaking change).
  • Added HeadersProvider trait for custom header strategies
  • Added OAuthHeadersProvider struct for OAuth 2.0 authentication with Databricks OIDC endpoint
  • Added create_stream_with_headers_provider method to ZerobusSdk for custom authentication header providers

Release v0.1.1

  • Added comprehensive API documentation and fixed Cargo.toml metadata for crates.io publication

Release v0.1.0

Initial release of the Databricks Zerobus Ingest SDK for Rust.

API Changes

  • Added ZerobusSdk struct for creating ingestion streams.
  • Added ZerobusStream struct for managing the stateful gRPC stream.
  • The ingest_record method returns a future that resolves to the record's acknowledgment offset.
  • Added TableProperties for configuring the target table schema and name.
  • Added StreamConfigurationOptions for fine-tuning stream behavior like recovery and timeouts.
  • Added ZerobusError enum for detailed error handling, including a is_retryable() method.
  • The SDK is built on tokio and is fully asynchronous.