diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index 51fd6f1..aaa8c3a 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,5 +1,28 @@ # Version changelog +## Release v1.0.1 + +### Major Changes + +### New Features and Improvements + +- **[Experimental Arrow Flight] Zero-copy IPC ingestion via `ingest_ipc_batch`**: Added `ZerobusArrowStream::ingest_ipc_batch(Bytes)` for FFI callers (Go, Python, Java, TypeScript) that already hold Arrow IPC stream bytes. Raw bytes are forwarded directly to the Flight wire format without deserialising to a `RecordBatch` and re-serialising, eliminating one IPC round-trip per batch compared to `ingest_batch`. The existing `ingest_batch` API is unchanged. + +### Bug Fixes + +- Fixed proto generation tool to skip reserved field numbers 19000-19999 for tables with more than 19000 columns + +### Documentation + +### Internal Changes + +### Breaking Changes + +### Deprecations + +### API Changes + + ## Release v1.0.1 ### Bug Fixes diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 9d49235..b4de1c8 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -563,13 +563,14 @@ dependencies = [ [[package]] name = "databricks-zerobus-ingest-sdk" version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f0e6f7302cc7df55f016c4faedb4f9294a288cdc4dabdc15105660f0565c256" dependencies = [ "arrow-array", "arrow-flight", "arrow-ipc", "arrow-schema", "async-trait", - "bytes", "futures", "hyper-http-proxy", "hyper-util", @@ -588,20 +589,18 @@ dependencies = [ "tonic 0.13.1", "tonic-build 0.13.1", "tracing", - "tracing-subscriber", ] [[package]] name = "databricks-zerobus-ingest-sdk" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f0e6f7302cc7df55f016c4faedb4f9294a288cdc4dabdc15105660f0565c256" +version = "1.1.0" dependencies = [ "arrow-array", "arrow-flight", "arrow-ipc", "arrow-schema", "async-trait", + "bytes", "futures", "hyper-http-proxy", "hyper-util", @@ -620,6 +619,7 @@ dependencies = [ "tonic 0.13.1", "tonic-build 0.13.1", "tracing", + "tracing-subscriber", ] [[package]] @@ -670,7 +670,7 @@ name = "example_json_batch" version = "0.1.0" dependencies = [ "chrono", - "databricks-zerobus-ingest-sdk 1.0.1", + "databricks-zerobus-ingest-sdk 1.1.0", "serde", "tokio", ] @@ -680,7 +680,7 @@ name = "example_json_single" version = "0.1.0" dependencies = [ "chrono", - "databricks-zerobus-ingest-sdk 1.0.1", + "databricks-zerobus-ingest-sdk 1.1.0", "serde", "tokio", ] @@ -690,7 +690,7 @@ name = "example_proto_batch" version = "0.1.0" dependencies = [ "chrono", - "databricks-zerobus-ingest-sdk 1.0.1", + "databricks-zerobus-ingest-sdk 1.1.0", "prost 0.13.5", "prost-build 0.12.6", "prost-reflect", @@ -706,7 +706,7 @@ name = "example_proto_single" version = "0.1.0" dependencies = [ "chrono", - "databricks-zerobus-ingest-sdk 1.0.1", + "databricks-zerobus-ingest-sdk 1.1.0", "prost 0.13.5", "prost-build 0.12.6", "prost-reflect", @@ -2537,7 +2537,7 @@ dependencies = [ "arrow-schema", "async-trait", "bytes", - "databricks-zerobus-ingest-sdk 1.0.1", + "databricks-zerobus-ingest-sdk 1.1.0", "futures", "prost 0.13.5", "prost-reflect", @@ -3658,7 +3658,7 @@ dependencies = [ "arrow-ipc", "async-trait", "cbindgen", - "databricks-zerobus-ingest-sdk 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "databricks-zerobus-ingest-sdk 1.0.1", "libc", "once_cell", "prost 0.13.5", @@ -3674,7 +3674,7 @@ dependencies = [ "arrow-array", "arrow-ipc", "arrow-schema", - "databricks-zerobus-ingest-sdk 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "databricks-zerobus-ingest-sdk 1.0.1", "jni", "prost 0.13.5", "prost-types 0.13.5", diff --git a/rust/NEXT_CHANGELOG.md b/rust/NEXT_CHANGELOG.md index 67aff93..d5e2f40 100644 --- a/rust/NEXT_CHANGELOG.md +++ b/rust/NEXT_CHANGELOG.md @@ -1,17 +1,13 @@ # NEXT CHANGELOG -## Release v1.1.0 +## Release v1.2.0 ### Major Changes ### New Features and Improvements -- **[Experimental Arrow Flight] Zero-copy IPC ingestion via `ingest_ipc_batch`**: Added `ZerobusArrowStream::ingest_ipc_batch(Bytes)` for FFI callers (Go, Python, Java, TypeScript) that already hold Arrow IPC stream bytes. Raw bytes are forwarded directly to the Flight wire format without deserialising to a `RecordBatch` and re-serialising, eliminating one IPC round-trip per batch compared to `ingest_batch`. The existing `ingest_batch` API is unchanged. - ### Bug Fixes -- Fixed proto generation tool to skip reserved field numbers 19000-19999 for tables with more than 19000 columns - ### Documentation ### Internal Changes diff --git a/rust/sdk/Cargo.toml b/rust/sdk/Cargo.toml index b2b6927..40654dc 100644 --- a/rust/sdk/Cargo.toml +++ b/rust/sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "databricks-zerobus-ingest-sdk" -version = "1.0.1" +version = "1.1.0" authors = ["Databricks"] edition = "2021" rust-version = "1.70"