Fixed spurious errors in logs due to module shadowing.
Fixed an issue in the Backfill Daemon where if the assets to be materialized had different BackfillPolicys, each asset would get materialized in its own run, rather than grouping assets together into single run.
Fixed an issue that could cause the Asset Daemon to lose information in its cursor about an asset if that asset’s code location was temporarily unavailable.
[dagster-dbt] Mitigated issues with cli length limits by only listing specific dbt tests as needed when the tests aren’t included via indirect selection, rather than listing all tests.
The backfill daemon now has additional logging to document the progression through each tick and why assets are and are not materialized during each evaluation of a backfill.
Made performance improvements in both calculating and storing data version for assets, especially for assets with a large fan-in.
Standardized table row count metadata output by various integrations to dagster/row_count .
[dagster-aws][community-contribution] Additional parameters can now be passed to the following resources: CloudwatchLogsHandler, ECRPublicClient, SecretsManagerResource, SSMResource thanks @jacob-white-simplisafe !
Fixed issue that could cause runs to fail if they targeted any assets which had a metadata value of type TableMetadataValue, TableSchemaMetadataValue, or TableColumnLineageMetadataValue defined.
Fixed an issue which could cause evaluations produced via the Auto-materialize system to not render the “skip”-type rules.
Backfills of asset jobs now correctly use the BackfillPolicy of the underlying assets in the job.
[dagster-databricks][community-contribution] databricks-sdk version bumped to 0.17.0, thanks @lamalex !
The Asset > Checks tab now allows you to view plots of numeric metadata emitted by your checks.
The Asset > Events tab now supports infinite-scrolling, making it possible to view all historical materialization and observation events.
When constructing a MaterializeResult, ObserveResult, or Output, you can now include tags that will be attached to the corresponding AssetMaterialization or AssetObservation event. These tags will be rendered on these events in the UI.
Fixed an issue where backfills would sometimes fail if a partition definition was changed in the middle of the backfill.
Fixed an issue where if the code server became unavailable during the first tick of a backfill, the backfill would stall and be unable to submit runs once the code server became available.
Fixed an issue where the status of an external asset would not get updated correctly.
Fixed an issue where run status sensors would sometimes fall behind in deployments with large numbers of runs.
The descriptions and metadata on the experimental build_last_update_freshness_checks and build_time_partition_freshness_checks APIs have been updated to be clearer.
The headers of tables no longer become misaligned when a scrollbar is present in some scenarios.
The sensor type, instigation type, and backfill status filters on their respective pages are now saved to the URL, so sharing the view or reloading the page preserve your filters.
Typing a % into the asset graph’s query selector no longer crashes the UI.
“Materializing” states on the asset graph animate properly in both light and dark themes.
Thanks to @lautaro79 for fixing a helm chart issue.
Subclasses of MetadataValue have been changed from NamedTuples to Pydantic models. NamedTuple functionality on these classes was not part of Dagster’s stable public API, but usages relying on their tuple-ness may break. For example: calling json.dumps on collections that include them.
TimeWindowPartitionMapping now supports the start_offset and end_offset parameters even when the upstream PartitionsDefinition is different than the downstream PartitionsDefinition. The offset is expressed in units of downstream partitions, so TimeWindowPartitionMapping(start_offset=-1) between an hourly upstream and a daily downstream would map each downstream partition to 48 upstream partitions – those for the same and preceding day.
Fixed an issue where certain exceptions in the Dagster daemon would immediately retry instead of waiting for a fixed interval before retrying.
Fixed a bug with asset checks in complex asset graphs that include cycles in the underlying nodes.
Fixed an issue that would cause unnecessary failures on FIPS-enabled systems due to the use of md5 hashes in non-security-related contexts (thanks @jlloyd-widen!)
Removed path metadata from UPathIOManager inputs. This eliminates the creation of ASSET_OBSERVATION events for every input on every step for the default I/O manager.
Added support for defining owners on @graph_asset.
Fixed an issue where having multiple partitions definitions in a location with the same start date but differing end dates could lead to “DagsterInvalidSubsetError when trying to launch runs.
When creating a Branch Deployment via GraphQL or the dagster-cloud branch-deployment CLI, you can now specify the base deployment. The base deployment will be used for comparing assets for Change Tracking. For example, to set the base deployment to a deployment named staging: dagster-cloud branch-deployment create-or-update --base-deployment-name staging .... Note that once a Branch Deployment is created, the base deployment cannot be changed.
Fixed an issue where agents serving many branch deployments simultaneously would sometimes raise a 413: Request Entity Too Large error when uploading a heartbeat to the Dagster Plus servers.
[ui] For users whose light/dark mode theme setting is set to match their system setting, the theme will update automatically when the system changes modes (e.g. based on time of day), with no page reload required.
[ui] We have introduced the typefaces Geist and Geist Mono as our new default fonts throughout the Dagster app, with the goal of improving legibility, consistency, and maintainability.
[ui][experimental] We have begun experimenting with a new navigation structure for the Dagster UI. The change can be enabled via User Settings.
[ui][experimental] Made performance improvements to the Concurrency settings page.
Fixed an issue where pressing the “Reset sensor status” button in the UI would also reset the sensor’s cursor.
Fixed a bug that caused input loading time not to be included in the reported step duration.
Pydantic warnings are no longer raised when importing Dagster with Pydantic 2.0+.
Fixed an issue which would cause incorrect behavior when auto-materializing partitioned assets based on updates to a parent asset in a different code location.
Fixed an issue which would cause every tick of the auto-materialize sensor to produce an evaluation for each asset, even if nothing had changed from the previous tick.
[dagster-dbt] Fixed a bug that could raise Duplicate check specs errors with singular tests ingested as asset checks.
[embedded-elt] resolved an issue where subset of resources were not recognized when using source.with_resources(...)
[ui] Fixed an issue where a sensor that targeted an invalid set of asset keys could cause the asset catalog to fail to load.
[ui] Fixed an issue in which runs in the Timeline that should have been considered overlapping were not correctly grouped together, leading to visual bugs.
[ui] On the asset overview page, job tags no longer render poorly when an asset appears in several jobs.
[ui] On the asset overview page, hovering over the timestamp tags in the metadata table explains where each entry originated.
[ui] Right clicking the background of the asset graph now consistently shows a context menu, and the lineage view supports vertical as well as horizontal layout.
[ui][experimental] A new Overview > Asset Health page provides visibility into failed and missing materializations, check warnings and check errors.
[ui] You can now share feedback with the Dagster team directly from the app. Open the Help menu in the top nav, then “Share feedback”. Bugs and feature requests are submitted directly to the Dagster team.
[ui] When editing a team, the list of team members is now virtualized, allowing for the UI to scale better for very large team sizes.