github dagster-io/dagster 1.1.7
1.1.7 (core) / 0.17.7 (libraries)

latest releases: 1.7.4, 1.7.3, 1.7.2rc4...
16 months ago

New

  • Definitions is no longer marked as experimental and is the preferred API over @repository for new users of Dagster. Examples, tutorials, and documentation have largely ported to this new API. No migration is needed. Please see GitHub discussion for more details.
  • The “Workspace” section of Dagit has been removed. All definitions for your code locations can be accessed via the “Deployment” section of the app. Just as in the old Workspace summary page, each code location will show counts of its available jobs, assets, schedules, and sensors. Additionally, the code locations page is now available at /locations.
  • Lagged / rolling window partition mappings: TimeWindowPartitionMapping now accepts start_offset and end_offset arguments that allow specifying that time partitions depend on earlier or later time partitions of upstream assets.
  • Asset partitions can now depend on earlier time partitions of the same asset. The asset reconciliation sensor will respect these dependencies when requesting runs.
  • dagit can now accept multiple arguments for the -m and -f flags. For each argument a new code location is loaded.
  • Schedules created by build_schedule_from_partitioned_job now execute more performantly - in constant time, rather than linear in the number of partitions.
  • The QueuedRunCoordinator now supports options dequeue_use_threads and dequeue_num_workers options to enable concurrent run dequeue operations for greater throughput.
  • [dagster-dbt] load_assets_from_dbt_project, load_assets_from_dbt_manifest, and load_assets_from_dbt_cloud_job now support applying freshness policies to loaded nodes. To do so, you can apply dagster_freshness_policy config directly in your dbt project, i.e. config(dagster_freshness_policy={"maximum_lag_minutes": 60}) would result in the corresponding asset being assigned a FreshnessPolicy(maximum_lag_minutes=60).
  • The DAGSTER_RUN_JOB_NAME environment variable is now set in containerized environments spun up by our run launchers and executor.
  • [dagster-airflow] make_dagster_repo_from_airflow_dags_path ,make_dagster_job_from_airflow_dag and make_dagster_repo_from_airflow_dag_bag have a new connections parameter which allows for configuring the airflow connections used by migrated dags.

Bugfixes

  • Fixed a bug where the log property was not available on the RunStatusSensorContext context object provided for run status sensors for sensor logging.

  • Fixed a bug where the re-execute button on runs of asset jobs would incorrectly show warning icon, indicating that the pipeline code may have changed since you last ran it.

  • Fixed an issue which would cause metadata supplied to graph-backed assets to not be viewable in the UI.

  • Fixed an issue where schedules often took up to 5 seconds to start after their tick time.

  • Fixed an issue where Dagster failed to load a dagster.yaml file that specified the folder to use for sqlite storage in the dagster.yaml file using an environment variable.

  • Fixed an issue which would cause the k8s/docker executors to unnecessarily reload CacheableAssetsDefinitions (such as those created when using load_assets_from_dbt_cloud_job) on each step execution.

  • [dagster-airbyte] Fixed an issue where Python-defined Airbyte sources and destinations were occasionally recreated unnecessarily.

  • Fixed an issue with build_asset_reconciliation_sensor that would cause it to ignore in-progress runs in some cases.

  • Fixed a bug where GQL errors would be thrown in the asset explorer when a previously materialized asset had its dependencies changed.

  • [dagster-airbyte] Fixed an error when generating assets for normalization table for connections with non-object streams.

  • [dagster-dbt] Fixed an error where dbt Cloud jobs with dbt run and dbt run-operation were incorrectly validated.

  • [dagster-airflow] use_ephemeral_airflow_db now works when running within a PEX deployment artifact.

Documentation

  • New documentation for Code locations and how to define one using Definitions
  • Lots of updates throughout the docs to reflect the recommended usage of Definitions. Any content not ported to Definitions in this release is in the process of being updated.
  • New documentation for dagster-airflow on how to start writing dagster code from an airflow background.

All Changes

1.1.6...1.1.7

