Skip to content

dbt-core v1.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Oct 11:43
19c48e2

dbt-core 1.3.0 - Edgar Allan Poe (October 12, 2022)

Breaking Changes

Features

  • Add --defer flag to dbt compile & dbt docs generate (#4110, #4514)
  • Python model inital version (#5261, #5421)
  • allows user to include the file extension for .py models in the dbt run -m command. (#5289, #5295)
  • Incremental materialization refactor and cleanup (#5245, #5359)
  • Python models can support incremental logic (#0, #35)
  • Add reusable function for retrying adapter connections. Utilize said function to add retries for Postgres (and Redshift). (#5022, #5432)
  • merge_exclude_columns for incremental materialization (#5260, #5457)
  • add exponential backoff to connection retries on Postgres (and Redshift) (#5502, #5503)
  • use MethodName.File when value ends with .csv (#5578, #5581)
  • Make docs configurable in dbt_project.yml and add a node_color attribute to change the color of nodes in the DAG (#5333, #5397)
  • Adding ResolvedMetricReference helper functions and tests (#5567, #5607)
  • Check dbt-core version requirements when installing Hub packages (#5648, #5651)
  • Search current working directory for profiles.yml (#5411, #5717)
  • Adding the window parameter to the metric spec. (#5721, #5722)
  • Add invocation args dict to ProviderContext class (#5524, #5782)
  • Adds new cli framework (#5526, #5647)
  • Flags work with new Click CLI (#5529, #5790)
  • Add metadata env method to ProviderContext class (#5522, #5794)
  • Array macros (#5520, #5823)
  • Add enabled config to exposures and metrics (#5422, #5815)
  • Migrate dbt-utils current_timestamp macros into core + adapters (#5521, #5838)
  • add -fr flag shorthand (#5878, #5879)
  • add type_boolean as a data type macro (#5739, #5875)
  • Support .dbtignore in project root to ignore certain files being read by dbt (#5733, #5897)
  • This conditionally no-ops warehouse connection at compile depending on an env var, disabling introspection/queries during compilation only. This is a temporary solution to more complex permissions requirements for the semantic layer. (#5936, #5926)

Fixes

  • Remove the default 256 characters limit on postgres character varying type when no limitation is set (#5238, #5292)
  • Include schema file config in unrendered_config (#5338, #5344)
  • Add context to compilation errors generated while rendering generic test configuration values. (#5294, #5393)
  • Resolves #5351 - Do not consider shorter varchar cols as schema changes (#5351, #5395)
  • Rename try to strict for more intuitiveness (#5475, #5477)
  • on_shchma_change fail verbosity enhancement (#5504, #5505)
  • Ignore empty strings passed in as secrets (#5312, #5518)
  • Fix handling of top-level exceptions (#5564, #5560)
  • Fix error rendering docs block in metrics description (#5585, #5603)
  • Extended validations for the project names (#5379, #5620)
  • Use sys.exit instead of exit (#5621, #5627)
  • Finishing logic upgrade to Redshift for name truncation collisions. (#5586, #5656)
  • multiple args for ref and source (#5634, #5635)
  • Fix Unexpected behavior when chaining methods on dbt-ref'ed/sourced dataframes (#5646, #5677)
  • Fix typos of comments in core/dbt/adapters/ (#5690, #5693)
  • Include py.typed in MANIFEST.in. This enables packages that install dbt-core from pypi to use mypy. (#5703, #5703)
  • Removal of all .coverage files when using make clean command (#5633, #5759)
  • Remove temp files generated by unit tests (#5631, #5749)
  • Fix warnings as errors during tests (#5424, #5800)
  • Prevent event_history from holding references (#5848, #5858)
  • Account for disabled flags on models in schema files more completely (#3992, #5868)
  • ConfigSelectorMethod should check for bools (#5890, #5889)
  • shorthand for full refresh should be one character (#5878, #5908)
  • Fix macro resolution order during static analysis for custom generic tests (#5720, #5907)
  • Fix race condition when invoking dbt via lib.py concurrently (#5919, #5921)
  • check length of args of python model function before accessing it (#6041, #6042)

Docs

Under the Hood

  • Added language to tracked fields in run_model event (#5571, #5469)
  • Update mashumaro to 3.0.3 (#4940, #5118)
  • Add python incremental materialization test (#0000, #5571)
  • Save use of default env vars to manifest to enable partial parsing in those cases. (#5155, #5589)
  • add more information to log line interop test failures (#5658, #5659)
  • Add supported languages to materializations (#5569, #5695)
  • Migrate integration test 014 but also fix the snapshot hard delete test's timezone logic and force all integration tests to run flags.set_from_args to force environment variables are accessible to all integration test threads. (#5760, #5760)
  • Support dbt-metrics compilation by rebuilding flat_graph (#5525, #5786)
  • Reworking the way we define the window attribute of metrics to match freshness tests (#5722, #5793)
  • Add PythonJobHelper base class in core and add more type checking (#5802, #5802)
  • The link did not go to the anchor directly, now it does (#5813, #5814)
  • remove key as reserved keyword from test_bool_or (#5817, #5818)
  • Convert default selector tests to pytest (#5728, #5820)
  • Compatibiltiy for metric attribute renaming (#5807, #5825)
  • remove source quoting setting in adapter tests (#5836, #5839)
  • Add name validation for metrics (#5456, #5841)
  • Validate exposure name and add label (#5606, #5844)
  • Adding validation for metric expression attribute (#5871, #5873)
  • Profiling and Adapter Management work with Click CLI (#5531, #5892)
  • Reparse references to deleted metric (#5444, #5920)

Dependencies

  • Upgrade to Jinja2==3.1.2 from Jinja2==2.11.3 (#4748, #5465)
  • Bump mypy from 0.961 to 0.971 (#4904, #5495)
  • Remove pin for MarkUpSafe from >=0.23,<2.1 (#5506, #5507)

Dependency

  • Bump python from 3.10.5-slim-bullseye to 3.10.6-slim-bullseye in /docker (#4904, #5623)
  • Bump mashumaro[msgpack] from 3.0.3 to 3.0.4 in /core (#4904, #5649)
  • Bump black from 22.6.0 to 22.8.0 (#4904, #5750)
  • Bump python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye in /docker (#4904, #5805)

Contributors


Edgar Allan Poe (1809 – 1849)

An homage to Edgar Allan Poe—a famous Philadelphian (for a time), and the namesake of this dbt Core release.

Once upon a midday yawning, which I’d squandered, pip and pawning,
Over many a strange and spurious module of forgotten code—
While I squinted, much still missing, suddenly there came a hissing,
As of something softly sneaking, sliding through my headphone port—
“’Tis some static," I muttered, "hissing through my headphone port—
                Only this and nothing more.”
Ah, to recount distinctly, it was in eerie October;
And each separate spooling thread kept spinning as the seconds soared.
Eagerly I wished ‘twould finish;—vainly I had sought to diminish
The time they took in so running—running toward the fateful Core—
For the well-grained factful marts whom the analysts name as “Core”—
                Dimless here for evermore.
Out now I unplugged the cable, when, with first a hiss and then hooray,
There appeared a wisened Python of the quaint old days of yore;
Not the least salutation made it; not a minute stopped or stayed it;
But, with look of staff or sov’reign, coiled beside my headphone port—
Coiled upon an O’Reilly just beside my headphone port—
                Coiled, and stared, and nothing more.
Then this wry ophidian, beguiling my surprise into smiling,
By the sparkling winking of its reptilian esprit,
“Though thy eye be bright and shining, thou,” I said, “art sure a wise one,
Novel new and clever Python slithering through Production’s quay—
Tell me what has orchestrated thee on this Day’s Production spree!"
                Quoth the Python, “dbt.”