pypi dbt-core 1.4.0
dbt-core v1.4.0

latest releases: 1.9.0b4, 1.9.0b3, 1.8.8...
21 months ago

dbt-core 1.4.0 - January 25, 2023

Breaking Changes

  • Cleaned up exceptions to directly raise in code. Also updated the existing exception to meet PEP guidelines.Removed use of all exception functions in the code base and marked them all as deprecated to be removed next minor release. (#6339, #6393, #6460)

Features

  • Added favor-state flag to optionally favor state nodes even if unselected node exists (#5016)
  • Update structured logging. Convert to using protobuf messages. Ensure events are enriched with node_info. (#5610)
  • incremental predicates (#5680)
  • Friendlier error messages when packages.yml is malformed (#5486)
  • Allow partitions in external tables to be supplied as a list (#5929)
  • extend -f flag shorthand for seed command (#5990)
  • This pulls the profile name from args when constructing a RuntimeConfig in lib.py, enabling the dbt-server to override the value that's in the dbt_project.yml (#6201)
  • Adding tarball install method for packages. Allowing package tarball to be specified via url in the packages.yaml. (#4205)
  • Added an md5 function to the base context (#6246)
  • Exposures support metrics in lineage (#6057)
  • Add support for Python 3.11 (#6147)
  • Making timestamp optional for metrics (#6398)
  • The meta configuration field is now included in the node_info property of structured logs. (#6216)
  • Adds buildable selection mode (#6365)
  • --warn-error-options: Treat warnings as errors for specific events, based on user configuration (#6165)

Fixes

  • Account for disabled flags on models in schema files more completely (#3992)
  • Add validation of enabled config for metrics, exposures and sources (#6030)
  • check length of args of python model function before accessing it (#6041)
  • Add functors to ensure event types with str-type attributes are initialized to spec, even when provided non-str type params. (#5436)
  • Allow hooks to fail without halting execution flow (#5625)
  • fix missing f-strings, convert old .format() messages to f-strings for consistency (#6241)
  • Clarify Error Message for how many models are allowed in a Python file (#6245)
  • Fix typo in util.py (#4904)
  • After this, will be possible to use default values for dbt.config.get (#6309)
  • Use full path for writing manifest (#6055)
  • add pre-commit install to make dev script in Makefile (#6269)
  • Late-rendering for pre_ and post_hooks in dbt_project.yml (#6411)
  • [CT-1284] Change Python model default materialization to table (#5989)
  • [CT-1591] Don't parse empty Python files (#6345)
  • Repair a regression which prevented basic logging before the logging subsystem is completely configured. (#6434)
  • fix docs generate --defer by adding defer_to_manifest to before_run (#6488)
  • Bug when partial parsing with an empty schema file (#4850)
  • Fix DBT_FAVOR_STATE env var (#5859)
  • Restore historical behavior of certain disabled test messages, so that they are at the less obtrusive debug level, rather than the warning level. (#6501)
  • Bump mashumuro version to get regression fix and add unit test to verify that fix. (#6428)
  • Call update_event_status earlier for node results. Rename event 'HookFinished' -> FinishedRunningStats (#6571)
  • Provide backward compatibility for get_merge_sql arguments (#6625)
  • Fix behavior of --favor-state with --defer (#6617)
  • Include adapter_response in NodeFinished run_result log event (#6703)

Docs

Under the Hood

  • Put black config in explicit config (#5946)
  • Added flat_graph attribute the Manifest class's deepcopy() coverage (#5809)
  • Add mypy configs so mypy passes from CLI (#5983)
  • Exception message cleanup. (#6023)
  • Add dmypy cache to gitignore (#6028)
  • Provide useful errors when the value of 'materialized' is invalid (#5229)
  • Clean up string formatting (#6068)
  • Fixed extra whitespace in strings introduced by black. (#1350)
  • Remove the 'root_path' field from most nodes (#6171)
  • Combine certain logging events with different levels (#6173)
  • Convert threading tests to pytest (#5942)
  • Convert postgres index tests to pytest (#5770)
  • Convert use color tests to pytest (#5771)
  • Add github actions workflow to generate high level CLI API docs (#5942)
  • Functionality-neutral refactor of event logging system to improve encapsulation and modularity. (#6139)
  • Consolidate ParsedNode and CompiledNode classes (#6383)
  • Prevent doc gen workflow from running on forks (#6386)
  • Fix intermittent database connection failure in Windows CI test (#6394)
  • Refactor and clean up manifest nodes (#6426)
  • Restore important legacy logging behaviors, following refactor which removed them (#6437)
  • Treat dense text blobs as binary for git grep (#6294)
  • Prune partial parsing logging events (#6313)
  • Updating the deprecation warning in the metric attributes renamed event (#6507)
  • [CT-1693] Port severity test to Pytest (#6466)
  • [CT-1694] Deprecate event tracking tests (#6467)
  • Reorganize structured logging events to have two top keys (#6311)
  • Combine some logging events (#1716, #1717, #1719)
  • Check length of escaped strings in the adapter test (#6566)

Dependencies

  • Update pathspec requirement from ~=0.9.0 to >=0.9,<0.11 in /core (#5917)
  • Bump black from 22.8.0 to 22.10.0 (#6019)
  • Bump mashumaro[msgpack] from 3.0.4 to 3.1.1 in /core (#6108)
  • Update colorama requirement from <0.4.6,>=0.3.9 to >=0.3.9,<0.4.7 in /core (#6144)
  • Bump mashumaro[msgpack] from 3.1.1 to 3.2 in /core (#6375)
  • Update agate requirement from <1.6.4,>=1.6 to >=1.6,<1.7.1 in /core (#6506)

Contributors

Don't miss a new dbt-core release

NewReleases is sending notifications on new releases.