New
This major release includes features for scheduling, operating, and executing pipelines that elevate Dagit and dagster from a local development tool to a deployable service.
DagsterInstance introduced as centralized system to control run, event, compute log,
and local intermediates storage.Scheduler abstraction has been introduced along side an initial implementation of
SystemCronScheduler in dagster-cron.dagster-aws has been extended with a CLI for deploying dagster to AWS. This can spin
up a Dagit node and all the supporting infrastructure—security group, RDS PostgreSQL
instance, etc.—without having to touch the AWS console, and for deploying your code
to that instance.Runs: a completely overhauled Runs history page. Includes the ability to Retry,
Cancel, and Delete pipeline runs from the new runs page.Scheduler: a page for viewing and interacting with schedules.Compute Logs: stdout and stderr are now viewable on a per execution step basis in each run.
This is available in real time for currently executing runs and for historical runs.Reload button in the top right in Dagit restarts the web-server process and updates
the UI to reflect repo changes, including DAG structure, solid names, type names, etc.
This replaces the previous file system watching behavior.Breaking Changes
--log and --log-dir no longer supported as CLI args. Existing runs and events stored
via these flags are no longer compatible with current storage.raise_on_error moved from in process executor config to argument to arguments in
python API methods such as execute_pipelineExecutorDefinition and @executor
APIs are used to define in-process, multiprocess, and Dask executors, and may be used by users to
define new executors. Like loggers and storage, executors may be added to a ModeDefinition and
may be selected and configured through the execution field in the environment dict or YAML,
including through Dagit. Executors may no longer be configured through the RunConfig.execute_pipeline API, and the Dask executor is configured through the environment.
(See the dagster-dask README for details.)PresetDefinition.from_files API for constructing a preset from a list of environment
files (replacing the old usage of this class). PresetDefinition may now be directly
instantiated with an environment dict.--raise-on-error or --no-raise-on-error flag. Set this
option in executor config.MarkdownMetadataEntryData class, so events yielded from client code may now render
markdown in their metadata.