dbt Core 1.1.0 - Gloria Casarez (April 28, 2022)
Breaking Changes
There are no breaking changes to code in dbt projects or packages.
Relevant to consumers of dbt metadata:
- The manifest schema version has updated to
v5
. The only change is to the default value of config for parsed nodes (#5033, #5032) - The structured logging interface has updated to
v2
. Thenode_info
dictionary has moved underneathdata
, on events where it is available. Previously, it was a top-level key. (#4505)
Relevant to maintainers of adapter plugins:
- 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) - Internal adapter methods
set_relations_cache
+_relations_cache_for_schemas
each take an additional argument, for use with experimentalCACHE_SELECTED_ONLY
config (#4688, #4860) - We have a new framework for testing dbt adapters. Docs: "Testing a new adapter"
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)
- Add
--cache_selected_only
flag to cache schema object of selected models only. (#4688, #4860) - Support custom names for generic tests (#3348, #4898)
- 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)
- Enable dbt jobs to run downstream models based on fresher sources. Compare the source freshness results between previous and current state. If any source is fresher and/or new in current vs. previous state, dbt will run and test the downstream models in scope. Example command:
dbt build --select source_status:fresher+
(#4050, #4256) - converting unique key as list tests to new pytest format (#4882, #4958)
- Add a variable called selected_resources in the Jinja context containing a list of all the resources matching the nodes for the --select, --exclude and/or --selector parameters. (#3471, #5001)
- Support the DO_NOT_TRACK environment variable from the consoledonottrack.com initiative (#3540, #5000)
- Add
--no-print
global flag (#4710, #4854) - add enabled as a source config (#3662, #5008)
Fixes
- Fix bug causing empty node level meta, snapshot config errors (#4459, #4726)
- Inconsistent timestamps between inserted/updated and deleted rows in snapshots (#4347, #4513)
- 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)
- Catch more cases to retry package retrieval for deps pointing to the hub. Also start to cache the package requests. (#4849, #4982)
- Make the warning message for a full event deque more descriptive (#4962, #5011)
- Fix hard delete snapshot test (#4916, #5020)
- Restore ability to utilize
updated_at
for check_cols snapshots (#5076, #5077) - Use yaml renderer (with target context) for rendering selectors (#5131, #5136)
- Fix retry logic to return values after initial try (#5023, #5137)
- Scrub secret env vars from CommandError in exception stacktrace (#5151, #5152)
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)
- Fixed capitalization in UI for exposures of
type: ml
(#4984, #4995) - List packages and tags in alphabetical order (#4984, #4995)
- Bump jekyll from 3.8.7 to 3.9.0 (#4984, #4995)
- Updated docker README to reflect necessity of using BuildKit (#4990, #5018)
Under the Hood
- Automate changelog generation with changie (#4652, #4743)
- add performance regression testing runner without orchestration (#4021, #4602)
- 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)
- Add Graph Compilation and Adapter Cache tracking (#4625, #4912)
- 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)
- Create a dbt.tests.adapter release when releasing dbt and postgres (#4812, #4948)
- update docker image to use python 3.10.3 (#4904, #4963)
- updates black to 22.3.0 which fixes dependency incompatibility when running with precommit. (#4904, #4972)
- Adds config util for ad-hoc creation of project objs or dicts (#4808, #4981)
- Remove TableComparison and convert existing calls to use dbt.tests.util (#4778, #4986)
- Remove unneeded create_schema in snapshot materialization (#4742, #4993)
- Added .git-blame-ignore-revs file to mask re-formmating commits from git blame (#5004, #5019)
- Convert version tests to pytest (#5024, #5026)
- Updating tests and docs to show that we now support Python 3.10 (#4974, #5025)
- Update --version output and logic (#4724, #5029)
Contributors
- @agoblet (#5000)
- @alswang18 (#4644)
- @amirkdv (#4536)
- @anaisvaillant (#4256)
- @b-per (#5001)
- @dbeatty10 (#5077)
- @ehmartens (#4701)
- @joellabes (#4744)
- @jonstacks (#4995)
- @kadero (#4513)
- @karunpoudel (#4860, #4860)
- @kazanzhy (#4545)
- @matt-winkler (#4256)
- @mdesmet (#4604)
- @NiallRees (#4447)
- @pgoslatara (#4995)
- @poloaraujo (#4854)
- @sungchun12 (#4256)
- @willbowditch (#4777)
Gloria Casarez (1971-2014)
Thanks to @glin7 for writing this biography of Gloria Casarez—a famous Philadelphian, and the namesake of this dbt Core release.
Born in Philadelphia in 1971, Gloria Casarez was a force for equality in her hometown.
Under her leadership as Philly's first director of LGBT Affairs between 2008-2014, the city became first in the nation to offer tax credits to companies providing domestic partner and transgender health benefits—the broadest LGBTQ protections in the country at the time.
This topped a lifetime of community organizing that included leading GALAEI (Gay and Lesbian Latino AIDS Initiative), where she launched Philly's first mobile HIV testing centers, and co-chairing the board of Prevention Point (a needle exchange program), as well as years of housing and antipoverty activism.
Casarez was known for her persistence as an activist, and inspired devotion in kind from her community of supporters. When property developers painted over a Philadelphia mural of Casarez in late 2020, a local artist responded by recreating the tribute on a building merely steps away. After the second mural was also torn down, a third—and standing—homage was painted on the GALAEI building in 2021. Philadelphia's City Hall unveiled a historical marker honoring Casarez's legacy in the same year.