For pipelines with tags defined in code, display these tags in the Dagit playground.
On the Dagit asset list page, use a polling query to regularly refresh the asset list.
When viewing the Dagit asset list, persist the user’s preference between the flattened list view and the directory structure view.
Added solid_exception on HookContext which returns the actual exception object thrown in a failed solid. See the example “Accessing failure information in a failure hook“ for more details.
Added solid_output_values on HookContext which returns the computed output values.
Added make_values_resource helper for defining a resource that passes in user-defined values. This is useful when you want multiple solids to share values. See the example for more details.
StartupProbes can now be set to disabled in Helm charts. This is useful if you’re running on a version earlier than Kubernetes 1.16.
Fixed an issue where partial re-execution was not referencing the right source run and failed to load the correct persisted outputs.
When running Dagit with --path-prefix, our color-coded favicons denoting the success or failure of a run were not loading properly. This has been fixed.
Hooks and tags defined on solid invocations now work correctly when executing a pipeline with a solid subselection
Fixed an issue where heartbeats from the dagster-daemon process would not appear on the Status page in dagit until the process had been running for 30 seconds
When filtering runs, Dagit now suggests all “status:” values and other auto-completions in a scrolling list
Fixed asset catalog where nested directory structure links flipped back to the flat view structure
DagsterInstance.get() no longer falls back to an ephemeral instance if DAGSTER_HOME is not set. We don’t expect this to break normal workflows. This change allows our tooling to be more consistent around it’s expectations. If you were relying on getting an ephemeral instance you can use DagsterInstance.ephemeral() directly.
Undocumented attributes on HookContext have been removed. step_key and mode_def have been documented as attributes.
Added a permanent, linkable panel in the Run view in Dagit to display the raw compute logs.
Added more descriptive / actionable error messages throughout the config system.
When viewing a partitioned asset in Dagit, display only the most recent materialization for a partition, with a link to view previous materializations in a dialog.
When viewing a run in Dagit, individual log line timestamps now have permalinks. When loading a timestamp permalink, the log table will highlight and scroll directly to that line.
The default config_schema for all configurable objects - solids, resources, IO managers, composite solids, executors, loggers - is now Any. This means that you can now use configuration without explicitly providing a config_schema. Refer to the docs for more details: https://docs.dagster.io/concepts/configuration/config-schema.
When launching an out of process run, resources are no longer initialized in the orchestrating process. This should give a performance boost for those using out of process execution with heavy resources (ie, spark context).
input_defs and output_defs on @solid will now flexibly combine data that can be inferred from the function signature that is not declared explicitly via InputDefinition / OutputDefinition. This allows for more concise defining of solids with reduced repetition of information.
[Helm] Postgres storage configuration now supports connection string parameter keywords.
The Status page in Dagit will now display errors that were surfaced in the dagster-daemon process within the last 5 minutes. Previously, it would only display errors from the last 30 seconds.
Hanging sensors and schedule functions will now raise a timeout exception after 60 seconds, instead of crashing the dagster-daemon process.
Fixed the raw compute logs in Dagit, which were not live updating as the selected step was executing.
Fixed broken links in the Backfill table in Dagit when Dagit is started with a --prefix-path argument.
Showed failed status of backfills in the Backfill table in Dagit, along with an error stack trace. Previously, the backfill jobs were stuck in a Requested state.
Previously, if you passed a non-required Field to the output_config_schema or input_config_schema arguments of @io_manager, the config would still be required. Now, the config is not required.
Fixed nested subdirectory views in the Assets catalog, where the view switcher would flip back from the directory view to the flat view when navigating into subdirectories.
Fixed an issue where the dagster-daemon process would crash if it experienced a transient connection error while connecting to the Dagster database.
Fixed an issue where the dagster-airflow scaffold command would raise an exception if a preset was specified.
Fixed an issue where Dagit was not including the error stack trace in the Status page when a repository failed to load.
Resources in a ModeDefinition that are not required by a pipeline no longer require runtime configuration. This should make it easier to share modes or resources among multiple pipelines.
Dagstermill solids now support retries when a RetryRequested is yielded from a notebook using dagstermill.yield_event.
In Dagit, the asset catalog now supports both a flattened view of all assets as well as a hierarchical directory view.
In Dagit, the asset catalog now supports bulk wiping of assets.
In the Dagit left nav, schedules and sensors accurately reflect the filtered repositories.
When executing a pipeline with a subset of solids, the config for solids not included in the subset is correctly made optional in more cases.
URLs were sometimes not prefixed correctly when running Dagit using the --path-prefix option, leading to failed GraphQL requests and broken pages. This bug was introduced in 0.11.4, and is now fixed.
The update_timestamp column in the runs table is now updated with a UTC timezone, making it consistent with the create_timestamp column.
In Dagit, the main content pane now renders correctly on ultra-wide displays.
The partition run matrix on the pipeline partition tab now shows step results for composite solids and dynamically mapped solids. Previously, the step status was not shown at all for these solids.
Previously, when retrieving the outputs from a run of execute_pipeline, the system would use the io manager that handled each output to perform the retrieval. Now, when using execute_pipeline with the default in-process executor, the system directly captures the outputs of solids for use with the result object returned by execute_pipeline. This may lead to slightly different behavior when retrieving outputs if switching between executors and using custom IO managers.
The K8sRunLauncher and CeleryK8sRunLauncher now add a dagster/image tag to pipeline runs to document the image used. The DockerRunLauncher has also been modified to use this tag (previously it used docker/image).
In Dagit, the left navigation is now collapsible on smaller viewports. You can use the . key shortcut to toggle visibility.
In Dagit, a GraphQL error on partition sets related to missing fragment PartitionGraphFragment has been fixed.
The compute log manager now handles base directories containing spaces in the path.
Fixed a bug where re-execution was not working if the initial execution failed, and execution was delegated to other machines/process (e.g. using the multiprocess executor)
The same solid can now collect over multiple dynamic outputs
Assets are now included in Dagit global search. The search bar has also been moved to the top of the app.
[helm] generatePostgresqlPasswordSecret toggle was added to allow the Helm chart to reference an external secret containing the Postgresql password (thanks @PenguinToast !)
[helm] The Dagster Helm chart is now hosted on Artifact Hub.
[helm] The workspace can now be specified under dagit.workspace, which can be useful if you are managing your user deployments in a separate Helm release.
In Dagit, toggling schedules and sensors on or off will now immediately update the green dot in the left navigation, without requiring a refresh.
When evaluating dict values in run_config targeting Permissive / dict config schemas, the ordering is now preserved.
Integer values for EventMetadataEntry.int greater than 32 bits no longer cause dagit errors.
PresetDefinition.with_additional_config no longer errors if the base config was empty (thanks @esztermarton !)
Fixed limitation on gRPC message size when evaluating run requests for sensors, schedules, and backfills. Previously, a gRPC error would be thrown with status code StatusCode.RESOURCE_EXHAUSTED for a large number of run requests, especially when the requested run configs were large.
Changed backfill job status to reflect the number of successful runs against the number of partitions requested instead of the number of runs requested. Normally these two numbers are the same, but they can differ if a pipeline run initiated by the backfill job is re-executed manually.