python_modules/dagster/docs/sections/community/release_notes.rst
Dagster versions follow the guidelines in PEP 440 <https://www.python.org/dev/peps/pep-0440//>_.
To make dependency management easier in the context of a monorepo with many installable projects, package versions move in lockstep with each other and with git tags.
As the API is still in flux, we aren't following strict semantic versioning rules at this point, but roughly intend micro versions to reflect a regular release schedule and minor versions to reflect milestones in the framework's capability.
API Changes
ExpectationResult in addition to Result and Materialization.DagsterEventType is now a top-level import.is_secret to Field, to allow users to indicate which config fields are sensitive and should be hidden to the user in tooling.step_metadata_fn to SolidDefinition. This allows the user to generate metadata attached to an execution step. We anticipate this to be used to generate strings that can be rendered in dagit, such as fully materialized SQL generated from SQL templates and configuration, or fully-specified spark-submit commands that require config to be generated.config property of the InitResourceContext has been removed.Compatibility
Libraries
datadog_resourcepagerduty_resourceslack_resourceGraphQL
isSecret to Field.Materialization as a generate object used within both explicit materialization events and also as an optional intermediate materialization in step output events.API Changes
storage which controls whether or not
execution should store intermediate values and the history of pipeline runs on the filesystem,
on S3, or in memory. The dagster CLI now includes options to list and wipe pipeline run
history. Facilities are provided for user-defined types to override the default serialization
used for storage.RunConfig where the user can specify
intermediate value storage via an API.OutputDefinition now contains an explicit is_optional parameter and defaults to being
not optional.dagster.check: is_listdagster.seven: py23-compatible FileNotFoundError, json.dump,
json.dumps.Nothing type now allows dependencies to be constructed between solids that do not have
data dependencies.throw_on_user_error has been renamed to raise_on_error in all APIs, public and privateGraphQL
startSubplanExecution has been replaced by executePlan.startPipelineExecution now supports reexecution of pipeline subsets.Dagit
Execute tab now opens runs in separate browser tabs and a new Runs tab allows you to
browse and view historical runs.Execute tabs. This functionality will
be refined and revisited in the future.Explore tab is more performant on large DAGs.dagit -q command line flag has been deprecated in favor of a separate command-line
dagster-graphql utility.Dagster-Airflow
DockerOperator-based)
and uncontainerized (PythonOperator-based) Airflow DAGs from Dagster pipelines and config.Libraries
dagster_aws, dagster_ge, dagster_pandas, dagster_pyspark,
dagster_snowflake, and dagster_spark.Examples
Documentation
Dagit
--watch; run dagit --no-watch to disable (process-based)
autoreloading.API Changes
ExecutionMetadata has been renamed to RunConfigthrow_on_user_error is no longer a top level argument to execute_pipeline, but
instead is part of the InProcessExecutorConfigDagit
Dagstermill
API Changes
step, environment_config, event_callback, has_event_callback,
persistence_strategy, events, and execution_metadata properties from user-facing
context objects.solid_subset parameter to execute_pipeline.check.inst and associated methods take type tuples.GraphQL
StartSubplanExecutionInvalidStepsError and InvalidSubplanExecutionError replaced
with more exact StartSubplanExecutionInvalidStepError and
InvalidSubplanMissingInputErrorDagit
Bugfixes
API Changes
info object passed to transform and expectation functions has been renamed to context.
All fields that were previously available on the info.context object are now hoisted to the
top level context object. Additionally an alias for config has been introduced:
solid_config. So where you would have written info.config it is now
context.solid_config Logging should be done with the top-level property context.log.
The context and config properies on this new context object are deprecated, will warn
for now, and be eliminated when 0.4.0 is released.info object passed context and resource creation functions is now named init_context
by convention.result_list property has been
renamed to solid_result_listExecutionStepEvent instead of
SolidExecutionResultenvironment to execute_pipeline and its variants has
been renamed to environment_dict.GraphQL
StepResult has been renamed to StepEvent.stepResults property on startSubplanExecution has been renamed to stepEvents.StepSuccessResult is now SuccessfulStepOutputEventStepFailureResult is now StepFailureEventUNMARSHAL_INPUT and MARSHAL_OUTPUT values to the StepKind enumeration.
Marshalling steps are now implemented as execution steps themselves.Dagit
Dagstermill
Bugfixes
execute_pipeline_iterator now properly streams results at step-event granularity.API Changes
@resource API as a more concise alternative to ResourceDefinitiondagster.Enum and dagster.EnumType)resources and log on info.RuntimeExecutionContext is no longer modifiable by the user during a
transform. It has been renamed to tags.ReentrantInfo has been renamed to ExecutionMetadataGraphQL
runtimeTypeOrError and
configTypeOrError are now top level fields, and there are configTypes and
runtimeTypes fields on Pipeline. Top-level field type and types property on Pipeline
has been eliminated.StepTag has been renamed to StepKind``tartSubplanExecution to enable pipeline execution at step subset granularityExecutionStep.name in favor of ExecutionStep.keyisBuiltin to RuntimeTypeDagit
Execute tab now supports partial pipeline execution via a solid selector in the bottom left.Dagstermill
Bugfixes