v1.12.0rc2
Pre-releasedbt-sqlserver v1.12.0rc2
Together with @Benjamin-Knight and @joshmarkovic, we used the releases leading up to v1.11.0 to bring the adapter closer to current dbt-core versions while fixing several bugs along the way.
The v1.12.x release series formalizes that work and begins addressing the deprecations and behavior changes required to align the adapter with upcoming dbt-core v2.0 behavior and its pending migration. This includes support for the v2 parser, which will be available for use in this project. Please leave any insights on discussions.
Important behavior changes
This release changes several defaults. Review the following items carefully before upgrading.
-
pyodbcis no longer included in the default installation.You must explicitly choose and install the backend you want to use, suggested ADBC if you want to test future compatibility (mostly user pass login), or mssql-python otherwise.
-
dbt_sqlserver_use_dbt_transactionsnow defaults toTrue.dbt-managed transaction hooks now emit real
BEGIN TRANSACTIONandCOMMIT TRANSACTIONT-SQL statements instead of no-ops.As a result, when a model fails, its statements are rolled back rather than potentially leaving partial results behind under autocommit.
Setting this option to
Falsepreserves the legacy autocommit behavior. This option is deprecated and will be removed in a future release. -
dbt_sqlserver_use_native_string_typesnow defaults toTrue.String types now use the following mappings:
STRING→VARCHAR(MAX)NCHAR→NCHAR(1)NVARCHAR→NVARCHAR(4000)
Previously, the adapter used legacy mappings such as
VARCHAR(8000)andCHAR(1).Setting this option to
Falsepreserves the legacy behavior. This option is deprecated and will be removed in a future release. -
An experimental ADBC backend is now available.
Configure it with:
backend: adbc
This backend provides an alternative to
pyodbcandmssql-python. It is built on [ADBC](https://arrow.apache.org/adbc/) and connects to SQL Server throughgo-mssqldbrather than an ODBC or DB-API bridge.Install it with the
dbt-sqlserver[adbc]extra and the separate driver binary installed through thedbcCLI.The initial implementation supports SQL Server username-and-password authentication only.
See [docs/adbc_backend.md](docs/adbc_backend.md) and [#771](#771) for details.
What's Changed
- feat: dbt-core 1.12 compatibility, Python 3.14 support, and transaction-safety fixes by @axellpadilla in #772
- Add workflow to sync main branch in preparation for default branch migration by @axellpadilla in #781
- Raise compiler error for sql_header config with redirect to pre_hooks/query_options by @axellpadilla in #777
- Add experimental ADBC backend by @axellpadilla in #783
- ci: run unit and integration tests on release branches by @axellpadilla in #797
- fix: concurrent-incremental catalog deadlock, and (nolock) on the remaining catalog lookups by @axellpadilla in #792
- fix: drop the model's outbound foreign keys too (#632) by @axellpadilla in #793
- fix: one identifier quoting style, and the unquoted identifiers underneath it (#785, #409) by @axellpadilla in #795
- Bump version to 1.12.0rc2 by @axellpadilla in #799
Transaction fixes are being backported to final v1.11.0 release
Full Changelog: v1.11.0...v1.12.0rc2