databricks/zerobus-sdk rust/v0.2.0
databricks/zerobus-sdk
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
OAuthHeadersProviderfor OAuth 2.0 Client Credentials flow (default authentication method used bycreate_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_recordstomax_inflight_requestsinStreamConfigurationOptionsas we now track in-flight requests - [BREAKING]
get_unacked_records()method now returnsimpl Iteratorinstead ofVec>- flattens all batches into individual records - Added
get_unacked_batches()method toZerobusStreamthat returnsVecto preserve batch structure - records ingested together remain grouped - Added
ingest_records()method toZerobusStreamfor bulk record ingestion recreate_streammethod inZerobusSdknow accepts a reference to a stream, instead of taking ownership of it.TablePropertiesstruct now hasdescriptor_protofield as optional (breaking change).- Added
HeadersProvidertrait for custom header strategies - Added
OAuthHeadersProviderstruct for OAuth 2.0 authentication with Databricks OIDC endpoint - Added
create_stream_with_headers_providermethod toZerobusSdkfor 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
ZerobusSdkstruct for creating ingestion streams. - Added
ZerobusStreamstruct for managing the stateful gRPC stream. - The
ingest_recordmethod returns a future that resolves to the record's acknowledgment offset. - Added
TablePropertiesfor configuring the target table schema and name. - Added
StreamConfigurationOptionsfor fine-tuning stream behavior like recovery and timeouts. - Added
ZerobusErrorenum for detailed error handling, including ais_retryable()method. - The SDK is built on
tokioand is fully asynchronous.