Releases: ClickHouse/dbt-clickhouse
v1.10.0
This is an interesting release with many changes! Please take some time to review the notes before upgrading it. All changes are expected to be backward compatible, but some of them may require adjustments in your code.
Changes that specially require your attention
- Respect
catchupinmaterializataion: materialized_viewconfiguration flag during full refresh operations for materialized views. Whencatchup: Falseis set, the target table will not be backfilled with historical data during full refresh, providing consistent behavior across initial creation and redeployment scenarios by @dlouseiro in #589 - Add
select_sequential_consistency=1setting for SharedMergeTree (database_engine: Shared) to ensure read-after-write consistency. Shared engine also uses strictermutations_sync=3andalter_sync=3defaults. All connection settings now usesetdefault()allowing users to override defaults viacustom_settings. Those settings are expected to be safe for all dbt workloads so it's safe in production, but in specific performance critical situations you may want to override it by @koletzilla in #596
Improvements
- Huge new update for Materialized Views! Now you can define which target table will be used. For a full context on how to use it, check the documentation by @koletzilla in #582
- Add in
materializataion: dictionarythe settings update_field and update_lag, which is used in https://clickhouse.com/docs/sql-reference/dictionaries#refreshing-dictionary-data-using-lifetime and make lifetime optional by @herbert-allium in #580 - Move to declarative packaging to provide better tooling integration and build isolation (by enabling python-build) by @mariocj89 in #593
- Update
dbt-adaptersversion to 1.22 by @koletzilla in #609
Bugs
- Fix incremental models failing with
ON CLUSTERwhen the table exists on a single shard. Thecan_on_clusterflag now also considers the cluster configuration from the profile, not just the actual shard distribution by @ShimonSte in #599 - Fix issue where AWS credentials used in
s3sourcewere not read when defined outside the macro call:- Fix for
aws_access_key_idandaws_secret_access_keyby @ShimonSte in #601 - Fix for
role_arnby @sarahdasko in #440
- Fix for
New Contributors
- @ShimonSte made their first contribution in #599
- @mariocj89 made their first contribution in #593
- @sarahdasko made their first contribution in #440
Full Changelog: v1.9.8...v1.10.0
v1.9.8
This is a special release packed with community contributions! Thank you all for your PRs, they're really making the connector more useful and easier to use.
What's Changed
- Remove internal aliases for subqueries so the
--emptyflag works when tables are used with an alias by @Romano-arist in #487 - Bump minimum
dbt-adaptersversion to 1.16.7 to fix a compatibility issue that breaks tests if an older version is installed vy @ty44 in #578 - It is now possible to use an empty
local_suffixconfiguration by @sergeykuprikov in #569 - dbt can now perform ALTER COLUMN operations to update the columns of the destination table of materialized views. By default, it will work as usual (in a
dbt run, if the columns change, the target table will not change), but you can use theon_schema_changessetting to control the behavior by @pkotikalapudi in #534 - Delay the deletion of the old materialized view during full refresh execution. This ensures the old materialized view remains operational if an error occurs while the new materialized view is being backfilled by @BentsiLeviav in #568
- Column order is now respected when using incremental materialization with contracts by @StevenReitsma in #575
- Regular maintenance tasks by @koletzilla in #586
- Update Python versions used for testing: drop 3.9 support, add 3.13.
- Update ClickHouse versions used for testing: drop 25.7, add 25.8, 25.10, 25.11, 25.12 and head.
- Update linting libraries versions.
New Contributors
- @Romano-arist made their first contribution in #487
- @ty44 made their first contribution in #578
- @sergeykuprikov made their first contribution in #569
- @pkotikalapudi made their first contribution in #534
Full Changelog: v1.9.7...v1.9.8
v1.9.7
What's Changed
- We are now officially supporting dbt-core 1.10!
- Validate that the new
--sampleflag (docs) works. Add tests to cover the implementation (#570). - We have validated that the code doesn't raise warnings related to deprecations for future dbt versions
- Change tests to use dbt-core 1.10 to start validating new functionality (#570).
- dbt Catalogs feature is not supported right now, but workarounds are going to be documented.
- Validate that the new
- Add clickhouse__safe_cast macro that automatically provides default values for ClickHouse types when casting null values. This eliminates the need to specify all non-nullable columns in unit test fixtures by @MaelleBaillet5 in #552
New Contributors
- @MaelleBaillet5 made their first contribution in #552
Full Changelog: v1.9.6...v1.9.7
v1.9.6
What's Changed
- Important for cloud users, who use the
Shared Catalogfeature - Allow db_engine = 'Shared' in supports_atomic_exchange() by @herbert-allium in #543
New Contributors
- @herbert-allium made their first contribution in #543
Full Changelog: v1.9.5...v1.9.6
v1.9.5
What's Changed
- Fix v.1.9.4 Regression:
macro 'dbt_macro__get_expected_sql' takes not more than 2 argument(s)error when executingdbt testby @koletzilla in #548
Full Changelog: v1.9.4...v1.9.5
v1.9.4
What's Changed
Bugs and features:
- Drop internal MV when a model is changed from materialized_view to view by @koletzilla in #516 and #536
- Ensure that temporary tables are not accessed with database clause by @koletzilla in #515
- Move dbt-adapters as package dependency and lock a stable version by @koletzilla in #530 and #537
- Add codec support for column addition in schema changes by @Nikita1198 in #486
Repository maintenance:
- Remove documentation that is now part of the docs in ClickHouse webpage by @koletzilla in #526
- Remove support for non-maintained CH versions. Add again support for 25.8 (latest) by @koletzilla in #517
- ci: add
test_cloud_results.ymlplaceholder workflow by @slvrtrn in #525
New Contributors
- @slvrtrn made their first contribution in #525
- @Nikita1198 made their first contribution in #486
Full Changelog: v1.9.3...v1.9.4
v1.9.3
What's Changed
Bugs and features:
- Shared database to can_exchange by @timfursov in #498
- Correctly parse query_settings when a String is added by @koletzilla in #497
- Filter settings that are exclusive for MergeTree Engines by @koletzilla in #504
- Fix cloud tests and problems with snapshots not using a consistent now() by @BentsiLeviav in #509
Repository maintenance:
- chore: Substitute deprecated pkg_resources by @enqueue in #471
- Fix CI running in main: make lint and test_matrix work again by @koletzilla in #502
- Fix isort not working in Github Actions by @koletzilla in #505
New Contributors
- @enqueue made their first contribution in #471
- @timfursov made their first contribution in #498
- @koletzilla made their first contribution in #495
Full Changelog: v1.9.2...v1.9.3
v1.9.2
What's Changed
- Limit dbt-core version to <1.10.X to avoid compatibility issues by @BentsiLeviav in #453
- add closing to the sql code by @BentsiLeviav in #454
- add on cluster clause by @BentsiLeviav in #455
- Add newline around subquery parenthesis used when contract is enabled by @dlouseiro in #457
- Fix docker compose concurrent issue by @BentsiLeviav in #468
- Check for
Shareddatabase engine incan_exchangeby @tavplubix in #460 - V1.9.2 housekeeping by @BentsiLeviav in #469
New Contributors
- @dlouseiro made their first contribution in #457
- @tavplubix made their first contribution in #460
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- hot fix missing database_engine error by @BentsiLeviav in #450
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
- chore(deps): upgrade dbt-core to ~=1.9.0 by @canbekley in #403
- feat: microbatch strategy by @canbekley in #404
- feat: support TTL as a column-level configuration by @morsapaes in #442
- feat: Add ability to set sql security option by @dev-mkc19 in #379
- feat: escape column names in comments by @erik-amundson-anthro in #428
- Add TTL materialization for distributed tables. by @arastopchin1 in #430
- add cluster in connections_keys by @mironovich in #419
- fix: replicated database materializations by @canbekley in #407
- fix quoting reference in database_engine usage by @BentsiLeviav in #446
- Fix on cluster clause behaviour by @BentsiLeviav in #447
New Contributors
- @morsapaes made their first contribution in #442
- @dev-mkc19 made their first contribution in #379
- @erik-amundson-anthro made their first contribution in #428
- @arastopchin1 made their first contribution in #430
- @mironovich made their first contribution in #419
Full Changelog: v1.8.9...v1.9.0