> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-workflow/release-notes.md).

# Release notes

In this section, we have summarized the changes to Umbraco Workflow that were released in each version. Each version is presented with a link to the [Workflow issue tracker](https://github.com/umbraco/Umbraco.Workflow.Issues/issues) showing a list of issues resolved in the release. We also link to the individual issues themselves from the details.

If there are any breaking changes or other issues to be aware of when upgrading, they are also noted here.

{% hint style="info" %}
Check the [Version Specific Upgrade Notes](/umbraco-workflow/upgrading/version-specific.md) article for breaking changes when upgrading to a new major version.
{% endhint %}

## Release History

This section contains the release notes for Umbraco Workflow 18, including all changes for this version.

### 18.0.0-rc1 (June 2026)

* Compatibility with Umbraco 18-rc.

#### Element type workflow support

Extends Workflows' multi-stage approval workflow model to the new element content type introduced in Umbraco 18. Element folders are also supported, allowing workflow configuration inheritance down nested element folder hierarchies.

#### Workflow actions

A new extensible action system allows configuring pre-approval and post-approval actions per Document Type. Actions execute automatically before or after a workflow completes, and can optionally block the workflow on failure.

Developers can create custom actions by implementing `IWorkflowAction` or extending `WorkflowActionBase<TConfig>`, and register them via `WorkflowActionCollectionBuilder`. A built-in Webhook action ships as the first implementation, sending a POST request with workflow instance details to a configured URL.

Actions are managed from a dedicated "Document Type Actions" section in the content approvals settings sidebar.

#### Unified configuration model

The permissions system has been consolidated: the split `NodeId`/`ContentTypeId` columns on the permissions table are replaced by a single `EntityId` column paired with an `EntityType` discriminator. The separate config update models (`DocumentConfigUpdateRequestModel`, `DocumentTypeConfigUpdateRequestModel`) are replaced by a unified `ConfigUpdateRequestModel`.

This simplification enables element type support and provides a single API surface for all entity-type configurations.

#### Standalone settings workspaces

Content Approvals, Content Reviews, and Release Sets settings have been converted to standalone workspaces with dedicated URL routes. The previous settings tree is replaced with a menu and sidebar pattern, providing a cleaner, more focused navigation experience.

#### Frontend performance

* Static JavaScript imports replace lazy loading across manifest files, reducing the chunk count by 225 and total JavaScript file size by 21%.
* Core implementations (conditions, contexts, modals, components) are now embedded rather than loaded as lazy chunks, reducing the number of HTTP requests at startup.
* TypeScript enums have been replaced with string-union types, eliminating additional emitted JavaScript.

#### Backend modernization

* Feature-slice namespace reorganization: models and view models previously in flat `Umbraco.Workflow.Core.Models`/`ViewModels` namespaces are now organized into feature-specific namespaces (for example, `ContentApprovals`, `ApprovalGroups`, `Settings`).
* All previously `[Obsolete]` members from v17 have been removed.
* Legacy migrations (pre-v17) removed. Fresh installs use a single `InitialCreate` migration.
* SwaggerGen replaced with `Microsoft.AspNetCore.OpenApi`.

#### Other improvements

* Auto-save before submit: dirty variants are automatically saved before initiating a workflow submission.
* Validate before submit: form validation runs before workflow submission is allowed.
* Localization keys for task statuses updated from integer-based (`status1`-`status10`) to camelCase equivalents matching the `TaskStatusModel` enum names.
* Conditional frontend package registration: licensed features (Alternate Versions, Release Sets) are gated by license state, preventing UI loading for unlicensed features.

## Legacy release notes

You can find the release notes for versions out of support in the [Legacy documentation on GitHub](https://github.com/umbraco/UmbracoDocs/blob/umbraco-eol-versions/11/umbraco-workflow/release-notes.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.umbraco.com/umbraco-workflow/release-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
