Skip to content

dbt 0.18.0

Compare
Choose a tag to compare
@beckjake beckjake released this 03 Sep 16:58

dbt 0.18.0 - Marian Anderson (September 3, 2020)

Links:

Breaking changes

  • Previously, dbt put macros from all installed plugins into the namespace. This version of dbt will not include adapter plugin macros unless they are from the currently-in-use adapter or one of its dependencies #2590
  • adapter_macro is no longer a macro, instead it is a builtin context method. Any custom macros that intercepted it by going through context['dbt'] will need to instead access it via context['builtins'] (#2302, #2673)
  • adapter_macro is now deprecated. Use adapter.dispatch instead.
  • Data tests are now written as CTEs instead of subqueries. Adapter plugins for adapters that don't support CTEs may require modification. (#2712)

Features

  • Made project-level warnings more apparent (#2545)
  • Added a full_refresh config item that overrides the behavior of the --full-refresh flag (#1009, #2348)
  • Added a "docs" field to macros, with a "show" subfield to allow for hiding macros from the documentation site (#2430)
  • Added intersection syntax for model selector (#2167, #2417)
  • Extends model selection syntax with at most n-th parent/children dbt run --models 3+m1+2 (#2052, #2485)
  • Added support for renaming BigQuery relations (#2520, #2521)
  • Added support for BigQuery authorized views (#1718, #2517)
  • Added support for altering BigQuery column types (#2546, #2547)
  • Include row counts and bytes processed in log output for all BigQuery statement types (#2526)
  • Added option "--adapter" to dbt init to create a sample profiles.yml based on the chosen adapter (#2533, #2594)
  • Added support for Snowflake query tags at the connection and model level (#1030, #2555)
  • Added new node selector methods (config, test_type, test_name, package) (#2425, #2629)
  • Added option to specify profile when connecting to Redshift via IAM (#2437, #2581)
  • Add more helpful error message for misconfiguration in profiles.yml (#2569, #2627)
  • Added support for setting policy tags for BigQuery columns (#2586, #2589)
  • Added --defer and --state flags to dbt run, to defer to a previously generated manifest for unselected nodes in a run. (#2527, #2656)
  • Add a BigQuery adapter macro to enable usage of CopyJobs (#2709)
  • Support TTL for BigQuery tables(#2711)
  • Add better retry support when using the BigQuery adapter (#2694, follow-up to #1963)
  • Added a dispatch method to the context adapter and deprecated adapter_macro. (#2302, #2679)
  • The built-in schema tests now use adapter.dispatch, so they can be overridden for adapter plugins (#2415, #2684)
  • Add support for impersonating a service account using impersonate_service_account in the BigQuery profile configuration (#2677) (docs)
  • Macros in the current project can override internal dbt macros that are called through execute_macros. (#2301, #2686)
  • Add state:modified and state:new selectors (#2641, #2695)
  • Add two new flags --use-colors and --no-use-colors to dbt run command to enable or disable log colorization from the command line (#2708)

Docs

  • Add "Referenced By" and "Depends On" sections for each node (docs#106)
  • Add Name, Description, Column, SQL, Tags filters to site search (docs#108)
  • Add relevance criteria to site search (docs#113)
  • Support new selector methods, intersection, and arbitrary parent/child depth in DAG selection syntax (docs#118)
  • Revise anonymous event tracking: simpler URL fuzzing; differentiate between Cloud-hosted and non-Cloud docs (docs#121)
  • Add project level overviews (docs#127)

Fixes

  • Fixed an error in create_adapter_plugins.py script when -dependency arg not passed (#2507, #2508)
  • Remove misleading "Opening a new connection" log message in set_connection_name. (#2511)
  • Now all the BigQuery statement types return the number of bytes processed (#2526).
  • Adapter plugins can once again override plugins defined in core (#2548, #2590)
  • Added --selector argument and support for selectors.yml file to define selection mechanisms. (#2172, #2640)
  • Compile assets as part of docs generate (#2072, #2623)
  • Fix Redshift table size estimation; e.g. 44 GB tables are no longer reported as 44 KB. #2702
  • Fix issue where jinja that only contained jinja comments wasn't rendered. (#2707, #2178)
  • dbt now validates the require-dbt-version field before it validates the dbt_project.yml schema (#2638, #2726)

Under the hood

  • Upgraded snowflake-connector-python dependency to 2.2.10 and enabled the SSO token cache (#2613, #2689, #2698)
  • Add deprecation warnings to anonymous usage tracking (#2688, #2710)
  • Data tests now behave like dbt CTEs (#2609, #2712)
  • Adapter plugins can now override the CTE prefix by overriding their Relation attribute with a class that has a custom add_ephemeral_prefix implementation. (#2660, #2712)
  • Added 3 more adapter methods that the new dbt-adapter-test suite can use for testing. (#2492, #2721)
  • It is now an error to attempt installing dbt with a Python version less than 3.6. (resolves #2347)
  • Check for Postgres relation names longer than 63 and throw exception. (#2197)

Contributors

Thank you all for your contributions to dbt! 🎉


Marian Anderson

Marian Anderson had “a voice heard once in a hundred years.” So said the Italian conductor Toscanini. Anderson was beloved in Europe, touring there through the 1930s after racism kept from preeminence in her native country. (The Philadelphia Music Academy, now University of the Arts, denied her entry on the basis that it was all-white.) As the Philadelphia Inquirer noted, Anderson “had a much finer reputation in Russia, France, Italy, Belgium, Holland, England and other cities on the continent than here in her own country.”

If the Daughters of the American Revolution had their way, Anderson wouldn't have had the homecoming she deserved in 1939; they refused her use of Constitution Hall in Washington, DC. (After coordinated protest by racial-justice and labor organizations, many DAR members resigned, including First Lady Eleanor Roosevelt.) Instead, on April 9, 75,000 Americans watched Anderson sing live, in open-air concert, before the Lincoln Memorial. Hundreds of thousands would watch her perform in the same spot again, 24 years later, in a March on Washington she helped inspire.

Though Anderson's wider fame receded in the decades after her retirement, she long remained an integral fixture of Black arts and music in Philadelphia. Blanche Burton-Lyles, a former protégé of Anderson's, and the first Black woman pianist to graduate from Philadelphia's Curtis Institute of Music, has dedicated the years since Anderson's death in 1993 (and much of her own money) to rescuing her Martin Street rowhouse.

Today, the Marian Anderson Historical Society & Museum sits between 19th & 20th Streets, Fitzwater & Catharine: squarely in the middle of Graduate Hospital, the most gentrified neighborhood in Philadelphia. Disinvestment in the 60s and 70s followed ill-conceived plans to run an interstate highway down South Street, giving way to rapid redevelopment in the last few decades. Since 1990, the proportion of Black residents has decreased from 90 to 35 percent, while the median income doubled. Some newer residents hope to rename the neighborhood in her honor; what would it mean to honor and remember the community as it was before?

At a time when so many are rediscovering their neighborhoods out of necessity, many others are at risk of losing their homes and historical ties to community. The voices of history call on us to take a longer view, and what a voice it was.