databricks/zerobus-sdk ffi/v1.3.0
databricks/zerobus-sdk
Captured source
source ↗published Jun 22, 2026seen 3dcaptured 3dhttp 200method plain
FFI Libraries v1.3.0
Repository: databricks/zerobus-sdk
Tag: ffi/v1.3.0
Published: 2026-06-22T15:26:38Z
Prerelease: no
Release notes:
Major Changes
New Features and Improvements
- C-builder API for SDK construction:
zerobus_sdk_builder_new, per-option setters (_endpoint,_unity_catalog_url,_sdk_identifier,_application_name,_disable_tls), and_build/_free. Mirrors the RustZerobusSdkBuilder; new options are added as setters without ABI breaks. Legacyzerobus_sdk_newis retained and delegates to the builder. - Dynamic protobuf from a Unity Catalog schema: a pure-C consumer can now build a protobuf descriptor from UC table metadata and encode records without a companion Rust crate. New opaque type
CZerobusProtoSchemaand functions: zerobus_proto_schema_from_uc_json— build a schema handle from UC table-metadata JSON (the body ofGET /api/2.1/unity-catalog/tables/{name}).zerobus_proto_schema_descriptor_bytes— borrow the serializedDescriptorPrototo pass straight tozerobus_sdk_create_stream(byte-identical to the descriptor the encoder uses).zerobus_proto_schema_encode_json— encode one JSON record into protobuf bytes; unknown keys are ignored.DATE/TIMESTAMP/TIMESTAMP_NTZcolumns are integers (days / micros since epoch),BINARYis a base64 string,DECIMALis a string, and large 64-bit integers are accepted as JSON strings (the protobuf-JSON canonical form) to avoid precision loss in producers that emit numbers as IEEE-754 doubles. Top-level non-nullable scalar/struct columns are proto2required; a record missing one is rejected (ARRAY/MAP map torepeated, which has no presence, so an omitted one encodes as empty).zerobus_free_proto_bytes/zerobus_proto_schema_free— free an encoded buffer / a schema handle.
Bug Fixes
Documentation
Internal Changes
Behavior Changes
Breaking Changes
Deprecations
API Changes
Notability
notability 3.0/10Routine SDK update