New
- With the new
asset_selection
parameter on@sensor
andSensorDefinition
, you can now define a sensor that directly targets a selection of assets, instead of targeting a job. materialize
andmaterialize_to_memory
now accept araise_on_error
argument, which allows you to determine whether to raise an Error if the run hits an error or just return as failed.- (experimental) Dagster now supports multi-dimensional asset partitions, through a new
MultiPartitionsDefinition
object. An optional schema migration enables support for this feature (run viadagster instance migrate
). Users who are not using this feature do not need to run the migration. - You can now launch a run that targets a range of asset partitions, by supplying the "dagster/asset_partition_range_start" and "dagster/asset_partition_range_end" tags.
- [dagit] Asset and op graphs in Dagit now show integration logos, making it easier to identify assets backed by notebooks, DBT, Airbyte, and more.
- [dagit] a
-db-pool-recycle
cli flag (and dbPoolRecycle helm option) have been added to control how long the pooled connection dagit uses persists before recycle. The default of 1 hour is now respected by postgres (mysql previously already had a hard coded 1hr setting). Thanks @adam-bloom! - [dagster-airbyte] Introduced the ability to specify output IO managers when using
load_assets_from_airbyte_instance
andload_assets_from_airbyte_project
. - [dagster-dbt] the
dbt_cloud_resource
resource configurationaccount_id
can now be sourced from the environment. Thanks @sowusu-ba! - [dagster-duckdb] The DuckDB integration improvements: PySpark DataFrames are now fully supported, “schema” can be specified via IO Manager config, and API documentation has been improved to include more examples
- [dagster-fivetran] Introduced experimental
load_assets_from_fivetran_instance
helper which automatically pulls assets from a Fivetran instance. - [dagster-k8s] Fixed an issue where setting the
securityContext
configuration of the Dagit pod in the Helm chart didn’t apply to one of its containers. Thanks @jblawatt!
Bugfixes
- Fixed a bug that caused the
asset_selection
parameter ofRunRequest
to not be respected when used inside a schedule. - Fixed a bug with health checks during delayed Op retries with the k8s_executor and docker_executor.
- [dagit] The asset graph now live-updates when assets fail to materialize due to op failures.
- [dagit] The "Materialize" button now respects the backfill permission for multi-run materializations.
- [dagit] Materializations without metadata are padded correctly in the run logs.
- [dagster-aws] Fixed an issue where setting the value of
task_definition
field in theEcsRunLauncher
to an environment variable stopped working. - [dagster-dbt] Add exposures in
load_assets_from_dbt_manifest
. This fixed then error whenload_assets_from_dbt_manifest
failed to load from dbt manifest with exposures. Thanks @sowusu-ba! - [dagster-duckdb] In some examples, the duckdb config was incorrectly specified. This has been fixed.
Breaking Changes
- The behavior of the experimental asset reconciliation sensor, which is accessible via
build_asset_reconciliation_sensor
has changed to be more focused on reconciliation. It now materializes assets that have never been materialized before and avoids materializing assets that are “Upstream changed”. Thebuild_asset_reconciliation_sensor
API no longer acceptswait_for_in_progress_runs
andwait_for_all_upstream
arguments.
Documentation
- Added documentation outlining environment variable declaration and usage in Dagster code, including how to pass secrets.
- Fixed a typo on Dagster Instance page. Thanks @domsj!
All Changes
1.0.16...1.0.17
See All Contributors
[jog] host_representation_tests, instance_tests, selector_tests (#10256)
by @dpeng817
[jog] resource_tests (#10257)
by @dpeng817
[dagstermill] notebook backed assets (#10277)
by @jamiedemaria
notebook and assets example project (#10315)
by @jamiedemaria
[dagster-airbyte][managed-elements] Explicit handling of reconciling secret values (#10195)
by @benpankow
[duckdb] integration improvements (#10114)
by @jamiedemaria
Fix Helm package skipping (#10313)
by @jmsanders
Remove special casing for graphql tests (#10327)
by @jmsanders
Add client ID to dagit (#10316)
by @dpeng817
[dagster-airflow] add airflow 2 support to
make_dagster_job_from_airflow_dag + xcom mock option (#10337)
by @Ramshackle-Jamathon
1.0.16 changelog (#10340)
by @alangenfeld
disentangle asset reconciliation sensor from MultiAssetSensorDefinition (#10258)
by @sryza
Mock tqdm in tests to avoid segfaults (#10343)
by @jmsanders
Automation: versioned docs for 1.0.16
by @elementl-devtools
update 1.0.16 changelog (#10346)
by @yuhan
Better fix for tooltips around disabled buttons + gitlab icon (#10338)
by @salazarm
Back-compat fix for setting the task definition in the EcsRunLauncher to an env var (#10341)
by @gibsondan
Mock each callsite of tqdm (#10368)
by @gibsondan
Build integration steps before test project steps (#10367)
by @jmsanders
Packages with test changes only shouldn't run deps (#10309)
by @jmsanders
Remove test-project-core (#10310)
by @jmsanders
chore: add project urls to dagster pypi (#10328)
by @rexledesma
fix: add comma (#10373)
by @rexledesma
add securityContext to dagit init-user-deployment initContainers (#10369)
by @gibsondan
JB - Docs Typography Follow-ups (#10344)
by @braunjj
[dagit] Add more logos to tags (#10355)
by @jamiedemaria
[Multi-dimensional partitions 1/n] Add schema migration for asset event tags table (#10001)
by @clairelin135
Revert "Mock each callsite of tqdm" (#10379)
by @jmsanders
[Multi-dimensional partitions 2/n] Read/write from asset event tags table (#10056)
by @clairelin135
Prevent segfaults (#10372)
by @jmsanders
[apidocs] clarify usage of create_databricks_job_op (#10299)
by @sryza
Mark celery-k8s-test-suite as flaky (#10204)
by @jmsanders
[Multi-dimensional partitions 3/n] Output multi-dimensional materializations (#10082)
by @clairelin135
fix duckdb configs in examples (#10378)
by @jamiedemaria
Revert "Mark celery-k8s-test-suite as flaky" (#10384)
by @jmsanders
Unpin grpc (#10386)
by @gibsondan
some refactorings to asset reconciliation sensor (#10233)
by @sryza
fix mysql heading level + typo (#10336)
by @domsj
[dagster-fivetran] Enable loading of Fivetran connection assets from instance (#10290)
by @benpankow
Resolver -> AssetGraph (#10401)
by @sryza
Enable accessing base jobs off of repository definitions (#10405)
by @sryza
add pyrightconfig.json to .gitignore (#10403)
by @sryza
[dagster-dbt] add exposures in load_assets_from_dbt_manifest (#10395)
by @sowusu-ba
operate on keys instead of strings in AssetSelection and AssetGraph (#10402)
by @sryza
Updated "Loaded with Errors" link (#10421)
by @gibsondan
[dagster-io/ui] Add stroke color to TextArea (#10422)
by @hellendag
Install project-fully-featured (#10419)
by @jmsanders
More process cleanup in grpc tests (#10423)
by @gibsondan
Add methods to AssetGraph for traversing asset partitions graph (#10413)
by @sryza
[dagit] Update partner compute_kind tags to latest designs (#10394)
by @bengotow
[dagit] Fix materialization log padding when no metadata is present (#10350)
by @bengotow
[dagit] Respect backfill permission in asset backfill modal (#10387)
by @bengotow
[freshness-policy] add latency freshness policy (#10393)
by @OwenKephart
Revert "Unpin grpc (#10386)" (#10428)
by @gibsondan
support RunRequest.asset_selection in schedules (#10400)
by @sryza
support raise_on_error in materialize and materialize_to_memory (#10397)
by @sryza
docs(cacheable-assets): mark unimplemented methods as abstract (#10424)
by @rexledesma
[easy] fix incorrect header in docker guide (#10427)
by @gibsondan
[dagit] Fix bug in asset live reloading after step failures, clean up AssetView (#10349)
by @bengotow
allow sensors to target asset selections instead of jobs (#10417)
by @sryza
Implement abstract methods (#10434)
by @jmsanders
[graphql] handle null int metadata val (#10436)
by @alangenfeld
[jog] convert runtime_types_tests (#10317)
by @dpeng817
[jog] convert core_test/selector_tests (#10318)
by @dpeng817
[easy][dagster-airbyte] Treat SSH key as secret for managed stack (#10390)
by @benpankow
[jog] Convert snap tests (#10319)
by @dpeng817
Expose sqlalchemy pool recycle option for mysql/postgres (#10416)
by @adam-bloom
cached_method decorator (#10398)
by @sryza
Enable action logging in dagit (#10342)
by @dpeng817
Temporarily skip celery-k8s tests (#10438)
by @jmsanders
Run builds on changes to .txt files (#10433)
by @jmsanders
Hook for loading secrets in grpc/run/step entry points (#10089)
by @gibsondan
Read
account_idfrom an environment variable in
dbt_cloud_resource (#10324)
by @sowusu-ba
Add container_name to EcsContainerContext (#10446)
by @gibsondan
Make asset reconciliation sensor more reconcile-y (#10435)
by @sryza
[dagster-airbyte] Generate src/dst Python classes for managed stacks (#10272)
by @benpankow
[docs] - Guides for configuring environment variables (#10034)
by @erinkcochran87
Revert "specify schema in pandas to_sql" (#10450)
by @jamiedemaria
feat: bind command-K to search (#10449)
by @rexledesma
[dagster-airbyte] Add ability to specify output IO managers (#10217)
by @benpankow
[dagster-airbyte] When loading managed connections, ignore those which are not managed (#10388)
by @benpankow
enable launching a run that targets a range of asset partitions (#10441)
by @sryza
chore: remove support for github dark mode (#10329)
by @rexledesma
[dagit] Clarify notebook buttons (#10451)
by @jamiedemaria
[dagstermill] allow custom io manager key specification (#10448)
by @jamiedemaria
[dagster-airbyte][docs] Reorganize Airbyte guide (#10215)
by @benpankow
Fix check_step_health with delayed op retries (#10458)
by @johannkm
changelog 1.0.17 (#10464)
by @yuhan
1.0.17
by @elementl-devtools