NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1287 most downloaded on PyPI
Toolkit for Dagster integrations with transform logic outside of Dagster
Last release 3 days ago
01 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 53 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
3 years old
188 releases · first in 2023
One column per quarter.
The OpExecutionContext and AssetExecutionContext now have a partition_keys property
OpExecutionContext and AssetExecutionContext now have a partition_keys propertydbt-core==1.7.* is now supported.build_schedule_from_partitioned_job was used with a job with multi-partitioned assets and the partitions_def argument wasn’t provided to define_asset_job.config.dagster-embedded-elt where sling’s updated_at parameter was set to the incorrect typeAssetCheckKeyPipesSubprocessClient now inherits the environment variables of the parent process in the launched subprocess.[dagster-k8s] The PipesK8sClient will now attempt to load the appropriate kubernetes config, and exposes arguments for controlling this process.
PipesK8sClient will now attempt to load the appropriate kubernetes config, and exposes arguments for controlling this process.load_asset_checks_from_modules functions for loading asset checks in tandem with load_assets_from_modules.dagster-dbt project scaffold now uses ~/.dbt/profiles.yml if a profiles.yml is not present in the dbt project directory.@dbt_assets now support PartitionMapping using DagsterDbtTranslator.get_partition_mapping.@dbt_assets. To enable this, add the following metadata to your dbt model’s metadata in your dbt project:meta:
dagster:
has_self_dependency: True
pydantic<2.0.0 but having pydantic-core installed.LastPartitionMapping dependency would raise an error. This has been fixed.instance is not available to load partitions error was raised.build_asset_with_blocking_check1.5.0 where instances that haven’t been migrated to the latest schema hit an error upon run deletion.exclude that didn’t match any dbt nodes was used in @dbt_assets, an error would be raised. The error is now properly handled.DbtCliResource.cli(...) in an op, AssetMaterialization's instead of Output are now emitted.report_asset_observation REST endpoint for reporting runless events is now available.[helm] The pipelineRun configuration in the Helm chart is now deprecated. The same config can be set under dagster-user-deployments
report_asset_observation REST API endpoint for runless external asset observation eventsDAGSTER_K8S_PG_PASSWORD_SECRET and DAGSTER_K8S_INSTANCE_CONFIG_MAP will no longer be set in all pods.build_pyspark_zip now takes an exclude parameter that can be used to customize the set of excluded files.source_key_prefix argument to load_assets_from_current_module and load_assets_from_package_name was ignoreddagster_embedded_elt where the mode parameter was not being passed to Sling, and only one asset could be created at a timepipelineRun configuration in the Helm chart is now deprecated. The same config can be set under dagster-user-deploymentssetup_for_execution and teardown_after_execution calls to the inner IOManagers of the BranchingIOManager - thank you @danielgafni!S3FakeResource.upload_fileobj() signature is now consistent with boto3 S3.Client.upload_fileobj() - thank you @jeanineharb!dbt_assets now have an optional name parameter - thank you @AlexanderVR!Added a report_asset_check REST API endpoint for runless external asset check evaluation events. This is available in cloud as well.
report_asset_check REST API endpoint for runless external asset check evaluation events. This is available in cloud as well.config argument is now supported on @graph_multi_assetDbtCliResource.AssetExecutionContext type annotation for the context parameter in @asset_check functions.profiles_dir=None into DbtCliResource would cause incorrect validation.DuckDBResource and DuckDBIOManager accept a connection_config configuration that will be passed as config to the DuckDB connection. Thanks @xjhc!Alert policies can now be set on assets + asset checks (currently experimental). Check out the alerting docs for more information.
--live-data-poll-rate that allows configuring how often the UI polls for new asset data when viewing the asset graph, asset catalog, or overview assets page. It defaults to 2000 ms.report_asset_materialization REST API endpoint for creating external asset materialization events. This is available in cloud as well.@dbt_assets decorator now accepts a backfill_policy argument, for controlling how the assets are backfilled.@dbt_assets decorator now accepts a op_tags argument, for passing tags to the op underlying the produced AssetsDefinition.get_materialize_result & get_asset_check_result to PipesClientCompletedInvocationacryl-datahub pin in the dagster-datahub package has been removed.PipesDatabricksClient now performs stdout/stderr forwarding from the Databricks master node to Dagster.dagster-dbt-cloud CLI.K8sRunLauncher. See the docs for more information.Previously, the asset backfill page would display negative counts if failed partitions were manually re-executed. This has been fixed.
Fixed an issue where the run list dialog for viewing the runs occupying global op concurrency slots did not expand to fit the content size.
Fixed an issue where selecting a partition would clear the launchpad and typing in the launchpad would clear the partition selection
Fixed various issues with the asset-graph displaying the wrong graph
The IO manager’s handle_output method is no longer invoked when observing an observable source asset.
[ui] Fixed an issue where the run config dialog could not be scrolled.
[pipes] Fixed an issue in the PipesDockerClient with parsing logs fetched via the docker client.
[external assets] Fixed an issue in external_assets_from_specs where providing multiple specs would error
[external assets] Correct copy in tooltip to explain why Materialize button is disabled on an external asset.
dagster-pipes version used in the external process.is_dagster_pipes_process has been removed from the dagster-pipes package.Previously, asset backfills targeting assets with multi-run backfill policies would raise a "did not submit all run requests" error. This has been fix
[dagster-dbt] Enabling asset checks using dbt project metadata has been deprecated.
EnvVar utility will now raise an exception if it is used outside of the context of a Dagster resource or config class. The get_value() utility will retrieve the value outside of this context.DbtCliResource, an explicit target_path can now be specified.DagsterDbtTranslator and DagsterDbtTranslatorSettings: see the docs for more information.Improved ergonomics for execution dependencies in assets - We introduced a set of APIs to simplify working with Dagster that don't use the I/O manager
Improved ergonomics for execution dependencies in assets - We introduced a set of APIs to simplify working with Dagster that don't use the I/O manager system for handling data between assets. I/O manager workflows will not be affected.
AssetDep type allows you to specify upstream dependencies with partition mappings when using the deps parameter of @asset and AssetSpec.MaterializeResult can be optionally returned from an asset to report metadata about the asset when the asset handles any storage requirements within the function body and does not use an I/O manager.AssetSpec has been added as a new way to declare the assets produced by @multi_asset. When using , the does not need to return any values to be stored by the I/O manager. Instead, the should handle any storage requirements in the body of the function.Asset checks (experimental) - You can now define, execute, and monitor data quality checks in Dagster [docs].
@asset_check decorator, as well as the check_specs argument to @asset and @multi_asset enable defining asset checks.Auto materialize customization (experimental) - AutoMaterializePolicies can now be customized [docs].
AutoMaterializeRules which determine if an asset should be materialized or skipped.PipesSubprocessClient, PipesDocketClient, PipesK8sClient, PipesDatabricksClientopen_pipes_session. One can augment existing invocations rather than replacing them wholesale.AssetExecutionContext is now a subclass of OpExecutionContext, not a type alias. The codedef my_helper_function(context: AssetExecutionContext):
...
@op
def my_op(context: OpExecutionContext):
my_helper_function(context)
will cause type checking errors. To migrate, update type hints to respect the new subclassing.
AssetExecutionContext cannot be used as the type annotation for @ops run in @jobs. To migrate, update the type hint in @op to OpExecutionContext. @ops that are used in @graph_assets may still use the AssetExecutionContext type hint.# old
@op
def my_op(context: AssetExecutionContext):
...
# correct
@op
def my_op(context: OpExecutionContext):
...
backfill_policy=BackfillPolicy.single_run() to your assets.has_dynamic_partition implementation has been optimized. Thanks @edvardlindelof!stream_to_asset_map argument to build_airbyte_assets to support the Airbyte prefix setting with special characters. Thanks @chollinger93!DatabricksPysparkStepLauncher fails to get logs when job_run doesn’t have cluster_id at root level. Thanks @PadenZach!dagster_cloud.dagster_insights module that contains utilities for capturing and submitting external metrics about data operations to Dagster Cloud via an api. Dagster Cloud Insights is a soon-to-be released feature that shows improves visibility into usage and cost metrics such as run duration and Snowflake credits in the Cloud UI.Your coding agent can read these notes before it upgrades. Set up the MCP server →