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]Breaking Changes
AssetMaterializations
no longer accepts a dagster_type
argument. This reverts the change
billed as "AssetMaterializations
can now have type information attached as metadata." in the
previous release.New
AssetMaterializations
can now have type information attached as metadata. See the materializations tutorial for moreBugfixes
context['ts']
was not passed properlytask_acks_late: true
that resulted in a 409 Conflict error
from Kubernetes. The creation of a Kubernetes Job will now be aborted if another Job with the same name existsDocs
New
CeleryK8sRunLauncher
supports termination of pipeline runs. This can be accessed via the
“Terminate” button in Dagit’s Pipeline Run view or via “Cancel” in Dagit’s All Runs page. This
will terminate the run master K8s Job along with all running step job K8s Jobs; steps that are
still in the Celery queue will not create K8s Jobs. The pipeline and all impacted steps will
be marked as failed. We recommend implementing resources as context managers and we will execute
the finally block upon termination.K8sRunLauncher
supports termination of pipeline runs.AssetMaterialization
events display the asset key in the Runs view.Bugfixes
DagsterInstance
was leaving database connections open due to not being
garbage collected.Enum
in resource config schemas resulted in an error.New
configured
API makes it easy to create configured versions of resources.Materialization
event type in favor of the new AssetMaterialization
event type,
which requires the asset_key
parameter. Solids yielding Materialization
events will continue
to work as before, though the Materialization
event will be removed in a future release.intermediate_storage_defs
argument to ModeDefinition
, which accepts a
list of IntermediateStorageDefinition
s, e.g. s3_plus_default_intermediate_storage_defs
.
As before, the default includes an in-memory intermediate and a local filesystem intermediate
storage.system_storage_defs
argument to ModeDefinition
in favor of
intermediate_storage_defs
. system_storage_defs
will be removed in 0.10.0 at the earliest.@intermediate_storage
decorator, which makes it easy to define intermediate
storages.s3_file_manager
and local_file_manager
resources to replace the file managers
that previously lived inside system storages. The airline demo has been updated to include
an example of how to do this:
https://github.com/dagster-io/dagster/blob/0.8.8/examples/airline_demo/airline_demo/solids.py#L171.Bugfixes
default_value
config on a field now works as expected. #2725Breaking Changes
dagster
and dagit
CLI commands no longer add the working directory to the
PYTHONPATH when resolving modules, which may break some imports. Explicitly installed python
packages can be specified in workspaces using the python_package
workspace yaml config option.
The python_module
config option is deprecated and will be removed in a future release.New
--path-prefix
to the dagit CLI. #2073date_partition_range
util function now accepts an optional inclusive
boolean argument. By default, the function does not return include the partition for which the end time of the date range is greater than the current time. If inclusive=True
, then the list of partitions returned will include the extra partition.MultiDependency
or fan-in inputs will now only cause the solid step to skip if all of the
fanned-in inputs upstream outputs were skippedBugfixes
input_hydration_config
argumentsalias
on a solid output will produce a useful error message (thanks @iKintosh!)daily_schedule
) for certain workspace.yaml formats