github dagster-io/dagster 0.14.17
0.14.17 (May 26, 2022)

latest releases: 1.7.3, 1.7.2rc4, 1.7.2rc3...
23 months ago

New

  • Added a pin to protobuf version 3 due to a backwards incompatible change in the probobuf version 4 release.
  • [helm] The name of the Dagit deployment can now be overridden in the Dagster Helm chart.
  • [dagit] The left navigation now shows jobs as expandable lists grouped by repository. You can opt out of this change using the feature flag in User Settings.
  • [dagit] In the left navigation, when a job has more than one schedule or sensor, clicking the schedule/sensor icon will now display a dialog containing the full list of schedules and sensors for that job.
  • [dagit] Assets on the runs page are now shown in more scenarios.
  • [dagster-dbt] dbt assets now support subsetting! In dagit, you can launch off a dbt command which will only refresh the selected models, and when you’re building jobs using AssetGroup.build_job(), you can define selections which select subsets of the loaded dbt project.
  • [dagster-dbt] [experimental] The load_assets_from_dbt_manifest function now supports an experimental select parameter. This allows you to use dbt selection syntax to select from an existing manifest.json file, rather than having Dagster re-compile the project on demand.
  • For software-defined assets, OpExecutionContext now exposes an asset_key_for_output method, which returns the asset key that one of the op’s outputs corresponds too.
  • The Backfills tab in Dagit loads much faster when there have been backfills that produced large numbers of runs.
  • Added the ability to run the Dagster Daemon as a Python module, by running python -m dagster.daemon.
  • The non_argument_deps parameter for the asset and multi_asset decorators can now be a set of strings in addition to a set of AssetKey.

Bugfixes

  • [dagit] In cases where Dagit is unable to make successful WebSocket connections, run logs could become stuck in a loading state. Dagit will now time out on the WebSocket connection attempt after a brief period of time. This allows run logs to fall back to http requests and move past the loading state.
  • In version 0.14.16, launching an asset materialization run with source assets would error with an InvalidSubsetError. This is now fixed.
  • Empty strings are no longer allowed as AssetKeys.
  • Fixed an issue where schedules built from partitioned job config always ran at midnight, ignoring any hour or minute offset that was specified on the config.
  • Fixed an issue where if the scheduler was interrupted and resumed in the middle of running a schedule tick that produced multiple RunRequests, it would show the same run ID multiple times on the list of runs for the schedule tick.
  • Fixed an issue where Dagit would raise a GraphQL error when a non-dictionary YAML string was entered into the Launchpad.
  • Fixed an issue where Dagster gRPC servers would sometimes raise an exception when loading repositories with many partition sets.
  • Fixed an issue where the snowflake_io_manager would sometimes raise an error with pandas 1.4 or later installed.
  • Fixed an issue where re-executing an entire set of dynamic steps together with their upstream step resulted in DagsterExecutionStepNotFoundError. This is now fixed.
  • [dagit] Added loading indicator for job-scoped partition backfills.
  • Fixed an issue that made it impossible to have graph-backed assets with upstream SourceAssets.

Community Contributions

  • AssetIn can now accept a string that will be coerced to an AssetKey. Thanks @aroig!
  • Runtime type checks improved for some asset-related functions. Thanks @aroig!
  • Docs grammar fixes. Thanks @dwinston!
  • Dataproc ops for dagster-gcp now have user-configurable timeout length. Thanks @3cham!

All Changes

0.14.16...0.14.17

