Skip to content

dbt-core v1.5.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 14 Apr 00:25

dbt-core 1.5.0-rc1 - April 13, 2023

Breaking Changes

  • Allow --select and --exclude multiple times (#7158)
  • Specifying "log-path" and "target-path" in "dbt_project.yml" is deprecated. This functionality will be removed in a future version of dbt-core. If you need to specify a custom path for logs or artifacts, please set via CLI flag or env var instead. (#6882)
  • Remove exception functions marked as deprecated in 1.4 release (#6578)

Features

  • Data type constraints are now native to SQL table materializations. Enforce columns are specific data types and not null depending on database functionality. (#6079)
  • Have dbt debug spit out structured json logs with flags enabled. (#5353)
  • ✨ add unix-style wildcard selector method (#6598)
  • add adapter_response to dbt test and freshness result (#2964)
  • add support for DBT_PROJECT_DIR env var (#6078)
  • Improve error message for packages missing dbt_project.yml (#6663)
  • Make project version optional (#6603)
  • Adjust makefile to have clearer instructions for CI env var changes. (#6689)
  • Stand-alone Python module for PostgresColumn (#6772)
  • Enable diff based partial parsing (#6592)
  • Exposure owner requires one of name or email keys, and accepts additional arbitrary keys (#6833)
  • Parse 'group' resource (#6921)
  • parse 'group' config on groupable nodes (#6823)
  • Implemented new log cli parameters for finer-grained control. (#6639)
  • Add access attribute to parsed nodes (#6824)
  • Enforce contracts on models materialized as tables, views, and incremental (#6751, #7034, #6756, #7154)
  • Add ability to select by group resource (#6825)
  • Disallow refing private model across groups (#6826)
  • make version configs optional (#7054)
  • [CT-1584] New top level commands: interactive compile (#6358)
  • Make model contracts agnostic to ordering (#6975, #7064)
  • Unified constraints and check_constraints properties for columns and models (#7066)
  • Switch from betterproto to google protobuf and enable more flexible meta dictionary in logs (#6832)
  • Ignore duplicate edges in subgraph to speed up dbt build (#7191)
  • Support setting of callbacks for programmatic uses of dbtRunner (#6763)
  • Detect breaking changes to contracts in state:modified check (#6869)
  • New command: dbt show (#7207, #7179, #6359)
  • Added prettier printing to ContractError class (#7209)
  • Add support for model-level constraints (#6754)
  • model versions (##7263)
  • Add relation info (database, schema, alias) to node_info dictionary in structured logging (#6724)
  • Add --no-populate-cache to optionally skip relation cache population (#1751)
  • select resources by patch path (#7315)
  • Add version selector method (#7199)

Fixes

  • Remove trailing slashes from source paths (#6102) (#6102)
  • add merge_exclude_columns adapter tests (#6699)
  • Include adapter_response in NodeFinished run_result log event (#6703)
  • Sort cli vars before hashing for partial parsing (#6710)
  • [Regression] exposure_content referenced incorrectly (#6738)
  • Snapshot strategies: add a newline for subquery (#6781)
  • Remove pin on packaging and stop using it for prerelease comparisons (#6834)
  • Readd depends_on.macros to SeedNode, to support seeds with hooks calling macros (#6806)
  • Fix regression of --quiet cli parameter behavior (#6749)
  • Add double type to list of float column types for the column class (#6876)
  • Ensure results from hooks contain nodes when processing them (#6796)
  • Always flush stdout after logging (#6901)
  • Reapply logging fixes which were accidentally reverted (#6936)
  • Set relation_name in test nodes at compile time (#6930)
  • Readd initialization events, --log-cache-events in new CLI (#6933)
  • Fix previous state tests and disabled exposures, metrics (#6752, #6753)
  • Make use of hashlib.md5() FIPS compliant (#6900)
  • add timeout for dbt --version command (#6992)
  • Fix compilation logic for ephemeral nodes (#6885)
  • Fix semver comparison logic by ensuring numeric values (#7039)
  • add pytz dependency (#7077)
  • allow adapters to change model name resolution in py models (#7114)
  • Add exception handling in postflight decorator to address exit codes (#7010)
  • Recreates missing tracking events (#6097, #6098)
  • Fix partial parsing error due to not requiring "version" (#7236)
  • Handle internal exceptions (#7118)
  • Improved failed event serialization handling and associated tests (#7113, #7108, #6568)
  • Fix handling of artifacts in read_and_check_versions (#7252)
  • Stringify datetimes in logging for prettier messages (#7255)
  • avoid dbtRunner default callbacks being shared across instances (#7278)
  • Ensure same_contract is called for state:modified (#7282)
  • Avoid revoking grants for views when copy_grants=true (#7280)
  • Duplicated flags now throw errors instead of being overidden by parent-level flag (#6913)
  • Ensure that invocation_id changes between programmatic invocations. (#7197)
  • Adding a new column is not a breaking contract change (#7332)
  • fix versioned model selection in subdirectories (#7348)

Docs

Under the Hood

  • [CT-921] dbt compile works in click (#5545)
  • Fix use of ConnectionReused logging event (#6168)
  • Port docs tests to pytest (#6573)
  • Update deprecated github action command (#6153)
  • dbt snapshot works in click (#5554)
  • dbt list working with click (#5549)
  • Add dbt run-operation to click CLI (#5552)
  • dbt build working with new click framework (#5541)
  • dbt docs generate works with new click framework (#5543)
  • Replaced the EmptyLine event with a more general Formatting event, and added a Note event. (#6481)
  • Small optimization on manifest parsing benefitting large DAGs (#6697)
  • Revised and simplified various structured logging events (#6664, #6665, #6666)
  • dbt init works with click (#5548)
  • [CT-920][CT-1900] Create Click CLI runner and use it to fix dbt docs commands (#5544, #6722)
  • Migrate debug task to click (#5546)
  • Optimized GraphQueue to remove graph analysis bottleneck in large dags. (#6759)
  • Implement --version for click cli (#6757)
  • [CT-1841] Convert custom target test to Pytest (#6638)
  • Remove BigQuery-specific btye abbreviations (#6741)
  • warn_error/warn_error_options mutual exclusivity in click (#6579)
  • Enables the new Click Cli on the commandline! 🚀 (#6784)
  • Lazily call --version (#6812)
  • Moving simple_seed to adapter zone to help adapter test conversions (#CT-1959)
  • flags.THREADS defaults to None (#6887)
  • Fixing target type exposure error (#6928)
  • Test binary serialization of logging events (#6852)
  • Treat contract config as a python object (#6748, #7184)
  • Add deprecation warning for DBT_NO_PRINT (#6960)
  • Make output_keys click param multi-option instead of a string (#6676)
  • Remove cli doc generation workflow (#7088)
  • Move validation of group earlier (#7087)
  • Deprecate additional environment variables (#6903)
  • Add CommandCompleted event, and fire it upon completion of every command (#6878)
  • Improves build times for common selections by improving subgraph calculation (#7195)
  • Remove upper pin for hologram/jsonschema (#6775)
  • Generalize constraint compatibility warnings (#7067)
  • Add kwargs support to dbtRunner (#7070)
  • Add unique_id to ShowNode and CompiledNode logging events (#7305)
  • Prettify message for ListRelations event (#7310)
  • Parse now returns manifest when invoked via dbtRunner (#6547)
  • Track data about group, access, contract, version usage (#7170, #7171)

Dependencies

  • Update pathspec requirement from <0.11,>=0.9 to >=0.9,<0.12 in /core (#6737)
  • Bump ubuntu from 22.04 to 23.04 (#6865)
  • Revert hoisting dbt.cli.main into the dbt.name namespace (#)
  • Bump python from 3.11.1-slim-bullseye to 3.11.2-slim-bullseye in /docker (#7196)
  • Bump black from 22.12.0 to 23.3.0 (#7243)
  • Bump mashumaro[msgpack] from 3.3.1 to 3.6 (#7294)

Dependency

  • Bump mypy from 0.971 to 0.981 (#4904)
  • Bump python from 3.10.7-slim-bullseye to 3.11.1-slim-bullseye in /docker (#4904)
  • Bump black from 22.10.0 to 22.12.0 (#4904)

Contributors