New
- When user code raises an error inside handle_output, load_input, or a type check function, the log output now includes context about which input or output the error occurred during.
- Added a secondary index to improve performance when querying run status. Run
dagster instance migrate
to upgrade. - [Helm] Celery queues can now be configured with different node selectors. Previously, configuring a node selector applied it to all Celery queues.
- In Dagit, a repository location reload button is now available in the header of every pipeline, schedule, and sensor page.
- When viewing a run in Dagit, log filtering behavior has been improved.
step
andtype
filtering now offer fuzzy search, all log event types are now searchable, and visual bugs within the input have been repaired. Additionally, the default setting for “Hide non-matches” has been flipped totrue
. - After launching a backfill in Dagit, the success message now includes a link to view the runs for the backfill.
- The
dagster-daemon
process now runs faster when running multiple schedulers or sensors from the same repository. - When launching a backfill from Dagit, the “Re-execute From Last Run” option has been removed, because it had confusing semantics. “Re-execute From Failure” now includes a tooltip.
fs_io_manager
now defaults the base directory tobase_dir
via the Dagster instance’slocal_artifact_storage
configuration. Previously, it defaults to the directory where the pipeline is executed.- Experimental IO managers
versioned_filesystem_io_manager
andcustom_path_fs_io_manager
now requirebase_dir
as part of the resource configs. Previously, thebase_dir
defaulted to the directory where the pipeline was executed. - Added a backfill daemon that submits backfill runs in a daemon process. This should relieve memory / CPU requirements for scheduling large backfill jobs. Enabling this feature requires a schema migration to the runs storage via the CLI command
dagster instance migrate
and configuring your instance with the following settings indagster.yaml
:
backfill:
daemon_enabled: true
There is a corresponding flag in the Dagster helm chart to enable this instance configuration. See the Helm chart’s values.yaml
file for more information.
- Both sensors and schedule definitions support a
description
parameter that takes in a human-readable string description and displays it on the corresponding landing page in Dagit.
Integrations
- [dagster-gcp] The
gcs_pickle_io_manager
now also retries on 403 Forbidden errors, which previously would only retry on 429 TooManyRequests.
Bug Fixes
- The use of
Tuple
with nested inner types in solid definitions no longer causes GraphQL errors - When searching assets in Dagit, keyboard navigation to the highlighted suggestion now navigates to the correct asset.
- In some cases, run status strings in Dagit (e.g. “Queued”, “Running”, “Failed”) did not accurately match the status of the run. This has been repaired.
- The experimental CLI command
dagster new-repo
should now properly generate subdirectories and files, without needing to installdagster
from source (e.g. withpip install --editable
). - Sensor minimum intervals now interact in a more compatible way with sensor daemon intervals to minimize evaluation ticks getting skipped. This should result in the cadence of sensor evaluations being less choppy.
Dependencies
- Removed Dagster’s pin of the
pendulum
datetime/timezone library.
Documentation
- Added an example of how to write a user-in-the-loop pipeline