Ask AI

Changelog#

1.7.14 (core) / 0.23.14 (libraries)#

New#

  • [blueprints] When specifying an asset key in ShellCommandBlueprint, you can now use slashes as a delimiter to generate an AssetKey with multiple path components.
  • [community-controbution][mlflow] The mlflow resource now has a mlflow_run_id attribute (Thanks Joe Percivall!)
  • [community-contribution][mlflow] The mlflow resource will now retry when it fails to fetch the mlflow run ID (Thanks Joe Percivall!)

Bugfixes#

  • Fixed an issue introduced in the 1.7.13 release where Dagster would fail to load certain definitions when using Python 3.12.4.
  • Fixed an issue where in-progress steps would continue running after an unexpected exception caused a run to fail.
  • [dagster-dbt] Fixed an issue where column lineage was unable to be built in self-referential incremental models.
  • Fixed an issue where dagster dev was logging unexpectedly without the grpcio<1.65.0 pin.
  • Fixed an issue where a ContextVar was created in a different context error was raised when executing an async asset.
  • [community-contribution] multi_asset type-checker fix from @aksestok, thanks!
  • [community-contribution][ui] Fix to use relative links for manifest/favicon files, thanks @aebrahim!

Documentation#

  • [community-contribution] Fixed helm repo CLI command typo, thanks @fxd24!

Dagster Plus#

  • [ui] The deployment settings yaml editor is now on a page with its own URL, instead of within a dialog.

1.7.13 (core) / 0.23.13 (libraries)#

New#

  • The InputContext passed to an IOManager ’s load_input function when invoking the output_value or output_for_node methods on JobExecutionResult now has the name "dummy_input_name" instead of None.
  • [dagster-ui] Asset materializations can now be reported from the dropdown menu in the asset list view.
  • [dagster-dbt] DbtProject is adopted and no longer experimental. Using DbtProject helps achieve a setup where the dbt manifest file and dbt dependencies are available and up-to-date, during development and in production. Check out the API docs for more: https://docs.dagster.io/_apidocs/libraries/dagster-dbt#dagster_dbt.DbtProject.
  • [dagster-dbt] The —use-dbt-project flag was introduced for the cli command dagster-dbt project scaffold. Creating a Dagster project wrapping a dbt project using that flag will include a DbtProject .
  • [dagster-ui] The Dagster UI now loads events in batches of 1000 in the run log viewer, instead of batches of 10000. This value can be adjusted by setting the DAGSTER_UI_EVENT_LOAD_CHUNK_SIZE environment variable on the Dagster webserver.
  • Asset backfills will now retry if there is an unexpected exception raised in the middle of the backfill. Previously, they would only retry if there was a problem connecting to the code server while launching runs in the backfill.
  • Added the ability to monitor jobs which have failed to start in time with the RunFailureReason.START_TIMEOUT run monitoring failure reason. Thanks @jobicarter!
  • [experimental] Introduced the ability to attach code references to your assets, which allow you to view source code for an asset in your editor or in git source control. For more information, see the code references docs: https://docs.dagster.io/guides/dagster/code-references.
  • [ui] Performance improvements to loading the asset overview tab.
  • [ui] Performance improvements for rendering gantt charts with 1000’s of ops/steps.
  • [dagster-celery] Introduced a new Dagster Celery runner, a more lightweight way to run Dagster jobs without an executor. Thanks, @egordm!

