cronitor
pin to allow versions >= 5.0.1
to enable use of DayOfWeek
as 7. Cronitor 4.0.0
is still disallowed. (Thanks, @joshuataylor!)checkDbReadyInitContainer
to optionally disable db check initContainer.kind
tags. (Thanks, @dragos-pop!)Re-executions
.kind
tag for display in the UI.DataprocResource
now receives an optional parameter labels
to be attached to Dataproc clusters. (Thanks, @thiagoazcampos!)checkDbReadyInitContainer
flag to the Dagster Helm chart to allow disabling the default init container behavior. (Thanks, @easontm!)build_materialize_workbook_assets_definition
which can be used to build assets that run materialize schedules for a Sigma workbook.SnowflakeResource
and SnowflakeIOManager
both accept additional_snowflake_connection_args
config. This dictionary of arguments will be passed to the snowflake.connector.connect
method. This config will be ignored if you are using the sqlalchemy
connector.BackfillPolicy
are now evaluated correctly during backfills. Self dependent assets no longer result in serial partition submissions or disregarded upstream dependencies.PipesCloudWatchMessageReader
correctly identifies streams which are not ready yet and doesn't fail on ThrottlingException
. (Thanks, @jenkoian!)FivetranWorkspace.sync_and_poll(...).fetch_column_metadata()
.dlt_assets
API docs. (Thanks, @zilto!)dagster/run-id
, dagster/code-location
, dagster/user
and Dagster Cloud environment variables) typically attached to external resources are now available under DagsterRun.dagster_execution_info
.SensorReturnTypesUnion
is now exported for typing the output of sensor functions.@fivetran_assets
decorator.load_fivetran_asset_specs
has been updated to accept an instance of DagsterFivetranTranslator
or custom subclass.fivetran_assets
decorator was added. It can be used with the FivetranWorkspace
resource and DagsterFivetranTranslator
translator to load Fivetran tables for a given connector as assets in Dagster. The build_fivetran_assets_definitions
factory can be used to create assets for all the connectors in your Fivetran workspace.ECSPipesClient.run
now waits up to 70 days for tasks completion (waiter parameters are configurable) (Thanks @jenkoian!)load_airbyte_cloud_asset_specs
function has
been added. It can be used with the AirbyteCloudWorkspace
resource and DagsterAirbyteTranslator
translator to load your Airbyte Cloud connection streams as external assets in Dagster.icechunk
kind.ConsolidatedSqliteEventLogStorage
, which is mostly used for tests.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]AssetCheckResult
now has a text description
property. Check evaluation descriptions are shown in the Checks tab on the asset details page.TimestampMetadataValue
. Timestamp metadata values are represented internally as seconds since the Unix epoch. They can be constructed using MetadataValue.timestamp
. In the UI, they’re rendered in the local timezone, like other timestamps in the UI.AssetSelection.checks
can now accept AssetCheckKeys
as well as AssetChecksDefinition
.add_output_metadata
or by passing to Output
) is now available on HookContext
under the op_output_metadata
property. Thanks @JYoussouf!@asset
, AssetSpec
, and AssetOut
now accept a tags
property. Tags are key-value pairs meant to be used for organizing asset definitions. If "__dagster_no_value"
is set as the value, only the key will be rendered in the UI. AssetSelection.tag
allows selecting assets that have a particular tag.dagster asset materialize --select tag:department=marketing
DagsterDbtTranslator.get_tags
. By default, we take the dbt tags configured on your dbt models, seeds, and snapshots.DatabricksJobRunner
that led to an inability to use dagster-databricks with Databricks instance pools. Thanks @smats0n!AssetKey
. Thanks @maxfirman!load_assets_from_package_module
that would cause a crash when any submodule had the same directory name as a dependency. Thanks @CSRessel!"columns"
to "dagster/column_schema"
. Materializations using the old metadata key will no longer result in the Columns section of the tab being filled out.dagster dev
or the Dagster UI would display an error when loading jobs created with op or asset selections.@multi_asset
s are in use has been drastically improved.the_asset.with_attributes
is called without providing a group name. Previously, the existing group name was erroneously dropped. Thanks @ion-elgreco!dbt source freshness
.MetadataValue
in Essentials course. Thanks @stianthaulow!tag_keys
argument on DagsterInstance.get_run_tags
is no longer optional. This has been done to remove an easy way of accidentally executing an extremely expensive database operation.AssetSelection.
dagster-snowflake
now requires snowflake-connector-python>=3.4.0
@sling_assets
accepts an optional name parameter for the underlying opdagster-openai
library is now available.DagsterDbtTranslatorSettings
called enable_duplicate_source_asset_keys
that allows users to set duplicate asset keys for their dbt sources. Thanks @hello-world-bfree!ConfigurableResource
.SlingConnectionResource
where a blank keyword argument would be emitted as an environment variabledbt source freshness
would cause an error.DbtArtifacts
has been added for managing the behavior of rebuilding the manifest during development but expecting a pre-built one in production.send sample alert
button now exists on both the alert policies page and in the alert policies editor to make it easier to debug and configure alerts without having to wait for an event to kick them off.SlingConnectionResource
that raised an error when connecting to a database.graph_multi_assets
with check_specs
now support subsetting.run_retries.retry_on_op_or_asset_failures
setting that can be set to false to make run retries only occur when there is an unexpected failure that crashes the run, allowing run-level retries to co-exist more naturally with op or asset retries. See the docs for more information.dagster dev
now sets the environment variable DAGSTER_IS_DEV_CLI
allowing subprocesses to know that they were launched in a development context.@multi_observable_source_asset
decorator enables defining a set of assets that can be observed together with the same function.@sling_assets
and Resource SlingConnectionResource
have been added for the [dagster-embedded-elt.sling](http://dagster-embedded-elt.sling)
package. Deprecated build_sling_asset
, SlingSourceConnection
and SlingTargetConnection
.QueuedRunCoordinator
.dagster-polars
has been added as an integration. Thanks @danielgafni!@dbt_assets
now supports loading projects with semantic models.@dbt_assets
now supports loading projects with model versions.get_asset_key_for_model
now supports retrieving asset keys for seeds and snapshots. Thanks @aksestok!@asset
decorator causing a false positive in Pyright strict mode. Thanks @tylershunt!security_context
field on the k8s_job_executor
didn't correctly set the security context on the launched step pods. Thanks @krgn!ObserveResult
s with no data_version
.FreshnessPolicy
s on observable source assets. These assets will be considered “Overdue” when the latest value for the “dagster/data_time” metadata value is older than what’s allowed by the freshness policy.DbtCliResource
now include metadata from the dbt adapter response. This includes fields like rows_affected
, query_id
from the Snowflake adapter, or bytes_processed
from the BigQuery adapter.k8s_job_executor
.context.log.exception
in a sensor or schedule did not properly capture exception information.@observable_source_asset
-decorated functions can now return an ObserveResult
. This allows including metadata on the observation, in addition to a data version. This is currently only supported for non-partitioned assets.AutoMaterializeRule.skip_on_not_all_parents_updated_since_cron
class allows you to construct AutoMaterializePolicys
which wait for all parents to be updated after the latest tick of a given cron schedule.build_schedule_from_partitioned_job
now supports creating a schedule from a static-partitioned job (Thanks @craustin
!)PipesK8sClient
will now autodetect the namespace when using in-cluster config. (Thanks @aignas
!)PipesK8sClient
can now inject the context in to multiple containers. (Thanks @aignas
!)write_pandas
method to load Pandas DataFrames in Snowflake. To support this change, the database connector was switched from SqlDbConnection
to SnowflakeConnection
.@ion-elgreco
!)@dbt_assets
and multiple dbt resources produce the same AssetKey
, we now display an exception message that highlights the file paths of the misconfigured dbt resources in your dbt project.@jblawatt
!)automountServiceAccountToken: false
to the default service account used by the Helm chart, in order to better comply with security policies. (Thanks @MattyKuzyk
!)@ruizh22
!)PipesK8sClient
has improved handling for init containers and additional containers. (Thanks @aignas
!)last_sensor_start_time
property of the SensorEvaluationContext
, which would get cleared on ticks after the first tick after the sensor starts.dagster instance migrate --bigint-migration
, which caused some operational errors on mysql storages.AssetExecutionContext
have been marked deprecated, with their suggested replacements in parenthesis:context.op_config
(context.op_execution_context.op_config
)context.node_handle
(context.op_execution_context.node_handle
)context.op_handle
(context.op_execution_context.op_handle
)context.op
(context.op_execution_context.op
)context.get_mapping_key
(context.op_execution_context.get_mapping_key
)context.selected_output_names
(context.op_execution_context.selected_output_names
)context.dagster_run
(context.run
)context.run_id
(context.run.run_id
)context.run_config
(context.run.run_config
)context.run_tags
(context.run.tags
)context.has_tag
(key in context.run.tags
)context.get_tag
(context.run.tags.get(key)
)context.get_op_execution_context
(context.op_execution_context
)context.asset_partition_key_for_output
(context.partition_key
)context.asset_partition_keys_for_output
(context.partition_keys
)context.asset_partitions_time_window_for_output
(context.partition_time_window
)context.asset_partition_key_range_for_output
(context.partition_key_range
)@asset_check
now has a blocking
parameter. When this is enabled, if the check fails with severity ERROR
then any downstream assets in the same run won’t execute.MaterializeResult
Edit
button next to an agent token on the Tokens
tab in Org Settings
to configure permissions for a particular token. You must be an Organization Admin to edit agent token permissions.pendulum
library, for Python versions 3.9 and higher.AllPartitionMapping
now supports mapping to downstream partitions, enabling asset backfills with these dependencies. Thanks @craustin!@asset_check
has new fields additional_deps
and additional_ins
to allow dependencies on assets other than the asset being checked.dbt-core==1.4.*
is now removed because the version has reached end-of-life.get_partition_keys_not_in_subset
on a BaseTimeWindowPartitionsSubset
that targeted a partitions definition with no partitions (e.g. a future start date) would raise an error. Now, it returns an empty list.LocalComputeLogManager
on Windows could result in errors relating to invalid paths. This has been resolved. Thanks @hainenber!DatabricksJobRunner
now ensures the correctdatabricks-sdk
is installed. Thanks @zyd14!config.meta.description
. Thanks @CapitanHeMo!PipesK8sClient
can now correctly handle load_incluster_config
. Thanks @aignas!agent_queue
key in a dagster_cloud.yaml
file incorrectly failed to validate when using the dagster-cloud ci init
or dagster-cloud ci check
commands during CI/CD.