# Dagster changelog > An orchestrator that models data pipelines as the assets they produce. - Vendor: Dagster Labs - Category: Developer Tools - Official site: https://dagster.io - Tracked by: What's New (https://whatsnew.fyi/product/dagster) - Harvested from: GitHub (dagster-io/dagster) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### 1.13.17 — 1.13.17 (core) / 0.29.17 (libraries) - Date: 2026-08-07 - Version: 1.13.17 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.17 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.17 - **changed** — An asset whose materialization failures are all pending an automatic retry now reports a WARNING health status instead of DEGRADED, and Slack, Microsoft Teams, and email alerts render a "Failed, retry pending" line for it - **changed** — The asset graph sidebar's search now matches only assets shown in the sidebar, matches on the full asset key as well as the displayed name, lists results alphabetically, and shows the namespace for results whose name is ambiguous - **added** — Added a "Copy asset key" item to the asset node context menu - **added** — Added a SLURM kind tag icon - **changed** — SnowflakeDbtProjectComponent now accepts a defs_state configuration, matching DbtCloudComponent, so deployments can opt into versioned state storage instead of the local filesystem - **fixed** — Fixed an issue where a Hybrid deployment running on Kubernetes could be misidentified as Serverless, causing PEX-configured builds to be packaged as Docker images - **fixed** — Relaxed the tomlkit version constraint to allow newer releases - **fixed** — Fixed the asset graph sidebar to sort assets by their displayed name rather than their full asset key - **fixed** — Fixed an issue where text in the search UI was truncated earlier than necessary - **fixed** — The Kubernetes agent now degrades gracefully when its service account is not permitted to manage ConfigMaps, launching code servers without fast in-place reload rather than failing to deploy the code location - **fixed** — Fixed several issues in SnowflakeDbtProjectComponent: the observation sensor could eventually report Dagster-triggered runs as externally triggered, executing a subset failed when dbt built models outside the requested subset, and a genuine import error in an optional dependency could silently hide the component - **security** — Fixed a command injection issue in spark_resource and create_spark_op: spark-submit is now invoked directly instead of through a shell, so shell metacharacters in application_arguments are no longer interpreted - **fixed** — Fixed an issue where empty workbooks could cause code location loads to fail ###### New - An asset whose materialization failures are all pending an automatic retry now reports a `WARNING` health status instead of `DEGRADED`, and Slack, Microsoft Teams, and email alerts render a "Failed, retry pending" line for it. - [ui] The asset graph sidebar's search now matches only assets shown in the sidebar, matches on the full asset key as well as the displayed name, lists results alphabetically, and shows the namespace for results whose name is ambiguous. - [ui] Added a "Copy asset key" item to the asset node context menu. - [ui] Added a SLURM kind tag icon. (Thanks, [@geoHeil](https://github.com/geoHeil)!) - [dagster-snowflake] `SnowflakeDbtProjectComponent` now accepts a `defs_state` configuration, matching `DbtCloudComponent`, so deployments can opt into versioned state storage instead of the local filesystem. ###### Bugfixes - [dg] Fixed an issue where a Hybrid deployment running on Kubernetes could be misidentified as Serverless, causing PEX-configured builds to be packaged as Docker images. - [dg] Relaxed the `tomlkit` version constraint to allow newer releases. (Thanks, [@geoHeil](https://github.com/geoHeil)!) - [ui] Fixed the asset graph sidebar to sort assets by their displayed name rather than their full asset key. - [ui] Fixed an issue where text in the search UI was truncated earlier than necessary. - [dagster-cloud] The Kubernetes agent now degrades gracefully when its service account is not permitted to manage ConfigMaps, launching code servers without fast in-place reload rather than failing to deploy the code location. Granting the agent's Role permissions on `configmaps`, which the latest agent Helm chart includes, restores fast reloads. - [dagster-snowflake] Fixed several issues in `SnowflakeDbtProjectComponent`: the observation sensor could eventually report Dagster-triggered runs as externally triggered, executing a subset failed when dbt built models outside the requested subset, and a genuine import error in an optional dependency could silently hide the component. - [dagster-spark] Fixed a command injection issue in `spark_resource` and `create_spark_op`: `spark-submit` is now invoked directly instead of through a shell, so shell metacharacters in `application_arguments` are no longer interpreted. Multiple and quoted arguments continue to work. - [dagster-tableau] Fixed an issue where empty workbooks could cause code location loads to fail. ###### Documentation - Documented how to connect to the Dagster+ MCP server using OAuth. - Corrected the Helm repository and chart names in the Kubernetes agent configuration reference. - Integration pages can now be filtered by tag. ### 1.13.16 — 1.13.16 (core) / 0.29.16 (libraries) - Date: 2026-07-30 - Version: 1.13.16 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.16 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.16 - **added** — Declarative Automation can now automate jobs as a preview feature by passing an `automation_condition` to `define_asset_job` with `AutomationCondition.any_job_root_assets_match` or `AutomationCondition.all_job_root_assets_match` to launch a single run when the condition becomes true - **added** — The Components tab for a code location now lists all component instances in the location, not just app-managed ones - **fixed** — Fixed a bug in dagster-airbyte where Airbyte API requests were not retried on transient failures, causing syncs to fail after a single transient error despite the `request_max_retries` setting ###### New - Declarative Automation can now automate jobs, available as a preview feature. Pass an `automation_condition` to `define_asset_job` — wrapping an asset-level condition with `AutomationCondition.any_job_root_assets_match` or `AutomationCondition.all_job_root_assets_match` — to launch a single run of the job when the condition becomes true. Evaluation history is viewable in the new Automation tab on job pages. - [ui] The Components tab for a code location now lists all component instances in the location, not just app-managed ones. ###### Bugfixes - [dagster-airbyte] Fixed a bug where Airbyte API requests were not retried on transient failures, causing syncs to fail after a single transient error despite the `request_max_retries` setting. (Thanks, [@MercureTony](https://github.com/MercureTony)!) ###### Documentation - Clarified the distinction between definition-time and runtime metadata, and documented how to access asset definition metadata from a custom I/O manager. - Documented the available configuration options for the Soda integration. ### 1.13.15 — 1.13.15 (core) / 0.29.15 (libraries) - Date: 2026-07-23 - Version: 1.13.15 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.15 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.15 - **added** — Added SnowflakeDbtProjectComponent (Preview) for natively orchestrating dbt projects on Snowflake in dagster-snowflake ###### New - [dagster-snowflake] Added the `SnowflakeDbtProjectComponent` (Preview) for natively orchestrating dbt projects on Snowflake. ###### Documentation - Added documentation for the Dagster MCP server. ### 1.13.14 — 1.13.14 (core) / 0.29.14 (libraries) - Date: 2026-07-16 - Version: 1.13.14 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.14 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.14 - **fixed** — Fixed a 401 error from the serverless I/O manager when materializing assets in an organization with more than one full deployment - **fixed** — Fixed a 400 error from the serverless I/O manager when materializing assets whose storage keys contain special characters ###### Bugfixes - Fixed a 401 error from the serverless I/O manager when materializing assets in an organization with more than one full deployment. - Fixed a 400 error from the serverless I/O manager when materializing assets whose storage keys contain special characters. ### 1.13.13 — 1.13.13 (core) / 0.29.13 (libraries) - Date: 2026-07-09 - Version: 1.13.13 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.13 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.13 - **added** — The asset launch dialog now automatically expands the warnings section when alerts are present - **fixed** — Fixed an issue where a fresh installation of dagster could resolve an incompatible version of grpcio-health-checking, breaking code server imports due to a protobuf version conflict - **fixed** — Fixed an error that occurred when viewing tick details for declarative automation runs ###### New - [ui] The asset launch dialog now automatically expands the warnings section when alerts are present. ###### Bugfixes - Fixed an issue where a fresh installation of `dagster` could resolve an incompatible version of `grpcio-health-checking`, breaking code server imports due to a `protobuf` version conflict. - [ui] Fixed an error that occurred when viewing tick details for declarative automation runs. ### 1.13.12 — 1.13.12 (core) / 0.29.12 (libraries) - Date: 2026-07-02 - Version: 1.13.12 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.12 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.12 - **changed** — Improved the performance of the runs feed for runs that target large numbers of assets and asset checks by fetching a bounded preview of the selection and loading the full lists on demand - **added** — Added a dashboard_refresh_interval parameter to PipesEMRServerlessClient and increased its default so that Spark UI URLs are no longer invalidated prematurely during a run - **fixed** — Fixed a bug where a partitioned asset check with its own automation condition could raise a CheckError and halt the entire automation tick when it was requested on a tick that did not materialize the asset it targets - **fixed** — Fixed a bug where a code location could be left stuck in an error state after a transient gRPC failure during refresh by making the gRPC server watcher periodically retry refresh for locations whose load error is a DagsterUserCodeUnreachableError - **fixed** — Fixed an issue where long pool names could overflow their container by truncating them and wrapping and scrolling the run pools dialog when there are many pools - **fixed** — Fixed a KeyError on failures when converting dbt run results to Dagster events for runs that omit that key ###### New - [ui] Improved the performance of the runs feed for runs that target large numbers of assets and asset checks. The feed now fetches a bounded preview of the selection and loads the full lists on demand. - [dagster-aws] Added a `dashboard_refresh_interval` parameter to `PipesEMRServerlessClient` and increased its default so that Spark UI URLs are no longer invalidated prematurely during a run. (Thanks, [@noy-solvin](https://github.com/noy-solvin)!) ###### Bugfixes - Fixed a bug where a partitioned asset check with its own automation condition could raise a `CheckError` and halt the entire automation tick when it was requested on a tick that did not materialize the asset it targets. - Fixed a bug where a code location could be left stuck in an error state after a transient gRPC failure during refresh (common during Kubernetes rolling deployments). The gRPC server watcher now periodically retries refresh for locations whose load error is a `DagsterUserCodeUnreachableError`. (Thanks, [@jmoldow](https://github.com/jmoldow)!) - [ui] Fixed an issue where long pool names could overflow their container; they are now truncated, and the run pools dialog wraps and scrolls when there are many pools. - [dagster-dbt] Fixed a `KeyError` on `failures` when converting dbt run results to Dagster events for runs that omit that key (such as dbt Fusion). ### 1.13.11 — 1.13.11 (core) / 0.29.11 (libraries) - Date: 2026-06-25 - Version: 1.13.11 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.11 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.11 - **changed** — The asset catalog page now renders as a single virtualized list so workspaces with many asset groups or code locations no longer freeze the UI when expanding those sections - **added** — Added a new "insights" option to DbtProjectComponent's include_metadata field, enabling Dagster+ Insights tracking from YAML config - **added** — Added an optional limit argument and new assetSelectionCount / assetCheckSelectionCount fields to the Run GraphQL type so clients can render a bounded preview of a run's asset/check selection alongside the true totals - **fixed** — Asset check history is now cleared when an asset or its partitions are wiped; stale entries no longer linger in the Execution History and Partitions views - **changed** — The run detail page header now displays the asset-check count for asset-job runs, and the count is now read from the execution plan rather than by scanning the full run event log - **fixed** — The "View asset lineage" item in the run actions menu now correctly scopes to the assets in that run - **changed** — .with_insights() now logs a warning instead of raising when called against an unsupported adapter ###### New - [ui] The asset catalog page now renders as a single virtualized list, so workspaces with many asset groups or code locations no longer freeze the UI when expanding those sections. - [dagster-dbt] Added a new `"insights"` option to `DbtProjectComponent`'s `include_metadata` field, enabling Dagster+ Insights tracking from YAML config. - [dagster-graphql] Added an optional `limit` argument and new `assetSelectionCount` / `assetCheckSelectionCount` fields to the `Run` GraphQL type, so clients can render a bounded preview of a run's asset/check selection alongside the true totals. ###### Bugfixes - Asset check history is now cleared when an asset or its partitions are wiped; stale entries no longer linger in the Execution History and Partitions views. - [ui] The run detail page header now displays the asset-check count for asset-job runs, and the count is now read from the execution plan rather than by scanning the full run event log. - [ui] The "View asset lineage" item in the run actions menu now correctly scopes to the assets in that run. - [dagster-dbt] `.with_insights()` now logs a warning instead of raising when called against an unsupported adapter. ###### Documentation - Added a new page documenting Dagster+ code-location snapshot size limits, with a script you can run locally to estimate snapshot sizes before deploying. - Documented the "Run concurrency" Insights metric. - Fixed an invalid `pool` config in the "Preventing concurrent dbt snapshots" `DbtProjectComponent` example. ### 1.13.10 — 1.13.10 (core) / 0.29.10 (libraries) - Date: 2026-06-18 - Version: 1.13.10 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.10 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.10 - **fixed** — Fixed a bug where `DagsterInstance.get_latest_materialization_event` and `get_asset_records` could return a stale pre-wipe materialization for a wiped asset once a new run targeting the asset started or an observation was reported - **fixed** — Fixed a bug in Dagster+ where wiping partitions could leave the wiped partition's materialization as the asset's latest materialization - **fixed** — Fixed an issue where an asset backfill could get stuck emitting no further runs but never completing when an asset whose partitions definition includes certain dates depended on an asset whose partitions definition excludes them - **fixed** — Fixed a performance issue where assets partitioned by a cron schedule using an explicit minute list computed partition counts much more slowly than the equivalent `*/30` schedule - **changed** — Improved the performance of loading the backfills for a partition set on deployments with a large number of backfills - **fixed** — Fixed a performance regression in the UI that caused views with truncated text such as the asset catalog to render slowly - **fixed** — Fixed an issue where importing `dagster_cloud.serverless` could fail with a missing `boto3` dependency on serverless deployments that did not install the `[serverless]` extra ###### Bugfixes - Fixed a bug where `DagsterInstance.get_latest_materialization_event` (and `get_asset_records`) could return a stale pre-wipe materialization for a wiped asset once a new run targeting the asset started or an observation was reported. In Dagster+, fixed the analogous bug where wiping partitions could leave the wiped partition's materialization as the asset's latest materialization. - Fixed an issue where an asset backfill could get stuck — emitting no further runs but never completing — when an asset whose partitions definition includes certain dates depended on an asset whose partitions definition excludes them. - Fixed a performance issue where assets partitioned by a cron schedule using an explicit minute list (e.g. `0,30 * * * *`) computed partition counts much more slowly than the equivalent `*/30` schedule. - Improved the performance of loading the backfills for a partition set on deployments with a large number of backfills, which previously fetched and deserialized every backfill in the deployment on each request. - [ui] Fixed a performance regression that caused views with truncated text, such as the asset catalog, to render slowly. - [dagster-cloud] Fixed an issue where importing `dagster_cloud.serverless` could fail with a missing `boto3` dependency on serverless deployments that did not install the `[serverless]` extra. ### 1.13.9 — 1.13.9 (core) / 0.29.9 (libraries) - Date: 2026-06-11 - Version: 1.13.9 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.9 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.9 - **added** — Asset group names may now contain `/` separators to define hierarchical groups (e.g. `marketing/ads`), which can be selected with wildcards in asset selections (e.g. `group:"marketing/*"`) and are rendered as nested groups in the asset graph - **added** — Added an `is:` filter to the asset selection syntax and search filters to select assets by type (e.g. `is:external`, `is:materializable`) - **changed** — `DG_PROJECT_PYTHON_EXECUTABLE` in a project's `.env` is now parsed via `python-dotenv`, so `export KEY=value`, quoted values, and trailing comments are honored - **added** — When filtering assets in the lineage view with the selection input, a "Save selection" button now allows creating a saved selection directly from the input value - **changed** — Redesigned the recent updates timeline on asset pages - **changed** — Uploads through S3 presigned URLs (code location snapshots, serverless I/O manager objects, compute logs, and PEX files) now retry on transient HTTP 500 errors from S3 - **added** — `DltLoadCollectionComponent` now supports `partitions_def` and `backfill_policy` - **added** — User code deployments now support running multiple replicas via `replicaCount`, with all replicas of a deployment sharing a consistent gRPC server ID to prevent spurious code location reloads - **fixed** — Fixed an issue where date-like strings (e.g. `"2021-10-30"`) in YAML config files were converted to datetime objects instead of being passed through as strings - **fixed** — Fixed an issue where run failure sensors did not receive error information when a run failed due to a step failure; the originating step error is now available on the sensor context - **fixed** — Fixed an issue where schedules using cron strings constrained to specific hours or days (e.g. `*/15 9-16 * * 1-5`) were incorrectly treated as ticking uniformly throughout the day, which could produce overcounted partition counts and oversized backfills - **fixed** — Fixed a deadlock that could occur when shutting down event log watchers on Postgres or MySQL storage while a watch callback was concurrently unsubscribing - **fixed** — `TemplatedSqlComponent` now generates a unique default op name based on its template, preventing op name collisions when multiple components omit an explicit execution name - **fixed** — Fixed an issue where clicking "View runs" in the backfill step status dialog did not open the runs dialog - **fixed** — On the asset partitions page, the focused partition now resets when it falls outside the selected partition range, instead of continuing to display a partition that is no longer in the range ###### New - Asset group names may now contain `/` separators to define hierarchical groups (e.g. `marketing/ads`). Hierarchical groups can be selected with wildcards in asset selections (e.g. `group:"marketing/*"`) and are rendered as nested groups in the asset graph. - Added an `is:` filter to the asset selection syntax and search filters to select assets by type (e.g. `is:external`, `is:materializable`). - [dg] `DG_PROJECT_PYTHON_EXECUTABLE` in a project's `.env` is now parsed via `python-dotenv`, so `export KEY=value`, quoted values, and trailing comments are honored. - [ui] When filtering assets in the lineage view with the selection input, a "Save selection" button now allows creating a saved selection directly from the input value. - [ui] Redesigned the recent updates timeline on asset pages. - [dagster-cloud] Uploads through S3 presigned URLs (code location snapshots, serverless I/O manager objects, compute logs, and PEX files) now retry on transient HTTP 500 errors from S3. - [dagster-dlt] `DltLoadCollectionComponent` now supports `partitions_def` and `backfill_policy`. (Thanks, [@Benjamin0313](https://github.com/Benjamin0313)!) - [helm] User code deployments now support running multiple replicas via `replicaCount`. All replicas of a deployment share a consistent gRPC server ID, so multi-replica deployments do not trigger spurious code location reloads. (Thanks, [@HynekBlaha](https://github.com/HynekBlaha)!) ###### Bugfixes - Fixed an issue where date-like strings (e.g. `"2021-10-30"`) in YAML config files were converted to datetime objects instead of being passed through as strings. - Fixed an issue where run failure sensors did not receive error information when a run failed due to a step failure. The originating step error is now available on the sensor context. - Fixed an issue where schedules using cron strings constrained to specific hours or days (e.g. `*/15 9-16 * * 1-5`) were incorrectly treated as ticking uniformly throughout the day, which could produce overcounted partition counts and oversized backfills. - Fixed a deadlock that could occur when shutting down event log watchers on Postgres or MySQL storage while a watch callback was concurrently unsubscribing. - `TemplatedSqlComponent` now generates a unique default op name based on its template, preventing op name collisions when multiple components omit an explicit execution name. - [ui] Fixed an issue where clicking "View runs" in the backfill step status dialog did not open the runs dialog. - [ui] On the asset partitions page, the focused partition now resets when it falls outside the selected partition range, instead of continuing to display a partition that is no longer in the range. ###### Documentation - [dagster-dbt] Added a "Blue/green deployments" section to the dbt patterns and best practices guide, covering the clone-then-swap pattern. ### 1.13.8 — 1.13.8 (core) / 0.29.8 (libraries) - Date: 2026-06-04 - Version: 1.13.8 - Original notes: https://github.com/dagster-io/dagster/releases/tag/1.13.8 - Permalink: https://whatsnew.fyi/product/dagster/releases/1.13.8 - **added** — Special characters are now allowed in team owners for jobs, schedules, and sensors - **added** — Added kinds tags and icons for Microsoft Fabric and OneLake - **changed** — The BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead - **changed** — The per-code-location Docs tab is now Components, with its content available under a Library subtab, with existing /docs links continuing to work via redirect - **changed** — The EMR PySpark step launcher now honors a configured S3 job package path - **changed** — code_server.* metrics now carry a server_instance_id tag identifying the underlying gRPC server process - **fixed** — InstigationLogger now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log - **security** — Fixed a SQL injection vulnerability in dagster-clickhouse, dagster-clickhouse-pandas, and dagster-clickhouse-polars when using dynamic partition keys by binding partition key values as driver parameters instead of interpolating them into SQL strings - **fixed** — Fixed an issue where tag values in component YAML files were not coerced correctly - **fixed** — dg labs ai dispatch no longer writes a plan.md artifact into version control - **fixed** — Fixed an error that occurred when using TypedDict-typed fields in component configuration - **fixed** — Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration - **fixed** — Fixed backfill progress not reaching 100% until all runs had completed - **fixed** — Fixed Databricks workspace job list pagination and added retries for rate-limit responses - **fixed** — Fixed DbtProject.prepare() to always run dbt deps when dependency files are present - **fixed** — Fixed YAML-based translation in DbtProjectComponent subclasses to also translate dependency keys - **fixed** — Fixed an issue where dbt unit tests could be ignored unexpectedly - **fixed** — Fixed incorrect asset key translation when generating column lineage with DbtProjectComponent - **fixed** — Fixed unbounded recursive copying of the .local_defs_state() directory when a dbt project was located at the repository root - **fixed** — Fixed dg plus deploy failing with No module named pip in uv-managed environments ###### New - Special characters are now allowed in team `owners` for jobs, schedules, and sensors. (Thanks, [@dragos-pop](https://github.com/dragos-pop)!) - Added `kinds` tags and icons for Microsoft Fabric and OneLake. (Thanks, [@MartyP233](https://github.com/MartyP233)!) - The BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead. This prevents incorrect type inference and degenerate tables for empty partitions. - [ui] The per-code-location "Docs" tab is now "Components", with its content available under a "Library" subtab. Existing `/docs` links continue to work via redirect. - [dagster-aws] The EMR PySpark step launcher now honors a configured S3 job package path. - [dagster-cloud] `code_server.*` metrics now carry a `server_instance_id` tag identifying the underlying gRPC server process. For multi-replica code locations, the tag identifies whichever replica answered the most recent metrics ping. ###### Bugfixes - `InstigationLogger` now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log. (Thanks, [@jonaslb](https://github.com/jonaslb)!) - Fixed a SQL injection vulnerability in `dagster-clickhouse`, `dagster-clickhouse-pandas`, and `dagster-clickhouse-polars` when using dynamic partition keys. ClickHouse partition queries now bind partition key values as driver parameters instead of interpolating them into SQL strings. - Fixed an issue where tag values in component YAML files were not coerced correctly. - [dg] `dg labs ai dispatch` no longer writes a `plan.md` artifact into version control. - [dg] Fixed an error that occurred when using `TypedDict`-typed fields in component configuration. - [ui] Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration. - [ui] Fixed backfill progress not reaching 100% until all runs had completed. - [dagster-databricks] Fixed Databricks workspace job list pagination and added retries for rate-limit responses. - [dagster-dbt] Fixed `DbtProject.prepare()` to always run `dbt deps` when dependency files are present. - [dagster-dbt] Fixed YAML-based translation in `DbtProjectComponent` subclasses to also translate dependency keys. - [dagster-dbt] Fixed an issue where dbt unit tests could be ignored unexpectedly. - [dagster-dbt] Fixed incorrect asset key translation when generating column lineage with `DbtProjectComponent`. - [dagster-dbt] Fixed unbounded recursive copying of the `.local_defs_state()` directory when a dbt project was located at the repository root. - [dagster-cloud-cli] Fixed `dg plus deploy` failing with `No module named pip` in `uv`-managed environments. - [dagster-cloud-cli] Removed an overly strict dependency-file check from the Docker deploy path. ###### Documentation - Added an integration reference for `dagster-elasticsearch`. - Added documentation for the OpenLineage integration. - Added documentation for `dagster-hf-datasets`. - Added an example covering deployment strategies.