Changelog
1.12.17 (core) / 0.28.17 (libraries)
Bugfixes
- Fix bug with inclusion of built webapp in
dagster-webserverthat caused the Dagster UI to fail to load.
1.12.16 (core) / 0.28.16 (libraries) (YANKED)
This version of Dagster inadvertently did not include the webapp code in the published dagster-webserver package.
Bugfixes
- [ui] Fixed redirect to login when the user's session expires.
- [ui] Fixed console error noise during asset lineage navigation.
Dagster Plus
- [ui] Improved loading states and autoscroll behavior in the AI chat UI.
- [ui] Fixed the icon selector in the saved selection creation flow.
1.12.15 (core) / 0.28.15 (libraries)
New
- Pool names can now be any non-whitespace character, instead of requiring alphanumbeic characters, slashes, and underscores.
- [dagster-aws] The
EcsRunLauncherwill now retry a task launch when a RunTask API call fails due to a throttling error in an underlying EC2 API call. - [dagster-tableau] Tableau workbooks and projects can now be filtered using the
workbook_selectorandproject_selectorinTableauComponent.
Bugfixes
- [ui] Fixed issue where saved launchpad config was not used for single-partition asset materializations.
- [ui] Fix console error noise during asset lineage navigation.
- [ui] Fixed an issue where the "Start X Automations" and "Stop X Automations" menu options on the Automations tab were sometimes incorrectly disabled.
- [dagster-dbt] The
DbtProjectconstructor now correctly accepts strings for thetarget_pathparameter.
1.12.14 (core) / 0.28.14 (libraries)
New
@asset_checkandAssetCheckSpecnow support apartitions_defparameter, allowing checks to execute against specific partitions of their upstream asset rather than the entire contents. If set, the partition definition must match the definition of the targeted asset.- [ui] The "Select all" checkbox has been restored to the Automations list.
Bugfixes
- Fixed performance issue where the partition selector would freeze for 30+ seconds when selecting "All" on assets with large (100k+) partition sets. (Thanks, @ljodea!)
- Fixed an issue with cron schedules using step patterns (like
*/10or*/30) in the day-of-month field where invalid days weren't properly skipped. - [ui] Fixed an issue that could cause incorrect partition statuses to be displayed in the UI.
- [ui] Partition percentages now round in a more intuitive way.
- [ui] Row count metadata is now displayed even when set to zero.
- [dagster-databricks] Fixed an issue where op name generation would occasionally lead to collisions.
- [dagster-sigma] When building assets for Sigma workbooks that depend on tables unknown to Dagster, an error is logged instead of throwing an exception.
- [dagster-k8s] Fixed an issue where
PipesK8sClientwould sometimes fail when containers in theignored_containerslist failed. - [dagster-github] Ensured compatibility with
pyjwt>=2.11.0,which introduced breaking changes.
Documentation
- Added an example of censoring PII in run logs.
- Updated branch deployment docs to include single-agent setup.
1.12.13 (core) / 0.28.13 (libraries)
New
- [dagster-polytomic]
PolytomicComponenthas been added and can be used to represent your Polytomic bulk sync schemas as external assets in Dagster - [dagster-fivetran] Added warning log when no Fivetran groups are found to help users troubleshoot permission issues.
1.12.12 (core) / 0.28.12 (libraries)
New
dg plus deploy startnow validates deployment akin todagster-cloud ci check.- [dagster-aws] Added a suite of new components that map to all existing resources in the library.
- [dagster-k8s] Increased the maximum version of kubernetes to 35.x.x.
- [ui] You can now unpin asset groups that no longer contain any assets.
Bugfixes
- Fixed type errors reported by Pyright's strict mode when using
@asset,@multi_asset, and@graph_assetdecorators. - Running
dg launch --partition-rangefor an asset without an explicitly defined single-run-backfill policy now provides a clean error message. - Fixed issue where the celery_executor
config_sourcevalues were ignored. (Thanks, @danielbitzer!) - Fixed issue with
dg plus deploy refresh-defs-stateURL construction for EU regions. - Fixed helm chart validation error when enabling
concurrencyconfig with defaultqueuedRunCoordinatorvalues. dg list defsnow correctly shows labels for automation conditions.- [dagster-dbt] Fixed issue with the
dagster-dbt project prepare-and-packagecommand where user files nameddbt.pycould shadow thedbtmodule. (Thanks, @alexaustin007!) - [dagster-dbt] Fix errors raised when dbt functions are present in dbt manifest. (Thanks, @eso-xyme!)
- [ui] Fixes a bug where creating an alert policy from your Favorites would crash the app.
Dagster Plus
- Fixed an issue while using the 'isolated_agents' configuration parameter in Dagster+ where runs that were terminated due to exceeding a maximum runtime would sometimes fail to terminate the run worker process after the run was marked as failed.
1.12.11 (core) / 0.28.11 (libraries)
New
- The
dagster-cloud ci checkcommand is now marked as deprecated. Usedg plus deploy startinstead, which now validates configuration during deployment initialization. - [dagster-fivetran]
FivetranWorkspacenow supports arequest_backoff_factorparameter for enabling exponential backoff on request failures.
Bugfixes
- [dagster-dbt] Fixed an issue where the
excludeparameter of@dbt_assetscould be ignored if the selection was too large. - [ui] The Asset Partitions page and the launch Materializations modal now correctly handle asset partitions that contain JSON or irregular characters.
- [ui] Fixed an issue where
dagster/row_countmetadata was sometimes not displayed on the Asset Overview page if it was being set by an asset observation rather than a materialization.
Dagster Plus
- The ECS agent now waits for 10 minutes by default before timing out during a code location deploy instead of 5 minutes, to ensure that large images have enough time to be pulled by the agent. See https://docs.dagster.io/deployment/dagster-plus/hybrid/amazon-ecs/configuration-reference#user_code_launcher-properties for more information on changing this default.
- [ui] The Job Insights tab now shows a metric breakdown by job
1.12.10 (core) / 0.28.10 (libraries)
Bugfixes
- [ui] Fixed an issue introduced in 1.12.9 where the "Catalog" tab in the Dagster UI sometimes failed to display any assets.
1.12.9 (core) / 0.28.9 (libraries)
New
- The core
dagsterpackage (and most libraries) are now compatible with Python 3.14. - Added support for using python version 3.13 when running
dg plus deploy. dg plus loginnow supports aregionflag for eu-based users:dg plus login --region eu.- Updated the
bulk_actionstablebodycolumn fromTexttoLongTextfor Mysql storage. To take advantage of this migration rundagster instance migrate. (Thanks, @jenkoian!) - Updated the
asset_keystablecached_status_datacolumn fromTexttoLongTextfor Mysql storage. To take advantage of this migration rundagster instance migrate. (Thanks, @jenkoian!) - Runs now automatically include a
dagster/code_locationtag when created with aremote_job_origin, enabling filtering and concurrency control by code location. (Thanks, @ssup2!) - [ui] the Asset > Partitions page now shows historical "Failed to materialize" events for consistency with the Asset > Events page.
- [helm] Added a
concurrencysetting to the helm chart to configure concurrency pools. - [dagster-azure] The
ADLS2PickleIOManagernow overwrites blob keys when the same asset is materialized twice, instead of deleting then writing the blob. - [dagster-aws] An
ecs/container_overridestag can now be set on jobs (or on runs in the launchpad) to customize container-level overrides (like GPU resource requirements) for runs using theEcsRunLauncher. - [dagster-dbt]
dagster-dbtnow supports dbt-core 1.11. (Thanks, @nicoa!) - [dagster-dlt] update url in README (Thanks, @Miesjell!)
- [dagster-databricks] Introduced
DatabricksWorkspaceComponentto automatically discover Databricks jobs as Dagster assets. - [dagster-looker] Added option PDT asset support to
LookerComponent.
Bugfixes
- Fixed an issue where a transient issue caused a step health check to fail when using the
k8s_job_executor. - Fixed an issue where a health check failure while using the
k8s_job_executorcould result in a step continuing to run after the run failed. - Invalid
TimeWindowPartitionsDefinitionsthat contain multiple time windows that map to the same partition key (for example, an hourly partitions definition with a daily format key) will now raise anExceptionduringdagster definitions validate, instead of being allowed but causing undefined behavior. - [ui] Entering the asset launchpad by right-clicking on the asset graph no longer causes keyboard navigation issues.
- [ui] Fixed an issue where removing an asset prevented rendering status information for backfills involving that asset in the Dagster UI.
- [dagster-dbt] Fixed issue that could cause the
DbtCliEventMessageiterator to error while parsing certain error messages produced bydbt-core.
1.12.8 (core) / 0.28.8 (libraries)
New
dg plus deploycommands now support Python 3.13 and Python 3.14.
Bugfixes
- Fixed an issue where the Dagster Helm chart and Dagster+ agent helm chart could no longer deploy using Helm without adding the
--skip-schema-validationflag to the Helm deploy command. Thanks @kang8!
1.12.7 (core) / 0.28.7 (libraries)
New
- Optimized performance of calculating partition keys for time window partitions with exclusions.
timedeltaanddatetimeare now available via thedatetimecontext when rendering components (Thanks, @stevenayers!)FreshnessPolicyis now available via thedgcontext when rendering components. (Thanks, @stevenayers!)- Assets may now be annotated with up to 10 kinds (limit was previously 3).
- Arbitrary resource parameters may now be hidden in the UI by setting
json_schema_extra={"dagster__is_secret": True}on the correspondingFielddefinition in the resource class. - The
dg docscli group has been removed. Theintegrationssubcommand has been moved todg utils integrations. - Bumped the
gqldependency indagster-graphqlto be inclusive of v4 for broader transitive dependency compatibility - [dagster-omni] Fix issue where retries would terminate while asynchronously gathering metadata.
- [dagster-tableau] The value of resource parameter
TableauWorkspace.connected_app_secret_valueis now hidden in the UI. - [dagster-tableau] Updated extraction logic to handle hidden sheets. The materializable data sources connected to these sheets are now successfully detected and included as materializable data assets. (Thanks, @miriamcastel!)
Bugfixes
- Fix an AttributeError when calling
map_asset_specson assets defined using theinsparameter. (Thanks, @Jongwan93!) - Fix an issue where backfill runs that incorrectly created unpartitioned materializations of a partitioned asset, or partitioned materializations of an unpartitioned asset due to incorrect asset business logic would move the backfill into an invalid state. Now, the backfill will detect this case and fail the backfill.
- Fixed an issue with
dg plus deploy refresh-defs-statewhich could cause errors when refreshing state for components that required CLIs that were only available in the project environment. - [dagster-dbt] Fixed issue that could cause errors when emitting events for a dbt Cloud job run.
Dagster Plus
- Dagster Plus Pro users can now create service users. Service users are accounts that can authenticate API requests but that are not tied to any particular human user.
1.12.6 (core) / 0.28.6 (libraries)
New
- All CLI commands under
dagster projecthave been removed.create-dagstershould be used instead. - [ui] Added a new Partitions facet to the Asset Lineage Graph.
- [ui] More details are now displayed for
SINCEconditions in evaluation tables for automation conditions. - [dagster-dbt] Added dbt cloud logs to stdout after the run completes in dbt cloud.
- [dagster-tableau] Improved resilience when fetching Tableau workspace data. The integration now skips individual workbooks that fail to return data and logs a warning, rather than failing the entire operation. (Thanks, @miriamcastel!)
Bugfixes
- Fixed an issue that would cause errors when attempting to create subclasses of
Resolvedthat had fields usingdefault_factoryarguments. - Fixed an issue with
dg plus deploy refresh-defs-statewhich could cause errors when refreshing state for components that required CLIs that were only available in the project environment. - [ui] Fixed Snowflake connection by changing the private key encoding from PEM to DER format. Snowflake requires unencrypted RSA private keys to be in DER format as bytes.
- [dagster-dbt] Updated
DbtCliResourceto use theproject_dirattribute from theDbtProjectinstance rather than passing the entireDbtProjectobject. - [dagster-tableau][dagster-sigma] Fixed bug that would cause templated env vars to not be resolved when specified in yaml.
1.12.5 (core) / 0.28.5 (libraries)
New
- Increased the version of NextJS used by the Dagster webserver and the
dg docs servecommand to15.5.7. While these applications are unaffected by https://nextjs.org/blog/CVE-2025-66478 due to not using React 19, this upgrade ensures that dagster packages will not be flagged for that CVE by vulnerability scanners.
1.12.4 (core) / 0.28.4 (libraries)
New
- CI workflows for Gitlab projects can now be scaffolded using
dg plus deploy configure. - "/" characters are now allowed in concurrency pool names.
- Pod wait timeout for K8sPipeClient can now be specified (Thanks, @abhinavDhulipala!)
- New
kindtag icon for Zendesk (Thanks, @kporter13!) - [dagster-tableau] Added
enable_embedded_datasource_refreshandenable_published_datsource_refreshoptions to theTableauComponent, which allow creating materializable assets for the associated datasource types.
Bugfixes
- Fixed an issue where passing in JSON serializable enums to JsonMetadataValue would sometimes result in an error.
- Fixed an issue that would cause
SensorDefinitionsubclasses (e.g.AutomationConditionSensorDefinition,RunStatusSensorDefinition) to be converted to having the wrongsensor_typeproperty when produced from aComponent. - Fixed an issue where the
Flowerconfig map was included in the Helm chart even whenFlowerwas disabled (Thanks, @LoHertel!) - [dagster-dbt] Fixed a
FileExistsErroron Windows when reloadingdbtproject definitions by ensuring the local project directory creation handles pre-existing directories (Thanks, @Jongwan93!) - [dagster-tableau] Fixed a KeyError that occurred when using
workbook_selector_fnto filter assets. Now dependencies are only accessed if they exist in the workspace data. (Thanks, @miriamcastel!) - [dagster-tableau] Fixed an issue where
workbook_selector_fnwas only applied to the first 100 workbooks. - [dagster-tableau] The workbook is now part of the asset key prefix to avoid naming collisions.
- [dagster-tableau] Fixed an issue where workbook names with dots
.were improperly handled.
Documentation
- Updated
dagster-icebergdocs to include recently-added features. (Thanks, @zyd14!)
1.12.3 (core) / 0.28.3 (libraries)
New
- Updated the cursoring logic of
AutomationCondition.since()/AutomationCondition.newly_true()to make them retain access to their stored data in a wider range of scenarios where the underlying condition structure is changed. - Added a
--use-active-venvmethod to a variety ofdgcommands. (Thanks, @cmpadden!) - The
build_defs_at_pathandload_component_at_pathmethods on theComponentLoadContextclass have been renamed tobuild_defsandload_componentrespectively. The previous names have been preserved for backcompat. - The template variables available in the default resolution scope for Components have been reorganized / expanded:
{{ automation_condition.on_cron(...) }}->{{ dg.AutomationCondition.on_cron(...) }}- **new: ** All
AutomationConditionstatic constructors may be accessed via thedgcontext, e.g.:{{ dg.AutomationCondition.on_missing() & dg.AutomationCondition.in_latest_time_window() }}
- **new: ** All
PartitionsDefinitionsubclasses are now available via thedgcontext, e.g.: {{ dg.StaticPartitionsDefinition(['a', 'b', 'c']) }}{{ dg.DailyPartitionsDefinition('2025-01-01') }}{{ project_root }}->{{ context.project_root }}{{ build_definitions_at_path(...) }}->{{ context.build_defs(...) }}{{ load_component_at_path(...) }}->{{ context.load_component(...) }}- All previous template vars will continue to work as before for backcompat.
- [ui] Improve browser performance for large asset graphs.
- [dagster-snowflake] Added
create_snowpark_session()which provides a convenient way to create a Snowpark session. (Thanks, @stevenayers!) - [dagster-snowflake] Added
get_databases(),get_schemas(),get_tables(),get_views(),get_pipes()&get_stages()which provide a pythonic interface for Snowflake introspection. (Thanks, @stevenayers!) - [dagster-dbt] You can now override the
op_config_schemaproperty on theDbtProjectComponentto customize how your dbt execution can be configured at runtime.
Bugfixes
- Added the ability to execute refreshes of embedded and published datasources when using the TableauComponent.
- Fixed a bug in asset partitions where the partition range selector would sometimes stop working.
- [dagster-dbt] Fixed a
FileExistsErroron Windows when reloadingdbtproject definitions by ensuring the local project directory creation handles pre-existing directories. (Thanks, @Jongwan93!) - [dagster-dbt] Fixed an issue introduced in version 1.12.2 that caused the
DbtProjectComponentto not produce asset checks for tests on dbt sources. (Thanks, @stevenayers!)
Documentation
- Added documentation for the community dagster-slurm integration. (Thanks, @geoHeil!)
1.12.2 (core) / 0.28.2 (libraries)
New
- Dagster has dropped support for Python 3.9 (due to end of life). The minimum supported Python version is now 3.10. This is a breaking change originally intended for the 1.12.0 release.
- Added
dg api schedule {list,get}command. - Added new
dg plus deploy configureCLI group that generates all the files necessary to get an existing project ready for deployment via Dagster+. - [ui] A new sidebar in the Asset catalog (behind a feature flag) provides a hierarchical view of your asset keys.
- [ui] Improve a few parts of the "Recent updates" timeline section of the Asset overview page.
- [dagster-census] Added
CensusComponentallowing Dagster assets to sync with census connections. - [dagster-airbyte] New AirbyteWorkspace configurations:
poll_previous_running_sync,max_items_per_page,poll_interval,poll_timeout&cancel_on_termination. (Thanks, @stevenayers and @sonianuj287!) - [dagster-dbt] You can now override the
op_config_schemaproperty on theDbtProjectComponentto customize how your dbt execution can be configured at runtime.
Dagster Plus
- [ui] "Edit public catalog views" is now editable in the role permission list.
1.12.1 (core) / 0.28.1 (libraries)
New
- Migrate SqlComponent to Pydantic v2 model_config pattern (Thanks, @LPauzies!)
- Make
dg apicommands visible indg --helpoutput. - Make
dg pluscommands visible in thedg --helpoutput. - Add Dremio kind icon. (Thanks, @maxfirman!)
- The github actions scaffolded by
dg scaffold github-actionsnow include commands to refresh state forStateBackedComponents. - Run worker health check will now tag runs with their associated ENI ids.
- [ui] In asset sidebar, clearly indicate when a freshness policy is a legacy policy.
- [ui] Cost metrics are now shown on the asset catalog insights page.
- [dagster] New AutomationConditions for checking asset freshness -
dg.AutomationCondition.freshness_passed(),dg.AutomationCondition.freshness_warned()anddg.AutomationCondition.freshness_failed(). (Thanks, @stevenayers!)
Bugfixes
- [ui] Fix a sporadic race condition when loading jobs in the Dagster UI.
- [ui] Fixed an issue where deploying multiple serverless code locations simultaneously would sometimes fail with a "the dagster package dependency was expected but not found" error.
- [ui] Fixed a bug that would cause errors when attempting to supply config to a backfill that targeted assets with checks.
- [ui] Fixed an issue introduced in dagster 1.11.16 where repositories using custom RepositoryData subclasses would sometimes raise an error when viewing jobs in the Dagster UI.
- [ui] Fix sensor descriptions in the automation list.
- [dagster-dask] Fixed an issue where Dask parquet filters configured in YAML would fail with
ValueError: too many values to unpack (expected 3)when using Dask version 2022.4.2. (Thanks, @kudryk!) - [dagster-dbt] Fixed an issue where dagster-dbt runs targeting large numbers of models could cause the underlying
dbtCLI invocation to fail from too many arguments.
Dagster Plus
- [ui] The insights view in the Observe UI now allows you to specify a custom date range.
1.12.0 (core) / 0.28.0 (libraries)
Major changes since 1.11.0 (core) / 0.27.0 (libraries)
UI
- Refreshed UI: The UI has been redesigned and streamlined to make it easier to find common utilities quickly. Navigation elements have been moved from a header to a collapsible sidebar to help highlight important workflows and provide more visual space throughout the product.
Components
- Components GA: The Components framework and the
dgCLI are now marked as GA (previously Release Candidate). The APIs are fully supported throughout all parts of the product and remain the recommended defaults for new Dagster projects. - Standardized Integrations: Integration components have been updated to have
execute()andget_asset_spec()methods that can be overridden by subclasses, making it easier and more consistent to customize your components. - New Components:
- State-Backed Components: Added a new
StateBackedComponentabstract base class that enables components to persist and manage state separately from their YAML / Python configuration. This is particularly useful for integration components that need to fetch external data. State can be managed locally, in versioned storage, or via code server snapshots. Many integration components (AirbyteWorkspaceComponent,FivetranAccountComponent,PowerBIWorkspaceComponent,AirflowInstanceComponent, andDbtProjectComponent) now extendStateBackedComponentto provide better control over state management. You can check out the docs here!
Simplified Deployment
dg scaffold build-artifactsscaffolds Docker and configuration files needed to build and deploy your Dagster project to Dagster Cloud, with support for multiple container registries (ECR, DockerHub, GHCR, ACR, GCR).dg scaffold github-actionsgenerates a complete GitHub Actions CI/CD workflow for deploying to Dagster Cloud, with auto-detection of Serverless vs Hybrid agents and guided setup for required secrets.
Core Orchestration
- FreshnessPolicies GA: The new FreshnessPolicy API introduced in 1.10.0 has stabilized and is now marked as GA (previously Preview). These supersede the
LegacyFreshnessPolicyAPI (formerlyFreshnessPolicy, deprecated in 1.10.0), as well as freshness checks.FreshnessPolicyandapply_freshness_policyare now exported from the top-leveldagstermodule (instead ofdagster.preview.freshness).- The
build_.*_freshness_checksmethods have been marked assuperseded. Their functionality will remain unchanged, but we recommend usingFreshnessPolicys for new use cases. - The
FreshnessDaemonnow runs by default, rather than needing to be explicitly enabled viadagster.yamlsettings. To turn it off, set:freshness:
enabled: false
- Configurable Backfills: Run config can now be supplied when launching a backfill, allowing you to specify configuration that will be applied uniformly to all runs.
- Time-based partition exclusions: All subclasses of
TimeWindowPartitionsDefinitionnow support anexclusionsparameter, which allows you to exclude specific dates/times or recurring schedules from your partition set. This is useful for implementing custom calendars that exclude weekends, holidays, or maintenance windows. Exclusions can be specified as cron strings (e.g.,"0 0 * * 6"for Saturdays) or datetime objects for specific dates. - Execution Dependency Options: All
Executors have been updated to accept an optionalstep_dependency_configparameter with arequire_upstream_step_successflag. When set toFalsevia{"step_dependency_config": {"require_upstream_step_success": False}}, downstream steps can start as soon as their required upstream outputs are available, rather than waiting for the entire upstream step to complete successfully. This is particularly useful for large multi-assets where downstream assets only depend on a subset of upstream outputs.
Support & Docs
- We launched a new Support Center with help articles on Dagster+ Hybrid and Serverless troubleshooting, and answers to customer questions previously answered by our support team.
- In our docs:
- We reorganized the Examples section for easier navigation, and added new full pipeline examples on using Dagster with DSpy and PyTorch, as well as targeted mini examples that showcase best practices for:
- We added new guides to help you:
- We added links to Dagster University, our popular Python Primer blog post series, Dagster Deep Dives, customer case studies, Dagster Open Platform, and sales demo example pipelines so you can access all the resources you need to learn about Dagster in one place.
Changes since 1.11.16 (core) / 0.27.16 (libraries)
New
- In the Dagster helm chart, images can now be specified by digest (Thanks, @pmartincalvo!)
- The
MultiprocessExecutor,DockerExecutor, andK8sJobExecutornow retry according to their configured retry policy when the step fails during resource initialization. - [dagster-aws] Added an optional
key_prefixparameter toPipesS3ContextInjector(Thanks, @elipinska!) - [dagster-azure] Added a new
PipesAzureMLClient. - [dagster-pipes] Added support for
AzureBlobStorage. - [dagster-tableau] Added a new
TableauComponent - [dagster-looker] Added a
LookerComponent - [dagster-sigma] Added a new
SigmaComponent. - [dagster-dbt] The
DagsterDbtTranslatorno longer has aget_freshness_policymethod, nor does it automatically parse the legacy / deprecatedLegacyFreshnessPolicyobjects from dbt model configuration. - [dagster-sling] The
DagsterSlingTranslatorno longer has aget_freshness_policymethod, nor does it automatically parse the legacy / deprecatedLegacyFreshnessPolicyobjects from sling configuration.
Bugfixes
- Asset jobs that are unable to resolve their asset selection (for example, due to targeting an empty set of asset keys) will now raise a clearer exception at definition load time explaining which job failed to resolve its asset selection.
- Fixed an issue where automatic run retries of runs that only targeted asset checks would sometimes fail with a
DagsterInvalidConfigError. - [ui] Fixed issue causing sensor descriptions to not be displayed in the automation list.
- [dagster-dbt] Fixed a bug causing
enable_code_referencesto result in errors for dbt assets.
Documentation
- Corrected several typos and inconsistencies in the helm chart documentation (Thanks, @piggybox!)
1.11.16 (core) / 0.27.16 (libraries)
New
- The proxy GRPC server heartbeat TTL can now be configured with the DAGSTER_GRPC_PROXY_HEARTBEAT_TTL_SECONDS env var (default remains 30 seconds).
Bugfixes
- Fixed an issue introduced in dagster 1.11.15 where code locations that previously loaded would sometimes fail to load with a
gRPC Error code: RESOURCE_EXHAUSTEDerror. - Fixed an issue where defining a repository using a dictionary of job definitions with a key that did not match the name of the job would work when running dagster locally but not when using Dagster+.
- [components] Fixed a bug that caused errors when using the
DbtProjectComponent,FivetranAccountComponent, and similar state-based components in k8s deployments due to a missingStateStorageobject in context. - [dagster-omni] Added a dependency on
python-dateutiltodagster-omni. (Thanks, @bollwyvl!)
1.11.15 (core) / 0.27.15 (libraries)
New
- All sequences are now supported in
AssetKey.with_prefix. (Thanks, @aksestok!) - [ui] Introduce new navigation, with main navigation items previously in top navigation now in a collapsible left nav.
- [ui] Improve loading performance of Runs page.
- [dagster-databricks] Add support for
notebook_taskinPipesDatabricksClient. (Thanks, @SoerenStahlmann!)
Bugfixes
- Fixed an issue where
fetch_row_countsandfetch_column_metadatado not execute in the same working directory as the underlying dbt command. - Fixed a bug with
AutomationCondition.execution_failedthat would cause it to be evaluated asTruefor an unpartitioned asset in cases where the latest run failed, but the asset itself materialized successfully before that failure. - Unrelated resource keys are now no longer included in the run config schema for subselections of assets.
- Ignored nodes are properly excluded when generating run config for an implicit asset job
- Invalid UTF-8 in stderr compute logs are now handled gracefully. (Thanks, @2bxtech!)
- [ui] Fix top nav rendering for Plus users.
- [dagster-celery] Fix Celery executor ignoring pools for ops. (Thanks, @kkanter-asml!)
- [dagster-dbt] Fixed issue that made custom template vars unavailable when specifying them for the
cli_args:field of theDbtProjectComponent. - [dagster-cloud-cli] Fixed an issue where deploying multiple serverless code locations or code locations with a custom project directory would sometimes fail with an "The dagster package dependency was expected but not found." error.
Documentation
- Fixed broken social media link in docs. (Thanks, @MandyMeindersma!)
Dagster Plus
- [ui] Fix home page performance for users with large numbers of automations and jobs.
- [ui] Fix a sporadic JavaScript error that can crash the page when loading insights charts.
1.11.14 (core) / 0.27.14 (libraries)
New
UnionTypes(e.g.Foo | Bar) are now supported inConfigurableResources. (Thanks, @DominikHallab!)- Added an
output_metadataparameter tobuild_output_context(Thanks, @zyd14!) ResolvedAssetSpecand related resolvers now support setting thefreshness_policyfield.dagster-dbt project prepare-and-package --components .will no longer attempt to load components outside ofDbtProjectComponent, preventing errors when attempting to run this command in environments that do not have the necessary env vars set for other components.click<8.2upper bound has been removed- [dagster-airbyte][dagster-fivetran][dagster-powerbi][dagster-sling][dagster-dlt] The
AirbyteWorkspaceComponent,FivetranAccountComponent,PowerBIWorkspaceComponent,SlingReplicationCollectionComponent, andDltLoadCollectionComponentcomponents have been updated to include aget_asset_specmethod that can be overridden by subclasses to modify translation behavior. - [dagster-airbyte][dagster-fivetran] The
AirbyteWorkspaceComponentandFivetranAccountComponenthave been updated to include anexecute()method that can be overridden by subclasses to modify runtime execution behavior. - [dagster-airbyte] The
AirbyteWorkspaceComponentno longer binds an"io_manager"or"airbyte"resource, meaning it can be used in tandem with other definitions that use those keys without causing conflicts. - [dagster-dbt] The
DbtProjectComponentnow supports overridingget_asset_specandget_asset_check_specmethods when subclassing. - [dagster-fivetran] The
FivetranAccountComponentno longer binds an"io_manager"or"fivetran"resource, meaning it can be used in tandem with other definitions that use those keys without causing conflicts.
Bugfixes
- Fixed a bug that would cause errors when instantiating a
TimeWindowPartitionsDefinitionwith a monthly schedule and the default day offset. - [ui] The
Materializebutton in the lineage view is now disabled while the view is updating to avoid inconsistencies when launching runs. - [ui] Fixed an issue where the "View error" link in the popup that displayed when a backfill failed to launch was very difficult to see.
- [dagster-dbt] Fixed issue where the
selectandexcludeparameters to@dbt_assetswould be ignored when generatingAssetCheckSpecs(Thanks, @nathanskone!) - [dagster-powerbi] Previously, assets generated for semantic models would have a kind tag with an invalid space character (
"semantic model"). Now, they have the kind tag"semantic_model". - [dagster-sling] Resolved issue that caused the substring "INF" to be stripped from all logs.
1.11.13 (core) / 0.27.13 (libraries)
New
- [dagster-deltalake,dagster-deltalake-polars] BREAKING CHANGE - we now support
deltalake>=1.0.0fordagster-deltalakeanddagster-deltalake-polarsand we will no longer supportdeltalake<1.0.0moving forward. End user APIs remain the same for both libraries. - [dagster-databricks] Spark Python and Python Wheel tasks are now supported in
PipesDatabricksServerlessClient. - [dagster-dbt]
dagster-dbt project prepare-and-package --components .will no longer attempt to load components outside ofDbtProjectComponent, preventing errors when attempting to run this command in environments that do not have the necessary env vars set for other components. - [dg] adds
dg api secret listanddg api secret get
Bugfixes
- Fixed a bug in the backfill daemon where an asset backfill with CANCELING or FAILING status could become permanently stuck in CANCELING or FAILING if the partitions definitions of the assets changed.
- Fixed an issue introduced in the 1.11.12 release where auto-complete in the Launchpad for nested fields stopped working.
- Fixed an issue where backfills would fail if a TimeWindowPartitionsDefinition's start date was changed in the middle of the backfill, even if it did not remove any of the targeted partitions.
- [ui] Fixed the link to "View asset lineage" on runs that don't specify an asset selection.
1.11.12 (core) / 0.27.12 (libraries)
New
- [ui] Allow searching across code locations with
*wildcard in selection inputs for jobs and automations. - [ui] Added
AutomationCondition.all_new_executed_with_tags, which allows automation conditions to be filtered to partitions that have been materialized since the last tick from runs with certain tags. This condition can be used to require or prevent certain run tags from triggering downstream declarative automation conditions.
Bugfixes
- In
dagster==1.11.1,partitioned_configwas unintentionally removed from the public exports of the top-leveldagsterpackage. This has been fixed. - Avoid adding trailing whitespace in env vars that use dot notation in components. Thanks @edgarrmondragon!
- [dagster-airbyte] Fix the pagination url issue for the Airbyte API. Thanks @stevenayers!
- [dagster-dbt] Fixed an issue with the DbtCloudWorkspaceClient that would cause errors when calling
trigger_job_runwith no steps_override parameter.
Dagster Plus
- [ui] Add Cost insights.
- [ui] For users who have inherited org roles from a team, show those roles when editing the user.
- [ui] Fix per-asset and per-job insights graphs.
1.11.11 (core) / 0.27.11 (libraries)
New
anthropic,mcp, andclaude-code-sdkdependencies ofdagster-dg-cliare now under a separateaiextra, allowingdagster-dg-clito be installed without these dependencies.- Added
AutomationCondition.all_new_updates_have_run_tagsandAutomationCondition.any_new_update_has_run_tags, which allows automation conditions to be filtered to partitions that have been materialized since the last tick from runs with certain tags. This condition can be used to require or prevent certain run tags from triggering downstream declarative automation conditions. These conditions are similar toAutomationCondition.executed_with_tags, but look at all new runs since the most recent tick instead of just looking at the latest run.
Bugfixes
- Fixed a bug which would cause steps downstream of an asset with
skippable=Trueand a blocking asset check to execute as long as the asset check output was produced, even if the asset output was skipped. - When a backfill fails, it will now cancel all of its in-progress runs before terminating.
- Fixed an issue that would cause trailing whitespace to be added to env vars using dot notation (
{{ env.FOO }}) when listing the env vars used by a component. (Thanks, @edgarrmondragon!) - Fixed issue that would cause errors when using multi to single partition mappings with
DbIOManagers. - [ui] Fixed issue with the "Report materialization" dialog for non-partitioned assets.
- [ui] Typing large YAML documents in the launchpad when default config is present is now more performant.
- [ui] Fixed an issue where setting a FloatMetadataValue to float('inf') or float('-inf') would cause an error when loading that metadata over graphql.
- [ui] The "Clear" button in the dimension partition text input for multi-partitioned assets now clears invalid selections as expected.
- [dagster-dbt] Fixed an issue with the
DbtCloudWorkspaceClientthat would cause errors when callingtrigger_job_runwith nosteps_overrideparameter.
1.11.10 (core) / 0.27.10 (libraries)
New
- Added
inline-componentcommand to the publicly available scaffold commands in the Dagster CLI. - Added a new
require_upstream_step_successconfig param to all executors. If{"step_dependency_config": {"require_upstream_step_success": False}}is set, this will allow downstream steps to execute immediately after all required upstream outputs have finished, even if the upstream step has not completed in its entirety yet. This can be useful particularly in cases where there are large multi-assets with downstream assets that depend on only a subset of the assets in the upstream step. - The
logsForRun resolvers andeventConnection resolvers in the Dagster GraphQL API will now apply a default limit of 1000 to the number of logs returned from a single graphql query. Thecursor field in the response can be used to continue iterating through the logs for a given run. - [dagster-airbyte]
@airbyte_assetsandAirbyteWorkspaceComponent(previouslyAirbyteCloudWorkspaceComponent) now support Airbyte OSS and Enterprise.
Bugfixes
- Fixed an issue where the
dagster_dg_clipackage failed to import when using Python 3.9. - Fixed an issue with
AutomationCondition.eager()that could cause runs for materializable assets to be launched at the same time as an upstream observable source asset that had an automation condition, even if the upstream observation would not result in a new data version. - Fixed an issue which could, in some circumstances, cause errors during Declarative Automation evaluation after a dynamic partition was deleted.
- Fixed an issue that could cause confusing errors when attempting to supply
attributesconfiguration toComponentsubclasses that did not inherit fromResolvable. - Added a Matillion kind tag, thanks @RobBrownFreeAgent!
- [ui] Fixed an issue where the "Report materialization events" dialog for partitioned assets only worked if the partition was failed or missing.
- [ui] Fixed a browser crash which could occur in the global asset graph.
- [ui] Fixed a bug with the sensor preview behavior that would cause run requests contianing
run_keys that had already been submitted to show up in the preview result. - [dagster-dbt] Fixed an issue that would cause the DbtCloudWorkspace to error before yielding asset events if the associated dbt Cloud run failed. Now, it will raise the error after all relevant asset events have been produced.
- [dagster-dbt] Added the
dbt-coredependency back todagster-dbtas it is still required for the dbt Cloud integration. If bothdbt-coreanddbt Fusionare installed,dagster-dbtwill still prefer usingdbt Fusionby default.
Documentation
- Introduced a new "Post-processing components" guide.
- Fixed incorrect YAML code snippets for alert policies docs page.
- Fixed incorrect chart keys in Helm documentation. Thanks, @charlottevdscheun!
- Fixed incorrect owner tags in Components docs. Thanks, @aaronprice00!
Dagster Plus
- Improved the Dagster+ agent's retry behavior during when it experiences outbound connection timeouts while a code location is being deployed.
1.11.9 (core) / 0.27.9 (libraries)
New
- Subclasses of
Resolvednow support fields of typedict[str, T]. - [ui] Added a new 'arrow' icon to the set of supported kind tags (thanks @aleewen!)
Bugfixes
- Launching a backfill of a non-subsettable multi-asset without including every asset will now raise a clear error at backfill submission time, instead of failing with a confusing error after the backfill has started.
- Fixed an issue where passing in an empty list to the
assetKeysargument of theassetsOrErrorfield in the GraphQL API would return every asset instead of an empty list of assets. - [dagster-dbt] Fixed an issue that would cause the DbtCloudWorkspace to error before yielding asset events if the associated DBT Cloud run failed. Now, it will raise the error after all relevant asset events have been produced.
Dagster Plus
- Serverless pex builds now support pyproject.toml-based packages.
1.11.8 (core) / 0.27.8 (libraries)
New
- A param
exclusionswas added to time window partition definitions to support custom calendars. - The
dagsterlibrary now supportsprotobuf==6.x - [dg]
dg scaffold defs --helpnow shows descriptions for subcommands. - [dg] A new
dg check tomlcommand has been added to validate your TOML configuration files. - [dagster-databricks] The
DatabricksAssetBundleComponenthas been added in preview. Databricks tasks can now be represented as assets and submitted via Dagster. - [dagster-dbt] The DbtProjectComponent now takes an optional
cli_argsconfiguration to allow customizing the command that is run when your assets are executed. - [dagster-dbt] The polling interval and timeout used for runs triggered with the
DbtCloudWorkspaceresource can now be customized with theDAGSTER_DBT_CLOUD_POLL_INTERVALandDAGSTER_DBT_CLOUD_POLL_TIMEOUTenvironment variables. - [ui] Added the ability to filter to failed/missing partitions in the asset report events dialog.
- [ui] A tree view has been added in the Global Asset Lineage.
- [telemetry] Telemetry disclaimer now prints to stderr.
Bugfixes
- Fixed an issue that would require config provided to backfills to contain config for all assets in the code location rather than just the selected ones.
1.11.7 (core) / 0.27.7 (libraries)
New
dgwill now report multiple detected errors in a configuration file instead of failing on the first detected error.- It is now possible to supply run config when launching an asset backfill.
- Updated the root URL to display the Overview/Timeline view for locations with schedules/automations, but no jobs (thanks @dschafer!)
- Added
tzdataas a dependency todagster, to ensure that declaring timezones likeUS/Centralwork in all environments. - [dagster-dg-cli] Updated scaffolded file names to handle consecutive upper case letters (ACMEDatabricksJobComponent → acme_databricks_job_component.py not a_c_m_e_databricks_job_component.py)
- [dagster-dg-cli] Validating
requirements.envis now opt-in fordg check yaml. - [dagster-dbt]
DAGSTER_DBT_CLOUD_POLL_INTERVALandDAGSTER_DBT_CLOUD_POLL_TIMEOUTenvironment variables can now be used to configure the polling interval and timeout for fetching data from dbt Cloud.
Deprecations
- [components] Removed deprecated and non-functional
asset_post_processorsfields fromSlingReplicationCollectionComponentandAirflowInstanceComponent.
1.11.6 (core) / 0.27.6 (libraries)
New
- Allow explicit git
platformselection inlink_code_references_to_git, thanks @chazmo03!
Bugfixes
- Fixed issue causing
AutomationCondition.replaceto not update built-in sub-conditions that did not have an explicit label, thanks @dschafer! - Fixed an issue where assets were considered stubs if they were a stub in any code location.
- Projects using components no longer cause "job definitions changed while uploading" errors on older agent versions.
- [dagster-dbt] Fixed a bug that could cause execution to fail if
enable_code_referenceswas set toTrueon theDagsterDbtTranslatorSettings.
Documentation
- Updated documentation of
dagster.yamlto include thenuxoption, thanks @dwisdom0!
Dagster Plus
- Fix "Create a support ticket" dialog submissions.
1.11.5 (core) / 0.27.5 (libraries)
New
- Static functions on classes decorated with
@template_varcan now optionally accept aComponentLoadContextargument. - [dg] A MCP server is available to expose
dgCLI capabilities to MCP clients. See thedg mcpCLI group for details. - [dagster-dbt] The
dagster-dbtpackage no longer has a dependency ondbt-core. - [dagster-dbt][preview] Users of the dbt Fusion CLI can now use the
dagster-dbtpackage to run dbt commands with no changes to their existing dagster code. This support is still in preview as the format of the log messages produced by the dbt Fusion CLI is still subject to change. Let us know if you notice any incompatibilities. - [dagster-databricks] Added a
PipesDatabricksServerlessClientto support Databricks Serverless jobs with Dagster pipes. - [dagster-databricks] Added additional options for cluster configuration (thanks @jmccartin!)
Bugfixes
- Various bugfixes for backfills that target assets which change their partitions definition mid-backfill.
- [ui] Fixed issue that could cause errors related to the
ObjectMetadataValueclass.
Documentation
- Added docs for using Spark Connect and Databricks Connect with Dagster.
1.11.4 (core) / 0.27.4 (libraries)
New
- Schedules now support specifying a subset of asset checks to execute in a
RunRequest. - [dg] A new
docs integrationscli is available for viewing an index of available integrations. - [ui] Jobs can now be filtered with a selection syntax.
- [dagster-tableau] Dashboards containing hidden sheets are now correctly linked to upstream data sources.
- [dagster-tableau] Tableau sheets and dashboards now produce observation events instead of materialization events when using
refresh_and_pollinside the@tableau_assetsasset decorator.
Bugfixes
- Fixed a set of issues with the asset backfill system that could, in rare cases, cause runs to be kicked off out of order or never be kicked off.
- Fixed issue where additional args passed into a PermissiveConfig object could not be accessed via dot notation (thanks @CarlyAThomas and @BoLiuV5!)
- Duplicate definitions are no longer incorrectly created when including jobs for schedules & sensors when loading from a
defsfolder. - [components] Fixed an incorrect import being generated when scaffolding a component in Python. (thanks, @ajohnson5!)
- [dg] when assets are selected via
--assets, other definitions types will no longer be displayed.
Documentation
- Fixed typo in the
polars.mdexample doc (thanks @j1wilmot!) - Fixed a typo in the ETL tutorial docs (thanks @yumazak!)
1.11.3 (core) / 0.27.3 (libraries)
New
-
Introduced
AssetExecutionContext.load_asset_value, which enables loading asset values from the IO manager dynamically rather than requiring asset values be loaded as parameters to the asset function. For example:@dg.asset(deps=[the_asset])
def the_downstream_asset(context: dg.AssetExecutionContext):
return context.load_asset_value(dg.AssetKey("the_asset")) -
Expose asset_selection parameter for
submit_job_executionfunction in DagsterGraphQLClient, thanks @brunobbaraujo! -
Large error stack traces from Dagster events will be automatically truncated if the message or stack trace exceeds 500kb. The exact value of the truncation can be overridden by setting the
DAGSTER_EVENT_ERROR_FIELD_SIZE_LIMITenvironment variable. -
Added
databento,ax, andbotorchkind tags, thanks @aleewen and @CompRhys! -
[dagster-k8s] Added the option to include
ownerReferencess to k8s executor step jobs, ensuring that the step job and step pod are properly garbage collected if the run pod is deleted. These can be enabled by setting theenable_owner_referencesflag on the executor config. -
[components] Added
dg list component-treecommand which can be used to visualize the component tree of a project. -
[components] Added the ability to reference, load, and build defs for other components in the same project. In YAML, you may use the
load_component_at_pathandbuild_defs_at_pathfunctions:type: dagster.PythonScriptComponent
attributes:
execution:
path: my_script.py
assets:
- key: customers_export
deps:
- "{{ load_component_at_path('dbt_ingest').asset_key_for_model('customers') }}"
Bugfixes
- [components] Python component instances are now properly loaded from ordinary Python files.
- Fixed an issue that could cause asset backfills to request downstream partitions at the same time as their parent partitions in rare cases.
- Fixed a bug that could cause
@graph_assets to not properly apply theAllPartitionMappingorLastPartitionMappingto dependencies, thanks @BoLiuV5! - Fixed a bug that could cause code locations to fail to load when a custom python AutomationCondition was used as the operand of
AutomationCondition.any_deps_match()orAutomationCondition.all_deps_match(). - The
create-dagsterstandalone executable now works on all Linux versions using glibc 2.17 or later. - [ui] Partition tags are now properly shown on the runs page, thanks @HynekBlaha!
- [ui] Using the "Retry from Asset Failure" option when retrying a run that failed after materializing all of its assets will now correctly indicate that there is no work that needs to be retried.
- [ui] The timeline tab on the Overview page now shows runs by sensor when they were launched by an automation condition sensor, instead of showing every row in the same "Automation condition" row.
- [ui] Fixed an issue where filtering to an asset group on the lineage page did not apply the correct repository filter in code locations with multiple repositories.
- [ui] Fixed an issue where asset checks referencing asset keys that did not exist in the asset graph did not appear in the Dagster UI.
- [ui] Fixed occasional crashes of the asset graph on the asset lineage tab.
- [dagster-dbt] The
@dbt_assetsdecorator and associated APIs no longer error when parsing dbt projects that contain an owner with multiple emails.
Documentation
- Fixed typos in the ELT pipeline tutorial, thanks @aaronprice00 and @kevJ711!
- Fixed typos in components docs, thanks @tintamarre!
- Fixed error in Sling docs, thanks @nhuray!
- Updated the
AutomationCondition.replacetype signature to provide callers more information about the returnedAutomationCondition, thanks @dschafer!
Dagster Plus
- Catalog search now uses a similar syntax to the selection syntax for filtering by attribute (eg:
Code location: location->code_location: location.
1.11.2 (core) / 0.27.2 (libraries)
New
- The
dagsterpackage now supports Python 3.13. - [dagster-tableau] Tableau assets can now be subsetted and materialized individually. #31078
- [dagster-snowflake-polars] The new
dagster-snowflake-polarspackage adds aSnowflakePolarsIOManagerthat can be used to read and write Snowflake tables using Polars.
Bugfixes
- [ui] Fixed some cases where strings would be incorrectly middle-truncated.
Documentation
- [dbt] Fixed incorrect reference to
dbt_profiles.ymlin thedagster-dbttutorial (thanks @EFox2413!). - [dbt] Added documentation for the new dbt Cloud integration.
Dagster Plus
- [ui][observe] You can now bulk add/remove assets to/from your favorites.
1.11.1 (core) / 0.27.1 (libraries)
New
dagster definitions validatewill now raise an exception if there are invalid partition mappings between any assets in your asset graph (for example, an upstream and downstream asset with time-based partitions definitions using different timezones).- Performance improvements for run dequeuing when there are many queued runs using pools.
- [ui] For times in the last two days, Dagster UI now shows e.g. "47 hours ago" instead of "2 days ago."
- [ui] Asset checks now show whether they are
blocking. - [dagster-tableau] Tableau workbooks fetched in Dagster can now be filtered and selected using the WorkbookSelectorFn.
Bugfixes
@graphnow correctly allows omitting inputs when the destinations of an input mapping have a default value.@recordclasses no longer create problematic namespace conflicts with the symbol "check."- [ui] Filtering by partition on the Asset Events view now works as expected.
- [ui] Assets without definitions can now be properly wiped in the Asset Catalog.
Documentation
- Added clearer setup instructions for Windows and Linux users to the Contributing documentation, thanks @oohwooh!
- Fixed broken links in the Contributing documentation, thanks @emmanuel-ferdman!
Dagster Plus
- [ui] Fixed an issue that prevented status filtering from working within the selection syntax.
dg & Components
- Fixed an issue where
dg scaffold github-actionswould invoke thedgCLI with outdated parameters for serverless orgs. - [dagster-dlt] Fixed an issue where the default scaffolded dlt load led to an invalid asset key.
1.11.0 (core) / 0.27.0 (libraries)
Major changes since 1.10.0 (core) / 0.26.0 (libraries)
Components — Configurable, reusable building blocks for data pipelines (now stable)
Components, first released as Preview in 1.10.6, have reached Release Candidate status. APIs are stable, fully documented, and are the recommended, production-ready defaults for new Dagster projects.
- Simplified interface: A short YAML block in
defs.yaml, or a lightweightComponentsubclass in Python, lets you spin up arbitrary Dagster definitions (such as assets, resources, schedules, checks, and more), removing boilerplate while keeping every definition type-checked. - Custom components: Subclassing
Componentlets you wrap any internal script or third-party tool behind a strongly-typed interface; get the same autocompletion and docs as first-party integrations. - Pythonic templating: Register variables or helpers with
@template_varso pipeline authors edit parameters directly in YAML without touching Python. Optional inline components keep small bits of Python co-located. - Powerful tooling: High quality errors, strongly-typed schemas, rich CLI support, and auto-generated docs directly in the UI.
- Read the docs: https://docs.dagster.io/guides/build/components/
dg — the everything-CLI for developer experience (now stable)
The dg CLI provides a single surface for scaffolding, local iteration, execution, and static analysis; introduced as Preview in 1.10.6, it has also reached Release Candidate status.
- Scaffolding: Namespaced scaffold commands such as
dg scaffold defs dagster.asset assets.py,dg scaffold component …to quickly generate definitions without boilerplate. - Local development & ad-hoc execution:
dg devspins up local instance with UI;dg launchruns jobs and assets from the CLI. - Introspection & checks:
dg listenumerates definitions;dg checkvalidates YAML and Python code. - Utility bundle:
dg utilsprovides support for Cursor/VSCode schema setup, JSON-schema export, and deep component inspection. - CLI reference: https://docs.dagster.io/api/dg/dg-cli
create-dagster — one-shot project scaffold
create-dagster scaffolds a ready-to-run Dagster project or workspace in one command (pipx, uvx, brew, curl friendly).
create-dagster projectsupersedes thedagster project scaffoldflow with the modernsrc/+defs/layout and a pre-wired localdgCLI, with no active Python environment required.- Docs: https://docs.dagster.io/guides/build/projects/creating-a-new-project
Core Orchestration
- Retry from asset failure with multi‑assets – a new re‑execution option allows rerunning only failed assets in multi-asset steps, rather than all assets within a failed step.
- Checks emitted from ops –
AssetCheckEvaluationobjects can now be yielded from within ops. - Per‑asset hooks –
@assetnow accepts ahooksargument for success/failure callbacks. - Backfill improvements
BackfillPolicyis now GA- Backfills can now use a threadpool for more efficient run submission. By default, the daemon will now use 4 workers.
- Concurrency enhancements – run blocking is now on by default for concurrency pools, preventing oversubscription when scheduling runs.
- FreshnessPolicy — A new
FreshnessPolicyAPI is introduced, replacing the deprecatedFreshnessPolicyAPI (which has been renamed toLegacyFreshnessPolicy). The API is under active development, and will eventually also supersede freshness checks as the primary way of specifying and evaluating asset freshness. For more details, check out the GitHub announcement and the docs.
UI
- Unified asset selection syntax lets you combine lineage traversal, attribute filters, and boolean logic in a single expression; the same syntax powers Alerts, Insights, Saved Selections, the Asset Catalog, and Components YAML. An analogous op-selection syntax is available in the Gantt view of a single run. [docs]
- Redesigned, customizable asset-graph nodes with health overlays and deeper zoom.
- Runs › Backfills consolidates all backfill activity under the Runs page for faster navigation.
Integrations
- Fivetran integration GA: the
FivetranWorkspaceresource is now GA [docs]. - Airflow (Beta): Airflow Component lets you surface Airflow DAGs inside Dagster for mixed-orchestrator observability [docs].
- dbt Cloud (Beta): first-class job launches and lineage capture [docs].
- Apache Iceberg (Preview): Iceberg IOManager writes/reads lake-house tables [docs].
- Integrations Marketplace (Preview): “Integrations” tab to browse first- and third-party integrations natively in Dagster UI (enable via User Settings → “Display integrations marketplace”).
Changes since 1.10.21 (core) / 0.25.21 (libraries)
New
MaterializeResultnow optionally supports avalueparameter. If set, the asset's IOManager will be invoked. You may also optionally annotate your return types with-> MaterializeResult[T]to indicate the specific value type you expect.- Allow importing
FreshnessPolicyfromdagster.deprecated. - Adds a custom error message when importing
FreshnessPolicyfrom thedagstermodule. freshness_policyparameter now used to pass the new freshness policies (InternalFreshnessPolicy) to asset specs, asset decorator, etc.- Removed
@previewfrom@definitions. - [components] Introduce
build_defs_for_component, which can be used to build defs from a component instance outside of adefsfolder. - [components] Removed
@previewfromDefsFolderComponent. - [components] Removed
@previewdecorator fromload_from_defs_folderand enhanced its documentation with detailed usage instructions and examples. - [components] The
asset_post_processorsfield onSlingReplicationCollectionComponentandAirflowInstanceComponentis no longer supported, and has been replaced with the top-levelpost_processorsfield. - [dagster-tableau] Tableau workbooks fetched in Dagster can now be filtered and selected using the WorkbookSelectorFn.
- [dagster-dbt]
dagster-dbtnow supports dbt-core 1.10. - [dagster-dbt] dbt tests with error severity are now modeled as blocking asset checks, ensuring that if a run fails due to a dbt test failure, the connected model is included in a retried run if it is retried using the experimental "Enable retries from asset failure" feature. This change should not result in any behavior changes during execution since the dbt cli already fails the step and any downstream models if dbt tests fail with error severity, but could change the behavior that depends on blocking tests.
- [dagster-sigma] When fetching data from the sigma API, the
SigmaOrganizationresource will now use an exponential backoff strategy in response to getting rate limited instead of immediately failing. - [dagster-sling] Removed
asset_post_processorsonSlingReplicationCollectionComponentand uses genericpost_processingkey at top-level instead. - [dagster-pandera] Adds support for version 0.24.0 of the
panderalibrary todagster-pandera, dropping support for pandera 0.23.1 and below. - [ui] Show whether an asset check is
blocking.
Bugfixes
- [dagster-dlt] Fixed an issue where the default scaffolded dlt load led to an invalid asset key.
- Fixed a bug with
DAGSTER_GRPC_SENSOR_TIMEOUT_SECONDSnot being propagated through from daemon to code servers, resulting in the sensor still timing out at 60 seconds if thedagster code-server startentrypoint was used. - [dagster-sling] Fixed an issue with the
SlingResourcethat could cause values specified withEnvVars to provide the env var name instead of the env var value to the sling replication configuration. - [ui] Fix timestamps on the "Recent events" view on some assets.
- [ui] Fix "View" link color on code location status toasts.
Breaking Changes
DefinitionsandAssetsDefinitionwill now error if they get differentAssetSpecs with the same key.- Renamed
FreshnessPolicytoLegacyFreshnessPolicy.
Deprecations
- [dagster-sling] The
SlingReplicationCollectionComponentis now configured by passingconnectionsdirectly. This means that theslingyaml field and theresourcepython argument are both deprecated, and will be removed in a future release. Theconnectionsfield in yaml now shares a format with Sling'senv.yaml. - [components] The
load_defsentrypoint has been deprecated in favor ofload_from_defs_folder, which takes a single path for a folder to load definitions from rather than a module object. - [components] The no longer recommended
inline-componentsubcommand ofdg scaffold defsis now hidden from --help. - [components]
load_defsis no longer public.
Dagster Plus
- The billing page has been updated to show available plans front-and-center and recommend a plan based on trial usage.
- The trial "days remaining" banner and "choose a plan" CTAs have been re-designed.
1.10.21 (core) / 0.26.21 (libraries)
New
- [dagster-tableau] The
tableau_assetsdecorator is now available to create the asset definitions of all materializable assets in a given Tableau workspace. These assets can be subsetted and materialized using theTableauCloudWorkspace.refresh_and_pollmethod. - [dagster-tableau] The deprecated
get_*_asset_keymethods on theDagsterTableauTranslatorclass have been removed. - [ui] Show tags for a Job on the sidebar of the Job page. #30728
Bugfixes
- Fixed a bug where "falsey" defualt config values were not showing up in the launchpad. This has been fixed for all cases except the empty dictionary.
- Fixed an issue with the new "re-execute from asset failure" functionality that could cause additional steps to be included if the job was previously re-executed from step failure.
- Fixed an issue where the
staleStatusByPartition,staleCausesByPartition, anddataVersionByPartitionfields on the graphqlAssetNodewould fail when called on an asset with dynamic partitions. - [dagster-dbt] Fixed an issue where creating a DagsterDbtTranslator that didn't call the parent class's constructor in its
__init__method would raise an Exception during execution. - [dagster-sling] Removed upper-bound pin on the
slingdependency. - [dagster-sling] Fixed an issue with the
SlingResourcethat could cause values specified withEnvVars to provide the env var name instead of the env var value to the sling replication configuration. - [dagster-fivetran] Introduced a
dagster-fivetran snapshotcommand, allowing Fivetran workspaces to be captured to a file for faster subsequent loading.
Dagster Plus
- [ui] The integrations marketplace (currently behind a feature flag) now allows you to create, edit, and delete private packages.
dg & Components
- Added
FunctionComponent,PythonScriptComponent, andUvRunComponentto make it easier to define arbitrary computations that execute assets or asset checks when invoked. - Weekly and arbitrary time-window partitions can now be provided to the
partitions_defasset customization in YAML. - A clean and informative error message is now printed when an invalid set of parameters is passed to
dg scaffold defs .... - Component asset specs now allow specifying partition definitions through the
partitions_defkey. - The
dgcache is no longer operative, sincedgnow operates in the same python environment as the projects it manipulates. Config options for the cache have been removed. - The
load_defsentrypoint has been deprecated in favor ofload_from_defs_folder, which takes a single path for a folder to load definitions from rather than a module object. - The
asset_post_processorsfield onSlingReplicationCollectionComponentandAirflowInstanceComponentis no longer supported, and has been replaced with the top-levelpost_processorsfield. - Fixed an issue where dg projects using
autoload_defs=truecould not be deployed to Dagster+. - Removed
@previewfromComponent. ComponentLoadContextis now frozen and no longer in preview.Resolvedsubclasses now supportEnumfields.
1.10.20 (core) / 0.26.20 (libraries)
New
- The
@assetdecorator now supports ahooksargument to allow for functions to be executed on asset success / failure (thanks @brunobbaraujo)! - The log message produced when an asset check is evaluated now includes its pass / fail state.
- The
@multi_asset_checkdecorator now supports thepoolargument. - [dagster-dbt] The
DagsterDbtTranslatorclass now has aget_asset_check_specmethod which can be overridden to customize theAssetCheckSpecsthat are produced for each individual dbt test.
Bugfixes
- Fixed an issue where setting the non-public
blockingattribute on anAssetCheckSpecwould halt execution of the step as soon as any asset check failure was emitted, even if the step still had asset materializations or check evaluations to emit that were not downstream of the failed asset check. Now that this issue has been fixed, theblockingattribute onAssetCheckSpechas been made a public attribute. If you were making use of theblockingattribute on AssetCheckSpec before it was public and relying on the previous behavior, you should exit from your asset evaluation function after emitting an AssetCheckFailure from within your multi-asset in order to halt further execution of the step. - Fixed a bug where
GraphDefinition.to_job()would not work if an op had a custom IO manager key. - Fixed an issue that would cause
.allow()and.ignore()applications to not propagate through.since()automation conditions. - Fixed a bug where assets with cross-location dependencies could sometimes be incorrectly reported as "Unsynced".
- Fixed an issue where
dagster devwas sometimes failing to load code locations with a "Deadline Exceeded" error unless the--use-legacy-code-server-behaviorflag was set. - The backfill daemon can now be configured to use a threadpool executor via helm (thanks @hynekblaha)!
- [dagster-gcp] Added a
google-cloud-bigquery>=1.28.3pin to correctly reflect the lowest compatible version.
Breaking Changes
- [ui] Moved legacy Auto-materialize (global AMP) tab from Overview to Automations.
Dagster Plus
- Fixed an issue where certain rare network conditions could cause steps to hang while uploading compute logs after a step finished.
- [ui] For users with the new Observe UIs enabled, the Asset Health and Resources tabs are no longer shown on the Timeline page.
dg & Components (Preview)
- Fix a bug with
dg check yamlwhere valid component type names were rejected if they were not registered (i.e. visible fromdg check components). dg create-dagsternow warns when scaffolding a project or workspace if it is not the latest version.- The
project.registry_modulesconfiguration can now accept wildcards (e.g.foo_bar.components.*). This will register any module matching the pattern withdg. - The
envYAML function now errors if the specified env var is unset. Default values can be provided as an additional argument:{{ env('MY_ENV_VAR', 'default') }} - defs.yaml files can now specify a component in the module where it is defined, as opposed to just the module where it is exposed in the
dgregistry. - The
PipesSubprocessScriptCollectionComponenthas been removed. - Running dg commands such as
dg check defsanddg devin a project folder that is part of the workspace will now only apply to that project, instead of every project in the workspace. - Scaffolded projects no longer contain a "components" directory or a Python
dagster_dg_cli.pluginentry point. - Scaffolded components can now be placed anywhere within a project module hierarchy.
- The entry point group used by shared libraries exposing custom components to
dghas been renamed fromdagster_dg_cli.plugintodagster_dg_cli.registry_modules(projects no longer need to define an entry point group at all). dg list plugin-moduleshas been renamed todg list registry-modules.dg list defsnow supports configuring output columns with the--columns/-coption.- [dagster-airbyte] Introduced a
AirbyteCloudWorkspaceComponentwhich can be used to pull in Airbyte Cloud connections into Dagster
1.10.19 (core) / 0.26.19 (libraries)
New
- The database table used by the
DbIOManageris now configurable via"table"output (asset) metadata key #30310 - Changed default settings for backfill daemon to
use_threads=True,num_workers=4. Thanks @HynekBlaha! - A new function
build_asset_check_contextcan be used to build asset check contexts for direct invocation. - Changed
Definitions.get_all_asset_specsto only return assets directly passed in as AssetSpecs or AssetsDefinitions. - Removed
selectionargument fromDefinitions.map_asset_specs. If selection is needed use the newDefinitions.map_resolved_asset_specs. Definitions.get_job_defnow warns when it finds an unresolved job or no job.- Changed
Definitions.get_assets_defto return an AssetsDefinition without resolving if it was passed in directly. - [dagster-dbt]
build_schedule_from_dbt_selectionnow supports aselectorargument, allowing you to use yaml-based selectors. - [dagster-k8s] Pods created by the Kubernetes run launcher and executor from Dagster Plus now include the
dagster/deployment-namelabel. - [dagster-pipes] Pipes execution errors are no longer treated as framework errors, meaning they properly invoke RetryPolicies.
- [helm] Backfill daemon configuration now supported. Thanks @HynekBlaha!
- [ui] Show relative start time on runs in run timeline hover lists. #30327
Bugfixes
- [ui] Fixed live updating of asset materialization statuses in asset graph.
dg & Components (Preview)
- Running dg commands like
dg check defsanddg devin a project folder that is part of the workspace will now only apply to that project, instead of every project in the workspace. dg list defsnow supports the--assets/-aoption, to show only assets matching the provided selection.dg list defsnow supports a--pathargument to subset the defs files shown.- The
create-dagster workspacecommand now accepts the same required path argument as thecreate-dagster projectcommand, instead of defaulting to adagster-workspacesubfolder of the current working directory. - The entry point group used by shared libraries exposing custom components to dg has been renamed from
dagster_dg_cli.plugintodagster_dg_cli.registry_modules(projects no longer need to define an entry point group at all). dg list plugin-moduleshas been renamed todg list registry-modules.- Newly scaffolded projects no longer contain a "components" directory or a Python
dagster_dg_cli.pluginentry point. - Newly scaffolded components can now be placed anywhere within a project module hierarchy.
Resolvablesubclasses can now use baredictandlistas field types.- Resolving a
Resolvablesubclass will no longer change empty strings toNone. - Users can define multiple
@definitions-decorated functions in a single module in thedefshierarchy and they are automatically merged and incorporated into the project. - Added
@component_instanceto replace@component. This allows multiple component instances in a python file. - Fixed an issue where
dgcommands would sometimes output extradagster_telemetry_loggerlines to stdout at the end of commands. - Added
@template_varas an alternative approach for defining variables in a templating context.
1.10.18 (core) / 0.26.18 (libraries)
New
BackfillPolicyis now marked as generally available (GA).- Optimized the order of the
@assetdecorator overloads to make custom wrappers around the asset decorator easier. Thanks @jonathanunderwood! - [dagster-slack] Added
get_client()to SlackResource.
Bugfixes
DefinitionsandAssetDefinitionwill now warn if they get differentAssetSpecs with the same key. This will become an exception in 1.11.- Functions that load all definitions from modules like
load_definitions_from_modulesnow handle duplicateAssetSpecs. - Fixed typo in logging. Thanks @eli-b!
- [dagster-dbt] An issue occurring when using dbt selection arguments with a dbt project using saved queries and semantic models has been fixed.
- [dagster-fivetran] Fixed an issue with
load_assets_from_fivetran_instancewhere assets whose asset keys have been customized using a Fivetran translator would lead to an exception.
Documentation
- Fixed grammar issues in GCP docs. Thanks @D1n0!
- Fixed missing docs for
required_resource_keysin@sensor. Thanks @seyf97!
Breaking Changes
DefinitionsandAssetDefinitionwill now warn if they get differentAssetSpecs with the same key. This will become an exception in 1.11.
Dagster Plus
- [dagster-cloud-cli] Added a
--waitto thedagster-cloud job launchcommand that makes it wait until the launched run copmletes. Thanks @stevenayers! - [fix][dagster-cloud-cli] Fixed an issue where the
dagster-cloudcli failed to deploy PEX projects on python 3.12 in certain environments without setuptools already installed.
dg & Components (Preview)
- The
dgCLI is now installed in each project's Python environment instead of as a global tool. If you previously haddginstalled globally and are upgrading, first uninstall the global dg tool (uv tool uninstall dagster-dgorpip uninstall dagster-dg) and adddagster-dg-clias a dependency to each of your projects. Newly scaffolded projects will automatically include thedgCLI going forward. - A new
create-dagsterCLI has been added for scaffolding projects instead of workspaces.uvx create-dagster projecthas replaceddg scaffold project, anduvx create-dagster workspacehas replaceddg scaffold workspace. The commands take identical arguments. - Definitions and component instances are now scaffolded with
dg scaffold defs <scaffolder>instead ofdg scaffold <scaffolder>. - The
component.yamlfile to specify a component instance is now called "defs.yaml". "component.yaml" will remain supported for several weeks, but is deprecated. - The
libfolder in newly scaffolded projects has been renamed to "components". dg scaffold component-typehas been renamed todg scaffold component.dg list pluginshas been renamed todg list plugin-modulesand now outputs only plugin module names, not plugin objects.dg list componentnow lists component types instead of instances.- Exports from
dagster.componentsare now available in the top-leveldagstermodule. - Added
@component_instanceto replace@component, which allows multiple component instances in a python file. - If you type a partial component name for
dg scaffold defs <component>, you will now be prompted with possible matches. - When component classnames are unique, you can now use just the classname as an alias for the fully qualified name when running
dg scaffold defs <component>. dg launchnow supports passing config files through--config/-c.- Added
Component.from_attributes_dictandComponent.from_yaml_pathto help with testing. - Added
dagster.components.testing.component_defsutility to help with testing components. - Scaffolded schedules and sensors in
dgare now loadable by default. dg scaffold defs inline-componentcan now be used to create inline components and corresponding instances.dg list defsnow outputs resources.- [fix] The
dagster-dbtcli flag--componentsflag now correctly findsDbtProjectComponentagain. - [dagster-fivetran] Added a
FivetranAccountComponentwhich can be used to pull in Fivetran connections into Dagster. - [dagster-dlt] The DltLoadCollectionComponent scaffolder no longer attempts to automatically construct loads for the given source and destination type.
- Fixed an issue where components failed to load when using
load_assets_from_airbyte_instanceor other APIs that return aCacheableAssetsDefinition.
1.10.17 (core) / 0.26.17 (libraries)
Bugfixes
- Fixed an issue where an error was displayed in the UI while viewing run logs
- [dagster-dbt] Fixed an issue occurring when using dbt selection arguments with a dbt project using semantic models.
1.10.16 (core) / 0.26.16 (libraries)
New
typing_extensionsis now pinned to>=4.11.0instead of>=4.10.0.- [ui] Viewing an automation condition evaluation now automatically expands the set of applicable sub-conditions.
- [ui] Added the ability to navigate from an automation condition evaluation to upstream automation condition evaluations.
- [ui] Added an asset graph node facet for viewing automation conditions and the most recent evaluation. This can be enabled in the user settings via a feature flag (
Enable faceted asset nodes). - [ui] A new experimental integrations marketplace tab is now available and can be enabled in your user settings via a feature flag (
Display integrations marketplace). It provides easy access to the gallery of dagster-supported plugins.
Bugfixes
- Fixed an issue with the
ExternalNotebookDataRequestGRPC call that would allow it to access files outside of the current directory. - Fixed an issue that would cause
op_tagsset on@observable_source_assets to be dropped from the underlying step context object when executed. - Fixed an issue where
dagster devwould sometimes raise a gRPC error when loading several code locations at once. - Fixed an issue where setting an environment variable to the string "false", "0" or "None" for a dagster config field using a
BoolSourcewould evaluate to True. - Fixed an issue where specifying
executable_pathin a workspace.yaml file to run code locations in a different virtual environment would not correctly inherit the PATH of that virtual environment in the code location. - [dagster-dbt] Fixed an issue causing dbt CLI invocation to fail when materializing assets when
OpExecutionContextwas used as the type hint for the context. - [dagster-deltalake] Corrected the
timeoutproperty data type inClientConfigto be str instead of int (thanks, @edsoncezar16!)
Documentation
- Added additional config fields to the
K8sRunLauncherexample (thanks, @nishan-soni!) - Corrected broken links on the automation landing page (thanks, @briandailey!)
Dagster Plus
- [ui] Alert policy event tags no longer appear red and yellow outside of the policy notification history.
dg & Components (Preview)
- Added suggestions to component model error messages when using built-in models for common classes such as
AssetKeyandAssetSpec. dg list envnow displays whether env vars are configured in each Dagster Plus scope.- Introduced
Resolver.passthrough()to avoid processing fields on a component model. ResolvedAssetKeyis now exported fromdagster.components.dg inithas been removed.dg scaffold projectanddg scaffold workspaceshould be used instead.- Fixed an issue where
dg devfailed with a temporarily file permissions error when running on Windows. Thanks @polivbr!
1.10.15 (core) / 0.26.15 (libraries)
New
- Added a config section to
dagster.yamlto enable submitting backfill runs in a threadpool. - Expanded definition time validation for partition mappings to avoid runtime errors querying asset status.
- [ui][beta] You can now re-execute a run that targeted a multi-asset from the point of asset failure instead of step failure, meaning only assets that failed or were skipped will be re-executed. To enable this option, turn on the
Enable retries from asset failurefeature flag in your user settings. - [ui] Made it easier to select and copy image names for code locations.
- [ui] Added asset lineage navigation within the automation condition evaluation tree.
- [ui] Viewing an evaluation tick now auto-expands the set of applicable automation conditions.
- [ui] Added an asset graph node facet for viewing automation conditions and the most recent evaluation in the global asset graph.
- [dagster-fivetran] The
FivetranWorkspaceresource is now marked as generally available (GA).
Bugfixes
- Changed asset wipes to also wipe associated asset check evaluations.
- [dagster-fivetran] Fixed an issue causing the Fivetran integration to fail when the schema config does not exist for a connector.
Documentation
- Fixed a broken link in the airflow migration docs. Thanks @jjyeo!
- Updated example snippet to include a missing type hint. Thanks @agrueneberg!
Deprecations
- [dagster-fivetran] The
FivetranResourceresource is now deprecated. Use the newFivetranWorkspaceresource instead.
dg & Components (Preview)
- Changed
Scaffolder.scaffoldto have the params object as an attribute of theScaffoldRequestobject instead of a dictionary. This is a breaking change for those who have implemented a custom scaffolder. - Added support for scaffolding resources via
dg scaffold dagster.resources path/to/resources.py. - Added support for the usage of
@definitionsin thedefshierarchy. - Dagster components now include code references by default. When viewing an asset emitted by a component in the asset catalog, this will allow you to jump to the backing
component.yamlfile in your editor. - [dagster-dbt]
DbtProjectComponentfields now properly evaluate templates. - [dagster-sling] Updated the SlingReplicationCollectionComponent from using the
asset_attributesparameter totranslation, in order to match our other integration components. - Fixed an issue where
dg devfailed with a temporary file permissions error when running on Windows. Thanks @polivbr!
1.10.14 (core) / 0.26.14 (libraries)
New
- [dagster-tableau] Refined Tableau integration for API 3.25 or greater.
- [dagster-tableau] Data sources with extracts can now be materialized in Tableau assets created with
build_tableau_materializable_assets_definition. - [ui] Added kinds tag for treasuredata.
- [ui] Add Supabase kind icon.
Bugfixes
- Fixed a bug which could cause an error when calling
MultiPartitionsDefinition.has_partition_key()on invalid keys. - Fixed a bug where the default multiprocess executor would fail runs where the child process for a step crashed, even if a retry policy resulted in a successful retry of that crashed step.
- Fixed a bug with
AutomationCondition.initial_evaluationwhich could cause it to returnFalsefor an asset that went from having a condition, to having no condition at all, back to having the original condition again. - [ui] Fixed an issue which could cause the "Target" field of AutomationConditionSensorDefinitions to render incorrectly when exactly one asset check was defined in a code location.
- [dagster-dbt] Fix
DagsterDbtTranslatorSettings.enable_source_tests_as_checksreturning duplicate asset checks.
Documentation
- Added a sample Dagster+ ECS CloudFormation template which incorporates private subnets.
- Fixed incorrect storage values in the Fargate task section of the AWS deployment guide, thanks @alexpotv!
- Updated log stream docs, thanks @jjyeo!
- Fixed broken code in the configurable resources guide, thanks @nightscape!
Deprecations
dagster.InitResourceContext.dagster_runhas been deprecated in favor ofInitResourceContext.run.
dg & Components (Preview)
- [dagster-k8s] PipesK8sComponent has been added.
- Dagster components no longer change the working directory while they are being loaded. This allows components to store relative paths and ensure that they will still work when accessed outside of the component loading codepath. This change may affect user-defined components that depend on
Path.cwd()oros.getcwd(). Instead, you should use a path relative to the current source file when loading paths in a component, using thecontext.resolve_source_relative_pathmethod (seeresolve_dbt_projectinDbtProjectComponentfor an example). - Added
dagster.jobscaffolder. - [dagster-dbt] The
DbtProjectComponentnow has atranslation_settingsargument for adjustingDagsterDbtTranslatorSettings. - [dagster-dbt][fix]
DbtProjectComponentfields now properly evaluate templates. - Fixed docstring for
load_defsentrypoint, thanks @mattgiles!
1.10.13 (core) / 0.26.13 (libraries)
New
- If an unselected asset check is executed during a run, the system will now warn instead of throwing a hard error.
- When evaluating
AutomationCondition.any_deps_matchorAutomationCondition.all_dep_matchwith an allow / ignore specified, an error will no longer be produced if the provided asset selection references an asset key that does not exist. - Added the ability to restrict the list of ports that
dagster devis allowed to use to open subprocesses when running on Windows, by setting theDAGSTER_PORT_RANGEenv var to a string of the form<start>=<end>- for example "20000-30000". - [dagster-aws] The S3 sensor's
get_objectsnow returns an empty list if no new files can be found since thesince_last_modifiedparameter. Thanks @bartcode! - [dagster-dbt]
@dbt_assetsandbuild_dbt_manifest_asset_selectionnow support aselectorargument, allowing you to use yaml-based selectors. - [dagster-k8s] improved run monitoring when running with increased backoff limits. Thanks @adam-bloom!
Bugfixes
- Fixed a bug with
AutomationCondition.initial_evaluationwhich could cause it to returnFalsefor an asset that went from having a condition, to having no condition at all, back to having the original condition again. - Fixed a bug that would cause the
AutomationCondition.any_deps_updated()condition to evaluate toFalsewhen evaluated on a self-dependency. - Fixed a bug in the
quickstart_awsexample. Thanks @Thenkei! - [ui] Fixed navigation between asset tabs by no longer preserving query parameters from one tab to the next.
- [ui] Fixed an issue where the asset graph looked like it was still loading when it wasn't.
Documentation
- Added Scala Spark / Dagster Pipes guide.