New
- [ui] Runs launched from the Dagster UI get a
dagster/from_ui = truetag, making it easy to filter for them. - [ui] The run page now shows the number of log levels selected as well as the number of log levels available.
- Added
AirflowFilterAPI for use withdagster-airlift, allows you to filter down the set of dags retrieved up front for perf improvements.
Bugfixes
- [ui] Fixed a bug that prevented filtering asset events by type.
- Fixed a bug that would cause multi-assets defined with
can_subset=Trueto error when usingdagster-pipesif not all outputs were emitted. - [dagster-dbt] the
state_pathargument toDbtCliResourcenow resolves relative to the project directory as documented. - [dagster-k8s] Made reliability improvements to PipesK8sClient log streaming when transient networking errors occur. The default behavior of the PipesK8sClient is now to reconnect to the stream of logs every hour (this value can be overridden by setting the
DAGSTER_PIPES_K8S_CONSUME_POD_LOGS_REQUEST_TIMEOUTenvironment variable) and to retry up to 5 times if an error occurs while streaming logs from the launched Kubernetes pod (this value can be overridden by setting theDAGSTER_PIPES_K8S_CONSUME_POD_LOGS_RETRIESenvironment variable.) - [dagster-dbt] Fixed a bug where dbt jobs would fail due to unparseable logs causing errors in
DbtCliInvocation.stream_raw_events. (Thanks @ross-whatnot!)
Dagster Plus
- [ui] It is now possible to roll back a code location to a version that had previously been in an errored state.
dg & Components (Preview)
- The
dgCLI will now emit a warning if you are using "active" mode for your project python environment, there is a virtual environment at<project_root>/.venv, and the activated venv is not<project_root>/.venv - A new
dgsettingcli.suppress_warningsis now available. This takes a list of warning types to suppress. - Changed configuration of project Python environments. The
tool.dg.project.python_environmentpreviously accepted a string,"active"or"persistent_uv". Now it accepts a table with one of three keys: -{active = true}: equivalent of previous"active"-{uv_managed = true}: equivalent of previous"persistent_uv" - Changed the default python environment for newly scaffolded projects to
tool.dg.project.python_environmentto{active = true}. This means by default, no virtual environment oruv.lockwill be created when scaffolding a new project (viadg initordg scaffold project). You can pass--python-environment uv_managedfor the old behavior. - Removed the
--skip-venvflag ondg scaffold projectanddg init. - Fixed a bug where new projects scaffolded with
dg scaffold projectwere lackingdagsteras a dependency. - The "Creating a library of components" guide has been replaced by a new and more general "Creating a
dgplugin" guide. - The arguments/options of the
dg initcommand have changed. You may pass.as an argument to initialize a project/workspace in the CWD. Seedg init --helpfor more details. - The
dagster-componentspackage (which was converted to a stub package in the last release) is no longer being published. Alldagster-componentsfunctionality is now part ofdagster. - Projects should now expose custom component types under the
dagster_dg.pluginentry point group instead ofdagster_dg.library.dagster_dg.librarysupport is being kept for now for backcompatibility, but will be dropped in a few weeks. - Fixed formatting of line added to
project/lib/__init__.pywhen scaffolding a component type. - The
dg env listcommand is nowdg list env - The
dg plus env pullcommand is nowdg plus pull env. - The
dg list component-typecommand has been removed. There is a newdg list pluginswith output that is a superset ofdg list component-type. - The
dguser config file on Unix is now looked for at~/.dg.tomlinstead of~/dg.toml. - [dagster-dbt]
DbtProjectComponenthas been reworked, changing both the python api and the yaml schema.dbthas been replaced withprojectwith a slightly different schema, andasset_attributeswithtranslation.