databricks/zerobus-sdk go/v1.3.0
databricks/zerobus-sdk
Captured source
source ↗published Jul 27, 2026seen 13hcaptured 13hhttp 200method plain
Go SDK v1.3.0
Repository: databricks/zerobus-sdk
Tag: go/v1.3.0
Published: 2026-07-27T14:54:02Z
Prerelease: no
Release notes:
Release v1.3.0
New Features and Improvements
- Added
NewZerobusSdkWithOptionsandWithApplicationName. The application
name is appended to the HTTP user-agent header as zerobus-sdk-go/ for server-side attribution. The existing two-argument NewZerobusSdk signature is unchanged.
Bug Fixes
- The HTTP
user-agentnow identifies this wrapper as
zerobus-sdk-go/ instead of using the Rust core's identifier.
Documentation
- Documented application-name configuration and updated every Go example to
demonstrate it.
- Clarified throughput guidance in the README, godoc, and examples: ingest records in a loop without waiting and call
Flush()once, rather than callingWaitForOffset()after every record. Documented that the ack watermark is monotonic, so waiting on the last offset confirms all prior records.
Internal Changes
- Added Darwin AMD64 and ARM64 static-library artifacts to the Go release build by cross-compiling the FFI with Zig, so release PRs can include the full supported platform matrix without a macOS runner.
- Added a Go SDK version constant used to construct the wrapper-specific
user-agent identifier.
- Switched SDK construction to the additive C builder API and refreshed all
five bundled FFI archives so they export the builder symbols. Removed the deprecated zerobus_sdk_set_use_tls call, which was already a no-op.
- Enabled thin LTO for release FFI builds so the bundled static libraries stay
below repository file-size limits on every supported platform.
- Added the new ack-callback fields (
ack_on_ack,ack_on_error,ack_user_data) to the cgoCStreamConfigurationOptionsmirror to keep it byte-identical with the C FFI struct. The Go SDK has no ack-callback API yet and leaves these null, so behavior is unchanged. - The integration-test protobuf bindings (
go/tests/pb) and the pure-Go SDK bindings (purego/internal/zerobuspb) are now generated from the single canonicalrust/sdk/zerobus_service.proto, instead of local per-module copies. Regenerate withgo/tests/generate_proto.shorgo generate ./...in the purego package. No behavior change — the committed generated code is unchanged.
API Changes
- Added
SdkOption,WithApplicationName, and
NewZerobusSdkWithOptions.