- This file provides a full account of all changes to
dbt-redshift - The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie
- Changes are listed under the (pre-)release in which they first appear
- Subsequent releases include changes from previous releases
- "Breaking changes" listed under a version may require action from end users or external maintainers when upgrading to that version
- Do not edit this file directly. This file is auto-generated using changie
- For details on how to document a change, see the contributing guide
- Add upper bound
<2.0ondbt-coreto prevent pip from resolving to dbt-core 2.0 (Fusion engine), which is incompatible with the python adapter (#2013)
- Remove the
redshift_use_show_apisbehavior flag. Use thedatasharingprofile credential instead to enable SHOW/SVV_* APIs for cross-database Datasharing support. (#1621)
- Add
drop_without_cascadeprofile credential to omit CASCADE from DROP TABLE/VIEW/MATERIALIZED VIEW statements (#1772)
- Enable discovering pre-existing functions by updating
list_relations_without_cachingto include function relations (#1488) - Fix 'Tried to commit transaction but it does not have one open' crash when a transient Redshift error triggers a retry during DROP in fresh_transaction (#1698)
- Auto-retry 'conflict with concurrent transaction' errors during DROP statements in Redshift (#626)
- Quote database, schema, and table identifiers in SHOW TABLES/SHOW COLUMNS/SHOW GRANTS/SHOW SCHEMAS so hyphenated names are accepted by Redshift's SHOW APIs (#1884)
- Bump dbt-adapters floor to 1.24.1 for catalogs v2 and JS UDF support (#1966)
- Gate cross-database USE/RESET USE in pre_model_hook, post_model_hook, create_schema, and drop_schema behind the use_show_apis check to prevent incorrect database switching when datasharing is not enabled (#NA)
- Add support for granting privileges to Redshift groups and roles via grants config using 'group:' and 'role:' prefixes (#647)
- Redshift: Use native ALTER COLUMN TYPE for VARCHAR and VARBYTE column size changes; fall back to default for other type changes (#649)
- Adds support for Redshift session
query_groupso dbt runs can be tagged for WLM and query logging (#648) - Added behavior flag
redshift_use_show_apis(default: false) for opting into SVV_*-based metadata queries, required for Datasharing/cross-database. (#1621) - Use SVV system views for relation listing when
redshift_use_show_apisis enabled (#1622) - Migrate
list_schemasandcheck_schema_existsto SVV_ALL_SCHEMAS whenredshift_use_show_apisflag is enabled, enabling cross-database schema listing (#1623) - Migrate
get_columns_in_relationto usesvv_all_columns, enabling cross-database column introspection for Datasharing (#1624) - list_relations - using SHOW TABLES command to get the relation details instead of using svv_* based tables (#1669)
- Migrate get_columns_in_relation to use SHOW COLUMNS instead of svv_all_columns (#1672)
- Migrate
list_schemasandcheck_schema_existsto useSHOW SCHEMAS(#1674) - Migrate get_show_grant_sql to use SHOW GRANTS ON TABLE (#1677)
- Support cross-database
create_schemaanddrop_schemawhenredshift_use_show_apisis enabled, and deprecatera3_nodeas an alias for the behavior flag. (#1693) - Migrate catalog macros (
get_catalog,get_catalog_relations) to use SHOW TABLES and SVV_REDSHIFT_COLUMNS whenredshift_use_show_apisis enabled (#1625) - Support metadata-based freshness across databases using SHOW TABLES FROM SCHEMA when redshift_use_show_apis is enabled (#1626)
- Add support for per-model database switching using USE before model execution and RESET USE after, enabling models targeting a non-default db (#1786)
- Add
allow_concurrent_dropscredential option to skip the DROP RLock for projects with no downstream views (#1771)
- Adding friendlier error message when dist is not string for redshift (#651)
- Fix dbt clone failing when persist_docs adds column comments to late binding views (#622)
- When persist_docs.columns is enabled, dbt now warns about columns defined in YAML that don't exist in the database and eliminates a duplicate get_columns_in_relation roundtrip via the validate_doc_columns helper. (#1690)
- Handle missing table_subtype and decouple ra3_node from use_show_apis (#1745)
- Use the ra3_node config where it was used earlier. (#1750)
- Remove ra3_node deprecation log until SHOW APIs are GA (#1773)
- Add
datasharingprofile credential as an alternative to theredshift_use_show_apisbehavior flag for enabling SHOW/SVV_* APIs; either can be used to enable cross-database Datasharing support. (#1621) - Add cross-database support for create_schema and drop_schema by issuing USE / RESET USE around schema operations targeting a non-default database (#1786)
- Fix grant reconciliation failure on clusters with datashares by filtering reserved Redshift roles (ds:, sys:) from standardize_grants_dict (#1808)
- Filter out internal
pg.droppedphantom columns fromSHOW COLUMNSresults to prevent schema-change errors during cross-database column type alterations (#1816) - Revert breaking grants behavior from 1597 behind opt-in flag
redshift_grants_extendedto prevent unintended revocation of externally-managed role and group grants (#647)
- Default
redshift_skip_autocommit_transaction_statementstoFalseto preserve legacy transaction behavior. Users can opt-in to skip unnecessary transaction statements by setting the flag toTrue. (#1538) - Fix bug where
retryable_exceptionsis not iterable withretry_allconfig param set (#1587) - Add datasharing profile variant tests for incremental on_schema_change, incremental unique_key, materialized view basic, and UDFs to catch metadata regressions when SHOW APIs are enabled (#1808)
- @colinrogers (#1771)
- @colinrogers99 (#1808)
- @dluftspring (#651)
- @jni-bot (#647)
- @trouze (#648)
- Add support for py3.13 (#1475)
- Update dbt-postgres requirement to allow <2.0 (#1420)
- Begin testing that python UDFs aren't supported (#1410)
- Bump minimum dbt-adapters to 1.19.0█ (#1421)
- Support volatility setting in sql UDFs (#1345)
- Test handling of unknown function macro lookup (#1344)
- Drop support for python 3.9 (#1412)
- Support fine grained controls for tcp keepalive settings (#876)
- Add support for scalar functions (#1291)
- remove retry_all from add_query and set backoff so it actually backs off (#1095)
- fix macro naming get_delete_insert_merge_sql (#1032)
- update alter_relation_add_remove_columns to quote column names (#63)
- Fix references to function properties in function macros (#1365)
- Expand snapshot testing. (#1068)
- Add 'serverless_work_group' and 'serverless_acct_id' params to profile and connection calls (#919)
- fix retry_all exception handling (#1069)
- allow users to declare redshift_connector debug logging via env var (#1062)
- Retry
could not open relation with OIDquery exceptions (#1014) - Added
retry_allprofile config param to retry on all redshift_connector exceptions (#1014)
datetime.datetime.utcnow()is deprecated as of Python 3.12 (#980)
- Add IdpTokenAuthPlugin authentication method. (#898)
- Make source and target tables able to be referenced via DBT_INTERNAL_DEST and DBT_INTERNAL_SOURCE for the delete/insert incremental strategy (#910)
- Add retry logic for retryable exceptions (#960)
- Move from setup.py to pyproject.toml and to hatch as a dev tool (#951)
- Refactor to use new batch context varaibles (#966)
- Fix regression to re-enable browser-based IDC authentication (#904)
- Add 'is_serverless' param to profile and connection calls (#819)
- Handle Gracefully handle null result from backend_pid check (#821)
For information on prior major and minor releases, see their changelogs: