Breaking Changes
- Relevant to maintainers of adapter plugins only: The abstractmethods
get_response
andexecute
now only return aconnection.AdapterReponse
in type hints. (Previously, they could return a string.) We encourage you to update your methods to return an object of classAdapterResponse
, or implement a subclass specific to your adapter (#4499, #4869)
Features
- Change behaviour of
non_null
test so that it onlyselect
s all columns if--store-failures
is enabled. (#4769, #4777) - Testing framework for dbt adapter testing (#4730, #4846)
- Allow unique key to take a list implementation for postgres/redshift (#4738, #4858)
- Added Support for Semantic Versioning (#4453, #4644)
- New Dockerfile to support specific db adapters and platforms. See docker/README.md for details (#4495, #4487)
- Allow unique_key to take a list (#2479, #4618)
- Add
--quiet
global flag andprint
Jinja function (#3451, #4701) - Add space before justification periods (#4737, #4744)
Fixes
- Fix bug causing empty node level meta, snapshot config errors (#4459, #4726)
- Catch all Requests Exceptions on deps install to attempt retries. Also log the exceptions hit. (#4849, #4865)
- Use cli_vars instead of context to create package and selector renderers (#4876, #4878)
- depend on new dbt-extractor version with fixed github links (#4891, #4890)
- Update bumpervsion config to stop looking for missing setup.py (#-1, #4896)
- Corrected permissions settings for docker release workflow (#4902, #4903)
- User wasn't asked for permission to overwite a profile entry when running init inside an existing project (#4375, #4447)
- Add project name validation to
dbt init
(#4490, #4536) - Allow override of string and numeric types for adapters. (#4603, #4604)
- A change in secret environment variables won't trigger a full reparse (#4650, #4665)
- Fix misspellings and typos in docstrings (#4904, #4545)
Under the Hood
- Automate changelog generation with changie (#4652, #4743)
- Fix broken links for changelog generation and tweak GHA to only post a comment once when changelog entry is missing. (#4848, #4857)
- Add support for Python 3.10 (#4562, #4866)
- Enable more dialects to snapshot sources with added columns, even those that don't support boolean datatypes (#4488, #4871)
- Testing cleanup (#3648, #4509)
- Clean up test deprecation warnings (#3988, #4556)
- Use mashumaro for serialization in event logging (#4504, #4505)
- Drop support for Python 3.7.0 + 3.7.1 (#4584, #4585)
- Drop support for Python <3.7.2 (#4584, #4643)
- Re-format codebase (except tests) using pre-commit hooks (#3195, #4697)
- Add deps module README (#4904, #4686)
- Initial conversion of tests to pytest (#4690, #4691)
- Fix errors in Windows for tests/functions (#4782, #4767)
Docs
- Resolve errors related to operations preventing DAG from generating in the docs. Also patch a spark issue to allow search to filter accurately past the missing columns. (#4578, #4763)
Contributors
- @NiallRees (#4447)
- @alswang18 (#4644)
- @amirkdv (#4536)
- @ehmartens (#4701)
- @joellabes (#4744)
- @kazanzhy (#4545)
- @mdesmet (#4604)
- @versusfacit (#4869)
- @willbowditch (#4777)