unstale

pypi / databricks-sql-connector

databricks-sql-connector

What changed in databricks-sql-connector 3 to 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-15.

12 breaking2 security1 deprecations28 new APIs and options3 performance15 behavior and defaults16 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.1 on npm

databricks-sql-connector 456 changes

Breaking changes 6

  • Rejects an mTLS private key when no client certificate is supplied, and identifies missing or empty client certificate and key files in connection errors.

    4.6.0release notes

  • The minimum supported Python version is now 3.10; Python 3.8 and 3.9 are no longer supported.

    4.4.0release notes

  • The kernel wheel requires Python 3.10 or newer; on older interpreters the extra is a no-op and enabling the kernel raises ImportError.

    4.3.0release notes

  • The default for use_hybrid_disposition changes to False.

    4.2.2release notes

  • The SQLAlchemy dialect is now provided in a separate package, split from the core connector package.

    4.0.0release notes

  • Pyarrow is now an optional dependency; users who need Arrow must install pyarrow explicitly.

    4.0.0release notes

Security 2

  • Allows Apache Thrift 0.25.x, including security fixes while preserving support for large Thrift results.

    4.7.0release notes

  • Allows OAuthlib 4.x, including security fixes while preserving support for large Thrift results.

    4.7.0release notes

Deprecations 1

  • SEA is deprecated in favor of the kernel backend.

    4.5.0release notes

New APIs and options 17

  • Adds a kernel-only option, defaulting to False, that returns GEOMETRY / GEOGRAPHY values as SRID/WKB objects instead of WKT/EWKT strings.

    4.7.0release notes

  • Adds opt-in support, defaulting to False, for escaping catalog names in metadata queries on Thrift and kernel connections.

    4.7.0release notes

  • Kernel connections now support JWT private-key M2M and Azure Entra authentication.

    4.5.0release notes

  • Adds an option to enable token caching for kernel U2M authentication.

    4.5.0release notes

  • Adds an install extra for the native kernel client.

    4.3.0release notes

  • Kernel logs are available through Python logging under this logger.

    4.3.0release notes

  • Adds an opt-in per-connection kernel backend using the SEA HTTP transport; the default remains Thrift.

    4.3.0release notes

  • Adds a mode for complying with the Retry-After header.

    4.1.5, 4.2.7release notesrelease notes

  • SPOG routing now supports account-level vanity URLs.

    4.2.6release notes

  • Statement-level query_tags support is available for the SEA backend.

    4.2.6release notes

  • query_tags can now be specified as a dict when creating a connection.

    4.2.6release notes

  • execute methods now support a query_tags parameter.

    4.2.6release notes

  • A utility method was added to normalize the HTTP protocol in the HTTP path.

    4.2.4release notes

  • Adds a configuration option to disable transaction operations.

    4.2.1release notes

  • Adds support for multi-statement transactions.

    4.2.0release notes

  • A new session conf enables metric view metadata.

    4.1.4release notes

  • Adds token federation support for the Databricks SQL Python Driver.

    4.1.4release notes

Performance 2

  • Apache Thrift is lazy-loaded for kernel and SEA connections.

    4.5.0release notes

  • Telemetry latency logging is optimized to reduce overhead.

    4.2.2release notes

Behavior and default changes 13

  • Lakehouse Real-Time sessions retain session affinity.

    4.9.0release notes

  • Feature-flag values are shared across connections to the same workspace, with typed reads and coordinated refreshes.

    4.7.0release notes

  • When a warehouse rejects the default Thrift protocol with SQLSTATE KP001, the session is reopened on the kernel backend and that warehouse is remembered so later connections skip Thrift, unless a backend was explicitly chosen.

    4.6.0release notes

  • Kernel connections now forward telemetry, socket timeout, OAuth, identity-federation, and row-limit settings.

    4.5.0release notes

  • REMOVE staging operations no longer require this setting because removing a remote file does not touch the local filesystem.

    4.4.0release notes

  • Dependency constraints now allow pandas 3.x.

    4.2.7release notes

  • Telemetry unwraps TokenFederationProvider to report the inner authentication mechanism and flow.

    4.2.7release notes

  • PyArrow table concatenation now uses promote_options as the default.

    4.2.6release notes

  • The User-Agent header now includes AI coding agent detection.

    4.2.6release notes

  • Circuit breaker behavior changes using pybreaker.

    4.2.2release notes

  • Telemetry is batched at the host level to reduce rate limiting.

    4.2.2release notes

  • Telemetry is enabled by default.

    4.2.2release notes

  • Makes the Python telemetry event model consistent with JDBC.

    4.2.0release notes

