1.6.0
may need to run dagster instance migrate
to enable.map_asset_specs
to enable modifying AssetSpec
s and AssetsDefinition
s in bulk.AssetSpec.replace_attributes
and AssetSpec.merge_attributes
to easily alter properties of an asset spec.PipesS3MessageReader
now has a new parameter include_stdio_in_messages
which enables log forwarding to Dagster via Pipes messages.log_external_stream
has been added. It can be used to forward external logs to Dagster via Pipes messages.load_powerbi_asset_specs(..., use_workspace_scan=False)
.dagster-sigma snapshot
command, allowing Sigma workspaces to be captured to a file for faster subsequent loading.DagsterExecutionStepNotFoundError
errors when trying to execute an asset check step of a run launched by a backfill.owners
added to AssetOut
s when defining a @graph_multi_asset
were not added to the underlying AssetsDefinition
.&
or |
operators on AutomationCondition
s with labels would cause that label to be erased.SigmaFilter
no longer fetch lineage information.DagsterPowerBITranslator.get_asset_key
is deprecated in favor of DagsterPowerBITranslator.get_asset_spec().key
DagsterLookerApiTranslator.get_asset_key
is deprecated in favor of DagsterLookerApiTranslator.get_asset_spec().key
DagsterSigmaTranslator.get_asset_key
is deprecated in favor of DagsterSigmaTranslator.get_asset_spec().key
DagsterTableauTranslator.get_asset_key
is deprecated in favor of DagsterTableauTranslator.get_asset_spec().key
Added run_id
to the run_tags
index to improve database performance. Run dagster instance migrate
to update the index. (Thanks, @HynekBlaha!)
Added icons for kind
tags: Cassandra, ClickHouse, CockroachDB, Doris, Druid, Elasticsearch, Flink, Hadoop, Impala, Kafka, MariaDB, MinIO, Pinot, Presto, Pulsar, RabbitMQ, Redis, Redpanda, ScyllaDB, Starrocks, and Superset. (Thanks, @swrookie!)
Added a new icon for the Denodo kind tag. (Thanks, @tintamarre!)
Errors raised from defining more than one Definitions
object at module scope now include the object names so that the source of the error is easier to determine.
[ui] Asset metadata entries like dagster/row_count
now appear on the events page and are properly hidden on the overview page when they appear in the sidebar.
[dagster-aws] PipesGlueClient
now attaches AWS Glue metadata to Dagster results produced during Pipes invocation.
[dagster-aws] PipesEMRServerlessClient
now attaches AWS EMR Serverless metadata to Dagster results produced during Pipes invocation and adds Dagster tags to the job run.
[dagster-aws] PipesECSClient
now attaches AWS ECS metadata to Dagster results produced during Pipes invocation and adds Dagster tags to the ECS task.
[dagster-aws] PipesEMRClient
now attaches AWS EMR metadata to Dagster results produced during Pipes invocation.
[dagster-databricks] PipesDatabricksClient
now attaches Databricks metadata to Dagster results produced during Pipes invocation and adds Dagster tags to the Databricks job.
[dagster-fivetran] Added load_fivetran_asset_specs
function. It can be used with the FivetranWorkspace
resource and DagsterFivetranTranslator
translator to load your Fivetran connector tables as external assets in Dagster.
[dagster-looker] Errors are now handled more gracefully when parsing derived tables.
[dagster-sigma] Sigma assets now contain extra metadata and kind tags.
[dagster-sigma] Added support for direct workbook to warehouse table dependencies.
[dagster-sigma] Added include_unused_datasets
field to SigmaFilter
to disable pulling datasets that aren't used by a downstream workbook.
[dagster-sigma] Added skip_fetch_column_data
option to skip loading Sigma column lineage. This can speed up loading large instances.
[dagster-sigma] Introduced an experimental dagster-sigma snapshot
command, allowing Sigma workspaces to be captured to a file for faster subsequent loading.
dagster-airlift
(experimental)#dagster-airlift
is coming out of stealth. See the initial Airlift RFC here, and the following documentation to learn more:
More Airflow-related content is coming soon! We'd love for you to check it out, and post any comments / questions in the #airflow-migration
channel in the Dagster slack.
monitor_all_code_locations
and monitored_jobs
did not raise the expected error. (Thanks, @apetryla!)AutomationCondition.any_deps_match()
and AutomationCondition.all_deps_match()
to render incorrectly when allow_selection
or ignore_selection
were set.CacheableAssetsDefinitions
in code locations that contained AutomationConditions
Too many open files
errors for jobs with many steps.dagster-dingtalk
to the list of community supported libraries.dagster-wandb
(Weights and Biases) documentation. (Thanks, @matt-weingarten!)dagster-sigma
documentation.AssetOut.from_spec
, that will construct an AssetOut
from an AssetSpec
.Column name
section of the asset overview page.gcs
(Google Cloud Storage) kind tag.report
and semanticmodel
kind tags.EcsRunLauncher
. (Thanks, @zyd14!)DagsterDbtTranslator.get_code_version
to customize the code version for your dbt assets. (Thanks, @Grzyblon!)PipesClientCompletedInvocation
. This metadata will be attached to all materializations and asset checks stored during the pipes invocation.AutomationCondition.execution_in_progress
which would cause it to evaluate to True
for unpartitioned assets that were part of a run that was in progress, even if the asset itself had already been materialized.AutomationCondition.run_in_progress
that would cause it to ignore queued runs.default_automation_condition_sensor
to be constructed for user code servers running on dagster version < 1.9.0
even if the legacy auto_materialize: use_sensors
configuration setting was set to False
.0
in cases where all partitions were evaluated./
characters now work correctly with Dagster Pipes.dagster-airlift
.types-sqlalchemy
package is no longer included in the dagster[pyright]
extra package.dagster project scaffold
now has an option to create dagster projects from templates with excluded files/filepaths.parse_tableau_external_and_materializable_asset_specs
is now available to parse a list of Tableau asset specs into a list of external asset specs and materializable asset specs.DagsterFivetranTranslator
to customize assets loaded from Fivetran.dagster_snowflake.fetch_last_updated_timestamps
now supports ignoring tables not found in Snowflake instead of raising an error.default_automation_condition_sensor
to be constructed for user code servers running on dagster version < 1.9.0 even if the legacy auto_materialize: use_sensors
configuration setting was set to False
.dagster instance migrate
on Dagster version 1.9.0 constructed a SQL query that exceeded the maximum allowed depth.ImportError
s are no longer raised when bigquery libraries are not installed [#25708]AutomationConditions
, is no longer experimental. We now recommend using this system in all cases where asset-centric orchestration is desired. A suite of built-in static constructors have been added for common usecases, such as AutomationCondition.on_missing()
(which can fill in missing partitions of assets as soon as upstream data is available), and AutomationCondition.all_deps_blocking_checks_passed()
(which can prevent materialization of assets until all upstream blocking checks have passed).AutomationConditions
to asset checks, via the automation_condition
parameter on @asset_check
or AssetCheckSpec
.AutomationConditions
to observable source assets, via the automation_condition
parameter on @observable_source_asset
.AutomationCondition
to execute arbitrary Python code in the context of a broader expression. This allows you to compose built-in conditions with custom business logic.target
arguments on schedules and sensors are now marked stable, allowing a stable way for schedules and sensors to target asset selections without needing to define a job.dagster/table_name
metadata tag, containing the fully-qualified name of the destination model, has been added for Airbyte, dlt, Fivetran and Sling assets.dagster/row_count
metadata tag, containing the number of records loaded in the corresponding run, has been added for dlt and Sling assets.dagster/column_schema
metadata tag, containing column schema information of the destination tables, has been added for Fivetran assets.dagster_aws.pipes.PipesGlueClient
dagster_aws.pipes.PipesEMRServerlessClient
dagster_aws.pipes.PipesEMRClient
@asset
and AssetSpec
now have a kinds
attribute that enables specifying labels that show up on asset nodes in the asset graph in the UI. This supersedes the compute_kind
attribute.tags
parameter to @asset
and AssetSpec
is no longer marked as experimental.@observable_source_asset
decorator now supports an automation_condition
argument.AutomationCondition
and associated APIs are no longer marked as experimental.use_user_code_server
parameter to AutomationConditionSensorDefinition
. If set, the sensor will be evaluated in the user code server (as traditional sensors are), allowing custom AutomationCondition
subclasses to be evaluated.dagster instance migrate
. This migration involves a schema migration to add the new columns and table, and a data migration to populate the new columns for historical backfills and runs.container_kwargs.stop_timeout
can now be set when using the DockerRunLauncher
or docker_executor
to configure the amount of time that Docker will wait when terminating a run for it to clean up before forcibly stopping it with a SIGKILL signal.build_dbt_asset_selection
.dagster
no longer supports Python 3.8, which hit EOL on 2024-10-07.dagster
now requires pydantic>=2
.AutomationConditionSensorDefinitions
will now emit backfills to handle cases where more than one partition of an asset is requested on a given tick. This allows that asset's BackfillPolicy
to be respected. This feature can be disabled by setting allow_backfills
to False
.PartitionsDefinition
subclass into a Definitions
object now issues an error instead of a deprecation warning.AssetExecutionContext
is no longer a subclass of OpExecutionContext
. At this release, AssetExecutionContext
and OpExecutionContext
implement the same methods, but in the future, the methods implemented by each class may diverge. If you have written helper functions with OpExecutionContext
type annotations, they may need to be updated to include AssetExecutionContext
depending on your usage. Explicit calls to isinstance(context, OpExecutionContext)
will now fail if context
is an AssetExecutionContext
.asset_selection
parameter on AutomationConditionSensorDefinition
has been renamed to target
, to align with existing sensor APIs.freshness_policy_sensor
has been removed, as it relies on the long-deprecated FreshnessPolicy
API.external_assets_from_specs
and external_asset_from_spec
methods have been removed. Users should use AssetsDefinition(specs=[...])
, or pass specs directly into the Definitions
object instead.AssetKey
objects can no longer be iterated over or indexed in to. This behavior was never an intended access pattern and in all observed cases was a mistake.dagster/relation_identifier
metadata key has been renamed to dagster/table_name
.dagster-ge
now only supports great_expectations>=0.17.15
. The ge_validation_op_factory
API has been replaced with the API previously called ge_validation_op_factory_v3
.dagster_aws.pipes.PipesGlueClient.run
.dlt_dagster_translator
from @dlt_assets
. The dagster_dlt_translator
parameter should be used instead.DataBricksPysparkStepLauncher
, EmrPySparkStepLauncher
, and any custom subclass of StepLauncher
have been marked as deprecated, but will not be removed from the codebase until Dagster 2.0 is released, meaning they will continue to function as they currently do for the foreseeable future. Their functionality has been superseded by the interfaces provided by dagster-pipes
, and so future development work will be focused there.multi_asset_sensor
has been marked as deprecated, as its main use cases have been superseded by the AutomationCondition
APIs. However, it will not be removed until version 2.0.0.