Compare commits

...

330 Commits

Author SHA1 Message Date
MichelleArk
b66dff7278 move custom-hooks to scripts 2025-12-12 14:24:07 -05:00
Michelle Ark
22d21edb4b Reorganize docs/arch (#12270) 2025-12-12 10:26:23 -05:00
Michelle Ark
bef7928e22 remove unused performance CI framework (#12278) 2025-12-12 10:26:06 -05:00
Michelle Ark
c573131d91 cleanup stale test migration docs (#12274) 2025-12-11 12:19:35 -05:00
Michelle Ark
f10d84d05e move setup_db.sh to scripts, remove test dir (#12273) 2025-12-11 12:19:22 -05:00
Michelle Ark
79a4c8969e improve error message clarity when detecting nodes with spaces in name (#12272) 2025-12-11 12:15:06 -05:00
Gerda Shank
9a80308fcf Implementation of meta_get and meta_require (#12267) 2025-12-10 22:57:28 -05:00
Quigley Malcolm
7a13d08376 Ensure all recent deprecation warnings include the name in the message (#12265)
* Add event name to `message` of recently added deprecations

* Make it harder to not supply the event name to deprecation messages

* Add changie doc

* Fixup import naming
2025-12-10 13:03:24 -06:00
Colin Rogers
9e9f5b8e57 add add_catalog_integration call even if we have a pre-existing manifest (#12262)
* add add_catalog_integration call even if we have a pre-existing manifest

* add changelog
2025-12-10 09:35:39 -08:00
Michelle Ark
9cd6a23eba add compile test for batch context vars (#12261) 2025-12-09 12:08:43 -08:00
Emily Rockman
e46c37cf07 fix target file for dbt-common CI (#12258) 2025-12-08 17:15:24 -05:00
Michelle Ark
df23f398a6 set unit test config.enabled to False if it is testing a disabled model (#12251) 2025-12-08 13:27:41 -08:00
Emily Rockman
97df9278c0 Move to hatch for build tooling (#12192)
* initial hatch implmentation

* cleanup docs

* replacing makefile

* cleanup hatch commands to match adapters

reorganize more to match adapters setup

script comment

dont pip install

fix test commands

* changelog

improve changelog

* CI fix

* fix for env

* use a standard version file

* remove odd license logic

* fix bumpversion

* remove sha input

* more cleanup

* fix legacy build path

* define version for pyproject.toml

* use hatch hook for license

* remove tox

* ensure tests are split

* remove temp file for testing

* explicitly match old verion in pyproject.toml

* fix up testing

* get rid of bumpversion

* put dev_dependencies.txtin hatch

* setup.py is now dead

* set python version for local dev

* local dev fixes

* temp script to compare wheels

* parity with existing wheel builds

* Revert "temp script to compare wheels"

This reverts commit c31417a092.

* fix docker test file
2025-12-05 21:59:44 -05:00
Edgar Ramírez Mondragón
748d352b6b Address Click 8.2+ deprecation warning by using type-checking imports (#12039) 2025-12-05 13:13:25 -08:00
Michelle Ark
bbd8fa02f1 fix flaky invocation context + warn error settings in parser unit tests (#12256) 2025-12-05 10:19:08 -05:00
Emily Rockman
61009f6ba7 Tweak release for unused fields (#12209)
* point to branch:

* remove unused code paths

* make release backwards compatible

hardcode

* use correct types

* put main back
2025-12-04 09:11:59 -05:00
Emily Rockman
ee7ecdc29f Improve --add-package duplicate detection (#12239)
* optimize name matches

* changelog

* Apply suggestion from @emmyoop
2025-12-03 12:49:57 -05:00
Matt Burke
d74b58a137 Fix partial parsing bug with singular tests (#12224) 2025-12-02 14:30:47 -05:00
Michelle Ark
12b04e7d2f avoid raising custom-key-in-config-deprecation for pre/post-hook model SQL config validation (#12244) 2025-12-02 14:22:02 -05:00
Michelle Ark
5d56a052a7 Turn on jsonschema-based deprecations by default, based on adapter support (#12240) 2025-12-02 12:37:37 -05:00
Emily Rockman
62a8ea05a6 stop excluding the core team from changelogs (#12241) 2025-12-02 09:38:24 -05:00
Emily Rockman
1219bd49aa Merge pull request #12238 from dbt-labs/revert-merge
Revert merge on main
2025-12-01 14:05:11 -05:00
Emily Rockman
791d1ebdcd Revert "changelog"
This reverts commit 8ff86d35ea.
2025-12-01 13:27:03 -05:00
Emily Rockman
148b9b41a5 Revert "optimize name matches"
This reverts commit 087f8167ec.
2025-12-01 13:27:02 -05:00
Emily Rockman
d096a6776e Revert "deal with bool"
This reverts commit bcb07ceb7b.
2025-12-01 13:26:58 -05:00
Emily Rockman
8ff86d35ea changelog 2025-12-01 13:12:30 -05:00
Emily Rockman
087f8167ec optimize name matches 2025-12-01 13:12:29 -05:00
Emily Rockman
bcb07ceb7b deal with bool 2025-12-01 13:12:25 -05:00
Emily Rockman
c559848044 Fix --add-package when warn-unpinned: false present (#12233)
* add tests

fix tests

* deal with bool

* fix bug

* changelog
2025-12-01 13:03:37 -05:00
Emily Rockman
3de0160b00 stop codecov CI checks (#12235) 2025-12-01 10:25:20 -05:00
Michelle Ark
2c7f49a71e Support unit testing models that depend on source with the same name (#12220) 2025-11-28 14:32:15 -05:00
Michelle Ark
518c360a29 Avoid retrying successful run operation (#12227) 2025-11-28 14:31:53 -05:00
Emily Rockman
8cf51fddba fix local test failure (#12228)
fix comments
2025-11-28 13:28:19 -05:00
Emily Rockman
8e128eee8e Fix: Data type size/precision/scale changes incorrectly flagged as breaking for versioned models (#12219)
* add failing test

* deal with precision

partition

* changelog

* accoutn for case sensitivity

* better testing
2025-11-28 09:45:56 -05:00
Emily Rockman
94b69b1578 Fix stack traces shown for incompatible package version errors (#12218)
* add test, fix exception hierarchy

* changelog
2025-11-28 09:45:33 -05:00
Michelle Ark
0216e32c7f Add test for unit testing model that depends on input model with alias (#12217) 2025-11-26 18:25:10 -05:00
Andrey Siunov
bbd078089e Fix generation of deprecations summary (#12202) 2025-11-25 23:15:55 -06:00
Trilok Ramakrishna
575bac3172 Allow dbt deps to run when vars lack defaults in dbt_project.yml (#12171)
* Allow dbt deps to run when vars lack defaults in dbt_project.yml

* Added Changelog entry

* fixed integration tests

* fixed mypy error

* Fix: Use strict var validation by default, lenient only for dbt deps to show helpful errors

* Fixed Integration tests

* fixed nit review comments

* addressed review comments and cleaned up tests

* addressed review comments and cleaned up tests
2025-11-26 10:38:37 +05:30
Quigley Malcolm
bca2211246 Stop emitting NoNodesForSelectionCriteria three times during build command (#12204)
* Add test checking that `NoNodesForSelectionCriteria` is only fired once per invocation

* Stop emitting `NoNodesForSelectionCriteria` three times during `build` command

* update changelog

---------

Co-authored-by: Michelle Ark <MichelleArk@users.noreply.github.com>
2025-11-25 13:28:52 -06:00
Michelle Ark
0015e35a1b Correctly reference foreign key references when deferring (#12199) 2025-11-25 13:37:07 -05:00
Emily Rockman
09bce7af63 Add exception when using --state and referring to a removed test (#12203)
* add test using repro from issue

fix test

more test fixes

fix test

* error on none

* changelog

* use correct fixture pattern
2025-11-25 13:26:50 -05:00
Quigley Malcolm
cb7c4a7dce Partial Parsing support for function nodes (#12074)
* Explicitly support functions during partial parsing

* Emit a `Note` event when partial parsing is skipped due to there being no changes

* Begin testing partial parsing support of function nodes

* Add changie doc

* Move test_pp_functions to use `EventCatcher` from dbt-common

* Remove from `functions` instead of `nodes` during partial parsing function deletion

* Fix the partial parsing scheduling of function sql and yaml files

Previously we were treating the partial parsing scheduling of function
files as if they were only defined by YAML files. However functions consist
of a "raw code file" (typically a .sql file) and a YAML file. We needed
to update the the deletion handling + scheduling of functions during partial
parsing to act more similar to "mssat" files in order to achieve this.
This work was primarily done agentically, but then simplified by myself
afterwards.

* Test that changing the alias of a function doesn't require reparsing of the downstream nodes that reference it
2025-11-24 16:53:17 -06:00
Quigley Malcolm
5555a3dd25 Ensure schemas of function nodes are created when in DAG during build command (#12198)
* Add test to check that functions with not default schemas get their schemas created

* Ensure schemas of function nodes are created when in DAG during `build` command

* Add changie doc for function schema bug fix
2025-11-24 16:31:03 -06:00
Michelle Ark
0e30db4e82 restore DuplicateResourceNameError exception within a package (#12183) 2025-11-24 14:39:47 -05:00
Quigley Malcolm
b2ff6ab5a7 Fix bug function wasn't specifiable with --exlcude-resource-type flag (#12187) 2025-11-21 09:19:43 -06:00
Michelle Ark
48218be274 update jsonschemas (#12180) 2025-11-19 13:10:55 -05:00
Trilok Ramakrishna
500208c009 Use EventCatcher from dbt-common (#12177)
* removed event catcher from utils

* Remove empty utils.py after EventCatcher migration to dbt-common
2025-11-19 22:17:25 +05:30
rckahlert-posedio
0162b71e94 Prevent applying the "community" label to bot PRs (#11912) (#12173)
Bypass check as I manually checked this does not have artifact changes
2025-11-18 20:34:51 -05:00
Quigley Malcolm
811e4ee955 Support default arguments for udfs (#12175)
* Add tests to check parsing of function argument default values

* Begin allowing the specification of `default_value` on function arguments

* Validate that non-default function arguments don't come _after_ default function arguments

* Add changie doc
2025-11-18 12:23:55 -06:00
FishtownBuildBot
b79ec3c33b Cleanup main after cutting new 1.11.latest branch (#12179)
* Clean up changelog on main

* Bumping version to 1.12.0a1

* Code quality cleanup

* Update CHANGELOG.md

---------

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-11-18 13:13:12 -05:00
Emily Rockman
e32718e666 move full workflow into core since no one else uses it (#12178) 2025-11-18 13:12:43 -05:00
Michelle Ark
f6e0793d00 Fix 10157: macro composition in unit tests (#12168) 2025-11-18 11:34:48 -05:00
Patrick Yost
39cf2ec94f Add test coverage for SL metric parsing (#12169) 2025-11-17 17:49:42 -06:00
ddk-dbt
3caddd0b65 Pin GitHub Actions to specific SHAs (53 actions in 11 files) (#12133)
Updated action references from tags/branches to specific commit SHAs for improved security and reproducibility.
2025-11-14 10:21:55 -05:00
Patrick Yost
5dd516608b Stop allowing hyphens in metric names and add name validation tests (#12158) 2025-11-10 18:53:37 -06:00
Quigley Malcolm
11ada88e48 Stop compiling Python UDFs like they're Python Models (#12154)
* Only do special python model compilation for python models (not other python nodes)

* Test jinja compilation of python udfs

* Add changie doc
2025-11-06 18:47:47 -06:00
William Deng
b9e5c144a9 Properly propagate config for metric when created from measure (#12135)
* Propagate measure.config to metric.config when specified during create_metric:True

* changelog

* Update the metric.expr to be populated correctly according to DSI rules
2025-11-06 16:37:00 -06:00
Michelle Ark
001e729664 support DBT_ENGINE prefix for DBT_RECORDER env vars (#12149)
* support DBT_ENGINE prefix for DBT_RECORDER env vars

* changelog entry
2025-11-06 11:12:26 -06:00
Emily Rockman
7e10fc72d5 Move from setup.py to pyproject.toml (#12129)
* convert setup.py to pyproject.toml

* move dev requirements into pyproject.toml

* with setup.py gone we can install from root

* lint

cleanrly state intention to remove

* convert precommit to use dev deps

* consolidate version to pyproject.toml

* editable req

get rid of editable-req

* docs updates

* tweak configs for builds

* fix script

* changelog

* fixes to build

* revert unnecesary changes

more simplification

revert linting

more simplification

fix

don’t need it
2025-11-06 09:08:00 -05:00
Emily Rockman
c170211ce3 remove unreferenced png (#12141) 2025-11-05 12:20:44 -05:00
Emily Rockman
8e800cee4c Consolidate pre-commit config (#12140)
* use single version of tools

* isort
2025-11-05 12:20:29 -05:00
Michelle Ark
1bd81f5025 fix falsy evaluation of build_after.count (#12136) 2025-11-03 14:09:04 -05:00
Quigley Malcolm
65a122b34a Revert "Upgrade DSI to 0.10.x (#12110)" (#12132)
This reverts commit 2190fa64a3.
2025-10-30 11:02:02 -05:00
Michelle Ark
785304732f add dbt/jsonschemas to recursive-include (#12126) 2025-10-28 16:56:50 -04:00
Quigley Malcolm
4693918a0f Drop python 3.9 support (#12120)
* Update `setup.py` to drop support for python 3.9

* Update github issue templates to not use python 3.9 as an example

* Update github workflows to no longer depend on or test python 3.9

* Drop python 3.9 from the test dockerfile

* Update `CONTRIBUTING.md` to correctly list what python versions we test

* Update comment about some code specifically needed for a python 3.9.7 issue

* Update pre-commit python version comment

* Add changie doc

* Update imports from click as upgrading to python 3.10 changed some click items
2025-10-28 15:10:03 -05:00
FishtownBuildBot
96738d5edc [Automated] Merged prep-release/1.11.0b4_18884421623 into target main during release process 2025-10-28 14:32:15 -04:00
Github Build Bot
780544dc7f Bumping version to 1.11.0b4 and generate changelog 2025-10-28 18:00:58 +00:00
William Deng
2190fa64a3 Upgrade DSI to 0.10.x (#12110) 2025-10-28 10:56:00 -04:00
Michelle Ark
deb2f3e890 move jsonschemas out of dbt/include (#12121) 2025-10-28 10:31:52 -04:00
Quigley Malcolm
34f0190a14 Support the parsing of python UDFs (#12111)
* Add test to check that python UDFs can be parsed

* Add `entry_point` and `runtime_version` to function node config

These two configs are required for python UDFs in some warehouses and
may also be required for other UDF languages moving forward. The specific
adapters implementation will enforce the requirement. By default both
configs will be `None` unless set.

* Begin searching for `.py` files in `functions` directory

* Switch to using `SimpleParser` for functions

Previously we were using `SimpleSQLParser` and we were _only_ parsing
SQL files. However, we're now also parsing python files for functions.
As such it makes sense to switch to the `SimpleParser`. Functionally there
is no change bceause we re-added the `parse_file` override that `SimpleSQLParser`
had (there was nothing sql specific about it). Hence this is mostly a
symbolic change.

* Add changie doc
2025-10-27 15:14:47 -05:00
Quigley Malcolm
7f9449660e Support setting function node configs from dbt_project.yml (#12104)
* Add test which checks that function nodes can be configured from dbt_project.yml

* Support setting function node configs from dbt_project.yml

* add changie doc

* Fix unit tests to expect `functions` as part of project
2025-10-22 16:55:28 -05:00
Quigley Malcolm
ea172aa668 Make function node type a config (#12102)
* Update function node tests to look for `type` on function config

* Update `function` node to have `type` on config

* Update parsing of `function` nodes to expect `type` on the config

* Add changie doc
2025-10-21 15:36:48 -05:00
Quigley Malcolm
f0d3b8a51d Allow for configuration of function volatility (#12100)
* Add test to check that a function's volatility is configurable

* Define the `FunctionVolatility` enum type

* Add `volatility` as a configuration on function nodes

* Add changie doc
2025-10-21 14:54:01 -05:00
Quigley Malcolm
c6afa4d0f2 Test that UDFs support sources (#12079) 2025-10-21 14:52:43 -05:00
Michelle Ark
98a1b6e272 fix unit test to accept param names without DBT_ENGINE_ prefix (#12099) 2025-10-21 10:22:25 -07:00
Quigley Malcolm
d5071fa135 Tidy first fix jsonschema deprecation warning tests (#12085)
* Ensure jsonschema validation tests aren't skipping validation because postgres isn't technically supported

* Blanket accept `functions` as top level yaml key as temp fix

We for the moment can't sync over the full jsonschema from fusion,
as such this is a stop gap simply so that we don't raise deprecation
warnings if people start specifying functions.

* Move model column `meta` and `tags` into the column's config in happy path fixture
2025-10-08 11:26:05 -05:00
FishtownBuildBot
db284a14c1 [Automated] Merged prep-release/1.11.0b3_18317430095 into target main during release process 2025-10-07 11:51:09 -04:00
Github Build Bot
4017802800 Bumping version to 1.11.0b3 and generate changelog 2025-10-07 15:19:13 +00:00
Quigley Malcolm
17a8816ee3 Fix using refs in function nodes (#12078)
* Test that functions can have static refs in them

* Ensure refs are properly populated on function nodes

* Add changie doc
2025-10-06 18:32:33 -05:00
Quigley Malcolm
3bd425fdc9 Upper case function status in logs (#12077)
* Uppercase function success status in logs

* Add changie doc
2025-10-06 18:09:12 -05:00
Quigley Malcolm
db9a6e10c1 Re-comment out test generation line that I uncommented and accidentally committed (#12070) 2025-10-03 09:26:03 -05:00
Quigley Malcolm
4a78a78c2b Ability to use functions in unit tests (#12068)
* Test that functions work properly when unit testing models

* Ensure that functions properly get propagated to the `manifest` and `depends_on` of the `unit_test` node

* Update comment about `RuntimeUnitTestFunctionResolver`

* Add changie doc
2025-10-02 19:06:43 -05:00
FishtownBuildBot
5ee5bf4129 [Automated] Merged prep-release/1.11.0b2_18206467188 into target main during release process 2025-10-02 18:19:23 -04:00
Github Build Bot
ac445ca1fd Bumping version to 1.11.0b2 and generate changelog 2025-10-02 21:46:28 +00:00
Quigley Malcolm
1258728d9a Fix rendering of function relaltions when filters are at play (#12067)
* Add test to ensure that using a function with `--empty` works

* Ensure relations for functions are created with a `type` set to `function`

Previously on creation of function relations we weren't passing a `type`
value. This was problematic because in dbt-adapters we call `is_function`
(which uses the relation `type`) to determine whether a relation can be
filtered when filtering options (like `empty` or `event_time`) are present.
Because `type` wasn't set for function relations, `is_function` would
return `False` and thus in the present of a filter, we would attempt to
filter it. This would raise an error because functions can't be filtered.
Setting the type on the relation solves the issue.

* add changie doc
2025-10-02 16:30:02 -05:00
Quigley Malcolm
15722264aa Correct Function Node Property Names (#12065)
* Fix function node property names

`return_type` -> `returns`
`return_type.type` -> `returns.data_type`
`arguments[x].type` -> `arguments[x].data_type`

* Add changie doc
2025-10-02 13:46:57 -05:00
FishtownBuildBot
a6d4091b6b [Automated] Merged prep-release/1.11.0b1_18172738761 into target main during release process 2025-10-01 15:41:43 -04:00
Github Build Bot
b1b3839715 Bumping version to 1.11.0b1 and generate changelog 2025-10-01 19:08:34 +00:00
Gerda Shank
963251df4e Fix schema file patch collection (#12055) 2025-09-29 12:34:32 -04:00
Quigley Malcolm
8c929c337e Add type property to function nodes (#12057)
* Add `FunctionType` enum

* Add `type` property to `Function` resource

* Add `type` property to `ParsedFunctionPatch` and `UnparsedFunctionUpdate`

* Begin populating a function's `type` during patch parsing

* Regnerate v12 manifest to include function `type` property

* Add changie doc

* Begin testing that function node `type` property is setable and accessible

* Move comment about triggering the PathEncoder back to its proper place
2025-09-26 15:29:08 -05:00
Michelle Ark
e949d1a6f9 Validate {{ config }} in SQL for models that don't statically parse (#12053) 2025-09-26 14:58:16 -04:00
Quigley Malcolm
538de17f78 Initial Implementation of UDFs (#12054)
* Allow for the defining of basic SQL UDFs (#11957)

* Add initial definiton of the `Function` resource

* Add FunctionNode definition to graph contracts

* Add test which checks whether basic UDFs can be parsed

This test fails right now, which is intentional. This is test driven
development. Now I do work to maket the test pass :)

* Add basic function sql parser for UDFs, and plumb it through parsing code paths

* Begin populating `functions` in the ref lookup

* Begin patching `function` nodes with their yaml definitions

Of note, presently `arguments` and `return_type` aren't populating properly.
It's likely that we'll have to do additional work to the FunctionPatchParser
to get this _fully_ working.

* Increase responsibility of FunctionPatchParser to handle entire `parse_patch` of function nodes

* Fix testing suite to accomodate addition of new `function` node

* Add changie doc for new `function` node type

* Minor refactoring of `NodePatchParser.parse_patch` to reduce code duplication in `FunctionPatchParser`

* Ability to list and select function nodes (#11968)

* Begin listing `function` nodes in `list` command

* Add ability to run `list` specifying the `function` resource type

* Function nodes are support selection via: name, file path, and resource type

* Add changie doc

* Core handles lifecycle of function nodes (#12008)

* Add basic test to check that UDFs get created in data warehouse

* Add functions to the runner map of \ operation

* Add basic stub of `FunctionRunner` modeled after `SeedRunner`

* Begin using `FunctionRunner` for running `function` nodes

* Add stubbing of things to implement on `FunctionRunner`

* Initial implementation of execution of function nodes

This is largely a copy of the execution of model nodes (in run.py) but
with some abstractions into helper methods to make the body of the
`execute` function easier to follow. Of note, right now this appears to
be getting the incorrect macro from the adapter. This is likely because
for some reason the node's materialization config is being set to `view`
by default.

* Ensure parsed function nodes get the correct materialization type

* Begin generating context for `function` materialization macro

* Stub out adapter response in node result as it was causing some failures

* Correct the adapter response in the run result for functions

* Begin logging `LogFunctionResult` event for completed function nodes

* Add changie doc

* Temp update dev reqs to point at branch of dbt-adapters

* Add test `LogFunctionResult` event to serialization test

* Add `function` nodes to the `WritableManifest`

* Fix tests

* Remove no longer relevant `TODO`s from `function.py`

* Add a new macro `function()` to the jinja context for using functions (#12031)

* Update function tests to look for `functions` under `manifest.functions`

* Begin storing funciton nodes in `Manifest.functions` instead of `Manifest.nodes`

* Ensure function nodes are still included in nodes to run during `build`

* Add ability to lookup functions on the manifest

* Update patch parsing of function YAML files now that functions live on `Manifest.functions`

* Mark function nodes as no longer refable

* Ensure function nodes are still selectable

* Add `function` macro!

* Ensure functions nodes are correctly linked in the DAG

* Update jinja context tests to expect `function` macro to exist

* Fix unit tests in test suite to expect function nodes

* Add changie doc

* regen v12.json jsonschema

* Fix test `TestVerifyArtifacts::test_run_and_generate`

* Fix test `TestVerifyArtifactsReferences::test_references`

* Fix test `TestVerifyArtifactsVersions::test_versions`

* Regen manifest artifact for `TestPreviousVersionState::test_compare_state_current`

* Update `_iterate_selected_nodes` to support function nodes

* Ensure we process node functions to ensure they get added to the `depends_on`

* Take functions into account for state modified

* Regen data for `TestModifiedStateSchemaEvolution::test_modified_state_schema_evolution` test

* Default `functions` property on `WritableManifest` to a dict

I'm not sure if this is actually how we want to do this. However, without
doing this the `WritableManifest` will break on loading of older manifests
that don't have `functions`. The alternative to this would be to bump
the schema version (v12 -> v13) and create an upgrade in `upgrade_manifest.py`.

* Update UDF tests to use a more general purpose function

* Add tests ensuring UDFs can be used in models and `--inline` queries

* Correct `ParseFunctionResolver` so that the name isn't added twice to the function args spec

* Drop `functions` from `Exposure` and `Metric` definitions

* Regen v12 manifest schema

* Remove unnecessary string interpolation

* Point dev reqs back to dbt-adapters@main

* Empty commit
2025-09-26 13:41:45 -05:00
Emily Rockman
96c9d80f83 fix matrix for windows CI (#12052)
* fix matrix

* skip flaky test on windows
2025-09-25 15:06:45 -04:00
Michelle Ark
2f842055f0 Add run_started_at to manifest.json metadata (#12047) 2025-09-25 11:56:12 -04:00
Quigley Malcolm
faeee357b1 Fix script for setting up postgres development database (#12035)
* Increase shared memory size for postgres docker container

I recently started getting errors that look like
```
E           dbt_common.exceptions.base.DbtDatabaseError: Database Error
E             could not resize shared memory segment "/PostgreSQL.3814850474" to 2097152 bytes: No space left on device
```
At first I thought this was a lack of memory, disk space, or ulimit file descriptors. However
increasing all of those things did not solve the problem. I eventually found, by exec-ing into
the container and running `df -h /dev/shm && ls -lh /dev/shm` that the container only had 64MB
of memory available to it. This change increases the memory available to the container to 1GB,
which resolved the issue.

* Use `docker compose` instead of `docker-compose`

The later was docker v1, and no longer works. Use `docker compose` instead.

* Only run homebrew postgres in `setup_db.sh` if `SKIP_HOMEBREW` is not passed

Our github actions use homebrew, but our local dev uses docker. When we
were doing local development and running `make setup-db` suddenly there would
be _two_ postgres instances running. One via homebrew, and another in docker.
This was breaking the setup. Now when running `make setup-db` we skip the
homebrew relevant portions of `setup_db.sh`.

* Set more PG environment variables in `setup_db.sh`
2025-09-19 15:39:08 -05:00
Michelle Ark
bca5c4d454 Support configuring model.config.freshness.build_after.update_on without period or count (#12027) 2025-09-18 13:27:51 -04:00
Courtney Holcomb
b3d059e427 Fix legacy time spine deprecation warning logic (#12018) 2025-09-17 11:06:33 -04:00
Michelle Ark
b783c97eff propagate meta/tags on columns to top-level and config (#11992) 2025-09-15 14:53:11 -04:00
Michelle Ark
5add25db0c Guarantee instantiation result and thread_exception prior to access (#12013) 2025-09-12 15:34:34 -04:00
Michelle Ark
ad6ea20277 skip initial render of loaded_at_query when specified as config (#12010) 2025-09-12 12:53:58 -04:00
Michelle Ark
472b8057a9 manifest schema upgrade framework for state:modified (#11945) 2025-09-11 13:27:01 -04:00
Michelle Ark
2915c3e284 dbt-semantic-interfaces>=0.9.0 (#12005) 2025-09-11 10:11:41 -04:00
Michelle Ark
537daa8476 Add catalogs.yml parsing to parse, test, and snapshot (#12002) 2025-09-10 15:01:48 -04:00
dependabot[bot]
b48ad8282b Bump actions/setup-python from 5 to 6 (#11993)
* Bump actions/setup-python from 5 to 6

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add automated changelog yaml from template for bot PR

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Github Build Bot <buildbot@fishtownanalytics.com>
2025-09-10 10:42:21 -04:00
Michelle Ark
7cab753863 implement checked_agg_time_dimension_for_simple_metric on SemanticModel (#11995) 2025-09-10 09:57:22 -04:00
Emily Rockman
19393a8080 build git from source (#11991) 2025-09-08 14:00:28 -04:00
Taylor Brudos
1e61e3bfc6 [SECENG-10952] Add OpenSSF badge to README (#11994) 2025-09-08 10:41:11 -05:00
Michelle Ark
a9dae5cac1 update to latest jsonschemas (#11987) 2025-09-04 10:04:55 -04:00
Aksel Stokseth
15010f1e6b Support quoting.snowflake_ignore_case (#11942) 2025-09-03 17:33:22 -04:00
Michelle Ark
2564b3d1f9 Restore record functional tests (#11979) 2025-09-03 10:28:30 -04:00
Pablo Martín Calvo
34bb3f94dd fix: Properly quote event_time column names in sample mode filters (#11859)
* fix: Properly quote event_time column names in sample mode filters

When using the --sample flag with models that have camel case or
spaced column names as their event_time field, the generated SQL
would fail because column names weren't properly quoted.

This fix introduces a robust quoting system that:
- Checks column-level quote configuration first (highest precedence)
- Falls back to source-level quoting settings
- Uses the existing Column class for proper quote handling
- Centralizes the logic in a dedicated method to eliminate duplication
- Ensures sample mode works with PostgreSQL and other databases that
  require quoted identifiers for column names with spaces or special characters

Fixes issue where --sample flag fails with camel case or spaced
event_time column names.

* returning the same path that was used earlier for the event_time filed

* adding changelog

* verify cla agreement

* test: Add comprehensive tests for _resolve_event_time_field_name method

This commit adds extensive test coverage for the _resolve_event_time_field_name
method to address the PR review feedback requesting tests.

Changes:
- Add 28 parametrized test cases covering all quoting scenarios
- Test column-level vs source-level quote precedence
- Test edge cases: missing columns, empty columns dict, no quoting attributes
- Test camel case, snake case, and spaced column names
- Test both quoted and unquoted column name scenarios
- Improve method robustness with better error handling

The tests ensure the method correctly handles:
- Column-level quote settings taking precedence over source-level
- Proper fallback to source-level quoting when column-level is not set
- Edge cases where columns don't exist or have no quoting attributes
- Various column name formats (simple, camelCase, snake_case, spaced)

Fixes: Addresses PR review feedback requesting comprehensive test coverage

* style: Apply code formatting from pre-commit hooks

- Apply black formatting to providers.py and test_providers.py
- Fix trailing whitespace issues
- Add proper type guards for event_time attribute access
- Ensure all tests continue to pass after formatting changes
2025-08-27 15:34:19 -05:00
Quigley Malcolm
593a151220 Unhide sample mode CLI flag (#11960) 2025-08-27 14:10:32 -05:00
Quigley Malcolm
1a251ee081 [Tidy First] Don't allow for the direct import of versioned artifact resources in dbt-core's modules (#11952)
* Create custom hook for checking for improper imports of artifact resources

* Fix return value of `has_bad_artifact_resource_imports.py::main`

* Regex match versioned resource imports and give import in pre-commit error

* (Tidy First): Fix imports of artifact resources to not import direct versioned resources

* Add changie doc
2025-08-25 09:48:49 -05:00
Michelle Ark
9b7cf25c33 Add path MissingArgumentsPropertyInGenericTestDeprecation message (#11940) 2025-08-21 13:17:53 +02:00
Tyler Rouze
26333f7f21 feat: support nested key traversal in dbt list output (#11920)
* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output

* feat: support nested key traversal in dbt list output
2025-08-20 07:30:03 -05:00
Quigley Malcolm
9bc7333e19 Fix Dockerfile used for dockerized release image (#11937)
* Update version for libpq-dev in Dockerfile

The previous version we had for libpq-dev stopped being listed. As such
we need to change to installing a version that is still listed. Hence
we now install version 13.22-0+deb11u1

* Fix `FromAsCasing` warning in Docker file

Our docker file was raising the warning
`FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 27)`
because we were using `FROM` and `as`, and docker wants those words
to have the same casing. As such, the `as` instances have become `AS`.

* Add changie doc
2025-08-19 12:49:55 -05:00
Quigley Malcolm
ee8884731b Bump dbt adapters minimum to 1.16.5 (#11933)
* Bump `dbt-adapters` minimum to `1.16.5`

* Add changie doc
2025-08-19 09:25:30 -05:00
Colin Rogers
f1106ad61e upgrade protobuf to 6.0 (#11916)
* upgrade protobuf to 6.0

* upgrade protobuf to 6.0

* signing commits

* update dev-requirements.txt

* add changelog
2025-08-13 17:28:33 -05:00
Michelle Ark
ada5d3b82a flip require_generic_test_arguments_property behavior change flag (#11911)
* flip require_generic_test_arguments_property

* fix deprecations functional tests

* fix test_modified_state

* fix retry project

* changelog entry

* improve changelog
2025-08-11 15:09:42 -04:00
Adolfo Rodriguez
64b58ec628 Default parse-time nodes' raw_code property to "" (empty string) to comply with strict str type (#11884)
* Default parse-time nodes' raw_code property to "" (empty string) to comply with strict str type

* Changelog entry

---------

Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com>
2025-08-08 12:49:03 -04:00
Adolfo Rodriguez
1e713db2fa Avoid redundant node patch removal during partial parsing (#11887)
* Avoid redundant node patch removal during partial parsing

* Changelog entry

---------

Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com>
2025-08-08 12:48:51 -04:00
Emily Rockman
6b7b1ad74b dont use default token (#11895)
* dont use default token

swap token

* use base sha, fix status
2025-08-08 11:37:12 -04:00
Colin Rogers
3e31117ba1 call adapter.add_catalog_integration during parse_manifest (#11889)
* call adapter.add_catalog_integration during parse_manifest

* formatting

* updat retry.py

* add changie

* remove unneeded call to adapter.add_catalog_integrations
2025-08-06 10:12:45 -07:00
Michelle Ark
451b745aea Remove duplicative PropertyMovedToConfigDeprecation source freshness config move (#11880) 2025-08-05 11:10:41 -04:00
Michelle Ark
d27232a946 Raise PropertyMovedToConfigDeprecation instead of CustomTopLevelKeyDeprecation when additional attribute is a valid config (#11879) 2025-08-05 09:57:07 -04:00
Michelle Ark
b1705fb6f3 add argument values to ArgumentsPropertyInGenericTestDeprecation message (#11872) 2025-07-29 11:05:30 -04:00
Michelle Ark
0e50851fa6 deprecate modules.itertools usage (#11734) 2025-07-29 10:12:57 -04:00
Taylor Brudos
b75d5e701e Update contributing guide for signed commits requirement (#11857) 2025-07-24 13:41:00 -06:00
Michelle Ark
f8b1a6dcd1 safer handling of pre-existing config.tags on sources/tables (#11854) 2025-07-24 11:05:32 -04:00
Michelle Ark
9010537499 accept generic test args under 'args' (#11840) 2025-07-21 18:08:01 -04:00
Michelle Ark
56d3c9318b config.meta and config.tags propagation to top-level on sources and tables (#11839) 2025-07-21 14:22:01 -04:00
Michelle Ark
1fcce443ba raise MissingPlusPrefixDeprecation when missing plus-prefix, otherwise skip type-related issues in dbt_project.yml (#11825) 2025-07-15 12:41:02 -04:00
Quigley Malcolm
de03d6f44f Gate jsonschema validations by adapter support (#11828) 2025-07-15 09:55:00 -04:00
Quigley Malcolm
5db78ca6dd Some additional SL JSONSchema improvements/fixes (#11821)
* Pull in latest jsonschemas, primarily for improved SL definitions

* Improve metric definitions in happy path test fixture to be more expansive

* Add changie doc

* Fix test_list to know about new happy path fixture metrics
2025-07-14 16:12:29 -07:00
Michelle Ark
ada9e63c13 skip type checking deprecation_date on the basis of jsonschemas (#11823)
* skip type checking deprecation_date on the basis of jsonschemas

* update test
2025-07-14 16:12:15 -07:00
Colin Rogers
69d19eb5fc add merge_group event (#11824) 2025-07-14 15:09:47 -07:00
Michelle Ark
55bb3c304a update semantic layer jsonschemas (#11817) 2025-07-11 11:58:53 -04:00
Quigley Malcolm
693564de40 Make GenericJSONSchemaValidationDeprecation a "preview" deprecation (#11815)
* Make `GenericJSONSchemaValidationDeprecation` a "preview" deprecation

Making the deprecation a preview will:
1. Remove it from the summary
2. Emit it as a Note event instead of the actual deprecation event
  a. This does mean it'll still be in the logs (but as info level instead of warning)

* Update message of `GenericJSONSchemaValidationDeprecation` to state it's only possibly a deprecation

* Add changie doc

* fix GenericJSONSchemaValidationDeprecation related tests

* Add more details to `GenericJSONSchemaValidationDeprecation` message

* Fix tests related to GenericJSONSchemaValidationDeprecation
2025-07-11 09:27:07 -05:00
Quigley Malcolm
04a3df7324 Create and protect dbt engine environment variable namespace via prefix DBT_ENGINE (#11795)
* Bump dbt-protos dep min to get new env var namespace deprecation event

* Define new EnvironmentVariableNamespaceDeprecation event in core

* Add new deprecation class for EnvironmentVariableNamespaceDeprecation

* Bump dbt-common dep min to get new env var prefix definiton

* Add new `env_vars` module with function for validating dbt engine env vars

* Add changie doc

* Begin keeping a list of env vars associated with cli params

* Begin validating that only allowed engine environment variables exist

* Add some extra engine env vars found throughout the project to the known list

* Begin cross propagating dbt engine env vars with old names

If the old env var name is present, and the new one is not, set the
new one to have the value of the old one. Else, if the new one is set,
set/override old name to have the value of the new one.

There are some drawbacks to this approach. Namely, click only validates
environment variable types for the environment variables it is aware of.
Thus by using the new environment variable naming scheme for existing
environment variables (not newly added ones), we actually lose type guarantees.
This might require a rework.

* Add test for validate_engine_env_vars method

* Add unit test ensuring new engine env vars get added correctly

* Add integration test for environment variable namespace deprecation

* Move logic for propagating engine env vars to pre-flight env var setting

Previously we were attempting to set it on the flags context, but that is
_not_ the environment variable context. Instead what appears to happen is
that the environment variable context is loaded, click takes this into
consideration, and then the flags are set from click's understanding of
passed cli params + env vars.

* Get the env vars from the invocation context in `validate_engine_env_vars`

* Move `_create_engine_env_var` to `__init__` of `EngineEnvVar` data class

* Fix error type in __init__ of EngineEnvVar dataclass

* Correct grammar of EnvironmentVariableNamespaceDeprecation message
2025-07-10 13:33:37 -05:00
Courtney Holcomb
31d974f5eb Upgrade to DSI 0.9.0 for more robust saved query support (#11808)
* Upgrade to DSI 0.9.0

Note this new version has some breaking changes (changes to class names). This won't impact semantic manifest parsing. The changes in the new version will be used to support order_by and limit on saved queries.

* Changelog

* Update test saved query
2025-07-09 16:32:16 -05:00
Quigley Malcolm
c1f64e216f Move source overrides deprecation to jsonschema (#11801)
* Improve deprecation message for SourceOverrideDeprecation

* Move SourceOverrideDeprecation to jsonschema validation code path

* Update test for checking SourceOverrideDeprecation
2025-07-07 15:37:26 -05:00
Quigley Malcolm
8fa6e037d0 Update json schemas (#11800)
* Update dbt_project.yml jsonschema spec to handle nested config defs

Additionally adds some more cloud configs

* Update schema files jsonschema definition to not have `overrides` for sources

Additionally add some cloud definitions

* Add changie doc

* Update happy_path fixture to include nested config specifations in dbt_project.yml
2025-07-07 15:11:55 -05:00
Michelle Ark
e1c98e8123 debug log when node.schema is set to None (#11797) 2025-07-07 11:19:36 -04:00
Michelle Ark
9955ea760a update ModelParamUsageDeprecation message (#11793) 2025-07-02 20:18:00 -04:00
Quigley Malcolm
fdd0546700 Bump dbt-common minimum to 1.25.1 (#11790) 2025-07-02 15:02:42 -05:00
Taylor Brudos
45f21a7cda Update contributing guide for comment resolution requirement (#11787) 2025-07-02 09:53:00 -05:00
Peter Webb
f250b503d5 Source Override Deprecation (#11636)
* First draft of SourceOverrideDeprecation warning.

* Refinements and test

* Back out unneeded change`

* Fix unit test.

* add changie doc

* Bump minimum dbt-protos to 1.0.335

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2025-07-01 17:08:41 -05:00
GarmashAlex
aa42ff8986 Fix broken adapters documentation link in ARCHITECTURE.md (#11777) 2025-06-30 16:33:11 -05:00
Quigley Malcolm
3c2fdfe735 Stop dynamically setting ubuntu version for main.yml and structured logging actions (#11783)
* Stop dynamically setting ubuntu version for `main.yml` and structured logging actions

These actions are important to run on community PRs. However these workflows
use `on: pull_request` instead of `on: pull_request_target`. That is intentional,
as `on: pull_request` doesn't give access to variables or secrets, and we need
to keep it that way for security purposes. The these actions were trying to access
a variable, which they don't have access to. This was a nicety for us, because
sometimes we'd delay moving to github's `ubuntu-latest`. However, the security
concern is more important, and thus we lose the variable for these workflows.

* Change `runs_on` of `artifact-reviews.yml`

* Stop dynamically setting mac and windows versions in main.yml
2025-06-30 14:34:46 -05:00
Colin Rogers
303c63ccc8 use rename instead of select api for normalizing agate table column casing (#11778)
* Revert "bump dbt-common (#11640)"

This reverts commit c6b7655b65.

* update freshness model config handling

* lower case all columns when processing unit test results

* add changelog

* swap .columns for .column_names

* use rename instead of select api for normalizing agate table column casing
2025-06-26 10:56:48 -07:00
Michelle Ark
17ec11ad30 bring in latest properties yaml and dbt project yaml jsonschemas (#11765) 2025-06-26 12:09:35 -04:00
Quigley Malcolm
65598f3dc6 Validate model sql file provided config (#11768)
* Add helper to validate model configs via jsonschema

* Store jsonschemas as module vars instead of reloading everytime

Every time we were calling a jsonschema validation, we were _reloading_
from file the underlying jsonschema. As a one off, this isn't too costly.
However, for large projects it starts to add up. By only loading each json
schema once we can save a lot of time. Calling one of the functions which
loads a jsonschema 10,000 times was costing ~3.7215 seconds. By switching
to this module var paradigm we reduced that to ~0.3743 seconds.

* Begin validating configs from model `.sql` files

It was a bit of a hunt to figure out where to do this. We couldn't do
the validating in `calculate_node_config` because that function is called
4 times per node (which is an issue of itself, but out of scope for this
work). We also couldn't do the validation where `_config_call_dict` is set
because it turns out there are multiple avenues for setting
`_config_call_dict`, which is a fun rabbit hole.

* Ensure .sql configs are validated only once

It turns out that that `update_parsed_node_config` can potentially be
called twice per model. It'll be called from either `ModelParser.render_update`
or `ModelParser.populate`, and it can additionally be called from
`PatchParser.patch_node_config` if there is a .yml definition for the
model. We only want to validate the config once, and we aren't guaranteed
to have a `PatchParser` if there is no patch for the model. Thus, we've
updated `ModelParser.populate` and `ModelParser.render_update` to
request the config validation (which by default doesn't run unless requested).

* Split out the model config specific validation from general jsonschema validation

We're validating model configs from sql files via a subschema of the main
resources jsonschema, different case logic for detecting the different
types of deprecation warnings present. Thus `validate_model_config` cannot
call `jsonschema_validate`. We could have had both logic paths exist in
`jsonschema_validate`, but it would have added another later of if/elses
and bloated the function substantially.

* Handle additional properties of sub config objects

* Give better key path information for .sql config jsonschema issues

* Add tests for validate_model_config

* Add changie doc

* Fix jsonschemas unittests to avoid catching irrelevant issues
2025-06-25 16:50:43 -05:00
Colin Rogers
240a6056fb Handle upper cased unit test results (#11769)
* Revert "bump dbt-common (#11640)"

This reverts commit c6b7655b65.

* update freshness model config handling

* lower case all columns when processing unit test results

* add changelog

* swap .columns for .column_names
2025-06-25 08:47:51 -07:00
Michelle Ark
7cd8935b13 skip health check on flaky test (#11767) 2025-06-24 15:51:59 -04:00
Michelle Ark
cd5d4be7ab bump dbt-common to 1.25.0 to access WarnErrorOptionsV2 (#11762) 2025-06-24 09:58:34 -04:00
Michelle Ark
5a23894584 add loaded_at_query and loaded_at_field to SourceConfig (#11759) 2025-06-23 16:58:30 -04:00
Quigley Malcolm
70ad9319d2 Bring back pydantic 2 support (#11756)
* Loosen pydantic maximum to <3 (allowing for pydantic 2)

* Add an internal pydantic shim for getting pydantic BaseSettings reguardless of pydantic v1 vs v2

* Add changie doc
2025-06-20 13:34:10 -05:00
Michelle Ark
8873581c5a bring in latest properties yaml and dbt project yaml jsonschemas (#11745) 2025-06-17 16:06:55 -04:00
Quigley Malcolm
1ffd059442 Bump minimum jsonschema version to 4.19.1 (#11741)
In 1.10.0 we began utilizing `jsonschema._keywords`. However, the submodule
`_keywords` wasn't added until jsonschema `4.19.1` which came out September
20th, 2023. Our jsonschema requirement was being set transitively via
dbt-common as `>=4.0,<5`. This mean people doing a _non_ fresh install of
dbt-core `1.10.0` could end up with a broken system if their existing
jsonschema dependency was anywhere in the range `>=4.0,<4.19.1`. By bumping the
minimum jsonschema version we make it such that anyone install dbt-core 1.10.1 will
automatically get there jsonschema updated (assuming they don't have an exclusionary
pin)
2025-06-16 15:00:47 -05:00
Quigley Malcolm
091ba5fe0b drop model freshness as top level model property (in favor of config freshness) (#11731)
* Begin testing that model freshness can't be set as a top level model property

* Remove ability to specify freshness as top level property of models

* Add come comments to calculate_node_config for better readability

* Drop `freshness` as a top level property of models, and let `patch_node_config` handle merging config freshness

Model freshness hasn't been released in a minor release yet, not been documented. Thus
it is safe to remove the top level property of freshness on models. Freshness will instead
be set, and gotten, from the model config. Additionally our way of calculating the
config model freshness only got the top level `+freshness` from dbt_project.yml (ignoring
any path specific definitions). By instead using the built in `calculate_node_config` (which
is eventually called by `patch_node_config`), we get all path specific freshness config handling
and it also handles the precedence of `dbt_project.yml` specification, schema file specification,
and sql file specification.

* add changie doc
2025-06-16 09:18:42 -05:00
Michelle Ark
6bbcce1f1c deprecation warnings for --models, --model, -m (#11729) 2025-06-16 10:02:37 -04:00
Michelle Ark
0fff5760ff move TestConfig.post_init logic to finalize_and_validate to respect hierarchical configs (#11730) 2025-06-12 17:01:45 -04:00
Colin Rogers
f4988c62e3 handle inline model freshness config (#11728)
* Revert "bump dbt-common (#11640)"

This reverts commit c6b7655b65.

* update freshness model config handling

* make sure ModelConfig.__pre_deserialize__ returns all nested items as dicts

* add changie
2025-06-11 08:56:30 -07:00
Quigley Malcolm
2e6d4f493d Ensure source node .freshness is equal to node's .config.freshness (#11719)
* Ensure source node `.freshness` is equal to node's `.config.freshness`

* Default source config freshness to empty spec if no freshenss spec is given

* Update contract tests for source nodes
2025-06-10 09:59:22 -05:00
Quigley Malcolm
3e593600e0 Ensure build_after is present in model freshness in parsing, otherwise skip freshness definition (#11711)
* Ensure `build_after` is present in model freshness in parsing, otherwise skip freshness definition

* add freshness model config test

* add changelog

---------

Co-authored-by: Colin <colin.rogers@dbtlabs.com>
2025-06-05 15:02:17 -05:00
Quigley Malcolm
87584c73b0 Fix null handling of source freshness and dbt_project vs schema spec precedence (#11698)
* Handle explicit setting of null for source freshness config

* Abstract out the creation of the target config

This is useful because it makes that portion of code more re-usable/portable
and makes the work we are about to do easier.

* Fix bug in `merge_source_freshness` where empty freshness was preferenced over `None`

The issue was that during merging of freshnesses, an "empty freshness", one
where all values are `None`, was being preferenced over `None`. This was
problematic because an "empty freshness" indicates that a freshness was not
specified at that level. While `None` means that the freshness was _explicitly_
set to `None`. As such we should preference the thing that was specifically set.

* Properly get dbt_project defined freshness and don't merge with schema defined freshness

Previously we were only getting the "top level" freshness from the
dbt_project.yaml. This was ignoring freshness settings for the direct,
source, and table set in the dbt_project.yaml. Additionally, we were
merging the dbt_project.yaml freshness into the schema freshness. Long
term this merging would be desireably, however before we do that we need
to ensure freshness at diffrent levels within the dbt_project.yml get
properly merged (currently the different levels clobber each other). Fixing
that is a larger issue though. So for the time being, the schema defintion
of freshness will clobber any dbt_project.yml definition of freshness.

* Add changie doc

* Fix whitespace to make code quality happy

* Set the parsed source freshness to an empty FreshnessThreshold if None

This maintains backwards compatibility
2025-05-30 10:31:40 -05:00
Colin Rogers
709bd11c71 Add file_format as CatalogWriteIntegrationConfig (#11695)
* Revert "bump dbt-common (#11640)"

This reverts commit c6b7655b65.

* add file_format as a top level config in CatalogWriteIntegrationConfig

* add changelog
2025-05-29 09:10:04 -07:00
Kshitij Aranke
f7f53732b2 Simplify logic (#11678) 2025-05-29 17:00:10 +01:00
Grace Goheen
32b8097a1f Fix weird formatting on code snippet for may 2025 roadmap post (#11692)
* May 2025 - dbt Core roadmap post

* fix formatting on roadmap post

* fix link
2025-05-28 14:33:04 -06:00
Courtney Holcomb
36f1143c31 Don't warn for metricflow_time_spine with non-day grain (#11689) 2025-05-28 15:31:09 -04:00
FishtownBuildBot
cf7a465338 Cleanup main after cutting new 1.10.latest branch (#11693)
* Clean up changelog on main

* Bumping version to 1.11.0a1

* Code quality cleanup

* add old changelogs

---------

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-05-28 14:11:10 -05:00
Grace Goheen
465aa0c2fc May 2025 - dbt Core roadmap post (#11691) 2025-05-28 10:33:09 -06:00
Michelle Ark
a0284edb6b update jsonschemas + dont skip happy path deprecation test (#11682) 2025-05-27 20:08:51 -04:00
Michelle Ark
d2bfb4e215 require count and period on ModelBuildAfter (#11677) 2025-05-27 16:56:01 -04:00
Quigley Malcolm
38443640ce Add singular data tests, generic data tests, and unit tests to happy path fixture (#11674)
* Add a robust schema definition of singular test to happy path fixture

* Add generic tests to happy path fixture

* Add unit tests to happy path fixture

* Fix data test + unit test happy path fixtures so they're valid

* Fix test_list.py for data test + unit test happy path fixture

* Fixup issues due to imperfect merge

* Drop generic data test definition style that we don't want to support from happy path fixture

* Add data test attributes to a pre-existing data test type

* Fix test_list.py again

* Don't forget to normalize in test_list.py
2025-05-26 21:13:02 -05:00
Quigley Malcolm
86e0ad49aa Update latest jsonschema for schema files to have 'warn_unsupported' property (#11675) 2025-05-26 21:12:51 -05:00
Michelle Ark
972eb23d03 add config to columns (#11671) 2025-05-26 21:06:09 -04:00
Michelle Ark
f56c3868cf no type-related deprecations yet, allow additional properties on colu… (#11673) 2025-05-26 18:02:34 -04:00
Michelle Ark
66fc546766 Update latest jsonschema (#11672) 2025-05-26 15:58:07 -04:00
Quigley Malcolm
c71d5f6665 Begin showing event name in msg of deprecation events (#11670)
* Include event name in msg of deprecation warning for all recently added deprecations

* Add behavior flag for gating inclusion of event name in older deprecation messages

* Conditionally append event name to older deprecation events depending on behavior flag

* Add changie doc
2025-05-26 10:34:18 -05:00
Michelle Ark
6e0564a98b update latest.json with metrics objects (#11668) 2025-05-26 09:33:26 -04:00
Michelle Ark
99827ea220 fix exposures happy path fixture (#11663) 2025-05-23 20:07:44 -04:00
Ani Venkateshwaran
0db83d0abd adding quoting to manifest metadata (#11666) 2025-05-23 13:51:19 -07:00
Quigley Malcolm
98711cec75 Deprecate usage of include and exclude for --warn-error-options (#11625)
* Migrate to `WarnErrorOptionsV2` and begin using `error` and `warn` as primary config keys

* Update tests using `WarnErrorOptions` to use `error` and `warn` terminology

* Begin emitting deprecation warning when include/exclude terminology is used with WarnErrorOptions

* bump minimum of dbt-protos

* Add test for new WarnErrorOptions deprecation

* add changie doc

* Fix test_warn_error_options.py tests

* Fix test_singular_tests.py tests

* Add WOEIncludeExcludeDeprecation to test_events.py serialization test
2025-05-23 11:40:10 -05:00
Michelle Ark
4a8f9c181c Support config.meta and description on groups + add to happy path testing (#11649) 2025-05-22 20:09:05 -04:00
Peter Webb
5165716e3d Add snapshots to happy path project. (#11657)
* Add snapshots to happy path project.

* Add a more plausible snapshot source model

* Adjust tests for new snapshots in happy path project.
2025-05-22 19:10:16 -04:00
Michelle Ark
65d428004a happy path seeds: no tags/meta as column properties (#11656) 2025-05-22 15:34:52 -04:00
Kshitij Aranke
14fc39a76f Fix #11506: Add freshness config to models (#11644)
* Fix #11506: Add freshness config to models

* Add deprecation and project validation

* Fix integration tests

* Address PR comments
2025-05-22 17:18:34 +01:00
Michelle Ark
8b4e2a138c update analyses configs + happy path fixture (#11648) 2025-05-21 11:25:12 -04:00
Michelle Ark
a11ee322ae use saner default setting of QueryComment.append in project fixture (#11620) 2025-05-21 11:17:05 -04:00
Michelle Ark
db8ca25da9 Add analyses properties.yml to happy path fixture (#11632) 2025-05-20 15:17:26 -04:00
Quigley Malcolm
c264a7f2b9 Flip behavior flag to disallow spaces in resource names (#11645) 2025-05-20 13:33:26 -05:00
Colin Rogers
da6f0a1bd7 Revert "bump dbt-common (#11640)" (#11643)
This reverts commit c6b7655b65.
2025-05-20 11:32:51 -05:00
Connor McArthur
c643a1d482 move protos into external dependency (#11608) 2025-05-20 10:35:52 -04:00
Kshitij Aranke
0f8f42639d Fix #11506: Add freshness config to sources (#11628)
* Fix #11506: Add freshness config to exposures

* Add freshness to some config

* Update Fixes-20250515-145857.yaml

* Add PropertyMovedToConfigDeprecation

* make core_proto_types

* Add log check

* Use +freshness instead of freshness

* Fix test_events.py
2025-05-20 12:56:02 +01:00
Michelle Ark
ec2cf9b561 add more seed configs to happy_path_project (#11630)
* add more seed configs to happy_path_project

* add remaining properties to seed

* Fix up non-deprecation tests

* woopsie

* Fix test_list to account for seed changes in happy path fixture

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2025-05-19 17:56:17 -05:00
Colin Rogers
c6b7655b65 bump dbt-common (#11640)
* bump dbt-common

* add changelog
2025-05-19 15:00:18 -05:00
Emily Rockman
3e80ad7cc7 move pin (#11629) 2025-05-19 07:07:58 -05:00
Michelle Ark
1efad4e68e add exposure to happy path project (#11631) 2025-05-15 20:10:48 -04:00
Peter Webb
f5e0a3b1b3 Do not check markdown documentation files for stray jinja blocks. (#11623) 2025-05-15 10:44:11 -04:00
Quigley Malcolm
a64b5be25b normalize expected file path of functional test to ensure windows testing doesn't break (#11626) 2025-05-14 17:53:13 -05:00
FishtownBuildBot
b31718a31f [Automated] Merged prep-release/1.10.0b3_15031783445 into target main during release process 2025-05-14 18:20:34 -04:00
Github Build Bot
f6d83c765c Bumping version to 1.10.0b3 and generate changelog 2025-05-14 21:51:20 +00:00
Emily Rockman
5b3b22a2e9 Fix typo (#11624) 2025-05-14 16:48:06 -05:00
Quigley Malcolm
a9b26d03ce Initial happy path testing of jsonschema validations (#11594)
* Begin testing that `happy_path_project` and `project` fixtures have no deprecations

* Add model specific configs to model yml description in happy path test

* Add all possible model config property keys to happy path fixture

* Add more model properties to happy path fixture

* Move configs for happy path testing onto new happy path model fixture

* Fix deprecation tests names

* Add newly generated jsonschema for schema files

* Skip happy path deprecation test for now

* Fix 'database' value of model for happy path fixture

* Fix happy path fixture model grants to a role that exists

* Fix test_list.py
2025-05-14 16:15:55 -05:00
Quigley Malcolm
31cb5a9b72 Allow for deprecation warning previews (#11598)
* Allow for 'previewing' deprecations, before deprecations become real

* add changie doc
2025-05-14 13:04:24 -05:00
Michelle Ark
e5dd4c57a6 deprecate --output/-o usage in dbt source freshness (#11621) 2025-05-14 13:27:57 -04:00
Peter Webb
e7a1c6c315 Eliminate false positive in check for anchor override duplicate properties. (#11619) 2025-05-13 13:43:51 -04:00
Quigley Malcolm
e355be6186 Fixup changelog that I typod (#11616) 2025-05-13 11:33:43 -05:00
Michelle Ark
12850a36ec do not have DbtProject unit tests rely on default QueryCommment settings (#11613) 2025-05-13 09:47:30 -04:00
Quigley Malcolm
010411fed3 Flip behavior flag source-freshness-run-proejct-hooks to true (#11611) 2025-05-13 08:37:29 -05:00
Emily Rockman
f64a4883eb replace all runner names (#11595) 2025-05-12 15:15:41 -05:00
Emily Rockman
2883933549 fix command test (#11605)
* fix command test

* remove parameter
2025-05-12 14:55:52 -05:00
Kshitij Aranke
fe9c78eed8 Fix #11428: Add tags and meta config to exposures (#11589)
* Fix #11428: Add tags and meta config to exposures

* Add tags and meta to unit test

* Fix manifest integration test

* change meta order
2025-05-09 19:17:26 +01:00
Emily Rockman
a5ec58dab9 fix query comment tests (#11596) 2025-05-08 16:34:29 -05:00
Emily Rockman
29a79557d5 stop code checkout (#11575) 2025-05-06 13:23:12 -05:00
Emily Rockman
35fc3fdda2 add read only permissions (#11573) 2025-05-06 11:48:19 -05:00
Kshitij Aranke
8931262fa2 Make codecov informational-only (#11574) 2025-05-06 16:13:17 +01:00
Quigley Malcolm
85d31db1d4 Fix jsonschema validation that fires CustomKeyInConfigDeprecation (#11580)
* Fix detection of additional config property deprecation

Previously we were taking the first `key` on the `instance` property
of the jsonschema ValidationError. However, this validation error
is raised as an "anyOf" violation, which then has sub-errors in its
`context` property. To identify the key in violation, we have to
find the `additionalProperties` validation in the sub-errors. The key
that is an issue can then be parsed from that sub-error.

* Refactor key parsing from jsonschema ValidationError messages to single definition

* Update handling `additionalProperties` violations to handle multiple keys in violation

* Add changelog

* Remove guard logic in jsonschemas validation rule that is no longer needed
2025-05-05 09:33:21 -05:00
Quigley Malcolm
d48476a08d Gate jsonschema validations behind private environment variable (#11579) 2025-05-02 10:03:43 -05:00
Emily Rockman
02f695b423 stop directly using the output (#11555)
* stop directly using the output

* fix error
2025-04-30 13:25:52 -05:00
Gerda Shank
3c95db9c00 Move dbt.include.jsonschemas imports to avoid cycles (#11568) 2025-04-30 12:32:50 -04:00
Doug Beatty
fec20ff914 Install pre-commit in Docker container for running tests (#11545)
* fix Dockerfile.test

* add change

* Ensure that all instances where `pre-commit` is called are prefixed with `$(DOCKER_CMD)`

* Changelog entry

---------

Co-authored-by: Taichi Kato <taichi-8128@outlook.jp>
2025-04-30 16:26:40 +01:00
Kshitij Aranke
de38bc9b0d Fix seed path if project directory name changes (#11525)
* Fix seed path if project directory name changes

* Changelog entry

---------

Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com>
2025-04-29 17:56:49 +01:00
Quigley Malcolm
f4114130c9 Fix functional deprecation tests so they don't break on windows (#11547)
In a lot of our function deprecation warning tests we check for a
matching string within an event message. Some of these matches check
for a file path. The problem with this was that windows formats
file paths differently. This was causing the functional tests to
_fail_ when run in a windows environment. To fix this we've removed
the file path part of the string from the test assertions.
2025-04-28 10:21:56 -05:00
Quigley Malcolm
e920053306 Initial slate of deprecations for 1.10 (#11544)
* Begin basic jsonschema validations of dbt_project.yml (#11505)

* Add jsonschema for validation project file

* Add utility for helping to load jsonschema resources

Currently things are a bit hard coded. We should probably alter this
to be a bit more flexible.

* Begin validating the the `dbt_project.yml` via jsonschema

* Begin emitting deprecation warnings for generic jsonschema violations in dbt_project.yml

* Move from `DbtInternalError` to `DbtRuntimeError` to avoid circular imports

* Add tests for basic jsonschema validation of `dbt_project.yml`

* Add changie doc

* Add seralization test for new deprecation events

* Alter the project jsonschema to not require things that are optional

* Add datafiles to package egg

* Update inclusion of project jsonschema in setup.py to get files correctly

Using the glob spec returns a list of found files. Our previous spec was
raising the error
`error: can't copy 'dbt/resources/input_schemas/project/*.json': doesn't exist or not a regular file`

* Try another approach of adding jsonschema to egg

* Add input_schemas dir to MANIFEST.in spec

* Drop jsonschema inclusion spec from setup.py

* Begin using importlib.resources.files for loading project jsonschema

This doesn't currently work with editable installs :'(

* Use relative paths for loading jsonchemas instead of importlib

Using "importlib" is the blessed way to do this sort of thing. However,
that is failing for us on editable installs. This commit switches us
to using relative paths. Technically doing this has edge cases, however
this is also what we do for the `start_project` used in `dbt init`. So
we're going to do the same, for now. We should revisit this soon.

* Drop requirment of `__additional_properties__` specified by project jsonschema

* Drop requirement for `pre-hook` and `post-hook` specified by project jsonschema

* Reset `active_deprecations` global at the end of tests using `project` fixture

* Begin validation the jsonschema of YAML resource files (#11516)

* Add jsonschema for resources

* Begin jsonschema validating YAML resource files in dbt projects

* Drop `tests` and `data_tests` as required properties of `Columns` and `Models` for resources jsonschema

* Drop `__additional_properties__` as required for `_Metrics` in resources jsonschema

* Drop `post_hook` and `pre_hook` requirement for `__SnapshotsConfig` in resources jsonschema

* Update `_error_path_to_string` to handle empty paths

* Create + use custom Draft7Validator to ignore datetime and date classes

* Break `TestRetry` functional test class into multiple test classes

There was some overflow global state from one test to another which was
causing some of the tests to break.

* Refactor duplicate instances of `jsonschema_validate` to single definition

* Begin testing jsonschema validation of resource YAMLs

* Add changie doc

* Add Deprecation Warnings for Unexpected Jinja Blocks (#11514)

* Add deprecation warnings on unexpected jinja blocks.

* Add changelog entry.

* Add test event.

* Regen proto types.

* Fix event test.

* Add `UnexpectedJinjaBlockDeprecationSummary` and add file context to `UnexpectedJinjaBlockDeprecation` (#11517)

* Add summary event for UnexpectedJinjaBlockDeprecation

* Begin including file information in UnexpectedJinjaBlockDeprecation event

* Add UnexpectedJinjaBlockDeprecationSummary to test_events.py

* Deprecate Custom Top-Level Keys (#11518)

* Add specific deprecation for custom top level keys.

* Add changelog entry

* Add test events

* Add Check for Duplicate YAML Keys (#11510)

* Add functionality to check for duplicate yaml keys, working around PyYAML limitation.

* Fix up some ancient typing issues.

* Ignore typing issue, for now.

* Correct unit tests of `checked_load`

* Add event and deprecation types for duplicate yaml keys

* Begin validating `dbt_project.yml` for duplicate key violations

* Begin checking for duplicate key violations in schema files

* Add test to check duplicate keys are checked in schema files

* Refactor checked_yaml failure handling to reduce duplicate code

* Move `checked_load` utilities to separate file to avoid circular imports

* Handle yaml `start_mark` correctly for top level key errors

* Update changelog

* Fix test.

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>

* Fix issue with YAML anchors in new CheckedLoader class.

* Deprecate having custom keys in config blocks (#11522)

* Add deprecation event for custom keys found in configs

* Begin checking schema files for custom keys found in configs

* Test new CustomConfigInConfigDeprecation event

* Add changie doc

* Add custom config key deprecation events to event serialization test

* Provide message to ValidationError in `SelectorConfig.from_path`

This typing error is unrelated to the changes in this PR. However,
it was failing CI, so I figured it'd be simple to just fix it.

* Add some extra guards around the ValidationFailure `path` and `instance`

* [TIDY-FRIST] Use new `deprecation_tag` (#11524)

* Tidy First: Update deprecation events to use the new `deprecation_tag`

Note did this for a majority of deprecations, but not _all_ deprecations.
That is because not all deprecations were following the pattern. As some
people do string parsing of our logs with regex, altering the deprecations
that weren't doing what `deprecation_tag` does to use `deprecation_tag`
would be a _breaking change_ for those events, thus we did not alter those
events

* Bump minimum dbt-common to `1.22.0`

* Fix tests

* Begin emitting deprecation events for custom properties found in objects (#11526)

* Fix CustomKeyInConfigDeprecationSummary

* Add deprecation type for custom properties in YAML objects

* Begin emitting deprecation events for custom properties found in objects

* Add changie doc

* Add `loaded_at_query` property to `_Sources` definition in jsonschema

This was breaking the test tests/unit/parser/test_parser.py::SchemaParserSourceTest::test_parse_source_custom_freshness_at_source

* Move validating jsonschema of schema files earlier in the process

Previously we were validating the jsonschema of schema files in
`SchemaParser.parse_file`. However, the file is originally loaded in
`yaml_from_file` (which happens before `SchemaParser.parse_file`), and
`yaml_from_file` _modifies_ the loaded dictionary to add some additional
properties. These additional properties violate the jsonschema unfortunately,
and thus we needed to start validating the schema against the jsonschema
before any such modifications.

* Skip parser tests for `model.freshness`

Model freshness never got fully implemented, won't be implemented nor
documented for 1.10. As such we're gonna consider the `model.freshness`
property an "unknown additional property". This is actually good as some
people have "accidentally" defined "freshness" on their models (likely due
to copy/paste of a source), and that property isn't doing anything.

* One single DeprecationsSummary event to rule them all (#11540)

* Begin emitting singular deprecations summary, instead of summary per deprecation type

* Remove concept of deprecation specific summary events in deprecations module

* Drop deprecation summary events that have been added to `feature-branch--11335-deprecations` but not `main`

These are save to drop with no notice because they only ever existed
on a feature branch, never main.

* Correct code numbers for new events on feature-branch that haven't made it to main yet

* Kill `PackageRedirectDeprecationSummary` event, and retire its event code

* add changie doc

* Update jsonschemas to versions 0.0.110 (#11541)

* Update jsonschems to 0.0.110

* Don't allow additional properties in configs

* Don't allow additional top level properties on objects

* Allow for 'loaded_at_query' on Sources and Tables

* Don't allow additional top level properties in schema files

---------

Co-authored-by: Peter Webb <peter.webb@dbtlabs.com>
2025-04-25 14:39:12 -05:00
Gerda Shank
511ff8e0e9 Fix duplicate error when multiple macros in one file with macro patches (#11531) 2025-04-23 17:13:16 -04:00
Emily Rockman
0220941849 fix trigger for artifact review check (#11529)
* fix trigger

* reorg for a single event
2025-04-22 14:14:13 -05:00
Mirna Wong
7594d42e02 add link to yaml tips (#11474)
this pr adds a link to the yaml tips page
2025-04-17 12:17:14 -07:00
Taichi Kato
bd08d13ddc Add pre-commit installation to Docker container for testing compatibility (#11499)
* fix Dockerfile.test

* add change

---------

Co-authored-by: Kshitij Aranke <kshitij.aranke@dbtlabs.com>
2025-04-17 11:35:09 -07:00
Doug Beatty
5095e8d1e8 Revert "Install pre-commit in Docker container for running tests (#11501)" (#11508)
This reverts commit 2a4da100ff.
2025-04-17 18:29:00 +01:00
Cypher Pepe
a1958c1193 fix: dead link in ARCHITECTURE.md (#11475)
* Update dead link in `ARCHITECTURE.md`

* Update ARCHITECTURE.md

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>

---------

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
2025-04-15 09:24:42 -07:00
Doug Beatty
2a4da100ff Install pre-commit in Docker container for running tests (#11501)
* Install `pre-commit` in Docker container for running tests

* Install `pre-commit` checks in Docker container (if specified)
2025-04-15 08:16:28 -06:00
Jeremy Cohen
9c91ab27b1 Add package 'name' to lock file (#11488)
* Add package 'name' to lock file

* PR feedback + changie

* Fix test + add comment
2025-04-14 22:19:27 -07:00
Quigley Malcolm
3f56cbce5f Behavior flag to handle all warnings with warn_error logic (#11483) 2025-04-11 13:12:24 -05:00
Emily Rockman
7cca8470e0 converts to using custom conclustions, updated triggers (#11481) 2025-04-10 11:34:59 -05:00
Mario Loaiciga
c82ceaaf39 [#9791] Fix datetime.datetime.utcnow() is deprecated as of Python 3.12 (#9839)
* [#9791] Fix datetime.datetime.utcnow() is deprecated as of Python 3.12

* Explicit UTC timezone declaration for instances of datetime.now()

* Keep utcnow() in functional test case to avoid setup errors

* Utilize the more specific datetime class import for microbatch config

* Replace utcnow calls in contracts and artifacts

* Replace utcnow calls in functional and unit test cases

* Test deserialization of compiled run execution results

* Test deserialization of instantiated run execution result

* Code style improvements
2025-04-09 15:03:19 -07:00
Quigley Malcolm
e2e86b788c General Deprecation Warning Improvements (#11466) 2025-04-04 20:38:23 -05:00
Cédric OLIVIER
6b747fe801 fix(dbt-doc): Allow copying asset when dbt docs command is run outside th… (#11219)
* fix(doc): Allow copying asset when dbt docs command is run outside the dbt project

* fix: add test for doc generate from another dir
2025-04-03 12:13:04 -07:00
Kshitij Aranke
9e6facc4d1 Remove homebrew services (#11456) 2025-04-03 14:10:29 +01:00
FishtownBuildBot
5cd966cafa [Automated] Merged prep-release/1.10.0b2_14227037801 into target main during release process 2025-04-02 15:08:30 -04:00
Github Build Bot
47d5d99693 Bumping version to 1.10.0b2 and generate changelog 2025-04-02 18:40:00 +00:00
Chenyu Li
359b195d23 better track of artifacts to upload, more retry (#11449)
* better track of artifact to upload, more retry

* fix-tests
2025-04-01 13:17:46 -07:00
Emily Rockman
2a64b7365f stop manual cleanup because it’s not allowed anymore (#11451) 2025-04-01 14:49:42 -05:00
David Thorn
c6aeb4a291 Stringify profiles_dir in logging event (#11430) 2025-04-01 13:41:14 -04:00
Michelle Ark
5001e4f0e1 Parse catalogs.yml (#11162)
* rough in catalog contracts + requires.catalog

* set catalog integration

* add initial functional test for catalog parsing

* use dbt-adapters.git@feature/externalCatalogConfig

* add concrete catalog integration config

* add requires.catalog to build + reorder requires

* separate data objects from loaders

* improve functional test and fix import

* Discard changes to tests/functional/adapter/simple_seed/test_seed_type_override.py

* Change branch name for dot-adapters

* make table_format and catalog_type strings for now

* remove uv from makefile

* Discard changes to dev-requirements.txt

* Overhaul parsing catalogs.yml

* Use [] instead of None

* update postgres macos action

* Add more tests

* Add changie

* Second round of refactoring

* Address PR comments

---------

Co-authored-by: Colin <colin.rogers@dbtlabs.com>
Co-authored-by: Kshitij Aranke <kshitij.aranke@dbtlabs.com>
2025-04-01 17:00:00 +01:00
Quigley Malcolm
61648b5ed2 Fix microbatch model edge case of having only one batch (that failed) but counting as success (#11446) 2025-04-01 07:11:23 -05:00
Jordi van Dooren
4aa5169212 Remove and correct outdated docs relating to include/ and include/global_project. (#10726)
* Remove and correct outdated  docs.

* correct markdown hyperlink

* Update core/dbt/clients/README.md

Co-authored-by: Mike Alfare <13974384+mikealfare@users.noreply.github.com>

---------

Co-authored-by: Quigley Malcolm <QMalcolm@users.noreply.github.com>
Co-authored-by: Mike Alfare <13974384+mikealfare@users.noreply.github.com>
2025-03-28 19:20:07 -05:00
Jeremy Cohen
729caf0d5e Update issue template to direct adapters issues -> dbt-adapters (#11445) 2025-03-28 21:49:17 +01:00
Doug Beatty
f26d82217e Fix microbatch file naming for compiled code (#11220)
* Functional test for hourly microbatch model

* Use today's date for functional test for hourly microbatch model

* Use today's date for functional test for hourly microbatch model

* Restore to original

* Only use alphanumeric characters within batch ids

* Add tests for batch_id and change expected output for format_batch_start

* Handle missing batch_start

* Revert "Handle missing batch_start"

This reverts commit 65a1db0048. Reverting this because
`batch_start` for `format_batch_start` cannot be `None` and `start_time` for `batch_id`
cannot be `None`.

* Improve BatchSize specific values for `format_batch_start` and `batch_id` methods

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2025-03-28 09:14:38 -05:00
Kshitij Aranke
e264675db7 Add retry to macos postgres setup (#11432)
* Retry macos postgres setup

* Retry command instead of step

* Use setup_db.sh

* Simplify macos postgres setup
2025-03-27 12:58:16 +00:00
Chenyu Li
300aa09fc5 Support artifact upload (#11419)
* wip

* reorganize

* changie

* retry

* nits

* nits

* improve retry, adjust error, adjust host name

* adjust logic

* pr_feedback

* Update .changes/unreleased/Features-20250323-151625.yaml

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>

---------

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-03-25 10:24:29 -07:00
Kshitij Aranke
493008417c Revert "Add secondary_profiles to profile.py (#11308)" (#11408)
This reverts commit 71a93b0cd3.
2025-03-21 16:20:47 +00:00
Michelle Ark
906e07c1f2 Add node_checksum to node_info on structured logs (#11368)
* update node_info to include node checksum

* changelog entry

* Discard changes to dev-requirements.txt

---------

Co-authored-by: Chenyu Li <chenyulee777@gmail.com>
Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2025-03-20 15:26:19 -05:00
Kshitij Aranke
6a954e2d24 fix postgres github action using vibe coding (#11409) 2025-03-20 18:29:09 +00:00
Peter Webb
3b724acc54 Add Support for Python 3.13 (#11401)
* Update to latest ddtrace within minor version range.

* Add test coverage for Python 3.13

* Update setup.py to indicate Python 3.13 support.

* Update freezegun version to support Python 3.13

* Add changelog entry.
2025-03-20 09:37:15 -04:00
Peter Webb
b0ca1256ae Macro Annotations and Inference (#11389)
* Default macro argument information from original definitions.

* Add argument type and count warnings behind behavior flag.

* Add changelog entry.

* Make flag test more robust.

* Use a unique event for macro annotation warnings, per review.

* Add event to test list.

* Regenerate core_types_pb2 using protoc 5.28.3

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2025-03-18 13:00:54 -04:00
FishtownBuildBot
9d7820c356 [Automated] Merged prep-release/1.10.0b1_13821590310 into target main during release process 2025-03-12 17:41:19 -04:00
Github Build Bot
1fc193167d Bumping version to 1.10.0b1 and generate changelog 2025-03-12 21:12:13 +00:00
Quigley Malcolm
d9f96a95c1 Remove DBT_EXPERIMENTAL_SAMPLE_MODE env var gating for sample mode (#11382) 2025-03-12 09:27:12 -05:00
amardatar
138a2acf84 Fix parsing error for projects using the new YAML format for snapshots (#11362) 2025-03-10 12:28:22 -04:00
Emily Rockman
88ada4aa31 bump libpq-dev (#11373) 2025-03-07 12:22:09 -06:00
Emily Rockman
77d8e3262a handle ubuntu 20.04 deprecation (#11354)
* update ubuntu 20.04 to 24.04

* updates to ubuntu-latest instead

* try postgres update

* Change owner of db creation script so postgres can run it.

* Add sudos.

* Add debug logging.

* Set execute bit on scripts.

* More debug logging.

* try a service

* clean up and split the integrations tests by os

---------

Co-authored-by: Peter Allen Webb <peter.webb@dbtlabs.com>
2025-03-04 12:41:23 -06:00
Quigley Malcolm
94b6ae13b3 Rewrite execution of microbatch models to avoid blocking the main thread (#11332)
* Push orchestration of batches previously in the `RunTask` into `MicrobatchModelRunner`

* Split `MicrobatchModelRunner` into two separate runners

`MicrobatchModelRunner` is now an orchestrator of `MicrobatchBatchRunner`s, the latter being what handle actual batch execution

* Introduce new `DbtThreadPool` that knows if it's been closed

* Enable `MicrobatchModelRunner` to shutdown gracefully when it detects the thread pool has been closed
2025-03-03 15:21:24 -06:00
Michelle Ark
f7c4c3c9cc add database to ModelNodeArgs in partial parsing test to better reflect prod (#11330) 2025-02-21 16:36:28 -05:00
Kshitij Aranke
71a93b0cd3 Add secondary_profiles to profile.py (#11308)
* Add secondary_profiles to profile.py

* Add more tests for edge cases

* Add changie

* Allow inferring target name and add tests for the same

* Incorporate review feedback

* remove unnecessary nesting

* Use typing_extensions.Self

* use quoted type again

* address pr comments round 2
2025-02-20 16:38:36 +00:00
Emily Rockman
7bdf27af31 Update artifact triggers and concurrency rules (#11327)
* update trigger

* fix concurrency

* remove duplicate counts and check lt gt not eq
2025-02-19 12:26:36 -06:00
Gerda Shank
e60b41d9fa Add invocation_started_at (#11291) 2025-02-18 11:32:04 -05:00
Kshitij Aranke
2ba765d360 Fix #11275: _get_doc_blocks is crashing parsing if .format is called (#11310)
* Fix #11275: get_doc_blocks is crashing parsing

* Add changie
2025-02-18 15:23:28 +00:00
dependabot[bot]
93e27548ce Bump peter-evans/create-pull-request from 6 to 7 (#10680)
* Bump peter-evans/create-pull-request from 6 to 7

Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add automated changelog yaml from template for bot PR

* Delete .changes/unreleased/Dependencies-20240909-004501.yaml

remove changelog, not needed

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Github Build Bot <buildbot@fishtownanalytics.com>
Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2025-02-18 08:18:31 -06:00
Quigley Malcolm
aa89740311 Allow sampling from snapshots and of snapshots (#11311)
* Allow for rendering of refs/sources in snapshots to be sampled

Of note the parameterization of `test_resolve_event_time_filter` in
tests/unit/context/test_providers.py is getting large and cumbersome.
It may be time soon to split it into a few distinct tests to facilitate
the necessity of fewer parametrized arguments for a given test.

* Simplify `isinstance` checks when resolving event time filter

Previously we were doing `isintance(a, class1) or (isinstance(a, class2)`
but this can be simplified to `isintance(a, (class1, class2))`. Woops.

* Ensure sampling of refs of snapshots is possible

Notably we didn't have to add `insinstance(self.target, SnapshotConfig)` to the
checks in `resolve_event_time_filter` because `SnapshotConfig` is a subclass
of `NodeConfig`.

* Add changie doc
2025-02-14 16:02:31 -06:00
Quigley Malcolm
aa306693a5 Allow for running sample mode with build command (#11307) 2025-02-14 12:40:13 -06:00
Quigley Malcolm
7041e5822f Ability to sample seeds (#11304)
* Allow for sampling of seeds

* Add changie doc

* Fix seed column types for `TestSampleSeedRefs` tests
2025-02-13 17:12:38 -06:00
Quigley Malcolm
a08255e4cb Combine --sample and --sample-window into one CLI param (#11303)
* Combine `--sample` and `--sample-window` CLI params

* Add changie doc
2025-02-13 15:59:41 -06:00
Emily Rockman
2cde93bf63 Require 2 CODEOWNER reviews for artifact changes (#11256)
* first pass

* resolve TODOs

* updates after testing
2025-02-11 13:06:28 -06:00
Kshitij Aranke
f29836fcf3 Round 2: Add doc_blocks to manifest for nodes and columns (#11294)
* Reapply "Add `doc_blocks` to manifest for nodes and columns (#11224)" (#11283)

This reverts commit 55e0df181f.

* Expand doc_blocks backcompat test

* Refactor to method, add docstring
2025-02-11 16:01:16 +00:00
William Deng
7f32e42230 Update ShowTaskDirect to correctly handle --limit -1 (#11284)
* Update  to support  properly

* changelog
2025-02-10 16:53:04 +00:00
Kshitij Aranke
55e0df181f Revert "Add doc_blocks to manifest for nodes and columns (#11224)" (#11283)
This reverts commit d71f309c1e.
2025-02-07 17:12:06 +00:00
Kshitij Aranke
588cbabe94 Don't automatically run Artifact Schema Check on PRs (#11260)
* Don't automatically run Artifact Schema Check on PRs

* Add branch as argument
2025-02-06 18:46:31 +00:00
Quigley Malcolm
5f873da929 Sample Mode Alpha (#11247)
* Add `--sample` flag to `run` command

* Remove no longer needed `if` statement around EventTimeFilter creation for microbatch models

Upon the initial implementation of microbatch models, the the `start` for a batch was _optional_.
However, in c3d87b89fb they became guaranteed. Thus the if statement
guarding when `start/end` isn't present for microbatch models was no longer actually doing anything.
Hence, the if statement was safe to remove.

* Get sample mode working with `--event-time-start/end`

This is temporary as a POC. In the end, sample mode can't depend on the arguments
`--event-time-start/end` and will need to be split into their own CLI args / project
config, something like `--sample-window`. The issue with using `--event-time-start/end`
is that if people set those in the project configs, then their microbatch models would
_always_ run with those values even outside of sample mode. Despite that, this is a
useful checkpoint even though it will go away.

* Begin using `--sample-window` for sample mode instead of `--event-time-start/end`

Using `--event-time-start/end` for sample mode was conflicting with microbatch models
when _not_ running in sample mode. We will have to do _slightly_ more work to plumb
this new way of specifying sample time to microbatch models.

* Move `SampleWindow` class to `sample_window.py` in `event_time` submodule

This is mostly symbolic. We are going to be adding some utilities for "event_time"
type things, which will all live in the `event_time` submodule. Additionally we plan
to refactor `/incremental/materializations/microbatch.py` into the sub module as well.

* Create an `offset_timestamp` separate from MicrobatchBuilder

The `MicrobatchBuilder.offset_timestamp` _truncates_ the timestamp before
offsetting it. We don't want to do that, we want to offset the "raw" timestamp.
We could have split renamed the microbatch builder function name to
`truncate_and_offset_timestamp` and separated the offset logic into a separate
abstract function. However, the offset logic in the MicrobatchBuilder context
depends on the truncation. We might later on be able to refactor the Microbatch
provided function by instead truncating _after_ offsetting instead of before.
But that is out of scope for this initial work, and we should instead revisit it
later.

* Add `types-python-dateutil` to dev requirements

The previous commit began using a submodule of the dateutil builtin
python library. We weren't previously using this library, and thus didn't
need the type stubs for it. But now that we do use it, we need to have
the type stubs during development.

* Begin supporting microbatch models in sample mode

* Move parsing logic of `SampleWindowType` to `SampleWindow`

* Allow for specificaion of "specific" sample windows

In most cases people will want to set "relative" sample windows, i.e.
"3 days" to sample the last three days. However, there are some cases
where people will want to "specific" sample windows for some chunk of
historic time, i.e. `{'start': '2024-01-01', 'end': '2024-01-31'}`.

* Fix tests of `BaseResolver.resolve_event_time_filter` for sample mode changes

* Add `--no-sample` as it's necessary for retry

* Add guards to accessing of `sample` and `sample_window`

This was necessary because these aren't _always_ available. I had expected
to need to do this after putting the `sample` flag behind an environment
variable (which I haven't done yet). However, we needed to add the guards
sooner because the `render` logic is called multiple times throughout the
dbt process, and earlier on the flags aren't available.

* Gate sample mode functionality via env var `DBT_EXPERIMENTAL_SAMPLE_MODE`

At this point sample mode is _alpha_ and should not be depended upon. To make
this crystal clear we've gated the functionality behind an environment variable.
We'll likely remove this gate in the coming month.

* Add sample mode tests for incremental models

* Add changie doc for sample mode initial implementation

* Fixup sample mode functional tests

I had updated the `later_input_model.sql` to be easier to test with. However,
I didn't correspondingly update the inital `input_model.sql` to match.

* Ensure microbatch creates correct number of batches when sample mode env var isn't present

Previously microbatch was creating the _right_ number of batches when:
1. sample mode _wasn't_ being used
2. sample mode _was_ being used AND the env var was present

Unfortunately sample mode _wasn't_ creating the right number of batches when:
3. sample mode _was_ being used AND the env var _wasn't_ present.

In case (3) sample mode shouldn't be run. Unfortunately we weren't gating sample
mode by the environment variable during batch creation. This lead to a situtation
where in creating batches it was using sample mode but in the rendering of refs
it _wasn't_ using sample mode. Putting it in an inbetween state... This commit
fixes that issue.

Additionally of note, we currently have duplicate sample mode gating logic in the
batch creation as well as in the rendering of refs. We should probably consolidate
this logic into a singular importable function, that way any future changes of how
sample mode is gated is easier to implement.

* Correct comment in SampleWindow post serialization method

* Hide CLI sample mode options

We are doing this _temporarily_ while sample mode as a feature is in
alpha/beta and locked behind an environment variable. When we remove the
environment variable we should also unhide these.
2025-02-03 18:08:28 -06:00
Anders
fdabe9534c post-hoc addition of roadmap (#11259) 2025-01-30 11:48:21 -06:00
Chenyu Li
c0423707b0 loosen validation for freshness (#11253) 2025-01-28 14:20:36 -08:00
Mike Alfare
48d9afa677 point to the dbt-adapters subdirectory post-monorepo migration (#11244) 2025-01-27 19:01:01 -05:00
Kshitij Aranke
d71f309c1e Add doc_blocks to manifest for nodes and columns (#11224) 2025-01-27 19:49:02 +00:00
Emily Rockman
cb323ef78c ADAP-1183: Use the new location for dbt-postgres (#11234)
* use the new location for dbt-postgres

* Update docker/README.md
2025-01-27 10:35:14 -06:00
Quigley Malcolm
22bc1c374e [TIDY FIRST] Click option defintiion organization (alphabetization) (#11236)
* First pass of alphebetizing click option definitions

* Second pass at organizing cli param click options
2025-01-23 13:34:58 -06:00
Kshitij Aranke
31881d2a3b Misc fixes for group info in logging (#11218) 2025-01-21 11:07:25 +00:00
dependabot[bot]
1dcdcd2f52 Bump codecov/codecov-action from 4 to 5 (#11009)
* Bump codecov/codecov-action from 4 to 5

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add automated changelog yaml from template for bot PR

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Github Build Bot <buildbot@fishtownanalytics.com>
2025-01-17 11:35:19 -06:00
Gerda Shank
3de3b827bf Fix generic test not null and unique custom configs (#11208) 2025-01-15 17:02:03 -05:00
Kshitij Aranke
8a8857a85c Fix error counts for exposures (#11207) 2025-01-10 21:07:15 +00:00
Gerda Shank
e4d5a4e777 Re-cast definition of unique_key in SnapshotConfig (#11205) 2025-01-09 16:03:17 -05:00
internetcoffeephone
b414ef2cc5 Fix microbatch dbt list --output JSON (#11187)
Currently, running this command on a project containing a microbatch
model results in an error, as microbatch models require a datetime
value in their config which cannot be serialized by the default JSON
serializer.

There already exists a custom JSON serializer within the dbt-core
project that converts datetime to ISO string format. This change uses
the above serializer to resolve the error.
2025-01-09 10:59:49 -05:00
Michelle Ark
57e279cc1b Fix exception type of run operation macro not found (#11193) 2025-01-08 10:17:40 -05:00
Quigley Malcolm
2eb1a5c3ea Always emit warning when microbatch models lack any filtered input node (#11196)
* Update `TestMicrobatchWithInputWithoutEventTime` to check running again raises warning

The first time the project is run, the appropriate warning about inputs is raised. However,
the warning is only being raised when a full parse happens. When partial parsing happens
the warning isn't getting raised. In the next commit we'll fix this issue. This commit updates
the test to show that the second run (with partial parsing) doesn't raise the update, and thus
the test fails.

* Update manifest loading to _always_ check microbatch model inputs

Of note we are at the point where multiple validations are iterating
all of the nodes in a manifest. We should refactor these _soon_ such that
we are not iterating over the same list multiple times.

* Add changie doc
2025-01-08 09:16:30 -06:00
Kshitij Aranke
dcc9a0ca29 Create LogNodeResult event (#11195)
* Create LogNodeResult event

* add msg directly during object creation
2025-01-08 14:14:29 +00:00
Devon Fulcher
892c545985 Meta config for dimensions, measures, and entities (#11190) 2025-01-07 11:17:24 -08:00
Chenyu Li
a8702b8374 add model freshness for adaptive job (#11170) 2025-01-07 10:02:52 -08:00
Daniel Cole
1592987de8 fix: partial parsing - reparse downstream nodes when adding versioning (#11184) 2025-01-07 12:12:47 -05:00
Gerda Shank
710600546a Move initialization of keyword_args up (#11188) 2025-01-06 15:01:21 -05:00
Emily Rockman
0bf38ce294 Revert "Fix circular import (#11137)" (#11175)
This reverts commit 95c090bed0.
2024-12-24 12:18:26 -05:00
Grace Goheen
459d156e85 Roadmap update (Dec 2024) (#11173)
* roadmap post december 2024

* fix yml spacing

* fix code snippet format
2024-12-20 12:56:33 -07:00
dmr
95c090bed0 Fix circular import (#11137)
Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com>
2024-12-19 12:45:42 -08:00
Chenyu Li
f2222d2621 Custom SQL for get source maxLoadedAt (#11163) 2024-12-19 11:49:07 -08:00
Patrick Yost
97ffc37405 Add tags to SavedQueries (#10987) 2024-12-19 10:18:50 -08:00
Gerda Shank
bf18b59845 Fix for dbt_project.yml "tests" config resulting in incorrect state:modified (#11166) 2024-12-18 17:21:45 -05:00
Gerda Shank
88e953e8aa Check modified contracts when doing state:modified (#11161) 2024-12-18 15:40:18 -05:00
Gerda Shank
6076cf7114 Fix yaml snapshot specification with data tests (#11156) 2024-12-18 14:24:27 -05:00
Doug Beatty
a1757934ef Auto-response for bug reports during holiday break (#11152) 2024-12-17 07:47:31 -06:00
Quigley Malcolm
6c61cb7f7a Warn if concurrent_batches config is set to True, but the available adapter doesn't support it (#11145)
* Begin producing warning when attempting to force concurrent batches without adapter support

Batches of microbatch models can be executed sequentially or concurrently. We try to figure out which to do intelligently. As part of that, we implemented an override, the model config `concurrent_batches`, to allow the user to bypass _some_ of our automatic detection. However, a user _cannot_ for batches to run concurrently if the adapter doesn't support concurrent batches (declaring support is opt in). Thus, if an adapter _doesn't_ support running batches concurrently, and a user tries to force concurrent execution via `concurrent_batches`, then we need to warn the user that that isn't happening.

* Add custom event type for warning about invalid `concurrent_batches` config

* Fire `InvalidConcurrentBatchesConfig` warning via `warn_or_error` so it can be silenced
2024-12-16 10:35:08 -06:00
Chenyu Li
4b1f1c4029 add allow additional property for Model and SourceDefinition (#11138) 2024-12-15 23:30:48 -08:00
Kshitij Aranke
7df04b0fe4 Create a no-op exposure runner (#11082) 2024-12-12 15:28:34 +00:00
dave-connors-3
662101590d update adapter version messages (#10919) 2024-12-11 10:56:38 -05:00
Michelle Ark
fc6167a2ee fix MicrobatchExecutionDebug message (#11071)
* fix MicrobatchExecutionDebug message

* Fix typing in `describe_batch` to convince mypy `batch_start` exists when needed

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2024-12-10 09:59:46 -06:00
Quigley Malcolm
983cbb4f28 Fix microbatch model PartialSuccess status to result in non-zero exit code (#11115)
* Update partial success test to assert partial successes mean that the run failed

* Update results interpretation to include `PartialSuccess` as failure status
2024-12-10 09:48:41 -06:00
Quigley Malcolm
c9582c2323 Fix erroneous additional batch execution (#11113)
* Update single batch test case to check for generic exceptions

* Explicitly skip last final batch execution when there is only one batch

Previously if there was only one batch, we would try to execute _two_
batches. The first batch, and a "last" non existent batch. This would
result in an unhandled exception.

* Changie doc
2024-12-10 09:28:07 -06:00
Michelle Ark
03fdb4c157 Microbatch first last batch serial (#11072)
* microbatch: split out first and last batch to run in serial

* only run pre_hook on first batch, post_hook on last batch

* refactor: internalize parallel to RunTask._submit_batch

* Add optional `force_sequential` to `_submit_batch` to allow for skipping parallelism check

* Force last batch to run sequentially

* Force first batch to run sequentially

* Remove batch_idx check in `should_run_in_parallel`

`should_run_in_parallel` shouldn't, and no longer needs to, take into
consideration where in batch exists in a larger context. The first and
last batch for a microbatch model are now forced to run sequentially
by `handle_microbatch_model`

* Begin skipping batches if first batch fails

* Write custom `on_skip` for `MicrobatchModelRunner` to better handle when batches are skipped

This was necessary specifically because the default on skip set the `X of Y` part
of the skipped log using the `node_index` and the `num_nodes`. If there was 2
nodes and we are on the 4th batch of the second node, we'd get a message like
`SKIPPED 4 of 2...` which didn't make much sense. We're likely in a future commit
going to add a custom event for logging the start, result, and skipping of batches
for better readability of the logs.

* Add microbatch pre-hook, post-hook, and sequential first/last batch tests

* Fix/Add tests around first batch failure vs latter batch failure

* Correct MicrobatchModelRunner.on_skip to handle skipping the entire node

Previously `MicrobatchModelRunner.on_skip` only handled when a _batch_ of
the model was being skipped. However, that method is also used when the
entire microbatch model is being skipped due to an upstream node error. Because
we previously _weren't_ handling this second case, it'd cause an unhandled
runtime exception. Thus, we now need to check whether we're running a batch or not,
and there is no batch, then use the super's on_skip method.

* Correct conditional logic for setting pre- and post-hooks for batches

Previously we were doing an if+elif for setting pre- and post-hooks
for batches, where in the `if` matched if the batch wasn't the first
batch, and the `elif` matched if the batch wasn't the last batch. The
issue with this is that if the `if` was hit, the `elif` _wouldn't_ be hit.
This caused the first batch to appropriately not run the `post-hook` but
then every hook after would run the `post-hook`.

* Add two new event types `LogStartBatch` and `LogBatchResult`

* Update MicrobatchModelRunner to use new batch specific log events

* Fix event testing

* Update microbatch integration tests to catch batch specific event types

---------

Co-authored-by: Quigley Malcolm <quigley.malcolm@dbtlabs.com>
2024-12-07 12:43:15 -06:00
Peter Webb
afe25a99fe Improve the Performance Characteristics of add_test_edges() (#11092)
* New function to add graph edges.

* Clean up, leave out flag temporarily for testing.

* Put new test edge behavior behind flag.

* Final draft of documentaiton.
2024-12-05 16:33:16 -05:00
Gerda Shank
e32b8a90ac Implement partial parsing for singular data tests configs in yaml files (#11100) 2024-12-05 15:57:56 -05:00
Peter Webb
1472b86ee2 Improve performance of select_children() and select_parents() (#11099)
* Improve performance of select_children() and select_parents()

* Add changelog entry.
2024-12-05 15:03:57 -05:00
William Deng
ff6745c795 Update core to support DSI 0.8.3 (#10990)
Co-authored-by: Courtney Holcomb <courtneyeholcomb@gmail.com>
2024-12-05 09:48:33 -08:00
Thomas Reynaud
fdfe03d561 Access DEBUG flag through get_flags() (#11069) 2024-12-04 11:03:12 -05:00
Michelle Ark
1b7d9b5704 [Tidy first] move microbatch compilation to .compile method (#11063) 2024-11-27 19:08:36 -05:00
Quigley Malcolm
c3d87b89fb Add batch context object to microbatch jinja context (#11031)
* Add `batch_id` to jinja context of microbatch batches

* Add changie doc

* Update `format_batch_start` to assume `batch_start` is always provided

* Add "runtime only" property `batch_context` to `ModelNode`

By it being "runtime only" we mean that it doesn't exist on the artifact
and thus won't be written out to the manifest artifact.

* Begin populating `batch_context` during materialization execution for microbatch batches

* Fix circular import

* Fixup MicrobatchBuilder.batch_id property method

* Ensure MicrobatchModelRunner doesn't double compile batches

We were compiling the node for each batch _twice_. Besides making microbatch
models more expensive than they needed to be, double compiling wasn't
causing any issue. However the first compilation was happening _before_ we
had added the batch context information to the model node for the batch. This
was leading to models which try to access the `batch_context` information on the
model to blow up, which was undesirable. As such, we've now gone and skipped
the first compilation. We've done this similar to how SavedQuery nodes skip
compilation.

* Add `__post_serialize__` method to `BatchContext` to ensure correct dict shape

This is weird, but necessary, I apologize. Mashumaro handles the
dictification of this class via a compile time generated `to_dict`
method based off of the _typing_ of th class. By default `datetime`
types are converted to strings. We don't want that, we want them to
stay datetimes.

* Update tests to check for `batch_context`

* Update `resolve_event_time_filter` to use new `batch_context`

* Stop testing for batchless compiled code for microbatch models

In 45daec72f4 we stopped an extra compilation
that was happening per batch prior to the batch_context being loaded. Stopping
this extra compilation means that compiled sql for the microbatch model without
the event time filter / batch context is no longer produced. We have discussed
this and _believe_ it is okay given that this is a new node type that has not
hit GA yet.

* Rename `ModelNode.batch_context` to `ModelNode.batch`

* Rename `build_batch_context` to `build_jinja_context_for_batch`

The name `build_batch_context` was confusing as
1) We have a `BatchContext` object, which the method was not building
2) The method builds the jinja context for the batch
As such it felt appropriate to rename the method to more accurately
communicate what it does.

* Rename test macro `invalid_batch_context_macro_sql` to `invalid_batch_jinja_context_macro_sql`

This rename was to make it more clear that the jinja context for a
batch was being checked, as a batch_context has a slightly different
connotation.

* Update changie doc
2024-11-27 16:06:41 -06:00
Quigley Malcolm
0f084e16ca Rename internal batch_info variable to previous_batch_results (#11056)
* Rename `batch_info` to `previous_batch_results`

* Exclude `previous_batch_results` from serialization of model node to avoid jinja context bloat

* Drop `previous_batch_results` key from `test_manifest.py` unit tests

In 4050e377ec we began excluding
`previous_batch_results` from the serialized representation of the
ModelNode. As such, we no longer need to check for it in `test_manifest.py`.
2024-11-27 10:46:45 -06:00
Apoorv Mehrotra
3464be7f70 Fixes dbt retry does not respect --threads (#10591) 2024-11-26 11:21:46 -08:00
Gerda Shank
407f6caa1c Pin mashumaro to <3.15 (#11046) 2024-11-25 10:49:17 -05:00
Peter Webb
ad575ec699 Add New Config Properties and Schema for Snapshot Hard Deletes (#10972)
* Add changelog entry.

* Update schemas and test fixtures for new snapshot meta-column

* Add back comment.
2024-11-21 18:15:30 -05:00
Kshitij Aranke
f582ac2488 Fix #11012: Catch DbtRuntimeError for hooks (#11023) 2024-11-21 22:27:45 +00:00
Gerda Shank
f5f0735d00 Bump libpq-dev to 13.18-0+deb11u1 in docker/Dockerfile (#11029) 2024-11-21 17:24:53 -05:00
FishtownBuildBot
3abf575fa6 Cleanup main after cutting new 1.9.latest branch (#11027)
* Clean up changelog on main

* Bumping version to 1.10.0a1

* Code quality cleanup

* add 1.8,1.9 link

---------

Co-authored-by: Emily Rockman <emily.rockman@dbtlabs.com>
2024-11-21 15:54:56 -06:00
4579 changed files with 63969 additions and 61559 deletions

View File

@@ -1,37 +0,0 @@
[bumpversion]
current_version = 1.9.0b4
parse = (?P<major>[\d]+) # major version number
\.(?P<minor>[\d]+) # minor version number
\.(?P<patch>[\d]+) # patch version number
(?P<prerelease> # optional pre-release - ex: a1, b2, rc25
(?P<prekind>a|b|rc) # pre-release type
(?P<num>[\d]+) # pre-release version number
)?
( # optional nightly release indicator
\.(?P<nightly>dev[0-9]+) # ex: .dev02142023
)? # expected matches: `1.15.0`, `1.5.0a11`, `1.5.0a1.dev123`, `1.5.0.dev123457`, expected failures: `1`, `1.5`, `1.5.2-a1`, `text1.5.0`
serialize =
{major}.{minor}.{patch}{prekind}{num}.{nightly}
{major}.{minor}.{patch}.{nightly}
{major}.{minor}.{patch}{prekind}{num}
{major}.{minor}.{patch}
commit = False
tag = False
[bumpversion:part:prekind]
first_value = a
optional_value = final
values =
a
b
rc
final
[bumpversion:part:num]
first_value = 1
[bumpversion:part:nightly]
[bumpversion:file:core/setup.py]
[bumpversion:file:core/dbt/version.py]

View File

@@ -3,6 +3,9 @@
For information on prior major and minor releases, see their changelogs:
* [1.10](https://github.com/dbt-labs/dbt-core/blob/1.10.latest/CHANGELOG.md)
* [1.9](https://github.com/dbt-labs/dbt-core/blob/1.9.latest/CHANGELOG.md)
* [1.8](https://github.com/dbt-labs/dbt-core/blob/1.8.latest/CHANGELOG.md)
* [1.7](https://github.com/dbt-labs/dbt-core/blob/1.7.latest/CHANGELOG.md)
* [1.6](https://github.com/dbt-labs/dbt-core/blob/1.6.latest/CHANGELOG.md)
* [1.5](https://github.com/dbt-labs/dbt-core/blob/1.5.latest/CHANGELOG.md)

View File

@@ -1,136 +0,0 @@
## dbt-core 1.9.0-b1 - October 01, 2024
### Breaking Changes
- Fix changing the current working directory when using dpt deps, clean and init. ([#8997](https://github.com/dbt-labs/dbt-core/issues/8997))
### Features
- serialize inferred primary key ([#9824](https://github.com/dbt-labs/dbt-core/issues/9824))
- Add unit_test: selection method ([#10053](https://github.com/dbt-labs/dbt-core/issues/10053))
- Maximally parallelize dbt clone in clone command" ([#7914](https://github.com/dbt-labs/dbt-core/issues/7914))
- Add --host flag to dbt docs serve, defaulting to '127.0.0.1' ([#10229](https://github.com/dbt-labs/dbt-core/issues/10229))
- Update data_test to accept arbitrary config options ([#10197](https://github.com/dbt-labs/dbt-core/issues/10197))
- add pre_model and post_model hook calls to data and unit tests to be able to provide extra config options ([#10198](https://github.com/dbt-labs/dbt-core/issues/10198))
- add --empty value to jinja context as flags.EMPTY ([#10317](https://github.com/dbt-labs/dbt-core/issues/10317))
- Warning message for snapshot timestamp data types ([#10234](https://github.com/dbt-labs/dbt-core/issues/10234))
- Support cumulative_type_params & sub-daily granularities in semantic manifest. ([#10360](https://github.com/dbt-labs/dbt-core/issues/10360))
- Add time_granularity to metric spec. ([#10376](https://github.com/dbt-labs/dbt-core/issues/10376))
- Support standard schema/database fields for snapshots ([#10301](https://github.com/dbt-labs/dbt-core/issues/10301))
- Support ref and source in foreign key constraint expressions, bump dbt-common minimum to 1.6 ([#8062](https://github.com/dbt-labs/dbt-core/issues/8062))
- Support new semantic layer time spine configs to enable sub-daily granularity. ([#10475](https://github.com/dbt-labs/dbt-core/issues/10475))
- Include models that depend on changed vars in state:modified, add state:modified.vars selection method ([#4304](https://github.com/dbt-labs/dbt-core/issues/4304))
- Add support for behavior flags ([#10618](https://github.com/dbt-labs/dbt-core/issues/10618))
- Enable `--resource-type` and `--exclude-resource-type` CLI flags and environment variables for `dbt test` ([#10656](https://github.com/dbt-labs/dbt-core/issues/10656))
- Allow configuring snapshot column names ([#10185](https://github.com/dbt-labs/dbt-core/issues/10185))
- Add custom_granularities to YAML spec for time spines. ([#9265](https://github.com/dbt-labs/dbt-core/issues/9265))
- Add basic functionality for creating microbatch incremental models ([#9490](https://github.com/dbt-labs/dbt-core/issues/9490), [#10635](https://github.com/dbt-labs/dbt-core/issues/10635), [#10637](https://github.com/dbt-labs/dbt-core/issues/10637), [#10638](https://github.com/dbt-labs/dbt-core/issues/10638), [#10636](https://github.com/dbt-labs/dbt-core/issues/10636), [#10662](https://github.com/dbt-labs/dbt-core/issues/10662), [#10639](https://github.com/dbt-labs/dbt-core/issues/10639))
- Execute microbatch models in batches ([#10700](https://github.com/dbt-labs/dbt-core/issues/10700))
- Create 'skip_nodes_if_on_run_start_fails' behavior change flag ([#7387](https://github.com/dbt-labs/dbt-core/issues/7387))
- Allow snapshots to be defined in YAML. ([#10246](https://github.com/dbt-labs/dbt-core/issues/10246))
- Write microbatch compiled/run targets to separate files, one per batch ([#10714](https://github.com/dbt-labs/dbt-core/issues/10714))
- Track incremental_strategy as part of model_run tracking event ([#10761](https://github.com/dbt-labs/dbt-core/issues/10761))
- Support required 'begin' config for microbatch models ([#10701](https://github.com/dbt-labs/dbt-core/issues/10701))
- Parse-time validation of microbatch configs: require event_time, batch_size, lookback and validate input event_time ([#10709](https://github.com/dbt-labs/dbt-core/issues/10709))
- Added the --inline-direct parameter to 'dbt show' ([#10770](https://github.com/dbt-labs/dbt-core/issues/10770))
- Enable `retry` support for microbatch models ([#10715](https://github.com/dbt-labs/dbt-core/issues/10715), [#10729](https://github.com/dbt-labs/dbt-core/issues/10729))
- Use unrendered database and schema source properties during state:modified, behind state_modified_compare_more_unrendered_values behavoiur flag ([#9573](https://github.com/dbt-labs/dbt-core/issues/9573))
- Ensure microbatch models respect `full_refresh` model config ([#10785](https://github.com/dbt-labs/dbt-core/issues/10785))
- Adds validations for custom_granularities to ensure unique naming. ([#9265](https://github.com/dbt-labs/dbt-core/issues/9265))
### Fixes
- Remove unused check_new method ([#7586](https://github.com/dbt-labs/dbt-core/issues/7586))
- Test case for `merge_exclude_columns` ([#8267](https://github.com/dbt-labs/dbt-core/issues/8267))
- Convert "Skipping model due to fail_fast" message to DEBUG level ([#8774](https://github.com/dbt-labs/dbt-core/issues/8774))
- Restore previous behavior for --favor-state: only favor defer_relation if not selected in current command" ([#10107](https://github.com/dbt-labs/dbt-core/issues/10107))
- Unit test fixture (csv) returns null for empty value ([#9881](https://github.com/dbt-labs/dbt-core/issues/9881))
- Fix json format log and --quiet for ls and jinja print by converting print call to fire events ([#8756](https://github.com/dbt-labs/dbt-core/issues/8756))
- Add resource type to saved_query ([#10168](https://github.com/dbt-labs/dbt-core/issues/10168))
- Fix: Order-insensitive unit test equality assertion for expected/actual with multiple nulls ([#10167](https://github.com/dbt-labs/dbt-core/issues/10167))
- Renaming or removing a contracted model should raise a BreakingChange warning/error ([#10116](https://github.com/dbt-labs/dbt-core/issues/10116))
- prefer disabled project nodes to external node ([#10224](https://github.com/dbt-labs/dbt-core/issues/10224))
- Fix issues with selectors and inline nodes ([#8943](https://github.com/dbt-labs/dbt-core/issues/8943), [#9269](https://github.com/dbt-labs/dbt-core/issues/9269))
- Fix snapshot config to work in yaml files ([#4000](https://github.com/dbt-labs/dbt-core/issues/4000))
- Improve handling of error when loading schema file list ([#10284](https://github.com/dbt-labs/dbt-core/issues/10284))
- Use model alias for the CTE identifier generated during ephemeral materialization ([#5273](https://github.com/dbt-labs/dbt-core/issues/5273))
- Implement state:modified for saved queries ([#10294](https://github.com/dbt-labs/dbt-core/issues/10294))
- Saved Query node fail during skip ([#10029](https://github.com/dbt-labs/dbt-core/issues/10029))
- DOn't warn on `unit_test` config paths that are properly used ([#10311](https://github.com/dbt-labs/dbt-core/issues/10311))
- Fix setting `silence` of `warn_error_options` via `dbt_project.yaml` flags ([#10160](https://github.com/dbt-labs/dbt-core/issues/10160))
- Attempt to provide test fixture tables with all values to set types correctly for comparisong with source tables ([#10365](https://github.com/dbt-labs/dbt-core/issues/10365))
- Limit data_tests deprecation to root_project ([#9835](https://github.com/dbt-labs/dbt-core/issues/9835))
- CLI flags should take precedence over env var flags ([#10304](https://github.com/dbt-labs/dbt-core/issues/10304))
- Fix typing for artifact schemas ([#10442](https://github.com/dbt-labs/dbt-core/issues/10442))
- Fix over deletion of generated_metrics in partial parsing ([#10450](https://github.com/dbt-labs/dbt-core/issues/10450))
- Fix error constructing warn_error_options ([#10452](https://github.com/dbt-labs/dbt-core/issues/10452))
- Do not update varchar column definitions if a contract exists ([#10362](https://github.com/dbt-labs/dbt-core/issues/10362))
- fix all_constraints access, disabled node parsing of non-uniquely named resources ([#10509](https://github.com/dbt-labs/dbt-core/issues/10509))
- respect --quiet and --warn-error-options for flag deprecations ([#10105](https://github.com/dbt-labs/dbt-core/issues/10105))
- Propagate measure label when using create_metrics ([#10536](https://github.com/dbt-labs/dbt-core/issues/10536))
- Fix state:modified check for exports ([#10138](https://github.com/dbt-labs/dbt-core/issues/10138))
- Filter out empty nodes after graph selection to support consistent selection of nodes that depend on upstream public models ([#8987](https://github.com/dbt-labs/dbt-core/issues/8987))
- Late render pre- and post-hooks configs in properties / schema YAML files ([#10603](https://github.com/dbt-labs/dbt-core/issues/10603))
- Allow the use of env_var function in certain macros in which it was previously unavailable. ([#10609](https://github.com/dbt-labs/dbt-core/issues/10609))
- Remove deprecation for tests: to data_tests: change ([#10564](https://github.com/dbt-labs/dbt-core/issues/10564))
- Fix `--resource-type test` for `dbt list` and `dbt build` ([#10730](https://github.com/dbt-labs/dbt-core/issues/10730))
- Fix unit tests for incremental model with alias ([#10754](https://github.com/dbt-labs/dbt-core/issues/10754))
- Allow singular tests to be documented in properties.yml ([#9005](https://github.com/dbt-labs/dbt-core/issues/9005))
- Ignore --empty in unit test ref/source rendering ([#10516](https://github.com/dbt-labs/dbt-core/issues/10516))
- Ignore rendered jinja in configs for state:modified, behind state_modified_compare_more_unrendered_values behaviour flag ([#9564](https://github.com/dbt-labs/dbt-core/issues/9564))
- Improve performance of infer primary key ([#10781](https://github.com/dbt-labs/dbt-core/issues/10781))
- Attempt to skip saved query processing when no semantic manifest changes ([#10563](https://github.com/dbt-labs/dbt-core/issues/10563))
- Ensure dbt retry of microbatch models doesn't lose prior successful state ([#10800](https://github.com/dbt-labs/dbt-core/issues/10800))
### Docs
- Enable display of unit tests ([dbt-docs/#501](https://github.com/dbt-labs/dbt-docs/issues/501))
- Unit tests not rendering ([dbt-docs/#506](https://github.com/dbt-labs/dbt-docs/issues/506))
- Add support for Saved Query node ([dbt-docs/#486](https://github.com/dbt-labs/dbt-docs/issues/486))
- Fix npm security vulnerabilities as of June 2024 ([dbt-docs/#513](https://github.com/dbt-labs/dbt-docs/issues/513))
### Under the Hood
- Clear error message for Private package in dbt-core ([#10083](https://github.com/dbt-labs/dbt-core/issues/10083))
- Enable use of context in serialization ([#10093](https://github.com/dbt-labs/dbt-core/issues/10093))
- Make RSS high water mark measurement more accurate on Linux ([#10177](https://github.com/dbt-labs/dbt-core/issues/10177))
- Enable record filtering by type. ([#10240](https://github.com/dbt-labs/dbt-core/issues/10240))
- Remove IntermediateSnapshotNode ([#10326](https://github.com/dbt-labs/dbt-core/issues/10326))
- Additional logging for skipped ephemeral models ([#10389](https://github.com/dbt-labs/dbt-core/issues/10389))
- bump black to 24.3.0 ([#10454](https://github.com/dbt-labs/dbt-core/issues/10454))
- generate protos with protoc version 5.26.1 ([#10457](https://github.com/dbt-labs/dbt-core/issues/10457))
- Move from minimal-snowplow-tracker fork back to snowplow-tracker ([#8409](https://github.com/dbt-labs/dbt-core/issues/8409))
- Add group info to RunResultError, RunResultFailure, RunResultWarning log lines ([#](https://github.com/dbt-labs/dbt-core/issues/))
- Improve speed of tree traversal when finding children, increasing build speed for some selectors ([#10434](https://github.com/dbt-labs/dbt-core/issues/10434))
- Add test for sources tables with quotes ([#10582](https://github.com/dbt-labs/dbt-core/issues/10582))
- Additional type hints for `core/dbt/version.py` ([#10612](https://github.com/dbt-labs/dbt-core/issues/10612))
- Fix typing issues in core/dbt/contracts/sql.py ([#10614](https://github.com/dbt-labs/dbt-core/issues/10614))
- Fix type errors in `dbt/core/task/clean.py` ([#10616](https://github.com/dbt-labs/dbt-core/issues/10616))
- Add Snowplow tracking for behavior flag deprecations ([#10552](https://github.com/dbt-labs/dbt-core/issues/10552))
- Add test utility patch_microbatch_end_time for adapters testing ([#10713](https://github.com/dbt-labs/dbt-core/issues/10713))
- Replace `TestSelector` with `ResourceTypeSelector` ([#10718](https://github.com/dbt-labs/dbt-core/issues/10718))
- Standardize returning `ResourceTypeSelector` instances in `dbt list` and `dbt build` ([#10739](https://github.com/dbt-labs/dbt-core/issues/10739))
- Add group metadata info to LogModelResult and LogTestResult ([#10775](https://github.com/dbt-labs/dbt-core/issues/10775))
### Dependencies
- Remove logbook dependency ([#8027](https://github.com/dbt-labs/dbt-core/issues/8027))
- Increase supported version range for dbt-semantic-interfaces. Needed to support custom calendar features. ([#9265](https://github.com/dbt-labs/dbt-core/issues/9265))
### Security
- Explicitly bind to localhost in docs serve ([#10209](https://github.com/dbt-labs/dbt-core/issues/10209))
### Contributors
- [@McKnight-42](https://github.com/McKnight-42) ([#10197](https://github.com/dbt-labs/dbt-core/issues/10197), [#10198](https://github.com/dbt-labs/dbt-core/issues/10198))
- [@TowardOliver](https://github.com/TowardOliver) ([#10656](https://github.com/dbt-labs/dbt-core/issues/10656))
- [@aliceliu](https://github.com/aliceliu) ([#10536](https://github.com/dbt-labs/dbt-core/issues/10536), [#10138](https://github.com/dbt-labs/dbt-core/issues/10138))
- [@courtneyholcomb](https://github.com/courtneyholcomb) ([#10360](https://github.com/dbt-labs/dbt-core/issues/10360), [#10376](https://github.com/dbt-labs/dbt-core/issues/10376), [#10475](https://github.com/dbt-labs/dbt-core/issues/10475), [#9265](https://github.com/dbt-labs/dbt-core/issues/9265), [#9265](https://github.com/dbt-labs/dbt-core/issues/9265), [#9265](https://github.com/dbt-labs/dbt-core/issues/9265))
- [@dave-connors-3](https://github.com/dave-connors-3) ([#9824](https://github.com/dbt-labs/dbt-core/issues/9824))
- [@jeancochrane](https://github.com/jeancochrane) ([#5273](https://github.com/dbt-labs/dbt-core/issues/5273))
- [@katsugeneration](https://github.com/katsugeneration) ([#10754](https://github.com/dbt-labs/dbt-core/issues/10754))
- [@kevinneville](https://github.com/kevinneville) ([#7586](https://github.com/dbt-labs/dbt-core/issues/7586))
- [@nakamichiworks](https://github.com/nakamichiworks) ([#10442](https://github.com/dbt-labs/dbt-core/issues/10442))
- [@rariyama](https://github.com/rariyama) ([#8997](https://github.com/dbt-labs/dbt-core/issues/8997))
- [@scottgigante,nevdelap](https://github.com/scottgigante,nevdelap) ([#8774](https://github.com/dbt-labs/dbt-core/issues/8774))
- [@ttusing](https://github.com/ttusing) ([#10434](https://github.com/dbt-labs/dbt-core/issues/10434))

View File

@@ -1 +0,0 @@
## dbt-core 1.9.0-b2 - October 07, 2024

View File

@@ -1,38 +0,0 @@
## dbt-core 1.9.0-b3 - October 30, 2024
### Features
- Add `order_by` and `limit` fields to saved queries. ([#10531](https://github.com/dbt-labs/dbt-core/issues/10531))
- Enable specification of dbt_valid_to for current records ([#10187](https://github.com/dbt-labs/dbt-core/issues/10187))
- Enable use of multi-column unique key in snapshots ([#9992](https://github.com/dbt-labs/dbt-core/issues/9992))
- Ensure `--event-time-start` is before `--event-time-end` ([#10786](https://github.com/dbt-labs/dbt-core/issues/10786))
- Ensure microbatch models use same `current_time` value ([#10819](https://github.com/dbt-labs/dbt-core/issues/10819))
- Emit warning when microbatch model has no input with `event_time` config ([#10926](https://github.com/dbt-labs/dbt-core/issues/10926))
### Fixes
- Pass test user config to adapter pre_hook by explicitly adding test builder config to node ([#10484](https://github.com/dbt-labs/dbt-core/issues/10484))
- Handle edge cases when a specified `--event-time-end` is equivalent to the batch size truncated batch start time ([#10824](https://github.com/dbt-labs/dbt-core/issues/10824))
- Begin tracking execution time of microbatch model batches ([#10825](https://github.com/dbt-labs/dbt-core/issues/10825))
- Allow instances of generic data tests to be documented ([#2578](https://github.com/dbt-labs/dbt-core/issues/2578))
- Fix warnings for models referring to a deprecated model ([#10833](https://github.com/dbt-labs/dbt-core/issues/10833))
- Change `lookback` default from `0` to `1` to ensure better data completeness ([#10867](https://github.com/dbt-labs/dbt-core/issues/10867))
- Make `--event-time-start` and `--event-time-end` mutually required ([#10874](https://github.com/dbt-labs/dbt-core/issues/10874))
- Exclude hook result from results in on-run-end context ([#7387](https://github.com/dbt-labs/dbt-core/issues/7387))
- Implement partial parsing for all-yaml snapshots ([#10903](https://github.com/dbt-labs/dbt-core/issues/10903))
- Restore source quoting behaviour when quoting config provided in dbt_project.yml ([#10892](https://github.com/dbt-labs/dbt-core/issues/10892))
- Fix bug when referencing deprecated models ([#10915](https://github.com/dbt-labs/dbt-core/issues/10915))
- Fix 'model' jinja context variable type to dict ([#10927](https://github.com/dbt-labs/dbt-core/issues/10927))
- Take `end_time` for batches to the ceiling to handle edge case where `event_time` column is a date ([#10868](https://github.com/dbt-labs/dbt-core/issues/10868))
### Under the Hood
- Remove support and testing for Python 3.8, which is now EOL. ([#10861](https://github.com/dbt-labs/dbt-core/issues/10861))
### Dependencies
- Bump minimnum allowed dbt-adapters version to 1.8.0 ([#N/A](https://github.com/dbt-labs/dbt-core/issues/N/A))
### Contributors
- [@danlsn](https://github.com/danlsn) ([#10915](https://github.com/dbt-labs/dbt-core/issues/10915))
- [@plypaul](https://github.com/plypaul) ([#10531](https://github.com/dbt-labs/dbt-core/issues/10531))

View File

@@ -1,19 +0,0 @@
## dbt-core 1.9.0-b4 - November 06, 2024
### Features
- Emit debug logging event whenever artifacts are written ([#10937](https://github.com/dbt-labs/dbt-core/issues/10937))
- Support --empty for snapshots ([#10372](https://github.com/dbt-labs/dbt-core/issues/10372))
### Fixes
- Ensure KeyboardInterrupt/SystemExit halts microbatch model execution ([#10862](https://github.com/dbt-labs/dbt-core/issues/10862))
- Handle exceptions in `get_execution_status` more broadly to better ensure `run_results.json` gets written ([#10934](https://github.com/dbt-labs/dbt-core/issues/10934))
### Under the Hood
- Behavior change for mf timespine without yaml configuration ([#10959](https://github.com/dbt-labs/dbt-core/issues/10959))
- Behavior change for cumulative metric type param ([#10960](https://github.com/dbt-labs/dbt-core/issues/10960))
### Contributors
- [@DevonFulcher](https://github.com/DevonFulcher) ([#10959](https://github.com/dbt-labs/dbt-core/issues/10959), [#10960](https://github.com/dbt-labs/dbt-core/issues/10960))

View File

@@ -1,6 +0,0 @@
kind: Breaking Changes
body: Fix changing the current working directory when using dpt deps, clean and init.
time: 2023-12-06T19:24:42.575372+09:00
custom:
Author: rariyama
Issue: "8997"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Remove logbook dependency
time: 2024-05-09T09:37:17.745129-05:00
custom:
Author: emmyoop
Issue: "8027"

View File

@@ -1,7 +0,0 @@
kind: Dependencies
body: Increase supported version range for dbt-semantic-interfaces. Needed to support
custom calendar features.
time: 2024-08-20T13:19:09.015225-07:00
custom:
Author: courtneyholcomb
Issue: "9265"

View File

@@ -1,6 +0,0 @@
kind: Dependencies
body: Bump minimnum allowed dbt-adapters version to 1.8.0
time: 2024-10-30T13:45:26.144328-05:00
custom:
Author: QMalcolm
Issue: N/A

View File

@@ -1,6 +0,0 @@
kind: Docs
body: Enable display of unit tests
time: 2024-03-11T14:03:44.490834-04:00
custom:
Author: gshank
Issue: "501"

View File

@@ -1,6 +0,0 @@
kind: Docs
body: Unit tests not rendering
time: 2024-05-01T02:10:50.987412+02:00
custom:
Author: aranke
Issue: "506"

View File

@@ -1,6 +0,0 @@
kind: Docs
body: Add support for Saved Query node
time: 2024-05-16T22:30:36.206492-07:00
custom:
Author: ChenyuLInx
Issue: "486"

View File

@@ -1,6 +0,0 @@
kind: Docs
body: Fix npm security vulnerabilities as of June 2024
time: 2024-06-13T15:10:48.301989+01:00
custom:
Author: aranke
Issue: "513"

View File

@@ -1,6 +0,0 @@
kind: Features
body: serialize inferred primary key
time: 2024-05-06T17:56:42.757673-05:00
custom:
Author: dave-connors-3
Issue: "9824"

View File

@@ -1,6 +0,0 @@
kind: Features
body: 'Add unit_test: selection method'
time: 2024-05-07T16:27:17.047585-04:00
custom:
Author: michelleark
Issue: "10053"

View File

@@ -1,7 +0,0 @@
kind: Features
body: Maximally parallelize dbt clone
in clone command"
time: 2024-05-22T00:03:09.765977-04:00
custom:
Author: michelleark
Issue: "7914"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add --host flag to dbt docs serve, defaulting to '127.0.0.1'
time: 2024-05-27T12:44:05.040843-04:00
custom:
Author: michelleark
Issue: "10229"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Update data_test to accept arbitrary config options
time: 2024-05-31T15:08:16.431966-05:00
custom:
Author: McKnight-42
Issue: "10197"

View File

@@ -1,6 +0,0 @@
kind: Features
body: add pre_model and post_model hook calls to data and unit tests to be able to provide extra config options
time: 2024-06-06T11:23:34.758675-05:00
custom:
Author: McKnight-42
Issue: "10198"

View File

@@ -1,6 +0,0 @@
kind: Features
body: add --empty value to jinja context as flags.EMPTY
time: 2024-06-17T10:39:48.275801-04:00
custom:
Author: michelleark
Issue: "10317"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Warning message for snapshot timestamp data types
time: 2024-06-21T14:16:35.717637-04:00
custom:
Author: gshank
Issue: "10234"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support cumulative_type_params & sub-daily granularities in semantic manifest.
time: 2024-06-25T09:51:07.983248-07:00
custom:
Author: courtneyholcomb
Issue: "10360"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add time_granularity to metric spec.
time: 2024-06-27T16:29:53.500917-07:00
custom:
Author: courtneyholcomb
Issue: "10376"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support standard schema/database fields for snapshots
time: 2024-07-12T21:45:46.06011-04:00
custom:
Author: gshank
Issue: "10301"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support ref and source in foreign key constraint expressions, bump dbt-common minimum to 1.6
time: 2024-07-19T16:18:41.434278-04:00
custom:
Author: michelleark
Issue: "8062"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support new semantic layer time spine configs to enable sub-daily granularity.
time: 2024-07-22T20:22:38.258249-07:00
custom:
Author: courtneyholcomb
Issue: "10475"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add `order_by` and `limit` fields to saved queries.
time: 2024-08-06T14:48:59.035914-07:00
custom:
Author: plypaul
Issue: "10531"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add support for behavior flags
time: 2024-08-29T13:53:20.16122-04:00
custom:
Author: mikealfare
Issue: "10618"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Enable `--resource-type` and `--exclude-resource-type` CLI flags and environment variables for `dbt test`
time: 2024-09-03T13:24:28.592837+01:00
custom:
Author: TowardOliver dbeatty10
Issue: "10656"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Allow configuring snapshot column names
time: 2024-09-03T15:41:33.167097-04:00
custom:
Author: gshank
Issue: "10185"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add custom_granularities to YAML spec for time spines.
time: 2024-09-04T18:23:20.234952-07:00
custom:
Author: courtneyholcomb
Issue: "9265"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Add basic functionality for creating microbatch incremental models
time: 2024-09-11T12:10:29.822189-05:00
custom:
Author: MichelleArk QMalcolm
Issue: 9490 10635 10637 10638 10636 10662 10639

View File

@@ -1,6 +0,0 @@
kind: Features
body: Execute microbatch models in batches
time: 2024-09-13T23:21:11.935434-04:00
custom:
Author: michelleark
Issue: "10700"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Create 'skip_nodes_if_on_run_start_fails' behavior change flag
time: 2024-09-18T16:29:59.268422+01:00
custom:
Author: aranke
Issue: "7387"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Allow snapshots to be defined in YAML.
time: 2024-09-20T11:04:47.703117-04:00
custom:
Author: peterallenwebb
Issue: "10246"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Write microbatch compiled/run targets to separate files, one per batch
time: 2024-09-20T17:24:19.219556+01:00
custom:
Author: michelleark
Issue: "10714"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Track incremental_strategy as part of model_run tracking event
time: 2024-09-23T15:53:35.898928+01:00
custom:
Author: michelleark
Issue: "10761"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support required 'begin' config for microbatch models
time: 2024-09-23T15:59:03.924079+01:00
custom:
Author: michelleark
Issue: "10701"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Added the --inline-direct parameter to 'dbt show'
time: 2024-09-24T15:29:22.874496-04:00
custom:
Author: aranke peterallenwebb
Issue: "10770"

View File

@@ -1,7 +0,0 @@
kind: Features
body: 'Parse-time validation of microbatch configs: require event_time, batch_size,
lookback and validate input event_time'
time: 2024-09-24T15:46:39.83112+01:00
custom:
Author: michelleark
Issue: "10709"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Enable specification of dbt_valid_to for current records
time: 2024-09-25T12:08:55.926848-04:00
custom:
Author: gshank
Issue: "10187"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Enable `retry` support for microbatch models
time: 2024-09-25T16:50:02.105069-05:00
custom:
Author: QMalcolm MichelleArk
Issue: 10715 10729

View File

@@ -1,7 +0,0 @@
kind: Features
body: Use unrendered database and schema source properties during state:modified,
behind state_modified_compare_more_unrendered_values behavoiur flag
time: 2024-09-26T14:02:06.732068+01:00
custom:
Author: michelleark
Issue: "9573"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Adds validations for custom_granularities to ensure unique naming.
time: 2024-09-26T15:10:57.907694-07:00
custom:
Author: courtneyholcomb
Issue: "9265"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Ensure microbatch models respect `full_refresh` model config
time: 2024-09-26T15:32:10.202789-05:00
custom:
Author: QMalcolm
Issue: "10785"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Enable use of multi-column unique key in snapshots
time: 2024-10-01T13:40:51.297529-04:00
custom:
Author: gshank
Issue: "9992"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Ensure `--event-time-start` is before `--event-time-end`
time: 2024-10-03T17:05:29.984398-05:00
custom:
Author: QMalcolm
Issue: "10786"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Ensure microbatch models use same `current_time` value
time: 2024-10-07T11:58:53.460941-05:00
custom:
Author: QMalcolm
Issue: "10819"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Emit warning when microbatch model has no input with `event_time` config
time: 2024-10-28T17:34:19.195209-04:00
custom:
Author: michelleark
Issue: "10926"

View File

@@ -1,6 +0,0 @@
kind: Features
body: Emit debug logging event whenever artifacts are written
time: 2024-10-29T18:17:28.321188-05:00
custom:
Author: QMalcolm
Issue: 10937

View File

@@ -1,6 +0,0 @@
kind: Features
body: Support --empty for snapshots
time: 2024-10-31T16:31:49.926164-04:00
custom:
Author: gshank
Issue: "10372"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Remove unused check_new method
time: 2023-06-01T20:41:57.556342+02:00
custom:
Author: kevinneville
Issue: "7586"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Test case for `merge_exclude_columns`
time: 2023-08-01T09:46:26.829362-06:00
custom:
Author: dbeatty10
Issue: "8267"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Convert "Skipping model due to fail_fast" message to DEBUG level
time: 2024-01-13T07:36:15.836294-00:00
custom:
Author: scottgigante,nevdelap
Issue: "8774"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: 'Restore previous behavior for --favor-state: only favor defer_relation if not
selected in current command"'
time: 2024-05-08T15:11:27.510912+02:00
custom:
Author: jtcohen6
Issue: "10107"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Unit test fixture (csv) returns null for empty value
time: 2024-05-09T09:14:11.772709-04:00
custom:
Author: michelleark
Issue: "9881"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Fix json format log and --quiet for ls and jinja print by converting print call
to fire events
time: 2024-05-16T15:39:13.896723-07:00
custom:
Author: ChenyuLInx
Issue: "8756"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Add resource type to saved_query
time: 2024-05-16T22:35:10.287514-07:00
custom:
Author: ChenyuLInx
Issue: "10168"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: 'Fix: Order-insensitive unit test equality assertion for expected/actual with
multiple nulls'
time: 2024-05-22T18:28:55.91733-04:00
custom:
Author: michelleark
Issue: "10167"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Renaming or removing a contracted model should raise a BreakingChange warning/error
time: 2024-05-23T20:42:51.033946-04:00
custom:
Author: michelleark
Issue: "10116"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: prefer disabled project nodes to external node
time: 2024-05-24T13:11:35.440443-04:00
custom:
Author: michelleark
Issue: "10224"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix issues with selectors and inline nodes
time: 2024-06-05T11:16:52.187667-04:00
custom:
Author: gshank
Issue: 8943 9269

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix snapshot config to work in yaml files
time: 2024-06-07T13:46:48.383215-04:00
custom:
Author: gshank
Issue: "4000"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Improve handling of error when loading schema file list
time: 2024-06-10T13:21:30.963371-04:00
custom:
Author: gshank
Issue: "10284"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Use model alias for the CTE identifier generated during ephemeral materialization
time: 2024-06-10T20:05:22.510814008Z
custom:
Author: jeancochrane
Issue: "5273"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Saved Query node fail during skip
time: 2024-06-12T12:42:56.329073-07:00
custom:
Author: ChenyuLInx
Issue: "10029"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Implement state:modified for saved queries
time: 2024-06-12T15:21:39.851426-04:00
custom:
Author: gshank
Issue: "10294"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: DOn't warn on `unit_test` config paths that are properly used
time: 2024-06-13T18:31:17.486497-07:00
custom:
Author: QMalcolm
Issue: "10311"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix setting `silence` of `warn_error_options` via `dbt_project.yaml` flags
time: 2024-06-24T17:17:29.464865-07:00
custom:
Author: QMalcolm
Issue: "10160"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Attempt to provide test fixture tables with all values to set types correctly
for comparisong with source tables
time: 2024-06-25T17:17:37.514619-07:00
custom:
Author: versusfacit
Issue: "10365"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Limit data_tests deprecation to root_project
time: 2024-06-27T15:44:48.579869-04:00
custom:
Author: gshank
Issue: "9835"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: CLI flags should take precedence over env var flags
time: 2024-07-09T17:24:40.918977-04:00
custom:
Author: gshank
Issue: "10304"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix typing for artifact schemas
time: 2024-07-14T10:02:54.452099+09:00
custom:
Author: nakamichiworks
Issue: "10442"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix over deletion of generated_metrics in partial parsing
time: 2024-07-16T13:37:03.49651-04:00
custom:
Author: gshank
Issue: "10450"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix error constructing warn_error_options
time: 2024-07-16T17:14:27.837171-04:00
custom:
Author: gshank
Issue: "10452"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Do not update varchar column definitions if a contract exists
time: 2024-07-28T22:14:21.67712-04:00
custom:
Author: gshank
Issue: "10362"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: fix all_constraints access, disabled node parsing of non-uniquely named resources
time: 2024-07-31T09:51:52.751135-04:00
custom:
Author: michelleark gshank
Issue: "10509"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Propagate measure label when using create_metrics
time: 2024-08-06T17:21:10.265494-07:00
custom:
Author: aliceliu
Issue: "10536"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: respect --quiet and --warn-error-options for flag deprecations
time: 2024-08-06T19:48:43.399453-04:00
custom:
Author: michelleark
Issue: "10105"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix state:modified check for exports
time: 2024-08-13T15:42:35.471685-07:00
custom:
Author: aliceliu
Issue: "10138"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Filter out empty nodes after graph selection to support consistent selection of nodes that depend on upstream public models
time: 2024-08-16T14:08:07.426235-07:00
custom:
Author: jtcohen6
Issue: "8987"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Late render pre- and post-hooks configs in properties / schema YAML files
time: 2024-08-24T21:09:03.252733-06:00
custom:
Author: dbeatty10
Issue: "10603"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Allow the use of env_var function in certain macros in which it was previously
unavailable.
time: 2024-08-29T10:57:01.160613-04:00
custom:
Author: peterallenwebb
Issue: "10609"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: 'Remove deprecation for tests: to data_tests: change'
time: 2024-09-05T18:02:48.086421-04:00
custom:
Author: gshank
Issue: "10564"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix `--resource-type test` for `dbt list` and `dbt build`
time: 2024-09-17T17:44:46.121032-06:00
custom:
Author: dbeatty10
Issue: "10730"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix unit tests for incremental model with alias
time: 2024-09-22T13:35:27.991398741Z
custom:
Author: katsugeneration
Issue: "10754"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Allow singular tests to be documented in properties.yml
time: 2024-09-23T19:07:58.151069+01:00
custom:
Author: aranke
Issue: "9005"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Ignore --empty in unit test ref/source rendering
time: 2024-09-23T20:20:24.151285+01:00
custom:
Author: michelleark
Issue: "10516"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Ignore rendered jinja in configs for state:modified, behind state_modified_compare_more_unrendered_values
behaviour flag
time: 2024-09-25T13:10:28.490042+01:00
custom:
Author: michelleark
Issue: "9564"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Pass test user config to adapter pre_hook by explicitly adding test builder config to node
time: 2024-09-25T15:45:14.459598-07:00
custom:
Author: colin-rogers-dbt
Issue: "10484"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Improve performance of infer primary key
time: 2024-09-25T16:05:43.59536-04:00
custom:
Author: gshank
Issue: "10781"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Attempt to skip saved query processing when no semantic manifest changes
time: 2024-09-26T10:12:20.193453-04:00
custom:
Author: gshank
Issue: "10563"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Ensure dbt retry of microbatch models doesn't lose prior successful state
time: 2024-09-30T15:31:58.541656-05:00
custom:
Author: QMalcolm
Issue: "10800"

View File

@@ -1,7 +0,0 @@
kind: Fixes
body: Handle edge cases when a specified `--event-time-end` is equivalent to the batch
size truncated batch start time
time: 2024-10-04T13:36:30.357936-05:00
custom:
Author: QMalcolm
Issue: "10824"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Begin tracking execution time of microbatch model batches
time: 2024-10-04T16:39:08.464064-05:00
custom:
Author: QMalcolm
Issue: "10825"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Allow instances of generic data tests to be documented
time: 2024-10-14T21:21:35.767115+01:00
custom:
Author: aranke
Issue: "2578"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Fix warnings for models referring to a deprecated model
time: 2024-10-15T12:18:25.14525-04:00
custom:
Author: gshank
Issue: "10833"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Change `lookback` default from `0` to `1` to ensure better data completeness
time: 2024-10-17T13:48:57.805205-07:00
custom:
Author: QMalcolm
Issue: "10867"

View File

@@ -1,6 +0,0 @@
kind: Fixes
body: Make `--event-time-start` and `--event-time-end` mutually required
time: 2024-10-17T14:53:57.149238-07:00
custom:
Author: QMalcolm
Issue: "10874"

Some files were not shown because too many files have changed in this diff Show More