Bugfixes#

  • Fixed a bug that caused tags added to ObserveResult objects to not be stored with the produced AssetObservation event.
  • Fixed a bug which could cause metadata defined on SourceAssets to be unavailable when accessed in an IOManager.
  • For subselections of graph-backed multi-assets, there are some situations where we used to unnecessarily execute some of the non-selected assets. Now, we no longer execute them in those situations. There are also some situations where we would skip execution of some ops that might be needed. More information on the particulars is available here.
  • Fixed the @graph_asset decorator overload missing an owners argument, thanks @askvinni!
  • Fixed behavior of passing custom image config to the K8sRunLauncher, thanks @marchinho11!
  • [dagster-dbt] Fixed an issue with emitting column lineage when using BigQuery.
  • [dagster-k8s] Added additional retries to execute_k8s_job when there was a transient failure while loading logs from the launched job. Thanks @piotrmarczydlo!
  • [dagster-fivetran] Fixed an issue where the Fivetran connector resource would sometimes hang if there was a networking issue while connecting to the Fivetran API.
  • [dagster-aws] Fixed an issue where the EMR step launcher would sometimes fail due to multiple versions of the dateutil package being installed in the default EMR python evnrionment.
  • [ui] The “Create date” column in the runs table now correctly shows the time at which a run was created instead of the time when it started to execute.
  • [ui] Fixed dark mode colors in run partitions graphs.
  • [auto-materialize] Fixed an issue which could cause errors in the AutoMaterializeRule.skip_on_parent_missing rule when a parent asset had its PartitionsDefinition changed.
  • [declarative-automation] Fixed an issue which could cause errors when viewing the evaluation history of assets with AutomationConditions.
  • [declarative-automation] Previously, AutomationCondition.newly_updated() would trigger on any ASSET_OBSERVATION event. Now, it only triggers when the data version on that event changes.

Breaking Changes#

  • [dagster-dbt] The cli command dagster-dbt project prepare-for-deployment has been replaced by dagster-dbt project prepare-and-package.
  • [dagster-dbt] During development,DbtProject no longer prepares the dbt manifest file and dbt dependencies in its constructor during initialization. This process has been moved to prepare_if_dev(), that can be called on the DbtProject instance after initialization. Check out the API docs for more: https://docs.dagster.io/_apidocs/libraries/dagster-dbt#dagster_dbt.DbtProject.prepare_if_dev.

Deprecations#

  • Passing GraphDefinition as the job argument to schedules and sensors is deprecated. Derive a job from the GraphDefinition using graph_def.to_job() and pass this instead.

Documentation#

  • Added some additional copy, headings, and other formatting to the dbt quickstart.
  • Added information about asset checks to the Testing assets guide.
  • Updated dagster-plus CLI in the sidenav to correctly be dagster-cloud CLI.
  • Thanks to Tim Nordenfur and Dimitar Vanguelov for fixing a few typos!
  • Introduced guides to migrate Airflow pipelines to Dagster that leverage the TaskFlow API or are containerized and executed with an operator like the KubernetesPodOperator.
  • Fixed instructions on setting secrets in Kubernetes Dagster deployments, thanks @abhinavDhulipala!

Dagster Plus#

  • A history of code location deploys can now be viewed on the Code Locations tab under the Deployment view. Previously deployed versions can now be restored from history.
  • [ui] Various improvements have been made to the asset health dashboard, which is now no longer experimental.
  • [ui] Fixed issues in per-event asset insights where bar charts incorrectly displayed events in reverse order, and with UTC timestamps.
  • Fixed a recent regression where creating an alert that notifies asset owners that are teams raises an error.

1.7.12 (core)/ 0.23.12 (libraries)#

Bugfixes#

  • [ui] fixes behavior issues with jobs and asset pages introduced in 1.7.11

1.7.11 (core)/ 0.23.11 (libraries)#

New#

  • [ui] Improved performance for loading assets that are part of big asset graphs.
  • [ui] Improved performance for loading job backfills that have thousands of partitions
  • [ui] The code location page can now be filtered by status
  • [agent] K8s and ECS agent main loop writes a sentinel file that can be used for liveness checks.
  • [agent][experimental] ECS CloudFormation template with private IP addresses using NAT Gateways, security groups, IAM role separation, tighter permissions requirements, and improved documentation.
  • Ephemeral asset jobs are now supported in run status sensors (thanks @the4thamigo-uk)!

