[Rust] Release v2.1.1#328
Merged
Merged
Conversation
Bump rust/sdk/Cargo.toml to 2.1.1 and roll NEXT_CHANGELOG.md into CHANGELOG.md. Highlights: enable all-features for docs.rs so arrow-flight and zeroparser modules render; fix the Arrow example's schema (LargeUtf8, Timestamp(Microsecond, UTC), nullable=true) to match the canonical Delta-derived schema; switch JSON/Protocol Buffers examples to timestamp_micros() for Delta TIMESTAMP columns; re-export TimeUnit from the SDK root. Co-authored-by: Isaac Signed-off-by: brankogrb-db <branko.grbic@databricks.com>
Fix four documentation issues surfaced on the crates.io page for v2.1.0: - correct prost / tokio versions in the path-dependency snippet, - replace the broken `cargo build -p generate_files` with `-p tools`, - add the `arrow-flight` Beta feature to the Features list, - update Repository Structure with arrow_stream / zeroparser / tests files / examples/arrow. Co-authored-by: Isaac Signed-off-by: brankogrb-db <branko.grbic@databricks.com>
Verified against the dev workspace that proto and JSON examples ingest successfully with chrono::Utc::now().timestamp() (seconds) — the server accepts int64 timestamps regardless of unit. Rows land with early-1970 timestamps, but ingestion does not fail. Keep these examples untouched; v2.1.1 stays scoped to broken behavior only. Co-authored-by: Isaac Signed-off-by: brankogrb-db <branko.grbic@databricks.com>
Restore the timestamp_micros() calls in all four
examples/{json,proto}/{batch,single}.rs plus examples/arrow so the
example data lands at the current time instead of January 1970. The
server accepts any int64 value in a TIMESTAMP column without unit
validation, so the previous timestamp() (seconds) form ingested
successfully but produced wrong-looking rows in the table.
Co-authored-by: Isaac
Signed-off-by: brankogrb-db <branko.grbic@databricks.com>
teodordelibasic-db
approved these changes
May 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Patch release that fixes a handful of issues surfaced on the v2.1.0 crates.io and docs.rs pages.
[package.metadata.docs.rs] all-features = truetorust/sdk/Cargo.toml. Without this, the v2.1.0 build on docs.rs renders with zero features enabled — so thearrow-flightandzeroparsermodules are invisible. After this release, both will appear on the rendered docs.rs page.rust/README.md(crates.io page): the zeroparser link was a relative path that 404s from the crates.io URL; switched to an absolute GitHub URL. Also correctedprost/tokioversions in the path-dependency install snippet (were 0.13.3 / 1.42.0, workspace is at 0.14 / 1.52), replaced the brokencargo build -p generate_filescommand (the package's name istools), advertised thearrow-flightBeta feature in the Features list (was unmentioned), and refreshed the Repository Structure tree (addedarrow_stream.rs,zeroparser/,examples/arrow/, currenttests/src/*.rsfiles).Utf8forSTRINGcolumns,Int64forTIMESTAMPcolumns, andnullable: falseeverywhere. The Databricks Arrow Flight server expectsLargeUtf8,Timestamp(Microsecond, Some("UTC")), and the column's actual nullability (the prerequisite SQL doesn't addNOT NULL). Verified end-to-end against the dev workspace — 100 batches ingest successfully against a table created from the README's SQL.json/{batch,single}.rs,proto/{batch,single}.rs) usedchrono::Utc::now().timestamp()(seconds). Persdk/src/schema.rs, DeltaTIMESTAMPexpectsint64microseconds. Switched totimestamp_micros().TimeUnitfromarrow_schemaso callers buildingDataType::Timestamp(...)fields don't need an explicitarrow-schemadependency.Test plan
cargo build --workspace --all-featuresclean.cargo test -p databricks-zerobus-ingest-sdk --features zeroparser— 188 unit + 98 e2e + 23 doctest pass.cargo clippy --workspace --all-features -- -D warningsclean.cargo run -p example_arrowagainst a Delta table created from the README's prerequisite SQL ingests 100 batches and closes cleanly.rust/v2.1.1to triggerrelease-rust.yml→ crates.io.arrow_stream,zeroparser, andTimeUnit.This pull request and its description were written by Isaac.