> 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-forms/17.latest/release-notes.md).

# Release Notes

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

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 information about the breaking changes in the [Version Specific Upgrade Notes](/umbraco-forms/17.latest/upgrading/version-specific.md) article.
{% endhint %}

## Release history

This section contains the release notes for Umbraco Forms 17 including all changes for this version.

### [17.5.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.5.0) (August 20th 2026)

The changes below are the ones made since `17.5.0-rc`. For everything else in this release, see the `17.5.0-rc` notes.

* Prevent backoffice users without access to sensitive data from reading the values and uploaded files of fields marked as sensitive [GHSA-p6vj-8vxc-mf5c](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-p6vj-8vxc-mf5c)
* Withhold the details of the member who submitted an entry from backoffice users without access to sensitive data [GHSA-p6vj-8vxc-mf5c](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-p6vj-8vxc-mf5c)
* Upgrading: Fix a boot failure when upgrading directly from Forms 13.9.9 [#1772](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1772)
* API: Return problem details from the management API, so the real error message appears in the backoffice instead of `Unknown error`
* Localization: Sync the Czech, Danish, Spanish, French, Italian, Dutch, and Polish translation files with the current English keys
* Localization: Correct the Danish translations, including the term used for prevalue captions and the email-related labels
* Records: Read record field values in batches, instead of one database query per field value
* Records: Populate the Examine records index in groups of records, instead of holding every record for a form in memory at once

{% hint style="info" %}
This release changes who can download the files uploaded to a form that collects sensitive data. For details, see the [Sensitive Data](/umbraco-forms/17.latest/developer/security.md#what-sensitive-means-for-file-uploads) section of the Security article.

Upgrading rebuilds the Examine records index. Values captured before the upgrade are re-indexed without the data from fields marked as sensitive. This release also reduces how long that rebuild takes, especially on installations with many form entries.
{% endhint %}

### [17.5.0-rc](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.5.0) (August 6th 2026)

#### Member data

You can now connect form fields to member properties. A field mapped to a member property is pre-filled for the logged-in member, either as an editable field or a hidden one. Each member's form activity appears on a Forms tab in the Member editor. The analytics overview and per-form tables report the number of unique members who submitted a form.

For more information, see the [Connecting Fields to Member Data](/umbraco-forms/17.latest/editor/creating-a-form/connecting-fields-to-member-data.md), [Member Form Submissions](/umbraco-forms/17.latest/editor/member-form-submissions.md), and [Analytics](/umbraco-forms/17.latest/editor/analytics.md) articles.

#### Other

* Records: Store the submission page as a GUID (`UmbracoPageKey`), the preferred reference over the integer `UmbracoPageId` [#1719](https://github.com/umbraco/Umbraco.Forms.Issues/discussions/1719)
* Headless: Expose additional form settings in the Delivery API definition response [#1439](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1439)
* Record Export: Make the CSV export delimiter configurable [#1541](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1541)
* Workflows: Add `GetConfigurationErrors()` support for workflow types [#1709](https://github.com/umbraco/Umbraco.Forms.Issues/discussions/1709)
* Workflows: Populate the `Exception` property on `WorkflowExecutionFailedNotification` [#1700](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1700)
* Field & Workflow Settings: Add setting value converters so property editor UIs persist values correctly [#1569](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1569)
* Field & Workflow Settings: Support typed setting values (`int`, `decimal`, `enum`, `Guid`) [#1717](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1717)
* Email: Surface the underlying error detail when a Razor email view fails to render [#1571](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1571)
* Workflows: Persist additional data set during workflow execution [#1603](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1603)
* Workflows: Fix the workflow type label shown for a deleted workflow [#1713](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1713)
* Workflows: Fix `IFeatureCollection has been disposed` when running workflows via `RecordService` [#1362](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1362)
* Workflows: Resolve the rich text editor from the configured Data Type in the Send email (Razor) workflow [#1756](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1756)
* Email: Respect the `DefaultEmailTemplate` provided by an email template collection [#1737](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1737)
* Field Types: Fix the sensitive data toggle disappearing when enabled [#1415](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1415)
* Field & Workflow Settings: Keep the field editor open when settings validation fails
* Validation: Use the configured validation message for regular expression validation [#858](https://github.com/umbraco/Umbraco.Forms.Issues/issues/858)
* Form Design: Remove the top margin on the first form settings layout item [#1643](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1643)
* Form Design: Restore the saving spinner when saving a form [#1744](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1744)
* Form Permissions: Set the permissions for a new form from its creator, so copied and imported forms are set up correctly
* Delivery API: Return default field settings in the response when settings have not been edited [#1753](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1753)
* Data Sources: Fix the form wizard assigning a default prevalue source that hasn't been saved yet to foreign-key fields [#1751](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1751)
* Assets: Use the CMS cache buster so backoffice assets refresh after an upgrade [#1739](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1739)
* Upgrades: Migrate legacy XPath root node settings in prevalue sources and the Save as Umbraco node workflow to dynamic root
* Upgrades: Fix the prevalue source repair migration failing on SQL Server
* Analytics: Group charts by the viewer's local time zone instead of UTC, so they match the entries list [#1759](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1759)
* Workflows: Fix the Save as Umbraco node workflow parsing dates with the wrong culture, which could save the wrong date or fail the workflow [#1758](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1758)
* Workflows: Trim form names when parsing the `IgnoreWorkFlowsOnEdit` setting, so a comma-separated list of form names matches correctly
* Localization: Localize the delete confirmation dialog for pages, groups, fields, and workflows, and add German (de-de) [#1442](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1442)
* Backoffice Contexts: Normalize context-token alias strings to Forms + PascalCase [#1724](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1724)
* Field Types: Only lock the sensitive data toggle once its value has been saved, so it can still be turned back off before saving [#1762](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1762)

### 17.4.8 (August 18th 2026)

* Prevent backoffice users without access to sensitive data from reading the values and uploaded files of fields marked as sensitive [GHSA-p6vj-8vxc-mf5c](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-p6vj-8vxc-mf5c)
* Withhold the details of the member who submitted an entry from backoffice users without access to sensitive data [GHSA-p6vj-8vxc-mf5c](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-p6vj-8vxc-mf5c)

{% hint style="info" %}
This release changes who can download the files uploaded to a form that collects sensitive data. For details, see the [Sensitive Data](/umbraco-forms/17.latest/developer/security.md#what-sensitive-means-for-file-uploads) section of the Security article.

Upgrading rebuilds the Examine records index. Values captured before the upgrade are re-indexed without the data from fields marked as sensitive. On installations with many form entries, this rebuild can take some time to complete.
{% endhint %}

### [17.4.7](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.7) (July 22nd 2026)

* Enforce server-side validation of the form step to prevent bypassing page validation and CAPTCHA on submission [GHSA-fv48-47xr-hwfj](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-fv48-47xr-hwfj)

### [17.4.6](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.6) (July 13th 2026)

* Conditions: Apply page button conditions to the visible submit button [#1705](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1705)
* Conditions: Fall back to the option value when a choice caption is empty [#1727](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1727)
* Field Types: Guard against empty prevalue captions and values [#1386](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1386)
* Field Mapping: Align fields in the field mapping property editors [#1716](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1716)
* Form Entries: Truncate long field values in the entries collection table [#1708](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1708)
* Workflows: Record a failed workflow in the audit table so it can be retried [#1372](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1372)
* Workflows: Prevent unintended auto-approval when a workflow changes a record's state [#1598](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1598)

### [17.4.5](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.5) (July 2nd 2026)

* Fix upgrade failure when `DisableRecordIndexing` is set to `true`

### 17.4.4 (July 1st 2026)

* Analytics: Fix intermittent startup failure caused by the historical data backfill

### [17.4.3](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.3) (June 30th 2026)

* Added translations
* Form Design: Fix field layout overflow in multi-column fieldsets [#1682](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1682)
* Magic Strings: Resolve to field alias when captions collide [#1735](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1735)
* Field Types: Make `text-with-field-picker` editor controls full width [#1740](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1740)
* Workflows: Persist selected order when reordering workflow stages [#1741](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1741)
* Form Entries: Fix infinite error loop on entry details after browser back [#1742](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1742)

### [17.4.2](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.2) (June 16th 2026)

* Fix startup error when upgrading with the analytics tables migration still pending [#1736](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1736)

### [17.4.1](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.1) (June 12th 2026)

* Fix failed `PrevalueSource` migration for sites upgraded from Forms 17.0.0-17.0.3
* Fix error when retrying a workflow [#1734](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1734)

### [17.4.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.0) (June 4th 2026)

* Better support for load balanced environments
* Refactored front end exports for `@umbraco-forms/backoffice` NPM package
* Display download for prevalue source files in backoffice [#1581](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1581)
* Fix date day/month swap for non-US cultures in date fields [#1714](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1714) [#1731](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1731)
* Set `VariationContext` to submitted culture when retrying a workflow [#1718](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1718)
* Apply default date range filter on initial load [#1720](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1720)
* Cache-bust front end assets to ensure users get the latest version after upgrade [#1722](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1722)
* Fix error when saving a field made mandatory [#1725](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1725)
* Allow ordering form entries when using `IRecordReaderService` [#1726](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1726)
* Fix subfolder being created at root instead of selected parent [#1730](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1730)

### [17.4.0-rc](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.4.0) (May 14th 2026)

* Widen page and group name inputs in Form designer [#1296](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1296)
* Prevent field preview clipping [#1297](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1297)
* Fix `FormSavingNotification` message display on `CancelOperation` [#1487](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1487)
* Fix Analytics layout shift when reloading chart [#1689](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1689)

### [17.3.2](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.3.2) (May 1st 2026)

* Fix: rename `workflow` entity types to avoid clashes with Umbraco Workflow [#1694](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1694)

### [17.3.1](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.3.1) (April 30th 2026)

* Fix Rich Text field type not allowing blocks [#1194](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1194)
* Allow editing hidden fields on submitted form entries [#1605](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1605) [#1693](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1693)
* Reveal workflow action bar on keyboard focus [#1692](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1692)
* Fix casing for "On Reject" label [#1696](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1696)
* Resolve variant-aware title in the preview modal [#1699](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1699)
* Prevent `MigrateSystemDatesToUtc` failure on SQL datetime underflow [#1703](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1703)
* Add **View entries** entity action for submitted records [#1704](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1704)
* Localize **Change Record State** action dropdown labels
* Update design of **Form Picker (Single)** to match CMS style
* Update design of **Field Type** and **Workflow Type** picker modals

### [17.3.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.3.0) (April 9th 2026)

#### UTC date handling fix

The v17.0.0 release included a migration (`MigrateSystemDatesToUtc`) that converted all existing system dates to UTC. However, the application code continued using `DateTime.Now` (local server time) when writing new records, causing inconsistent timestamps for form entries, workflow audit trails, and entity metadata.

This release fixes the issue by:

* Using `DateTime.UtcNow` consistently across all code paths that write to UTC-stored database columns [#1684](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1684)
* Ensuring all date properties in API responses serialize with a UTC indicator (`Z` suffix), so the backoffice correctly converts to local time
* Removing the legacy server-side timezone offset conversion in the entries list — the browser now handles UTC-to-local conversion consistently

{% hint style="warning" %}
Data written between v17.0.0 and this release may contain local server timestamps instead of UTC. A SQL script is provided below to correct historical data. It runs on SQL Server only.

Take a database backup before you run it. Then set the three variables at the top of the script:

* `@TimeZone`: your server's Windows time zone name.
* `@UpgradeDate`: the date you first upgraded to v17.0.0. Rows created before this date were already converted to UTC.
* `@FixDate`: the date you first deployed a version of v17.3.0 or newer. Rows created on or after this date are already UTC and must not be shifted again. If you upgraded from v17.2 to v17.3 and later to v17.4, use the v17.3 date.

The script writes a marker to `umbracoKeyValue` when it completes. On a second run it reports the marker and exits without changing any rows.

The script also clears the affected days from the analytics summary tables. The background task rebuilds those days from the corrected entries on the next application start. Confirm the rebuild under **Settings** > **Health Check** > **Forms** > **Analytics Processing**.

The script excludes the `UFRecordDataDateTime` table, as those values represent user-entered dates that should not be shifted.

The original `MigrateSystemDatesToUtc` migration contained a duplicate conversion for `UFPrevalueSource`. Created and Updated columns were converted twice. This has been fixed, but sites on v17.0–v17.2 may have double-converted PrevalueSource dates that require manual correction.
{% endhint %}

{% file src="/files/fYmfxacEpIIgRlPjtnEO" %}
Corrects historical data written with local server time instead of UTC between v17.0.0 and v17.3.0. Set the time zone and both cutoff dates before running.
{% endfile %}

#### Other

* Mark `RecordFilter.LocalTimeOffset` as obsolete (will be removed in v18)
* Improved performance of Analytics database queries
* Update "Umbraco Forms scheduled record deletion task" log message grammar [#1683](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1683)
* Allow any integer for textarea `NumberOfRows` setting [#1685](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1685)
* All items detailed under release candidates for 17.3.0.

### 17.3.0-rc2 (April 9th 2026)

* Optimized startup performance when processing a large number of forms and records for analytics

### [17.3.0-rc](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue+label%3Arelease%2F17.3.0) (April 2nd 2026)

#### Analytics

Umbraco Forms now includes built-in analytics that provide insight into how your forms are performing. You can view submission trends over time, monitor workflow success rates, and identify which pages are driving submissions.

#### Other

* Umbraco CMS dependency updated to 17.3.0
* Optimize record collection query performance
* Add per-row entity actions to entries table
* Redesigned Field and Workflow modals to match CMS style and improve usability
* Fix sort order and group for field type not being respected [#1634](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1634)
* Fix many column overflow in sidebar modal [#1608](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1608)
* Fix Rich Text editor not allowing block picks in "Thank you" workflow [#1194](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1194)
* Fix workflow failing to submit with decimal field [#1574](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1574)
* Fix error when viewing entries without Manage Forms permission [#1638](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1638)
* Use native textarea for validation regex [#1642](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1642)
* Fix data consent field included when created from template [#1651](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1651)
* Add validation for prevalue options on dropdown and similar fields [#1660](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1660)
* Fix text in tags/actions in forms overview wrapping on multiple lines [#1661](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1661)
* Fix deleting a selected prevalue throwing an error [#1666](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1666)
* Fix store records setting not respected from template [#1669](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1669)
* Fix save & preview opening modal with blank node names [#1670](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1670)
* Fix "Updated By" not updating accordingly [#1671](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1671)
* Fix creating form inside folder adding the form to root [#1672](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1672)
* Fix value failing to save [#1673](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1673)
* Fix page-specific magic strings not working in delivery API [#1674](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1674)
* Fix `ManageSecurityWithUserGroups` not working [#1675](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1675)
* Fix form entries not visible in Firefox [#1677](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1677) [#1678](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1678)
* Resolve property editor UI from configured Data Type [#1680](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1680)
* Add filter by record state (Submitted/Approved/Rejected) to entries list [#1681](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1681)

### 17.2.1

* Fix: string length validation for file upload fields

### [17.2.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.2.0) (March 5th 2026)

* File Upload: Treat JPEG and JPG as equivalent in validation [#1383](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1383)
* Field Preview: Fix CSS selector for horizontal prevalue spacing [#1635](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1635)
* Password Field: Fix unknown property editor UI for autocomplete setting [#1636](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1636)
* Data Consent: Fix field always evaluating as `True` in workflow conditions [#1646](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1646)
* Entries: Fix Workflows and Updated columns hidden with custom display fields [#1655](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1655)
* Settings: Fix default value leak across field type instances [#1656](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1656)
* Settings: Add CheckBoxList and RadioButtonList support for custom field/workflow type settings [#1657](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1657)
* All items detailed under release candidates for 17.2.0.

### 17.2.0-rc2 (February 26th 2026)

* Add global backoffice search for Forms
* Fix regression with new Forms missing default page, group and data consent field
* Fix reCAPTCHA Enterprise field not correctly validating assessments
* Remove unnecessary API calls for users without Forms section access [#1648](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1648)
* Fix export error when form name contains a dot [#1649](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1649)

### 17.2.0-rc (February 19th 2026)

* Umbraco CMS dependency updated to 17.2.0
* Add ARIA attributes for form validation accessibility [#1382](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1382)
* Fix conditions not seeing field values modified by previous workflows [#1464](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1464)
* Fix form entry count not displaying on first load of dashboard [#1469](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1469)
* Fix Rich Text Editor (RTE) missing formatting options when changing field type [#1476](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1476)
* Add server-side length validation for String Data Type fields [#1478](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1478)
* Replace native button with styled anchor in "Copy Workflows" [#1595](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1595)
* Improve Danish translations [#1596](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1596)
* Add missing translations for multiple languages [#1599](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1599)
* Use `uui-form-layout-item` for UI consistency in form settings [#1607](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1607)
* Add Form reference tracking API and UI [#1609](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1609)
* Fix form re-initialization for dynamically injected forms [#1617](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1617)
* Use localized labels for Workflow stage dropdown [#1612](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1612)
* Fix sensitive data field showing localization key as tooltip [#1633](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1633)

### 17.1.3 (February 12th 2026)

* Fix reCAPTCHA Enterprise script not loading correctly on the frontend

### [17.1.2](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.1.2) (January 30th 2026)

* Fix export path resolution for paths starting with `~` [#1610](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1610)

### [17.1.1](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.1.1) (January 29th 2026)

* Ensure entries selection can be cleared correctly after delete [#1590](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1590)
* Ensure entries selection can be cleared completely [#1591](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1591)
* Add additional exports for NPM package [#1592](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1592)
* Fix bug where prevalue sources couldn't be saved and didn't show existing values [#1597](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1597)
* Path traversal and file enumeration vulnerability on Linux/macOS [GHSA-hm5p-82g6-m3xh](https://github.com/umbraco/Umbraco.Forms.Issues/security/advisories/GHSA-hm5p-82g6-m3xh)

### [17.1.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.1.0) (January 22nd 2026)

* All items detailed under release candidates for 17.1.0.

### [17.1.0-rc2](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.1.0) (January 15th 2026)

* Add confirmation modal for entry bulk deletion [#1490](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1490)
* Fix prevalue source validation [#1549](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1549)
* Fix prevalue source dropdown rendering [#1550](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1550)
* Fix prevalue source disappearing properties [#1551](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1551)
* Add disabled state for unconfigured field types [#1557](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1557)
* Fix form picker multiple value conversion [#1562](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1562)
* Fix form picker multiple selection storage [#1563](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1563)
* Add disabled state to workflows [#1566](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1566)
* Fix workflow sorting [#1567](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1567)
* Allow sorting between workflow stages [#1568](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1568)
* Handle missing or deleted workflows [#1570](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1570)
* Workflow name field now longer [#1573](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1573)
* Fix Forms Theme Picker validation [#1577](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1577)
* Resolve migration of Form Picker and Theme Picker from v13 [#1578](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1578)

### [17.1.0-rc](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.1.0) (January 8th 2026)

#### reCAPTCHA Enterprise field type added

A new reCAPTCHA Enterprise field type has been added, providing advanced bot protection using Google's reCAPTCHA Enterprise service.

{% hint style="warning" %}
The "Score Threshold" setting for the reCAPTCHA Enterprise field type is currently not fully functional. This is due to a dependent issue in Umbraco CMS (see [CMS PR #21339](https://github.com/umbraco/Umbraco-CMS/pull/21339)). This will be resolved in a future release.
{% endhint %}

#### Unconfigured reCAPTCHA fields now display as disabled

The reCAPTCHA v2, v3, and Enterprise field types now display as disabled in the form designer when their respective settings are not configured. This prevents editors from adding unconfigured reCAPTCHA fields that would not work on the frontend.

This change also ensures that field types remain registered. This prevents issues when transferring forms with Umbraco Deploy between environments where reCAPTCHA settings may not yet be configured.

![Disabled reCAPTCHA field type in form designer](/files/cffVqnN8QuIFITKAf5k6)

* Umbraco CMS dependency updated to 17.1.0
* Add reCAPTCHA Enterprise field type [#1046](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1046)
* Preserving line-spacing in text-area input [#1369](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1369)
* Add `DefaultValue` property to `SettingAttribute` [#1411](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1411)
* Updated field and workflow settings handling when default values are defined [#1421](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1421)
* Load correct icons for all Forms tree items [#1457](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1457)
* Improve field alias logic and input event handling [#1459](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1459)
* Improve form reorder sorting experience [#1482](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1482)
* Fix folder creation for users with single start folder [#1546](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1546)
* Match delete icon to CMS delete icon [#1553](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1553)
* Redesigned Form designer to match CMS content type designer
* Fix redirect on entity creation and improve save flow
* Form Info view: improved references UI and layout
* Update entry filter UI and hide Entries tab for new forms
* Set `Cache-Control` headers of form uploads to `private`

### [17.0.3](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.0.3) (December 17th 2025)

* Fix bug with NPM package exports not resolving correctly [#1556](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1556)

### [17.0.2](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.0.2) (December 11th 2025)

* Refactored UX for sorting on form designer [#1458](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1458)
* Render uploaded files as semantically correct HTML [#1373](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1373)
* Filter out fields from email workflows when 'Include Sensitive Data' is set to false [#1402](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1402)
* Normalise the JavaScript `form` parameter to always be the native DOM element [#1477](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1477)
* Fix console error when using `Forms.PropertyEditorUi.TextWithFieldPicker` in custom FieldType or Workflow [#1547](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1547)

### 17.0.1 (November 27th 2025)

* Fix issues with the 17.0.0 release where migrations would sometimes not complete successfully

### [17.0.0](https://github.com/umbraco/Umbraco.Forms.Issues/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arelease%2F17.0.0) (November 27th 2025)

* Update Forms dependencies to 17.0.0
* All items detailed under release candidates for 17.0.0.
* JavaScript now correctly finds the form config element when it is not adjacent

### 17.0.0-rc4 (November 25th 2025)

* Stop "Save and preview" modal from displaying an interstitial state
* Adds additional exports to `@umbraco-forms/backoffice` NPM package
* Razor email templates now format URLs as `UrlMode.Absolute` [#1414](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1414)
* File Upload field now includes `class` attribute [#1495](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1495)
* Fix `ScrollToFormScript` JavaScript not working correctly [#1486](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1486)
* Fix endless submit loop when reinitializing forms with `umbracoFormsReinitialize` [#1491](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1491)
* Resolve issues with missing translations in backoffice [#1492](https://github.com/umbraco/Umbraco.Forms.Issues/issues/1492)

### 17.0.0-rc3 (November 20th 2025)

* Update dependencies to 17.0.0-rc3
* Fix issue where "Save and preview" modal would flash with no content
* Fix bug that showed "Empty due to Umbraco Forms in trial mode" for entries even with a valid license

### 17.0.0-rc2 (November 13th 2025)

* Update dependencies to 17.0.0-rc2

### 17.0.0-rc1 (October 30th 2025)

* Update dependencies to 17.0.0-rc1

## Umbraco.Forms.Deploy

### 17.0.1 (July 24th 2026)

* Fix Umbraco Forms artifact property mappings lost on transfer/restore, including *Show summary page* and related form settings [#331](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/331)
* Fix deploy of `Form.MessageOnSubmitBlocks` and its block element type dependencies (Umbraco Forms 17.3.0 or later)

### 17.0.0 (November 27th 2025)

* Compatibility with Umbraco Forms 17 and Deploy 17

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


---

# 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-forms/17.latest/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.