Fixes and other changes 15

  • Re-fetching or concurrently polling async statements on the kernel backend preserves the originating session.

    4.9.0release notes

  • Fixes result fetching for queries that return duplicate column names.

    4.8.0release notes

  • Forwards _pool_maxsize to supported Databricks SQL Kernel versions.

    4.6.0release notes

  • Fixes telemetry for asynchronous statements.

    4.5.0release notes

  • Empty metadata filters are now preserved.

    4.5.0release notes

  • On the Thrift backend, DML statements set cursor.rowcount to the server's affected-row count; executemany aggregates counts across parameter sets. SELECT and statements without a reported count still return -1.

    4.4.0release notes

  • Reverts the Thrift 0.23.0 bump that broke installation on DBR LTS.

    4.3.0release notes

  • Aligns kernel behavior with Thrift for cursor state, metadata, DML rowcount, async state, cancellation, staging and volume operations, and structured error context.

    4.3.0release notes

  • Empty chunks are removed during CloudFetch concatenation.

    4.2.7release notes

  • SPOG org-id is extracted from the cluster http_path for non-Thrift requests.

    4.2.7release notes

  • Float inference now uses the 64-bit DoubleParameter instead of FloatParameter.

    4.2.6release notes

  • The dependency manager now handles PEP 440 compatible release syntax.

    4.2.6release notes

  • Fixed feature-flag endpoint retries in the gov region.

    4.2.5release notes

  • Added support for pandas versions below 2.4.0.

    4.2.3release notes

  • Added support for pandas 2.3.3 on Python versions below 3.14.

    4.2.3release notes

databricks-sql-connector 321 changes

Breaking changes 6

  • PyArrow concatenation now merges with promote options by default, which may affect how concatenated results are produced.

    3.7.5release notes

  • Native parameterized SQL queries are supported; they require DBR 14.2 and above.

    3.0.0release notes

  • The minimum pyarrow version is raised to 14.0.1 in response to CVE-2023-47248.

    3.0.0release notes

  • Python 3.7 is no longer supported.

    3.0.0release notes

  • The dialect supports SQLAlchemy 2.0 and above and drops support for SQLAlchemy 1.x.

    3.0.0release notes

  • Cloud fetch is enabled by default; set use_cloud_fetch=False when building databricks.sql.client to disable it.

    3.0.0release notes

New APIs and options 11

  • The SQLAlchemy dialect supports reading and writing composite keys.

    3.0.0release notes

  • The SQLAlchemy dialect supports reading and writing ForeignKeyConstraint.

    3.0.0release notes

  • The SQLAlchemy dialect supports writing Identity to tables for autoincrementing primary keys.

    3.0.0release notes

  • The SQLAlchemy dialect supports LIMIT and OFFSET for paging through results.

    3.0.0release notes

  • The SQLAlchemy dialect supports reading and writing PrimaryKeyConstraint.

    3.0.0release notes

  • A _retry_max_redirects configuration option is added.

    3.0.0release notes

  • The SQLAlchemy dialect adds support for the TIME type.

    3.0.0release notes

  • The SQLAlchemy dialect adds support for the TIMESTAMP type.

    3.0.0release notes

  • The SQLAlchemy dialect adds support for the TIMESTAMP_NTZ type.

    3.0.0release notes

  • The SQLAlchemy dialect adds support for the TINYINT type.

    3.0.0release notes

  • The SQLAlchemy dialect supports reading and writing from views.

    3.0.0release notes

Performance 1

Behavior and default changes 2

  • _enable_v3_retries is set to True, and users are warned if they override it.

    3.0.0release notes

  • The SQLAlchemy dialect was completely rewritten.

    3.0.0release notes

Fixes and other changes 1

  • The SQLAlchemy dialect supports Numeric type scale and precision, such as Numeric(10,2).

    3.0.0release notes