Releases: databricks/databricks-sql-python
Releases · databricks/databricks-sql-python
v4.4.0
Sorry, something went wrong.
No results found
- Raised the minimum supported Python version to 3.10, dropping the end-of-life 3.8/3.9, to update the lockfile and clear CVE-flagged dependencies in the repo (#798)
- Fix: REMOVE staging operations no longer require staging_allowed_local_path to be set, since removing a remote file does not touch the local filesystem (#726)
- Report cursor.rowcount for DML on the Thrift backend: INSERT/UPDATE/DELETE/MERGE now set rowcount to the server's affected-row count instead of the hardcoded -1; SELECT (and statements the server does not report a count for) still return -1. executemany aggregates the count across all parameter sets per PEP 249 (#784)
v4.3.0
Sorry, something went wrong.
No results found
- New: optional Rust kernel backend (use_kernel=True). Adds an alternative connection path backed by the native databricks-sql-kernel client (a Rust core exposed via PyO3), installable with the new databricks-sql-connector[kernel] extra. The kernel talks to Databricks over the SEA (Statement Execution API) HTTP transport — not Thrift — with CloudFetch and inline-Arrow result fetching, so use_kernel=True gives you a modern SEA-native client through the same DB-API surface. Supports PAT, OAuth M2M, and OAuth U2M auth. Requires Python >= 3.10 (the kernel wheel is cp310-abi3); on older interpreters the extra is a no-op and use_kernel=True raises a clear ImportError. The default backend remains Thrift — opt in per connection.
- Kernel backend behavior is aligned with the Thrift backend so application code works the same either way: consistent cursor-state tracking (query_id / get_query_state), metadata (catalogs/schemas/tables/columns with JDBC-style filter semantics and case-insensitive table_types), DML rowcount, server-sourced async execution state, sync cancel(), fail-loud staging/volume operations, and structured error context (SQLSTATE, diagnostic info). Kernel logs surface through Python logging under the databricks.sql.kernel logger (#824, #825, #830, #838, #839 by @vikrantpuppala)
- Revert the thrift 0.23.0 bump that broke installation on DBR LTS (ES-1960554) (#840 by @vikrantpuppala)
v4.3.0rc1
Sorry, something went wrong.
No results found
- Add optional Rust kernel backend for use_kernel=True, installable via the new databricks-sql-connector[kernel] extra (requires Python >= 3.10). Routes connections through the native databricks-sql-kernel client, with parity work across cursor-state tracking, metadata, logging (kernel logs surface through Python logging), staging fail-loud behavior, error context, and sync cancel (#824, #825, #830, #838, #839 by @vikrantpuppala)
- Revert the thrift 0.23.0 bump that broke installation on DBR LTS (ES-1960554) (#840 by @vikrantpuppala)
v4.2.7
Sorry, something went wrong.
No results found
v4.2.6
Sorry, something went wrong.
No results found
- Add SPOG routing support for account-level vanity URLs (#767 by @msrathore-db)
- Fix dependency_manager: handle PEP 440 ~= compatible release syntax (#776 by @vikrantpuppala)
- Bump thrift to fix deprecation warning (#733 by @Korijn)
- Add AI coding agent detection to User-Agent header (#740 by @vikrantpuppala)
- Add statement-level query_tags support for SEA backend (#754 by @sreekanth-db)
- Update PyArrow concatenation of tables to use promote_options as default (#751 by @jprakash-db)
- Fix float inference to use DoubleParameter (64-bit) instead of FloatParameter (#742 by @Shubhambhusate)
- Allow specifying query_tags as a dict upon connection creation (#749 by @jiabin-hu)
- Add query_tags parameter support for execute methods (#736 by @jiabin-hu)
v4.1.5
Sorry, something went wrong.
No results found
Whats changed
- Add _retry_server_directed_only mode for Retry-After header compliance (#757 by @sd-db)
Full Changelog: v4.1.0...v4.1.5
v3.7.5
Sorry, something went wrong.
No results found
Whats changed
- Fix: Pyarrow concat to now merge with promote options as default (#745 by @jprakash-db)
Full Changelog: v3.6.0...v3.7.5
v4.2.5
Sorry, something went wrong.
No results found
v4.2.4
Sorry, something went wrong.
No results found
What's Changed
Full Changelog: v4.2.3...v4.2.4
v4.2.3
Sorry, something went wrong.
No results found
What's Changed
Full Changelog: v4.2.2...v4.2.3