> 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-deploy/release-notes.md).

# Release notes

Get an overview of the things changed and fixed in each version of Umbraco Deploy.

In this section, we have summarized the changes to Umbraco Deploy and [Deploy Contrib](https://github.com/umbraco/Umbraco.Deploy.Contrib) released in each version. Each version is presented with a link to the [Deploy issue tracker](https://github.com/umbraco/Umbraco.Deploy.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" %}
If you are upgrading to a new major version, you can find the details about the breaking changes in the [version-specific updates](/umbraco-deploy/upgrading/version-specific.md) article.
{% endhint %}

## Release history

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

### [18.1.0](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.1.0) (September 17th 2026)

* All items from 18.1.0-rc1 and 18.1.0-rc2.

### [18.1.0-rc2](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.1.0) (September 11th 2026)

* Keep property types that are not in a property group when deploying changes to document, media, and member types. Previously, deploying a changed type deleted the content stored in those properties. The data loss affected all Deploy versions since 14.0 and became visible with Umbraco CMS 17.2.0 after [umbraco/Umbraco-CMS#21585](https://github.com/umbraco/Umbraco-CMS/pull/21585).
* Interpret the release date in the **Queue for transfer** dialog in the editor's time zone instead of the server's time zone [#350](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/350). The transfer queue dashboard and the compare dialog show schedule dates in the editor's local time. Items queued before the upgrade were stored in the source server's local time and are read as UTC after upgrading. Their release date shifts unless the source server runs in UTC.
* Reject bearer tokens with a timestamp outside the [`SessionTimeout`](/umbraco-deploy/getting-started/deploy-settings.md#timeout-settings) setting (20 minutes by default). Environment clocks must be roughly in sync. Every request uses a new token, so long-running operations are not affected.
* Authenticate environment API requests with an ASP.NET Core authentication scheme instead of middleware. Packages that register endpoints early in the request pipeline no longer cause every environment request to fail with a 403 error. Authentication failures now return a 401 status code instead of a 500.
* Keep the relations returned by a remote environment when updating or reviewing a manifest, so restores from a remote environment create relations again.
* Show the schema mismatch details instead of a "Could not retrieve artifact" error when an artifact does not exist in the remote environment.
* Fail a transfer or restore when a file is missing on the source environment. Previously, the target created the item without its file when it pulled the files from the source. The error message lists all missing files.
* Add OpenAPI documents for the Deploy Environment API and Deploy Schema API to the OpenAPI UI at `/umbraco/openapi`, next to the Deploy Management API. The `umbracodeploy/extract` and `umbracodeploy/statusreport` routes are documented in lowercase. The URLs stay case-insensitive.

### [18.1.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.1.0) (September 4th 2026)

* Register dependencies for rich text local links in the `{localLink:<guid>}` format, so linked documents and media are transferred with the content [#348](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/348).
* Start the operations on the Deploy dashboard from the Management API, fixing operations that could remain pending indefinitely and reporting the progress of every operation.
* Add granular user permissions for the **Queue for Transfer**, **Partial Restore**, and **Export** actions on elements and element folders.
* Report the cause of unexplained 403 errors returned by the environment API. Redirects are no longer followed when calling a remote environment, because a redirect strips the authorization header.
* Reduce the memory used while setting cached signatures, using the new `ExpandRangePageSize` and `SetSignaturesBatchSize` settings.
* Apply Deploy configuration changes without restarting the site. Invalid configuration no longer prevents the site from starting.
* Run start-up operations while the license validation result is still unknown, so triggers like `deploy-on-start` are no longer skipped on newly created environments.
* Load the Deploy backoffice code on demand, reducing the amount loaded on every backoffice page.

### [18.0.1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.0.1) (July 21st 2026)

* Update public access role rules when a member group is renamed during a deploy.
* Map Deploy endpoints when booting during an unattended upgrade (`RuntimeLevel.Upgrading`).
* Transfer invariant properties when deploying the default culture [#249](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/249).
* Fix restore of trashed content leaving a stale recycle bin path and level [#267](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/267).
* Normalize document culture code casing on import to prevent duplicate culture variation rows [#271](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/271) [#280](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/280).
* Improve condition lifecycle management, fixing the Deploy dashboard occasionally loading blank on init and refresh [#346](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/346).

### [18.0.0](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.0.0) (June 25th 2026)

* Compatibility with Umbraco CMS 18.0.0.
* Fix `umbracodeploy` trigger route URLs broken by the Umbraco 18 routing migration. POST endpoints under `/umbraco/umbracodeploy/...` now resolve correctly.
* Register Deploy routes and SignalR hubs during the Upgrading runtime level.
* Fix the partial restore progress display and restore the work completion view.
* Fix the partial restore modal not auto-selecting the only available restore environment.
* Disambiguate queue root items by entity type, so each tree's root can be queued independently.
* Gate the **Open Umbraco Cloud project** action to Cloud projects only, and link directly to the project URL.

### [18.0.0-rc3](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.0.0) (June 19th 2026)

* Compatibility with Umbraco CMS 18.0.0-rc3.
* Throw a clear error when the API key or secret is not configured on the environment.

### [18.0.0-rc2](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.0.0) (June 5th 2026)

* Compatibility with Umbraco CMS 18.0.0-rc2.
* Restrict Deploy SignalR hubs to WebSockets when the `Umbraco:CMS:SignalR:ClientShouldSkipNegotiation` CMS setting is enabled.

### [18.0.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F18.0.0) (June 5th 2026)

* Compatibility with Umbraco CMS 18.0.0-rc1.
  * See full details of breaking changes under [Version Specific Upgrade Details](/umbraco-deploy/upgrading/version-specific.md).
* Add support for transferring, restoring, importing, and exporting elements (publishable, versioned content items in the new Library section).
* Migrate Nested Content (when `MaxItems = 1`) and single-block-mode Block List configurations to the new `Umbraco.SingleBlock` editor at import time.
* Major UI/UX overhaul of the Deploy experience in the backoffice. See [Backoffice UX refresh](#backoffice-ux-refresh) below for details.
* Improved support for running Deploy on load-balanced backoffice instances:
  * Prevent `ARRAffinity` cookie loss on load-balanced targets by disabling `HttpClient` handler rotation, so long-running restores stay routed to the same target instance.
  * Add a cluster-wide Deploy worker lock to prevent concurrent deploys across load-balanced backoffice instances.
  * Process Deploy disk triggers on a single load-balanced server instead of racing on every node.

#### Backoffice UX refresh

Version 18 introduces a redesigned Deploy experience in the backoffice:

* A new sidebar workspace, launched from the environment name header app, replaces the transfer queue dashboard in the Content section. The workspace provides a single overview of the transfer queue, export queue, import, and restore environment operations.
* Redesigned transfer, queue, restore, compare, and export modals with consistent styling, improved error surfacing, and a cleaner status and operation layout.
* Refreshed status, schema, and configuration views in the management dashboard.

## Umbraco.Deploy.Contrib

### [18.0.0](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-18.0.0) (June 25th 2026)

* Compatibility with Umbraco 18.0.0 and Deploy 18.0.0.

### [18.0.0-rc1](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-18.0.0-rc1) (June 24th 2026)

* Compatibility with Umbraco 18.0.0-rc3 and Deploy 18.0.0-rc3.

## 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-deploy/release-notes.md) and [Umbraco Deploy Package page](https://our.umbraco.com/packages/developer-tools/umbraco-deploy/).


---

# 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-deploy/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.