See All Contributors
  • Fix Reexecution by @clairelin135 in #7980
  • [dagit] Fix SearchBootstrapQuery to be lazy by @hellendag in #7981
  • split instance backfill queries across feature flags. by @prha in #7986
  • Remove can_terminate from run launchers and run coordinators, use a status check instead in graphql by @gibsondan in #7983
  • [easy] style(helm): remove unnecessary pylint suppressions by @rexledesma in #7923
  • provide job_timeout_in_seconds in dataproc resource config by @3cham in #7941
  • [dagit] Replace opName with opNames everywhere by @hellendag in #7977
  • Set default hour of day and minute of hour in build_schedule_from_partitioned_job based on the offsets of the parittioned job by @gibsondan in #7954
  • Don't fetch every run in the InstanceBackfillsQuery by @gibsondan in #7985
  • [dagit] Show assets on run pages in more scenarios by @bengotow in #7874
  • [dagit] Do not display the partition_set, step_selection tags on asset group runs by @bengotow in #7953
  • [dagit] WebSocketProvider: Time out and fall back to disabled by @hellendag in #7978
  • Coerce asset_key on AssetIn by @aroig in #8009
  • Fix issue where we added the run ID repeatedly to the runs for the tick during scheduler failure recovery by @gibsondan in #8003
  • Load fewer backfills on each page by @gibsondan in #7998
  • add loading indicator for job backfills by @prha in #8004
  • Remove duplicate count_resume_run_attempts method by @johannkm in #7915
  • Close a logic gap on some conditions by @aroig in #8008
  • Fix relative path for pytest fixture in backcompat tests by @dpeng817 in #7999
  • feat(helm): allow name override for Dagit deployment by @rexledesma in #8005
  • Add a main.py to dagster/daemon by @gibsondan in #8012
  • dagster-buildkite refactor by @smackesey in #7813
  • Fix unsightly scrollbar in custom alert by @gibsondan in #8018
  • create get_records_for_run for event log storage, using an opaque string cursor by @prha in #7973
  • Fix error when dagit passes in a non-dict string to run config valiation by @gibsondan in #8020
  • [dagster-io/ui] Fix Dialog header/footer alignment by @hellendag in #7975
  • [dagit] Disable unloadables if no permissions by @hellendag in #8021
  • [dagit] Sectioned left nav by @hellendag in #8017
  • Handle InvalidSubsetError in launch run mutation response in Dagit by @gibsondan in #8014
  • Remove relative paths in alembic.ini by @johannkm in #7992
  • Generate buildkite headers inside dagster-buildkite by @smackesey in #7987
  • bug fix: should allow re-executing all dynamic steps generated from mapper step by @yuhan in #7979
  • refactor: has_index for migrations by @johannkm in #8034
  • In-progress indicator for graph-backed assets by @clairelin135 in #8015
  • [asset-resources 1/n] Resource defs on assets by @dpeng817 in #7918
  • Load all code artifacts on grpc server startup, not just pipelines/jobs by @gibsondan in #8040
  • Accept string values for non_argument_deps by @shalabhc in #8023
  • add example Python incompatibilities on Py 3.6 by @smackesey in #8036
  • Add missing deps for docs-snippets and skip 36 in BK by @smackesey in #8048
  • docs: update readme with social links by @rexledesma in #8046
  • OpExecutionContext.asset_key_for_output by @sryza in #7961
  • Add missing method to SnowflakePandasTypeHandler, add integration test for Snowflake IO Manager by @gibsondan in #8051
  • [dagit] Flip section arrow in left nav by @hellendag in #8056
  • [dagster-io/ui] Make disabled+checked Switch state more obvious by @hellendag in #8033
  • [dagit] Enable sectioned left nav by default by @hellendag in #8039
  • [3/n] Subsetting Stack: dbt assets can be subset by @OwenKephart in #7798
  • Raise error upon incomplete graph-backed asset subset by @clairelin135 in #8041
  • Disallow empty AssetKey by @smackesey in #8069
  • [dagit] Use dialog for multiple schedules/sensors in left nav by @hellendag in #8065
  • remove dynamic mapping and collect section from jobs concepts page by @sryza in #7844
  • grammar by @dwinston in #7984
  • Pass in engine rather than connection in SnowflakePandasTypeHandler by @gibsondan in #8070

Don't miss a new dagster release

NewReleases is sending notifications on new releases.