New
- Assets with time-window
PartitionsDefinition
s (e.g.HourlyPartitionsDefinition
,DailyPartitionsDefinition
) may now have aFreshnessPolicy
. - [dagster-dbt] When using
load_assets_from_dbt_project
orload_assets_from_dbt_manifest
withdbt-core>=1.4
,AssetMaterialization
events will be emitted as the dbt command executes, rather than waiting for dbt to complete before emitting events. - [dagster-aws] When run monitoring detects that a run unexpectedly crashed or failed to start, an error message in the run’s event log will include log messages from the ECS task for that run to help diagnose the cause of the failure.
- [dagster-airflow] added
make_ephemeral_airflow_db_resource
which returns aResourceDefinition
for a local only airflow database for use in migrated airflow DAGs - Made some performance improvements for job run queries which can be applied by running
dagster instance migrate
. - [dagit] System tags (code + logical versions) are now shown in the asset sidebar and on the asset details page.
- [dagit] Source assets that have never been observed are presented more clearly on the asset graph.
- [dagit] The number of materialized and missing partitions are shown on the asset graph and in the asset catalog for partitioned assets.
- [dagit] Databricks-backed assets are now shown on the asset graph with a small “Databricks” logo.
Bugfixes
- Fixed a bug where materializations of part of the asset graph did not construct required resource keys correctly.
- Fixed an issue where
observable_source_asset
incorrectly required its function to have acontext
argument. - Fixed an issue with serialization of freshness policies, which affected cacheable assets that included these policies such as those from
dagster-airbyte
- [dagster-dbt] Previously, the
dagster-dbt
integration was incompatible withdbt-core>=1.4
. This has been fixed. - [dagster-dbt]
load_assets_from_dbt_cloud_job
will now avoid unnecessarily generating docs when compiling a manifest for the job. Compile runs will no longer be kicked off for jobs not managed by this integration. - Previously for multipartitioned assets,
context.asset_partition_key
returned a string instead of aMultiPartitionKey
. This has been fixed. - [dagster-k8s] Fixed an issue where pods launched by the
k8s_job_executor
would sometimes unexpectedly fail due to transient 401 errors in certain kubernetes clusters. - Fix a bug with nth-weekday-of-the-month handling in cron schedules.
Breaking Changes
- [dagster-airflow]
load_assets_from_airflow_dag
no longer creates airflow db resource definitions, as a user you will need to provide them onDefinitions
directly
Deprecations
- The
partitions_fn
argument of theDynamicPartitionsDefinition
class is now deprecated and will be removed in 2.0.0.
Community Contributions
- [dagster-wandb] A new integration with Weights & Biases allows you to orchestrate your MLOps pipelines and maintain ML assets with Dagster.
- Postgres has been updated to 14.6 for Dagster’s helm chart. Thanks @DustyShap!
- Typo fixed in docs. Thanks @C0DK!
- You can now pass a callable directly to
asset
(rather than using@asset
in decorator form) to create an asset. Thanks @ns-finkelstein!
Documentation
- New “Asset versioning and caching” guide
- [dagster-snowflake] The Snowflake guide has been updated to include PySpark dataframes
- [dagster-snowflake] The Snowflake guide has been updated to include private key authentication
- [dagster-airflow] The Airflow migration guide has been update to include more detailed instructions and considerations for making a migration
All Changes
1.1.17...1.1.18
See All Contributors
Add google analytics tracking query param to slack link from OSS (#12024)
by @salazarm
Add --working-directory argument to dagster dev (#12026)
by @gibsondan
[dagster-fivetran] Add option to force-create materializations for tables not in API response (#11972)
by @benpankow
docs: removed typo from install.mdx (#12022)
by @clayheaton
[dagit] Fix use of fragments causing Apollo caching error in partition health (#12030)
by @bengotow
[dagster-airflow] use full timestamp for partition name (#12034)
by @Ramshackle-Jamathon
[dagster-airflow] airflow retry support (#11954)
by @Ramshackle-Jamathon
Change endpoints to the ones that are used by airbyte UI (#12012)
by @emilija-omnisend
lint fix (#12044)
by @benpankow
feat(dbt-cloud): compile run only if job has environment variable cache (#12042)
by @rexledesma
fix(dbt-cloud): inherit generate docs settings for compile run (#12043)
by @rexledesma
skip import test on windows (#12048)
by @alangenfeld
1.1.15 changelog (#12051)
by @jamiedemaria
[pyright] [scripts] misc (#11923)
by @smackesey
accept UndefinedAssetJob in run status sensors (#12054)
by @jamiedemaria
Enable use of arguments when using the
asset function directly instead of as a decorator (#11903)
by @nsfinkelstein
Automation: versioned docs for 1.1.15
by @elementl-devtools
Bump Postgres to 14.6 (#12015)
by @DustyShap
make black (#12078)
by @alangenfeld
Construct required resources correctly when materializing partial asset graphs (#12052)
by @jamiedemaria
Fix context.asset_partition_key for multidimensional partitions (#12035)
by @clairelin135
Install dagster-managed-elements when appropriate (#12046)
by @jmsanders
Bump http-cache-semantics from 4.1.0 to 4.1.1 in /js_modules/dagit (#12080)
by @dependabot[bot]
[docs] [dagster-snowflake] update docs with private key auth info (#11746)
by @jamiedemaria
in comment, clarify that scraping asset info off of In/Out is legacy (#12089)
by @sryza
Lazy load ExternalAssetGraph for CachingStaleStatusResolver (#12090)
by @smackesey
[telemetry] fix setting __TELEMETRY_ENABLED__ flag on Dagit (#12092)
by @benpankow
[pyright] misc (#12102)
by @smackesey
Allow observable source assets to have no context argument (#11981)
by @schrockn
[dagster-airflow] remove api's for 1.x.x release (#12023)
by @Ramshackle-Jamathon
[dagster-airflow] extract utils into seperate file (#12065)
by @Ramshackle-Jamathon
[dagster-airflow] move schedule and asset functions into their own files (#12066)
by @Ramshackle-Jamathon
[dagster-airflow] remove vended airflow code (#12121)
by @Ramshackle-Jamathon
Fix pre-release core => library translation (#12109)
by @gibsondan
add run job index (#12033)
by @prha
Add Databricks compute kind tag (#12117)
by @braunjj
[schedules] fix nth weekday of month cron handling (#12130)
by @alangenfeld
[dagit] Add tests for unpartitioned case, fix for console.error in partition health (#12085)
by @bengotow
[js] fix lint (#12131)
by @alangenfeld
[pythonic config] Add disabled tests for various more complex config schemas (#12105)
by @benpankow
[docs] Clairfy dagster-pagerduty docs (#12128)
by @benpankow
Test with a 64 bit after_cursor (#12093)
by @jmsanders
[dagit] Memoize some Intl behavior (#12125)
by @hellendag
[dagit] Add storybook coverage of Asset Table states (#12103)
by @bengotow
[dagit] Add Storybook coverage of PartitionHealthSummary rendering (#12116)
by @bengotow
[dagit] In development, render toasts for unhandled promise exceptions (#12082)
by @bengotow
Include logs in failure message for ECS monitoring failures (#12113)
by @gibsondan
[dagster-airflow] 1.x.x api changes (#12067)
by @Ramshackle-Jamathon
[dagster-airflow] migration limitations (#12124)
by @Ramshackle-Jamathon
[dagit] Mocks, storybooks and a test for BackfillTable (#12095)
by @bengotow
[pythonic config] Correctly handle pydantic List types in config (#12106)
by @benpankow
comment to explain what define_solid_dictionary_cls does (#12088)
by @sryza
remove protobuf pin in dagster[test] (#11974)
by @yuhan
[dagster-airflow] drop unique_id param (#12127)
by @Ramshackle-Jamathon
Test with a 64 bit after_cursor (#12137)
by @jmsanders
[dagit] Show partition status on the asset graph, catalog pages, add tests (#11914)
by @bengotow
[pythonic config] Correctly handle pydantic Dict/Mapping types in config (#12107)
by @benpankow
release 1.1.17 changelog (#12140)
by @Ramshackle-Jamathon
[docs] Add PySpark to Snowflake reference guide (#11814)
by @jamiedemaria
Add bugfixes to 1.1.17 changelog (#12141)
by @gibsondan
Automation: versioned docs for 1.1.17
by @elementl-devtools
Ruff 0.0.212 -> 0.0.241 (#12138)
by @smackesey
Adopt pyright for typechecking (#10983)
by @smackesey
[1/n] Serialize top-level resources into repository data (#11529)
by @benpankow
[2/n] Expose top-level resources via GraphQL (#11553)
by @benpankow
Fix serdes on FreshnessPolicy object (#12143)
by @benpankow
Better error output for Pyright script (#12145)
by @smackesey
[3/n] Display top-level resources in Dagit sidebar (#11554)
by @benpankow
Fix misc type errors (#12147)
by @smackesey
Delete no-longer-needed type-ignores (#12156)
by @smackesey
[dagit] Fix build failure caused by mocks out of sync with query (#12152)
by @bengotow
Support json output from pyright script and ignore
build (#12155)
by @smackesey
Add pyright_rebuild Makefile target (#12159)
by @smackesey
[pyright] --find-links for gprcio wheels (#12158)
by @alangenfeld
[docs] - Remove Pagination component from layout (#12135)
by @erinkcochran87
Fix instructions for using serverless from the CLI without GitHub (#12161)
by @shalabhc
making erin the owner of all docs 👑 (#12139)
by @tacastillo
[dagit] Better Asset DAG states for source assets (#12142)
by @bengotow
[gql] Add tags to AssetEventMixin (#11973)
by @smackesey
type annotations for input_bindings in composition.py (#12087)
by @sryza
[Dynamic Partitions 1] Storage changes (#11994)
by @clairelin135
[dagit] System tags (code + logical versions) on asset graph + details (#12151)
by @bengotow
[Dynamic Partitions 2] Update DynamicPartitionsDefinition to have name param (#12000)
by @clairelin135
hide download links until logs are available (#12164)
by @prha
(tick-testing 1/6) Rename GrapheneFutureInstigationTick to GrapheneDryRunInstigationTick (#12055)
by @dpeng817
[Dynamic Partitions 3] Display dynamic partitions in Dagit (#11900)
by @clairelin135
Avoid creating repo on each partitionStats gql call (#12166)
by @clairelin135
[Docs] Removed sneaky citation mark in title on docs (#12120)
by @C0DK
Add 401 to the list of API codes that our k8s client retries on (#12074)
by @gibsondan
[freshness-policies] Add the ability to calculate the used_data_time of a TimeWindowPartitioned asset (#11607)
by @OwenKephart
(tick-testing 2/6) Revamp dry run tick behavior (#12056)
by @dpeng817
feat(dagster-dbt): support dbt-core 1.4.x (#11902)
by @rexledesma
[dagster-dbt] [1/2] Add streaming entrypoint for dbt cli execution (#12086)
by @OwenKephart
[dagster-dbt] [2/2] Add ability to stream events while executing dbt assets (#12100)
by @OwenKephart
Fix import (#12185)
by @OwenKephart
Store the instance ref on the grpc server class if it's present, so that grpc api calls can use it if it's there (#12194)
by @gibsondan
[dagster-wandb] Integration with Weights & Biases (#10470)
by @chrishiste
W&B integration follow up 2/ update example to defs (#12059)
by @yuhan
validate time partition keys when adding to a TimeWindowPartitionsSubset (#12195)
by @OwenKephart
Make Partition GRPC calls with
instance_ref args optional (#12196)
by @clairelin135
[dagster-airflow] [docs] migration guide updates/considerations (#12198)
by @Ramshackle-Jamathon
[dagster-airflow] refactor airflow_db resources (#12202)
by @Ramshackle-Jamathon
Make top_level_resources argument _top_level_resources (#12211)
by @schrockn
Add guide for observable source assets and versioning (#12118)
by @schrockn
1.1.18 Changelog (#12217)
by @smackesey
Fix dagster-wandb placeholder (#12222)
by @smackesey
1.1.18
by @elementl-devtools