New
- Further performance improvements to the asset reconciliation sensor.
- Performance improvements to asset backfills with large numbers of partitions.
- New
AssetsDefinition.to_source_assets
to method convert a set of assets toSourceAsset
objects. - (experimental) Added partition mapping that defines dependency relationships between different
MultiPartitionsDefinitions
. - [dagster-mlflow] Removed the
mlflow
pin from thedagster-mlflow
package. - [ui] Syntax highlighting now supported in rendered markdown code blocks (from metadata).
Bugfixes
-
When using
build_asset_reconciliation_sensor
, in some cases duplicate runs could be produced for the same partition of an asset. This has been fixed. -
When using Pythonic configuration for resources, aliased field names would cause an error. This has been fixed.
-
Fixed an issue where
context.asset_partitions_time_window_for_output
threw an error when an asset was directly invoked withbuild_op_context
. -
[dagster-dbt] In some cases, use of ephemeral dbt models could cause the dagster representation of the dbt dependency graph to become incorrect. This has been fixed.
-
[celery-k8s] Fixed a bug that caused JSON deserialization errors when an Op or Asset emitted JSON that doesn't represent a
DagsterEvent
. -
Fixed an issue where launching a large backfill while running
dagster dev
would sometimes fail with a connection error after running for a few minutes. -
Fixed an issue where
dagster dev
would sometimes hang when running Dagster code that attempted to read in input via stdin. -
Fixed an issue where runs that take a long time to import code would sometimes continue running even after they were stopped by run monitoring for taking too long to start.
-
Fixed an issue where
AssetSelection.groups()
would simultaneously select both source and regular assets and consequently raise an error. -
Fixed an issue where
BindResourcesToJobs
would raise errors encapsulating jobs which had config specified at definition-time. -
Fixed Pythonic config objects erroring when omitting optional values rather than specifying
None
. -
Fixed Pythonic config and resources not supporting Enum values.
-
DagsterInstance.local_temp
andDagsterInstance.ephemeral
now use object instance scoped local artifact storage temporary directories instead of a shared process scoped one, removing a class of thread safety errors that could manifest on initialization. -
Improved direct invocation behavior for ops and assets which specify resource dependencies as parameters, for instance:
class MyResource(ConfigurableResource): pass @op def my_op(x: int, y: int, my_resource: MyResource) -> int: return x + y my_op(4, 5, my_resource=MyResource())
-
[dagster-azure] Fixed an issue with an AttributeError being thrown when using the async
DefaultAzureCredential
(thanks @mpicard) -
[ui] Fixed an issue introduced in 1.2.3 in which no log levels were selected by default when viewing Run logs, which made it appear as if there were no logs at all.
Deprecations
- The
environment_vars
argument toScheduleDefinition
is deprecated (the argument is currently non-functional; environment variables no longer need to be whitelisted for schedules)
Community Contributions
- Typos fixed in
[CHANGES.md](http://CHANGES.md)
(thanks @fridiculous) - Links to telemetry docs fixed (thanks @Abbe98)
--path-prefix
can now be supplied via Helm chart (thanks @mpicard)
Documentation
- New machine learning pipeline with Dagster guide
- New example of multi-asset conditional materialization
- New tutorial section about scheduling
- New images on the Dagster README
All Changes
1.2.3...1.2.4
See All Contributors
[refactor] delete Materialization (#13030)
by @smackesey
Add in progress subsets to the partition cache (#13045)
by @johannkm
Add multipartitioned assets with dynamic dimension to toys (#13061)
by @clairelin135
add docs example for multi-asset conditional materialization (#13054)
by @sryza
Add docs for source asset observation jobs/schedules (#13062)
by @smackesey
Revert "Add in progress subsets to the partition cache (#13045)"
by @johannkm
[asset-reconciliation][bug] Fix issue where overly-aggressive runs would be kicked off. (#13069)
by @OwenKephart
tweaks to cross-repo-assets toy (#12973)
by @sryza
Show unauthorized error graphql error message (#13064)
by @salazarm
[dagster-io/ui] Make Suggest component a bit more flexible (#13056)
by @hellendag
Fix disabled state for launchpad button submenu (#13078)
by @salazarm
Re-enable in progress subsets in the partition cache (#13082)
by @johannkm
Add dynamic partitions name resolver to dimension type (#13070)
by @clairelin135
asset sensor test docs (#13065)
by @prha
Fix issue where backfill fails when gRPC server is replaced mid-backfill (#13085)
by @gibsondan
Use instance from sensor/schedule context to instantiate resources, delay until accessed (#13041)
by @benpankow
Add materializing subset to asset gql (#13046)
by @johannkm
feat(helm): add path-prefix to dagit command (#13080)
by @mpicard
Use dynamic partition definition name for dimension of multipartition definition (#13090)
by @salazarm
[typing/static] Fix @repository decorator typing (#12295)
by @smackesey
[instance] make local artifact directory scheme thread safe (#13043)
by @alangenfeld
1.2.3 changelog (#13094)
by @jamiedemaria
Ensure pyright venvs use statically legible editable installs (#13089)
by @smackesey
[docs] - Remove finished code from dbt tutorial template (#13091)
by @erinkcochran87
[ui] Upgrade react-markdown (#13092)
by @hellendag
Fix submitting backfills synchronously from graphql (#13093)
by @gibsondan
Test get and set serialized_in_progress_partition_subset (#13063)
by @johannkm
ExitStack.pop_all -> close (#13050)
by @alangenfeld
Automation: versioned docs for 1.2.3
by @elementl-devtools
Fraser/rework readme (#12565)
by @frasermarlow
[ui] Use DefaultLogLevels when there is no level state stored (#13109)
by @hellendag
Set stdin to DEVNULL when opening dagster subprocesses (#13099)
by @gibsondan
add a vercel github action to build docs/storybook previews (#13052)
by @prha
[refactor] Remove
frozen{list,dict,tags} classes (#12293)
by @smackesey
Docs for setting up Gitlab CI, branch deployment guide (#12998)
by @prha
Add assets def to op context (#13088)
by @clairelin135
make AssetsDefinition.to_source_assets public (#13073)
by @sryza
[docs] New ML pipeline guide PR (#13100)
by @odette-elementl
[freshness-refactor][3/n] Update methods on the CachingDataTimeResolver to work with scalar data time (#12906)
by @OwenKephart
Fixing refs to images in the README (#13126)
by @tacastillo
restrict vercel builds based on paths (#13129)
by @prha
fix missing snapshots (#13134)
by @OwenKephart
Telemetry for dynamic partitions (#12605)
by @clairelin135
fix missing snapshots (again) (#13136)
by @OwenKephart
[freshness-refactor][4/n] Simplify scheduling algorithm (#13019)
by @OwenKephart
Deprecate environment_vars argument to
ScheduleDefinition,
@schedule (#13044)
by @smackesey
[refactor] delete hourly/daily/weekly/monthly schedule decorators, PartitionScheduleDefinition, build_schedule_from_partition (#13006)
by @smackesey
[refactor] simplify dependency dict typing (#12521)
by @smackesey
celery-k8s executor: handle stdout that's valid json but not a dagster event (#13143)
by @johannkm
fix typo in CHANGES.md (#13140)
by @fridiculous
Fix branch deployment docs (#13131)
by @dpeng817
Update multiple agents docs (#13135)
by @dpeng817
add toy for eager asset reconciliation (#13066)
by @sryza
trying again by moving the images to the same directory as the readme (#13127)
by @tacastillo
[tech][templates] moving the scaffold project's asset loader outside of the defs (#13103)
by @tacastillo
[docs][tutorial-revamp] Adding a section for scheduling to the tutorial (#13101)
by @tacastillo
replacing corrupt .png image (#13157)
by @frasermarlow
[dagster-dbt] Fix bug when calculating transitive dependencies (#13128)
by @OwenKephart
deploy storybook to prod when landing pushes on master (#13159)
by @prha
[dagster-azure] fix: AttributeError: 'coroutine' object has no attribute 'token' (#13110)
by @mpicard
Add support for more asset tags (#13153)
by @braunjj
[caching-refactor] Remove use of get_and_update_asset_status_cache. (#13151)
by @OwenKephart
[asset-reconciliation][perf] Cache common properties on the TimeWindowPartitionsDefinition (#12981)
by @OwenKephart
MultiPartitionMapping (#12950)
by @clairelin135
[asset-reconciliation] Fix issue with duplicate runs for partitions with in-progress materializations (#13130)
by @OwenKephart
update telemetry documentation links (#13176)
by @Abbe98
[structured config] respect field aliases for resources (#13177)
by @jamiedemaria
[refactor] Remove PartitionSetDefinition (#13145)
by @smackesey
TableMetadataValue toy (#13124)
by @smackesey
fix repository decorator typing (#13180)
by @smackesey
add storybook for @core in addition to @ui (#13184)
by @prha
feat(dbt): follow dbt Core's version support constraints (#13189)
by @rexledesma
Fix case where a pipeline load takes long enough that run monitoring kills it (#13156)
by @gibsondan
Allow newlines in error messages in Dagit (#13193)
by @gibsondan
Make sure we always wait for all grpc server processes to spin down in tests (#13146)
by @gibsondan
unpin mlflow from dagster-mlflow (#13194)
by @gibsondan
Greatly reduce the number of gRPC calls when doing large asset backfills (#13086)
by @gibsondan
don't run mlflow tests on python 3.11 (#13197)
by @gibsondan
[pythonic config] Treat Optional as both not-required and Noneable (#12975)
by @benpankow
[pythonic config] Add support for enums (#12979)
by @benpankow
[pythonic resources] Make direct invocation of ops/assets w/ resources easier (#13002)
by @benpankow
[bugfix] make AssetSelection.groups() resolve to only regular assets (#13196)
by @smackesey
[fix] Fix behavior of BindResourcesToJobs when jobs have config specified (#13057)
by @benpankow
[serdes] remove extraneous @cached_method use (#13206)
by @alangenfeld
1.2.4 changelog (#13226)
by @smackesey
1.2.4
by @elementl-devtools
[refactor] delete Materialization (#13030)
by @smackesey
Add in progress subsets to the partition cache (#13045)
by @johannkm
Add multipartitioned assets with dynamic dimension to toys (#13061)
by @clairelin135
add docs example for multi-asset conditional materialization (#13054)
by @sryza
Add docs for source asset observation jobs/schedules (#13062)
by @smackesey
Revert "Add in progress subsets to the partition cache (#13045)"
by @johannkm
[asset-reconciliation][bug] Fix issue where overly-aggressive runs would be kicked off. (#13069)
by @OwenKephart
tweaks to cross-repo-assets toy (#12973)
by @sryza
Show unauthorized error graphql error message (#13064)
by @salazarm
[dagster-io/ui] Make Suggest component a bit more flexible (#13056)
by @hellendag
Fix disabled state for launchpad button submenu (#13078)
by @salazarm
Re-enable in progress subsets in the partition cache (#13082)
by @johannkm
Add dynamic partitions name resolver to dimension type (#13070)
by @clairelin135
asset sensor test docs (#13065)
by @prha
Fix issue where backfill fails when gRPC server is replaced mid-backfill (#13085)
by @gibsondan
Use instance from sensor/schedule context to instantiate resources, delay until accessed (#13041)
by @benpankow
Add materializing subset to asset gql (#13046)
by @johannkm
feat(helm): add path-prefix to dagit command (#13080)
by @mpicard
Use dynamic partition definition name for dimension of multipartition definition (#13090)
by @salazarm
[typing/static] Fix @repository decorator typing (#12295)
by @smackesey
[instance] make local artifact directory scheme thread safe (#13043)
by @alangenfeld
1.2.3 changelog (#13094)
by @jamiedemaria
Ensure pyright venvs use statically legible editable installs (#13089)
by @smackesey
[docs] - Remove finished code from dbt tutorial template (#13091)
by @erinkcochran87
[ui] Upgrade react-markdown (#13092)
by @hellendag
Fix submitting backfills synchronously from graphql (#13093)
by @gibsondan
Test get and set serialized_in_progress_partition_subset (#13063)
by @johannkm
ExitStack.pop_all -> close (#13050)
by @alangenfeld
Automation: versioned docs for 1.2.3
by @elementl-devtools
Fraser/rework readme (#12565)
by @frasermarlow
[ui] Use DefaultLogLevels when there is no level state stored (#13109)
by @hellendag
Set stdin to DEVNULL when opening dagster subprocesses (#13099)
by @gibsondan
add a vercel github action to build docs/storybook previews (#13052)
by @prha
[refactor] Remove
frozen{list,dict,tags} classes (#12293)
by @smackesey
Docs for setting up Gitlab CI, branch deployment guide (#12998)
by @prha
Add assets def to op context (#13088)
by @clairelin135
make AssetsDefinition.to_source_assets public (#13073)
by @sryza
[docs] New ML pipeline guide PR (#13100)
by @odette-elementl
[freshness-refactor][3/n] Update methods on the CachingDataTimeResolver to work with scalar data time (#12906)
by @OwenKephart
Fixing refs to images in the README (#13126)
by @tacastillo
restrict vercel builds based on paths (#13129)
by @prha
fix missing snapshots (#13134)
by @OwenKephart
Telemetry for dynamic partitions (#12605)
by @clairelin135
fix missing snapshots (again) (#13136)
by @OwenKephart
[freshness-refactor][4/n] Simplify scheduling algorithm (#13019)
by @OwenKephart
Deprecate environment_vars argument to
ScheduleDefinition,
@schedule (#13044)
by @smackesey
[refactor] delete hourly/daily/weekly/monthly schedule decorators, PartitionScheduleDefinition, build_schedule_from_partition (#13006)
by @smackesey
[refactor] simplify dependency dict typing (#12521)
by @smackesey
celery-k8s executor: handle stdout that's valid json but not a dagster event (#13143)
by @johannkm
fix typo in CHANGES.md (#13140)
by @fridiculous
Fix branch deployment docs (#13131)
by @dpeng817
Update multiple agents docs (#13135)
by @dpeng817
add toy for eager asset reconciliation (#13066)
by @sryza
trying again by moving the images to the same directory as the readme (#13127)
by @tacastillo
[tech][templates] moving the scaffold project's asset loader outside of the defs (#13103)
by @tacastillo
[docs][tutorial-revamp] Adding a section for scheduling to the tutorial (#13101)
by @tacastillo
replacing corrupt .png image (#13157)
by @frasermarlow
[dagster-dbt] Fix bug when calculating transitive dependencies (#13128)
by @OwenKephart
deploy storybook to prod when landing pushes on master (#13159)
by @prha
[dagster-azure] fix: AttributeError: 'coroutine' object has no attribute 'token' (#13110)
by @mpicard
Add support for more asset tags (#13153)
by @braunjj
[caching-refactor] Remove use of get_and_update_asset_status_cache. (#13151)
by @OwenKephart
[asset-reconciliation][perf] Cache common properties on the TimeWindowPartitionsDefinition (#12981)
by @OwenKephart
MultiPartitionMapping (#12950)
by @clairelin135
[asset-reconciliation] Fix issue with duplicate runs for partitions with in-progress materializations (#13130)
by @OwenKephart
update telemetry documentation links (#13176)
by @Abbe98
[structured config] respect field aliases for resources (#13177)
by @jamiedemaria
[refactor] Remove PartitionSetDefinition (#13145)
by @smackesey
TableMetadataValue toy (#13124)
by @smackesey
fix repository decorator typing (#13180)
by @smackesey
add storybook for @core in addition to @ui (#13184)
by @prha
feat(dbt): follow dbt Core's version support constraints (#13189)
by @rexledesma
Fix case where a pipeline load takes long enough that run monitoring kills it (#13156)
by @gibsondan
Allow newlines in error messages in Dagit (#13193)
by @gibsondan
Make sure we always wait for all grpc server processes to spin down in tests (#13146)
by @gibsondan
unpin mlflow from dagster-mlflow (#13194)
by @gibsondan
Greatly reduce the number of gRPC calls when doing large asset backfills (#13086)
by @gibsondan
don't run mlflow tests on python 3.11 (#13197)
by @gibsondan
[pythonic config] Treat Optional as both not-required and Noneable (#12975)
by @benpankow
[pythonic config] Add support for enums (#12979)
by @benpankow
[pythonic resources] Make direct invocation of ops/assets w/ resources easier (#13002)
by @benpankow
[bugfix] make AssetSelection.groups() resolve to only regular assets (#13196)
by @smackesey
[fix] Fix behavior of BindResourcesToJobs when jobs have config specified (#13057)
by @benpankow
[serdes] remove extraneous @cached_method use (#13206)
by @alangenfeld
1.2.4 changelog (#13226)
by @smackesey
1.2.4
by @elementl-devtools