Skip to content

Releases: dataform-co/dataform

3.0.8

04 Nov 09:06
031fb9b
Compare
Choose a tag to compare

What's Changed

  • Added logic to fully resolve targets (with prefixes/suffixes) when updating the Data Preparation YAML. by @fernst in #1866
  • Publishing Dataform security patches by @Tuseeq1 in #1867

Full Changelog: 3.0.7...3.0.8

3.0.7

15 Oct 12:12
e16717f
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.4...3.0.7

3.0.4

07 Oct 09:23
cf9bfee
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.2...3.0.4

3.0.2

08 Aug 15:59
54dfa9c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.1...3.0.2

3.0.1

07 Aug 11:30
a918c0c
Compare
Choose a tag to compare

Important: Prefer 3.0.2 over this release - this release has issues.

See #1800 for more context.

What's Changed

New Contributors

Full Changelog: 3.0.0...3.0.1

3.0.0

21 Jun 11:10
0a9cc9b
Compare
Choose a tag to compare

TL;DR of What's Changed Since 2.9.0

dataform.json -> workflow_settings.yaml

workflow_settings.yaml has been introduced, which will gradually replace dataform.json in a later version; there is no immediate action to be taken, as dataform.json files are still valid in projects with Dataform Core 3.0.0.

dataform.json is being deprecated in favor of workflow_settings.yaml. This means that:

  • Workflow settings are now strictly typed, in Protobuf format.
  • The Dataform Core version can be specified directly in the workflow_settings.yaml file. Note: to have more than just @dataform/core as a dependency, a package.json must still be used.

Example conversion of workflow_settings.yaml:

defaultProject: dataform-demos
defaultLocation: us
defaultDataset: dataform
defaultAssertionDataset: dataform_assertions
dataformCoreVersion: 3.0.0
vars:
    environmentName: "development"

The above is equivalent to the dataform.json file:

{
  "warehouse": "bigquery",
  "defaultDatabase": "dataform-demos",
  "defaultLocation": "us",
  "defaultSchema": "dataform",
  "assertionSchema": "dataform_assertions"
  "vars": {
    "environmentName": "development"
  }
}

Notebooks Actions and actions.yaml

Notebooks as Dataform actions are on their way - but not quite yet! They're part of the compiled graph, and soon they'll be executable.

A new way of configuring action configs through actions.yaml has been implemented to support this.

An example of loading a notebook in Dataform can be seen at https://github.com/dataform-co/dataform/tree/main/examples/extreme_weather_programming.

Stateless Package Installation by @dataform/cli

Package installation by @dataform/cli is now stateless! The CLI will install NPM packages during compilation if version is defined in the workflow_settings.yaml file.

This means no node_modules folder has to be seen in the project, and Dataform users no longer need to be familiar with NPM.

Compilation Output is Now Warehouse Agnostic

Previously the output of compilation results from @dataform/core would insert warehouse specific SQL into the compiled graph. Where possible, this has been removed - transferring the responsibility of inserting warehouse specific SQL into whichever execution engine is running Dataform.

Additionally, support for non-BigQuery warehouses has been dropped. We're in discussions with Datashell for them to provide a warehouse-agnostic CLI execution engine based off of Dataform compiled graphs. In the meantime however, if you need support for a non-BigQuery warehouse, please continue using the latest version starting with 2.x.x!

dependOnDependencyAssertions

An easier ways to add assertions from dependency as dependencies has been introduced.

dependOnDependencyAssertions in config blocks can be used to add assertions from all dependencies of the action as dependencies.

config { 
    type: "view",
    dependOnDependencyAssertions: true,
    dependencies: ["some_table"]
}

select test from ${ref("some_other_table")}

Additionally, the includeDependentAssertions parameter can be used when setting individual dependencies either in config.dependencies or in ref() to add assertions for these dependencies as the dependencies for current action.

config { 
    type: "view",
    dependencies: [{name: "some_table", includeDependentAssertions: true}]
}

select test from ${ref({name: "some_other_table", includeDependentAssertions: true})}

Full Changelog from 2.9.0: 2.9.0...3.0.0

3.0.0-beta.6

23 May 15:52
e3a3366
Compare
Choose a tag to compare

What's Changed

  • Fix and re-enable integration tests by @Ekrekr in #1729
  • Make example tests run off of the CLI, tidy testing/ by @Ekrekr in #1730
  • Bump semver from 5.6.0 to 7.6.0 by @dependabot in #1724
  • Some project config improvements by @Ekrekr in #1732
  • Make proto object verification give more descriptive error messages by @Ekrekr in #1733
  • Add tests for locking in SQLX config options validity by @Ekrekr in #1734
  • Add tests for compilation errors where they're missing by @Ekrekr in #1735
  • Fix bigquery dryrun by @Ekrekr in #1742
  • Make formatting in the CLI use the same SQL formatter as BigQuery by @Ekrekr in #1741

Full Changelog: 3.0.0-beta.5...3.0.0-beta.6

3.0.0-beta.5

07 May 16:33
e3237b9
Compare
Choose a tag to compare

The description of dependOnDependencyAssertions has been moved to https://github.com/dataform-co/dataform/releases/tag/3.0.0.

What's Changed

  • Update to using GitHub actions for tests by @Ekrekr in #1708
  • Re-add cloud build while a new GCP project is set up for GitHub actions by @Ekrekr in #1710
  • Update contributing tests guide to just test core by @Ekrekr in #1711
  • Bump tar from 6.1.11 to 6.2.1 by @dependabot in #1715
  • Bump semver from 5.6.0 to 7.6.0 by @dependabot in #1716
  • Bump protobufjs from 7.2.4 to 7.2.5 by @dependabot in #1714
  • Update cloudbuild file to default name, make yaml by @Ekrekr in #1722
  • Make cloud build for dataform-open-source work for pull requests by @Ekrekr in #1728
  • Feature: dependent assertions as dependencies by @Tuseeq1 in #1720

New Contributors

Full Changelog: 3.0.0-beta.4...3.0.0-beta.5

3.0.0-beta4

02 Apr 10:34
ef28ec4
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.0-beta.3...3.0.0-beta.4

3.0.0-beta.3

02 Apr 10:33
8f288b8
Compare
Choose a tag to compare

What's Changed

  • Add notebook runtime options to workflow settings by @Ekrekr in #1686
  • Add a configs reference page, and tidy up other readmes by @Ekrekr in #1688
  • Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #1690
  • Remove rules docker by @Ekrekr in #1689
  • Fix credentials path resolution when projectDir is specified by @Ekrekr in #1694
  • Fix CLI tags, allow comma delisted tags, add test by @Ekrekr in #1695
  • Prevent confusion around JSON printing of the execution graph by @Ekrekr in #1697
  • Extend dryrun to do dry runs against BigQuery by @Ekrekr in #1698
  • Add bool argument to disable, default true to keep the API the same by @Ekrekr in #1700
  • Throw errors when dots are in fields in targets by @Ekrekr in #1699
  • Normalize paths during compilation by @Ekrekr in #1702

Full Changelog: 3.0.0-beta.1...3.0.0-beta.3