See All Contributors
  • 858b9d2 - Non isolated runs docs (#10860) by @johannkm
  • 24bff5f - [dagit] Fix Gantt chart rendering of per-step resource init log messages (#10943) by @bengotow
  • cde76d9 - [dagit] Fix the “Assets” label on large asset runs (#10932) by @bengotow
  • 6cd734a - [dagit] Fix “Job In” label regression in Chrome v109 (#10934) by @bengotow
  • 523edb0 - [dagit] Pass repository tag when loading runs for Partitions page (#10948) by @bengotow
  • 49f7c4f - [dagit] Updated asset DAG styles, added additional compute tags (#10931) by @bengotow
  • fb574c0 - [docs] - add a guide for scheduling assets (#10949) by @slopp
  • 66959b7 - cap packaging requirement at 22.0 (#10968) by @smackesey
  • 5a45dd1 - Execution result typing (#10919) by @smackesey
  • 7d18ed2 - solid -> node method renames (#10920) by @smackesey
  • f19c6ea - [dagster-airflow] re-enable airflow 2.5.0 tests (#10966) by @Ramshackle-Jamathon
  • 0d80225 - [dagster-airbyte][docs] Use dagster-airbyte CLI alias in docs (#10955) by @benpankow
  • 162e791 - [dagster-slack] create slack_on_freshness_policy_sensor (#10960) by @OwenKephart
  • faf4f30 - [docs ] - fix image dimensions in hello-dagster materialize (#10977) by @slopp
  • 4babd9d - 1.1.6 Changelog (#10978) by @OwenKephart
  • 577e3eb - Automation: versioned docs for 1.1.6 by @elementl-devtools
  • 0b59fa9 - [convert-environment-variables-and-secrets-guide-stack-2] Convert env vars and secrets guide from repository to Definitions by @schrockn
  • 352d077 - unexperimentalize PartitionMapping (#10980) by @sryza
  • 231ddfa - remove validation in AssetGraph.get_child_partition_keys_of_parent an… (#10981) by @sryza
  • 305f1a2 - [convert-development-to-production-1] Move repository to __init__.py by @schrockn
  • d1054f9 - [convert-development-to-production-2] Changing development to production to use snowflake_pandas_io_manager by @schrockn
  • 7d5fabc - [convert-deployment-to-production-3] Convert @repository to Definitions by @schrockn
  • 196c086 - [convert-development-to-production-4] Use base object instead of resource by @schrockn
  • 435ddcd - [convert-development-to-production-6] Use pyproject.toml instead of workspace.yaml by @schrockn
  • 888660d - [convert-development-to-production-7] Convert guide to use Definitions by @schrockn
  • ad41a9f - [dagit] New Code Locations table (#10975) by @hellendag
  • 3008420 - Pin graphene to <3.2 by @schrockn
  • 5373a74 - fix missing metadata in dagit on graph-backed assets (#10988) by @OwenKephart
  • 7bbcb8a - [dagit] Export a few Code Location components for Cloud (#11008) by @hellendag
  • 39c84bb - Temporarily disable some Azure test suites (#11007) by @jmsanders
  • 41101f7 - [graphql] fix for graphene 3.2 (#11011) by @alangenfeld
  • a0e5c3d - [code-location-selector-stack] Code location sensor tests 1/N. Rename workspace_load_target function to create_workspace_load_target by @schrockn
  • 160aba2 - [code-location-selector-stack] Code location sensor tests 2/N Make instance_with_multiple_repos_with_sensors workspace_load_target parameterizable by @schrockn
  • d6ad971 - [code-location-selector-stack] Code location sensor tests 3/N. Refactor instance_with_multiple_repos_with_sensors to handle multiple code locations by @schrockn
  • 6e305c1 - [code-location-selector-stack] Code location sensor tests 4/N Actually add test to test cross code location selector by @schrockn
  • 5fc415a - [code-location-selector-stack Add CodeLocationSelector; Have run_status_sensor accept it by @schrockn
  • 3c2367f - Fix test_persistent by @schrockn
  • bf83710 - chore: auto-assign dependabot pull requests (#10953) by @rexledesma
  • a91525b - fix(dbt-cloud): parse command string to find materialization commands (#10989) by @rexledesma
  • 3be1547 - [code-location-selector-stack] Change typehint on make_slack_on_run_failure_sensor to accept CodeLocationSelector by @schrockn
  • c156ab3 - [docs] re-org snowflake integration guide (#10984) by @jamiedemaria
  • 33affcf - Check scheduler ticks right after each minute boundary instead of once every 5 seconds (#10886) by @gibsondan
  • 3b93947 - [docs] - [definitions] Update Configured API concept doc (#11020) by @erinkcochran87
  • 3cfc612 - Fix bug with re-execution snapshot ids (#10967) by @OwenKephart
  • 3fb76d9 - [bugfix] UPathIOManger load_input type checking (#11022) by @danielgafni
  • 546ece8 - Pathspec typing fix (#11036) by @smackesey
  • c729760 - [dagit] /code-locations -> /locations (#11024) by @hellendag
  • f606250 - Replace partition ranges with subsets (#10909) by @clairelin135
  • cec9f43 - [dagit] With multiple assets selected, backfill “missing” should include partially materialized partitions (#11027) by @bengotow
  • ae946c0 - [dagit] Add empty value string for invalid tag input in Runs filter (#11044) by @hellendag
  • 57e5def - [docs] - [definitions] Update Repository page for Definitions (#10986) by @erinkcochran87
  • 9300fc7 - [definitions-accessors] Add get_job_def to Definitions. by @schrockn
  • 1014add - 1/ definitions in create new project: update dagster project CLI (#10829) by @yuhan
  • 550ec43 - 2/ definitions in create new project: update create-new-project docs (#10830) by @yuhan
  • 7eb520d - [docs] - [definitions] - Update dbt tutorial to use Definitions (#10842) by @erinkcochran87
  • 891dc89 - 2.1/ definitions in in create new project: remove unnecessary asset dir in scaffold + update docs (#10831) by @yuhan
  • ad1fc35 - update isolated run docs to say that it's enabled by default (#11039) by @gibsondan
  • a4cb91e - [docs] - remove repository from hello dagster as its not needed (#11048) by @slopp
  • 90b3e01 - [dagster-fivetran][ez] Add missing docstring entry for build_fivetran_assets (#11049) by @benpankow
  • b4e5a80 - Add start_offset and end_offset to TimeWindowPartitionMapping (#10979) by @sryza
  • ec1d974 - fix subsettable multi asset case (#10878) by @OwenKephart
  • e98e5fb - move ecs task tagging to run_task call (#11037) by @prha
  • c1d1224 - Add custom resource key to load_assets_from_dbt_project (#10827) by @dpeng817
  • cc1925f - [dagit] Highlight Assets in top nav for global asset graph (#11052) by @hellendag
  • fc1ab1f - [dagster-airbyte][docs][ez] Fix AirbyteConnection apidoc rendering (#11059) by @benpankow
  • 795ae3f - convert-examples 1.1/ assets_dbt_python defs + pyproject (#11060) by @yuhan
  • c4d6792 - convert-examples 2.1/ assets_modern_data_stack repo -> defs, pyproject (#11062) by @yuhan
  • 09ac5ed - convert-examples 5/ assets_smoke_test repository -> definitions (#11071) by @yuhan
  • 48c7ae3 - convert-examples 6.1/ feature_graph_backed_assets pyproject, @repository -> Definitions (#11072) by @yuhan
  • 8a12bf3 - convert-examples 7.1/ quickstart_etl workspace->pyproject, repo->defs (#11074) by @yuhan
  • d85d59f - convert-examples 8.1/ with_great_expectations workspace->pyproject, repo->defs (#11077) by @yuhan
  • e4099ec - convert-examples 1.2/ assets_dbt_python file renames (#11061) by @yuhan
  • 4d38088 - convert-examples 6.2/ feature_graph_backed_assets file rename and reorder (#11073) by @yuhan
  • 58e0d88 - convert-examples 2.2/ assets_modern_data_stack file renames (#11063) by @yuhan
  • 99a62a1 - Removes codecov commands from tox (#10635) by @dpeng817
  • 0a675c6 - [dagit] Disable Re-execute menu item in run action menu for perms (#11026) by @hellendag
  • db21352 - Support loading multiple modules in single command line invocation by @schrockn
  • e06b9ae - Enable multiple files in CLI tools by @schrockn
  • 4d4aecb - Add get_sensor_def and get_schedule_def to Definitions by @schrockn
  • ba87836 - convert-examples 10/ with_pyspark_emr repository.py -> defs.py, update [docs] (#11080) by @yuhan
  • 32c3742 - convert-examples 9/ with_pyspark repository.py -> defs.py, update [docs] (#11079) by @yuhan
  • 0234c90 - Add load_asset_value and get_asset_value_loader to Definitions by @schrockn
  • c3a962a - [dagster-airflow] reorg dagster airflow api docs (#11009) by @Ramshackle-Jamathon
  • f2a705c - convert-examples 3.1/ assets_pandas_pyspark definitons, pyproject (#11067) by @yuhan
  • e1a93e1 - convert-examples 8.2/ with_great_expectations file rename (#11078) by @yuhan
  • b0bcc14 - convert-examples 7.2/ quickstart_etl file rename + update README (#11075) by @yuhan
  • e9651fc - Support module_name in tool.dagster section of pyproject.toml by @schrockn
  • f0ed982 - Move all examples to use module_name in pyproject.toml by @schrockn
  • 0510adf - Pin tox on windows to < 4 (#11013) by @jmsanders
  • b023c47 - [docs] - [definitions] Code location concept page (#10843) by @erinkcochran87
  • 606ff79 - Add instance for test to top level API (#10709) by @dpeng817
  • 86a4fe1 - [example] recomment code in dagstermill tutorial (#11098) by @jamiedemaria
  • e43e653 - Make JobSelector work on cross code location by @schrockn
  • 3693ccf - [convert-branch-deployments-stack] Convert branch deployments guide to Definitions by @schrockn
  • a541020 - Eliminate package_name from pyproject.toml loading spec by @schrockn
  • e1f51b0 - [docs] - [definitions] Update Enriching with SDAs guide (#10849) by @erinkcochran87
  • c706db1 - [dagit] Don't show View link on code location toast if already there (#11095) by @hellendag
  • 559ebb6 - set DAGSTER_RUN_JOB_NAME env var (#10888) by @alangenfeld
  • 9e58100 - remove parameter tag from dagstermill notebook (#11109) by @jamiedemaria
  • 195f975 - sort task definition config secrets and env vars to ensure consistent ordering (#10982) by @gibsondan
  • b32e5cb - [dagster-airflow] from airflow to dagster guide (#10923) by @Ramshackle-Jamathon
  • aefd575 - [dagit] Improvements to partition range selection interactions (#11017) by @bengotow
  • 07b6d4e - add tests for legacy storage (#11047) by @prha
  • 8884177 - keep track of max timestamps client side for code location updates (#11100) by @prha
  • 5caeb9f - in default IO manager, handle PartitionMappings that return 0 partitions (#11065) by @sryza
  • 8552f8f - Fix bug with logical versions for assets with changed deps (#11083) by @smackesey
  • cbf36be - Adding apidocs for Definitions by @schrockn
  • 822f1e8 - convert-examples 3.2/ asset_pandas_pyspark re-arrange files + [docs] (#11068) by @yuhan
  • 5ebe03e - [dagit] Persist AssetPartitions state to URL, open Materialize panel with same selection (#11042) by @bengotow
  • ceb2050 - [dagit] Render assets with self-dependencies in Dagit (#11043) by @bengotow
  • ccb2b47 - run queue daemon refactor (#11090) by @alangenfeld
  • fa6b48b - Allow assets to depend on earlier partitions of themselves (#11066) by @sryza
  • 1811e25 - [docs] - [definitions] Update Schedules documentation (#11046) by @erinkcochran87
  • afc161c - Re-add section for customizing Docker images pre-fast-deploys (#11112) by @shalabhc
  • 8a5ade0 - Allow setting base_dir as a StringSource in sqlite storage (#11031) by @gibsondan
  • c1ca6ef - handle self-dependencies in reconciliation sensor (#11085) by @sryza
  • 621f9fb - [docs] - [definitions] Update Workspaces concept page (#10944) by @erinkcochran87
  • d5feb2b - Coerce IOManager objects into IOManagerDefinitions in Definitions by @schrockn
  • 1c7542a - Revert "[docs] - [definitions] Update Workspaces concept page (#10944)" by @alangenfeld
  • 1292df7 - Allow overriding the default max_concurrent for the default executor via env var (#11116) by @gibsondan
  • 2ec20a3 - convert-examples 4.1/ assets_pandas_type_metadata definitions, pyproject (#11069) by @yuhan
  • 1f9c37c - [docs] [definitions] convert snowflake guide to definitions (#11029) by @jamiedemaria
  • 132ce0d - [docs] - Fix workspace link (#11121) by @erinkcochran87
  • e64f0de - convert-examples 4.2/ assets_pandas_type_metadata repository.py -> __init__.py (new) (#11127) by @yuhan
  • d36a5e6 - Add executor and loggers to Definitions by @schrockn
  • ab743c4 - [docs] - [definitions] Update Sensors documentation (#11050) by @erinkcochran87
  • 4506c12 - threaded run queue daemon (#11113) by @alangenfeld
  • c87bf8d - convert-examples 11.1/ project_fully_featured defs, pyproject, no with_resources (#11081) by @yuhan
  • 9491833 - [dagster-airbyte] Fix normalization table generation, materializations for non-object Streams (#10899) by @benpankow
  • c221574 - update assets_modern_data_stack example readme (#11122) by @yuhan
  • f0ff38c - [CacheableAssets] Fix bug that would cause definitions to be recomputed when using a StepDelegatingExecutor (#11086) by @OwenKephart
  • bd0801b - convert-examples 11.2/ project_fully_featured repository.py -> __init__.py (#11082) by @yuhan
  • 4e72f19 - update assets_dbt_python example readme (#11126) by @yuhan
  • 7d92ffc - [dagster-dbt] Enable setting FreshnessPolicies on dbt assets (#11103) by @OwenKephart
  • c14d793 - Mark Definitions as not experimental by @schrockn
  • a0268ff - [declarative-scheduling] Fix issue where in-progress runs were not properly handled (#11118) by @OwenKephart
  • 2a66629 - [dagster-airbyte] Avoid unnecessarily recreating sources, destinations w/ managed ingestion (#11117) by @benpankow
  • 7ab1263 - [dagster-airflow] pex compatibility for ephemeral db (#11115) by @Ramshackle-Jamathon
  • 47e3c31 - [dagster-airflow] provide interface for passing connection models directly to dagster (#11006) by @Ramshackle-Jamathon
  • 372aae8 - [dagit] Left nav: show entire code location string for non-dunder repos (#11133) by @hellendag
  • 439a32a - move quickstart_aws back to mono repo (#11130) by @yuhan
  • 650f837 - move quickstart_gcp back to mono repo (#11131) by @yuhan
  • 30bd794 - move quickstart_snowflake back to mono repo (#11132) by @yuhan
  • 479ab1a - Update Definitions docs by @schrockn
  • a5a8c84 - Use wrap_resources_for_execution in Definitions by @schrockn
  • 8182da0 - Use i/o manager coercion in assets_pandas_pyspark example by @schrockn
  • 5fdecbd - convert-examples-repo-to-defs cloud nux quickstart_aws (#11135) by @yuhan
  • 2169bf8 - convert-examples-repo-to-defs cloud nux quickstart_gcp (#11136) by @yuhan
  • 96750d3 - convert-examples-repo-to-defs cloud nux quickstart_snowflake (#11137) by @yuhan
  • 841efdc - enable run status sensor logging (#11145) by @prha
  • defd785 - Move jobs concept guide to refer to Definitions by @schrockn
  • ef723a6 - Move I/O Manager Guide to be on Definitions by @schrockn
  • 2d9ff0b - add thread name prefix to run dequeue workers (#11155) by @alangenfeld
  • 1670918 - Adjust resources guide to be in a Definitions world by @schrockn
  • 61b43cb - make schedules produced by build_schedule_from_partitioned_job more p… (#11147) by @sryza
  • 4760e16 - [docs] - [definitions] Update Dagit + tutorial screenshots (#11089) by @erinkcochran87
  • 9df72f3 - [docs] - [definitions] Update Partitions concept docs (#11030) by @erinkcochran87
  • 799d333 - Port asset sensor guide to Definitions by @schrockn
  • 9290f54 - Revert "keep track of max timestamps client side for code location up… (#11162) by @prha
  • 468f39b - [docs] - Fix links (#11163) by @erinkcochran87
  • ecd4895 - Merge branch 'release-1.1.7' of github.com:dagster-io/dagster into release-1.1.7 by @jamiedemaria
  • de634ac - 1.1.7 Changelog (#11165) by @jamiedemaria
  • 9882250 - 1.1.7 by @elementl-devtools

Don't miss a new dagster release

NewReleases is sending notifications on new releases.