Bugfixes#

  • In AssetsDefinition construction, enforce single key per output name
  • Fixed a bug where freshness checks on assets with both observations and materializations would incorrectly miss a materialization if there’s no observation with dagster/last_updated_timestamp.
  • Fixed a bug with anomaly detection freshness checks where “not enough records” result would cause the sensor to crash loop.
  • Fixed a bug that could cause errors in the Asset Daemon if an asset using AutoMaterializeRule.skip_on_not_all_parents_updated_since_cron() rule gained a new dependency with a different PartitionsDefinition.
  • [ui] Fixed an issue that caused the backfill page not to be scrollable.
  • [ui] Fixed an issue where filtering by partition on the Runs page wouldn’t work if fetching all of your partitions timed out.
  • [dagster-dlt] Fixed bug with dlt integration in which partitioned assets would change the file name when using the filesystem destination.
  • [ui] Fixed an issue where an erroring code location would cause multiple toast popups.
  • Allow a string to be provided for source_key_prefix arg of load_assets_from_modules. (thanks @drjlin)!
  • Added a missing debug level log message when loading partitions with polars (thanks Daniel Gafni)!
  • Set postgres timeout via statement, which improves storage-layer compatibility with Amazon RDS (thanks @james lewis)!
  • In DBT integration, quote the table identifiers to handle cases where table names require quotes due to special characters. (thanks @alex launi)!
  • remove deprecated param usage in dagster-wandb integration (thanks @chris histe)!
  • Add missing QUEUED state to DatabricksRunLifeCycleState (thanks @gabor ratky)!
  • Fixed a bug with dbt-cloud integration subsetting implementation (thanks @ivan tsarev)!

Breaking Changes#

  • [dagster-airflow] load_assets_from_airflow_dag no longer allows multiple tasks to materialize the same asset.

Documentation#

  • Added type-hinting to backfills example
  • Added syntax highlighting to some examples (thanks @Niko)!
  • Fixed broken link (thanks @federico caselli)!

Dagster Plus#

  • The dagster-cloud ci init CLI will now use the --deployment argument as the base deployment when creating a branch deployment. This base deployment will be used for Change Tracking.
  • The BigQuery dbt insights wrapper dbt_with_bigquery_insights now respects CLI arguments for profile configuration and also selects location / dataset from the profile when available.
  • [experimental feature] Fixes a recent regression where the UI errored upon attempting to create an insights metric alert.

1.7.10 (core)/ 0.23.10 (libraries)#

New#

  • Performance improvements when rendering the asset graph while runs are in progress.
  • A new API build_freshness_checks_for_dbt_assets which allows users to parameterize freshness checks entirely within dbt. Check out the API docs for more: https://docs.dagster.io/_apidocs/libraries/dagster-dbt#dbt-dagster-dbt.
  • Asset search results now display compute and storage kind icons.
  • Asset jobs where the underlying assets have multiple backfill policies will no longer fail at definition time. Instead, the backfill policy for the job will use the minimum max_partitions_per_run from the job’s constituent assets.
  • [dagstermill] asset_tags can now be specified when building dagstermill assets
  • [dagster-embedded-elt] Custom asset tags can be applied to Sling assets via the DagsterSlingTranslator
  • [dagster-embedded-elt] dlt assets now automatically have dagster/storage_kind tags attached

Bugfixes#

  • tags passed to outs in graph_multi_asset now get correctly propagated to the resulting assets.
  • [ui] Fixed an issue in the where when multiple runs were started at the same time to materialize the same asset, the most recent one was not always shown as in progress in the asset graph in the Dagster UI.
  • The “newly updated” auto-materialize rule will now respond to either new observations or materializations for observable assets.
  • build_metadata_bounds_checks now no longer errors when targeting metadata keys that have special characters.

Documentation#

Dagster Plus#

  • [experimental] The backfill daemon can now store logs and display them in the UI for increased visibility into the daemon’s behavior. Please contact Dagster Labs if you are interested in piloting this experimental feature.
  • Added a --read-only flag to the dagster-cloud ci branch-deployment CLI command, which returns the current branch deployment name for the current code repository branch without update the status of the branch deployment.