New
- The
FreshnessPolicy
object now supports acron_schedule_timezone
argument. AssetsDefinition.from_graph
now supports afreshness_policies_by_output_name
parameter.- The
@asset_sensor
will now display an informativeSkipReason
when no new materializations have been created since the last sensor tick. AssetsDefinition
now has ato_source_asset
method, which returns a representation of this asset as aSourceAsset
.- You can now designate assets as inputs to ops within a graph or graph-based job. E.g.
from dagster import asset, job, op
@asset
def emails_to_send():
...
@op
def send_emails(emails) -> None:
...
@job
def send_emails_job():
send_emails(emails_to_send.to_source_asset())
- Added a
--dagit-host/-h
argument to thedagster dev
command to allow customization of the host where Dagit runs. - [dagster-snowflake, dagster-duckdb] Database I/O managers (Snowflake, DuckDB) now support static partitions, multi-partitions, and dynamic partitions.
Bugfixes
- Previously, if a description was provided for an op that backed a multi-asset, the op’s description would override the descriptions in Dagit for the individual assets. This has been fixed.
- Sometimes, when applying an
input_manager_key
to an asset’s input, incorrect resource config could be used when loading that input. This has been fixed. - Previously, the backfill page errored when partitions definitions changed for assets that had been backfilled. This has been fixed.
- When displaying materialized partitions for multipartitioned assets, Dagit would error if a dimension had zero partitions. This has been fixed.
- [dagster-k8s] Fixed an issue where setting
runK8sConfig
in the Dagster Helm chart would not pass configuration through to pods launched using thek8s_job_executor
. - [dagster-k8s] Previously, using the
execute_k8s_job
op downstream of a dynamic output would result in k8s jobs with duplicate names being created. This has been fixed. - [dagster-snowflake] Previously, if the schema for storing outputs didn’t exist, the Snowflake I/O manager would fail. Now it creates the schema.
Breaking Changes
- Removed the experimental, undocumented
asset_key
,asset_partitions
, andasset_partitions_defs
arguments onOut
. @multi_asset
no longer acceptsOut
values in the dictionary passed to itsouts
argument. This was experimental and deprecated. Instead, useAssetOut
.- The experimental, undocumented
top_level_resources
argument to therepository
decorator has been renamed to_top_level_resources
to emphasize that it should not be set manually.
Community Contributions
load_asset_values
now accepts resource configuration (thanks @Nintorac!)- Previously, when using the
UPathIOManager
, paths with the"."
character in them would be incorrectly truncated, which could result in multiple distinct objects being written to the same path. This has been fixed. (Thanks @spenczar!)
Experimental
- [dagster-dbt] Added documentation to our dbt Cloud integration to cache the loading of software-defined assets from a dbt Cloud job.
Documentation
- Revamped the introduction to the Partitions concepts page to make it clear that non-time-window partitions are equally encouraged.
- In Navigation, moved the Partitions and Backfill concept pages to their own section underneath Concepts.
- Moved the Running Dagster locally guide from Deployment to Guides to reflect that OSS and Cloud users can follow it.
- Added a new guide covering asset versioning and caching.
All Changes
1.1.18...1.1.19
See All Contributors
feat(dagster-dbt): support dbt-core 1.4.x (#11902)
by @rexledesma
Fixes/improvements for pyright script (#12175)
by @smackesey
nux examples in oss 1/: add dagster_cloud.yaml to prep cloud nux onboarding (#12172)
by @yuhan
[dagster-dbt] [1/2] Add streaming entrypoint for dbt cli execution (#12086)
by @OwenKephart
Fix import (#12185)
by @OwenKephart
(tick-testing 3/6) type annotations to schedules gql (#12057)
by @dpeng817
(tick-testing 4/6) mutation to dry-run sensor (#11616)
by @dpeng817
[db io managers] support static partitions (#12129)
by @jamiedemaria
Pass correct config to io manager when using input_manager_key (#12053)
by @jamiedemaria
[dagster-dbt] [2/2] Add ability to stream events while executing dbt assets (#12100)
by @OwenKephart
Agent downtime alert docs (#12186)
by @johannkm
(tick-testing 5/6) Add SensorType (#12021)
by @dpeng817
(tick-testing 6/6) Add dry run mutations for schedules (#11869)
by @dpeng817
[dagit] Add some icons for Cloud (#12187)
by @hellendag
[1/n][structured config] Add ability to runtime-configure struct-config resources (#11773)
by @benpankow
fix pyright (#12193)
by @jamiedemaria
[dagit] Storybooks for asset partition and event details + dayJS fix (#12178)
by @bengotow
[dagster-wandb] Integration with Weights & Biases (#10470)
by @chrishiste
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
W&B integration follow up 2/ update example to defs (#12059)
by @yuhan
nux examples in oss 2/: add required env vars in README's front matter (#12154)
by @yuhan
Sensor testing UI (#12148)
by @salazarm
validate time partition keys when adding to a TimeWindowPartitionsSubset (#12195)
by @OwenKephart
Make Partition GRPC calls with
instance_ref args optional (#12196)
by @clairelin135
Add public api doc for create_repository_using_definitions_args, update typehints, and cleanup Definitions docstring (#12176)
by @schrockn
[dagster-airflow] [docs] migration guide updates/considerations (#12198)
by @Ramshackle-Jamathon
[dagster-airflow] refactor airflow_db resources (#12202)
by @Ramshackle-Jamathon
Fix alert docs (#12208)
by @johannkm
Temporarily disable pyright in BK (#12212)
by @smackesey
Rename "Loading multiple repositories" section in workspace files docs (#12201)
by @gibsondan
Make top_level_resources argument _top_level_resources (#12211)
by @schrockn
Revert "nux examples in oss 2/: add required env vars in README's front matter" (#12199)
by @yuhan
Pyright config/script fixes and improvements (#12206)
by @smackesey
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
Add "--dagit-host" arg to dagster dev (#12220)
by @gibsondan
diff against origin/master in quick_pyright (#12200)
by @sryza
Re-enable pyright in BK (#12214)
by @smackesey
Remove restart-on-failure from local docker agent guide (#12224)
by @gibsondan
[dagit] Storybooks for MetadataEntry rendering (#12177)
by @bengotow
Add airbyte guide to experimental guide index (#12207)
by @smackesey
Automation: versioned docs for 1.1.18
by @elementl-devtools
Schedules Testing UI (#12160)
by @salazarm
Keep dots in paths in UPathIOManager (#12174)
by @spenczar
remove Out.asset_key (#12221)
by @sryza
[structured config] Fix env vars not working with direct Resource instantiation (#11468)
by @benpankow
allow using SourceAssets to satisfy node inputs in non-asset jobs (#12091)
by @sryza
Add observe function (source asset analogue to materialize) (#11996)
by @smackesey
treat pyright warnings as errors for buildkite purposes (#12239)
by @gibsondan
Update serverless docs with new run isolation default (#12225)
by @johannkm
docs(dbt-cloud): add instructions to cache dbt Cloud compilation (#11793)
by @rexledesma
Allow
dagster api grpc --max-workers (#12246)
by @smackesey
Allow Ursula to test dynamic partition writes (#12215)
by @clairelin135
[docs] fix dbt tutorial error (#12255)
by @jamiedemaria
[docs] - Correct name of freshness sensor context object (#12250)
by @erinkcochran87
document system tags on metadata/tags page (#12256)
by @sryza
[dagster-airflow] remove ref to cli (#12262)
by @Ramshackle-Jamathon
Revamp intro of partitions concepts page (#12257)
by @sryza
Remove @experimental from build_assets_job and build_source_asset_observation_job (#12252)
by @smackesey
[fix] Surface the correct description for multi-assets when a description is provided for the op (#12271)
by @OwenKephart
remove legacy APIs from dagster-k8s tests (#12020)
by @sryza
Use Definitions in the body of materialize functions (and other public-facing execution functions) (#12038)
by @schrockn
[typing/static] assets (#12003)
by @smackesey
[typing/runtime] Make GraphDefinition.create_adjacency_lists internally public (#12291)
by @smackesey
[typing/runtime] add AssetsDefinition.partition_mappings (#12290)
by @smackesey
in docs navigation, make partitions independent from schedules (#12264)
by @sryza
[typing/static] storage (#12283)
by @smackesey
[api docs] Show PartitionsDefinition doc strings on docs site (#12265)
by @jamiedemaria
[db io manager] Support MultiPartitions (#12165)
by @jamiedemaria
load asset value config (#10991)
by @Nintorac
remove some handling for solid in composition.py (#12278)
by @sryza
Add shortcuts for '--dagit-host' and '--dagit-port' to dagster dev (#12301)
by @gibsondan
[typing/runtime] [gql] eliminate resolver **kwargs (2) (#12241)
by @smackesey
[typing/runtime] [gql] eliminate resolver **kwargs (4) (#12243)
by @smackesey
[typing/runtime] [gql] eliminate resolver **kwargs (5) (#12244)
by @smackesey
[Runs Table] Open link in new tab (#12307)
by @salazarm
[typing/runtime] [gql] eliminate resolver **kwargs (3) (#12242)
by @smackesey
add types and break up big functions in dagstermill impl (#12274)
by @sryza
[typing/runtime] [gql] eliminate resolver **kwargs (1) (#11724)
by @smackesey
add cloud to scaffold (#12306)
by @slopp
[typing/runtime] Remove unnecessary isinstance checks (#12287)
by @smackesey
[typing/runtime] Make AssetKey.to_string always return AssetKey (#12285)
by @smackesey
[typing/runtime] Refactor cached_method (#12004)
by @smackesey
Remove mypy from tox files (#12112)
by @smackesey
[typing/runtime] Asset graph comparisons (#12286)
by @smackesey
refactor(databricks): remove legacy Dagster definitions (#12150)
by @rexledesma
docs: update scaffold to use dagster dev (#12297)
by @rexledesma
[db io managers] create schema if not exist (#11764)
by @jamiedemaria
AssetsDefinition.to_source_asset (#12203)
by @sryza
in tags doc, fix schedule tag and add sensor tag (#12313)
by @sryza
Simplify buildkite-build-test-project-image (#12029)
by @gibsondan
Move repository_definition into subpackage (#12318)
by @schrockn
Break up repository_definition subpackage into multiple files (#12319)
by @schrockn
[docs] - Build on local Dagster guide (#12168)
by @erinkcochran87
[freshness-policies] add a cron_schedule_timezone argument to the FreshnessPolicy class (#12263)
by @OwenKephart
[typing/runtime] Refactor subset selection tree (#12289)
by @smackesey
Fix unimported symbol BK (#12327)
by @smackesey
nux examples in oss 3/: sync dagster-io/quickstart-*/setup.py to example/* (#12234)
by @yuhan
[dagster-k8s] In the execute_k8s_job op, use step key to generate the k8s job name (#12344)
by @OwenKephart
Include instance-level / code-location-level runK8sConfig in step pods (#12308)
by @gibsondan
remove unused lazy-repository docs snippet (#12277)
by @sryza
[asset-reconciliation][perf] Perf regression tests (#12230)
by @OwenKephart
s/_CacheingDefinitionIndex/CacheingDefinitionIndex/g (#12320)
by @schrockn
[typing/runtime] Massage set flattening (#12288)
by @smackesey
[asset-reconciliation][perf] Better caching of most recent materializations (#12237)
by @OwenKephart
[db io managers] Dynamic Partition tests (#12216)
by @jamiedemaria
bump limit (#12355)
by @OwenKephart
Fix multipartitions run length encoding error (#12329)
by @clairelin135
[freshness-policies] Allow setting freshness policies when using graph-backed assets (#12357)
by @OwenKephart
nullsafe array index access (#12362)
by @salazarm
Change schedule button text (#12361)
by @dpeng817
[dagster-pandas][dagster-pandera] assign a typing_type for generated pandas dataframe DagsterTypes (#12363)
by @OwenKephart
Fix partitions backfill deserialization error (#12238)
by @clairelin135
1.1.19 Changelog (#12378)
by @OwenKephart
guide to how assets relate to ops and graphs (#12204)
by @sryza
updates tests to handle new kubernetes resources field (#12395)
by @alangenfeld
1.1.19 changelog: reorder code block (#12402)
by @yuhan
1.1.19
by @elementl-devtools