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

# Orbeon Forms 2025.1.1

**Monday, April 27, 2026**

Today we released Orbeon Forms 2025.1.1! This maintenance release mainly contains bug-fixes and is recommended for all users of:

* [Orbeon Forms 2025.1 PE](/release-notes/orbeon-forms-2025.1.md)

## New features

This release includes the following new features:

* Option to not persist the value of a form control ([blog](https://www.orbeon.com/2026/03/non-persisted-control-values))
* New Timestamp form control ([doc](https://doc.orbeon.com/form-runner/component/timestamp))
* New International Bank Account Number (IBAN) form control ([doc](https://doc.orbeon.com/form-runner/component/iban))
* New `control-setvalue()` action for simple processes ([doc](https://doc.orbeon.com/form-runner/advanced/buttons-and-processes/actions-form-runner/actions-form-runner-control-setvalue))
* New `process-dateTime()` XPath function ([doc](https://doc.orbeon.com/xforms/xpath/extension-functions/extension-form-runner#fr-process-datetime))
* Summary page: new option to show/hide metadata columns based on role ([doc](https://doc.orbeon.com/form-builder/form-settings/summary-page#role-restriction))
* Better feedback for rejected files with a new option to show the message inline ([doc](https://doc.orbeon.com/configuration/properties/form-runner/form-runner-detail-page/form-runner-attachments#upload-error-appearance))

## Performance enhancements

This release also includes an important performance enhancement related to page load time. See the blog post [Page load performance](https://www.orbeon.com/2026/04/page-load-performance) for details.

![](https://www.orbeon.com/assets/posts/performance-graph.webp)

## Issues addressed

In this release, we have addressed over 100 issues, including:

* Form Builder
  * Form migration tests on lexical QNames ([#7624](https://github.com/orbeon/orbeon-forms/issues/7624))
  * HTTP Service Editor test results sometimes show on current tab instead of new tab ([#7467](https://github.com/orbeon/orbeon-forms/issues/7467))
  * FB: Explanatory Text no longer works ([#7548](https://github.com/orbeon/orbeon-forms/issues/7548))
  * `fr:relevant="false"` attributes on instance template ([#7510](https://github.com/orbeon/orbeon-forms/issues/7510))
  * HTTP Service Editor grid menu is cropped ([#7463](https://github.com/orbeon/orbeon-forms/issues/7463))
  * When in-place editing a control label drag-and-dropping another control cancels the label edition ([#6867](https://github.com/orbeon/orbeon-forms/issues/6867))
  * Some icons in Form Builder displayed in white instead of white ([#7403](https://github.com/orbeon/orbeon-forms/issues/7403))
  * Checkbox incorrectly shows as checked after navigating Grid Settings with Previous or Next ([#7429](https://github.com/orbeon/orbeon-forms/issues/7429))
  * Container Settings: completion menu truncated by dialog ([#7317](https://github.com/orbeon/orbeon-forms/issues/7317))
  * In Form Builder, when opening the XForms Inspector while a dialog is open, the dropdowns with search inside the XForms Inspector cannot be opened ([#7259](https://github.com/orbeon/orbeon-forms/issues/7259))
  * Add CSS class on cell with checkbox and text field for custom iteration name ([#7484](https://github.com/orbeon/orbeon-forms/issues/7484))
  * Incorrect layout in Actions Editor dialog ([#7493](https://github.com/orbeon/orbeon-forms/issues/7493))
  * "true is not a member of Enum (all, none, selected)" if unselecting Use default in Email Settings ([#7500](https://github.com/orbeon/orbeon-forms/issues/7500))
  * Menu for repeated grid positioned incorrectly in Form Builder when `.fb-main` is scrolled down ([#7502](https://github.com/orbeon/orbeon-forms/issues/7502))
  * Repeated section template sometimes crashes when removing a repetition ([#7506](https://github.com/orbeon/orbeon-forms/issues/7506))
  * Clicking on the right of "Delete template" in Email Settings deletes the template ([#6058](https://github.com/orbeon/orbeon-forms/issues/6058))
  * `fr|databound-select1-search`: don't evaluate resource at design-time ([#7555](https://github.com/orbeon/orbeon-forms/issues/7555))
  * Some walls are not positioned correctly when loading the All Form Controls form in Form Builder ([#7597](https://github.com/orbeon/orbeon-forms/issues/7597))
  * Form Builder scrolls to wrong position when clicking on an Explanatory Text ([#7599](https://github.com/orbeon/orbeon-forms/issues/7599))
  * Control Settings: roles are not read in the correct order from the form definition ([#7600](https://github.com/orbeon/orbeon-forms/issues/7600))
  * Configuration to show message if one form data is found for singleton forms ([#7591](https://github.com/orbeon/orbeon-forms/issues/7591))
  * "Cannot read properties of null" in Form Builder's Form Settings ([#7587](https://github.com/orbeon/orbeon-forms/issues/7587))
  * "Undeclared variable" error with itemset filter ([#7504](https://github.com/orbeon/orbeon-forms/issues/7504))
  * CSS class with AVT and if/then/else fails ([#7625](https://github.com/orbeon/orbeon-forms/issues/7625))
  * Action Editor to upgrade syntax for setting parameter names using /\*/my-param syntax ([#7631](https://github.com/orbeon/orbeon-forms/issues/7631))
* Form Runner
  * Wizard status: mark section as completed when visited if no required fields ([#7494](https://github.com/orbeon/orbeon-forms/issues/7494))
  * For the form metadata API, the persistence proxy incorrectly expects implementation of the persistence of API to always return all versions ([#7565](https://github.com/orbeon/orbeon-forms/issues/7565))
  * Wizard pager for top-level repeated section incorrectly disables "Next" icon ([#7229](https://github.com/orbeon/orbeon-forms/issues/7229))
  * Dark color scheme (dark mode) enhancements ([#7407](https://github.com/orbeon/orbeon-forms/issues/7407))
  * HTML label with `<div>` shows in blue on new line in the error summary ([#7410](https://github.com/orbeon/orbeon-forms/issues/7410))
  * Setting `oxf.fr.detail.button.lease.show-in-view-mode.visible.*.*` to false makes the button readonly instead of hiding it ([#7411](https://github.com/orbeon/orbeon-forms/issues/7411))
  * User can submit form after losing the lease if the Review Form Validation Messages dialog is shown ([#7421](https://github.com/orbeon/orbeon-forms/issues/7421))
  * With flat view enabled, can't publish form with control named `_` ([#7433](https://github.com/orbeon/orbeon-forms/issues/7433))
  * Make error messages easier to read by removing the full file size and adding a significant digit to the compact version ([#7437](https://github.com/orbeon/orbeon-forms/issues/7437))
  * Help for output without border and an empty value doesn't point to anything ([#7440](https://github.com/orbeon/orbeon-forms/issues/7440))
  * Support custom variables in template parameter formulas ([#7445](https://github.com/orbeon/orbeon-forms/issues/7445))
  * Remove ⌃Tab / ⌃⇧Tab as keyboard shortcuts to switch tabs ([#7446](https://github.com/orbeon/orbeon-forms/issues/7446))
  * Import page: callback endpoint for upload ([#6940](https://github.com/orbeon/orbeon-forms/issues/6940))
  * Action targeting repeated iteration on same line doesn't work ([#7464](https://github.com/orbeon/orbeon-forms/issues/7464))
  * When a control has multiple errors, the bullet list in the error summary shows in blue instead of red ([#7469](https://github.com/orbeon/orbeon-forms/issues/7469))
  * Support forcing path style in the S3 bucket config ([#7466](https://github.com/orbeon/orbeon-forms/issues/7466))
  * When a control's label has bullet points, the bullet list in the error summary shows in blue instead of red ([#7479](https://github.com/orbeon/orbeon-forms/issues/7479))
  * Readonly repeated section with paging shows a single iteration in view mode ([#7481](https://github.com/orbeon/orbeon-forms/issues/7481))
  * Solution to attachment in section template in view mode that does not require republishing ([#7482](https://github.com/orbeon/orbeon-forms/issues/7482))
  * `<fr:repeat-add-iteration>` doesn't handle initial values ([#7491](https://github.com/orbeon/orbeon-forms/issues/7491))
  * Section templates: don't embed common code in published templates ([#7483](https://github.com/orbeon/orbeon-forms/issues/7483))
  * `fr:workflow-stage-value()` formula not evaluating in section template ([#7492](https://github.com/orbeon/orbeon-forms/issues/7492))
  * Support non-standard region in S3 bucket configuration ([#7501](https://github.com/orbeon/orbeon-forms/issues/7501))
  * Navbar workflow stage margins are incorrect ([#7505](https://github.com/orbeon/orbeon-forms/issues/7505))
  * Workflow stage not correctly restored upon mode change ([#7513](https://github.com/orbeon/orbeon-forms/issues/7513))
  * Purge API not deleting files ([#7517](https://github.com/orbeon/orbeon-forms/issues/7517))
  * Section templates: value dependencies ([#7427](https://github.com/orbeon/orbeon-forms/issues/7427))
  * Process save action to ensure document is synchronized ([#7533](https://github.com/orbeon/orbeon-forms/issues/7533))
  * Continue button missing in Review Form Validation Messages dialog if shown from the view page ([#7534](https://github.com/orbeon/orbeon-forms/issues/7534))
  * Grid to annotate with a class cells on empty row ([#7544](https://github.com/orbeon/orbeon-forms/issues/7544))
  * Service with variable in URL AVT fails ([#7550](https://github.com/orbeon/orbeon-forms/issues/7550))
  * Schema generation for form with string validation with custom alert fails with "Invalid QName {}" error ([#7552](https://github.com/orbeon/orbeon-forms/issues/7552))
  * Nested database connections in `CreateUpdateDelete.change` ([#7564](https://github.com/orbeon/orbeon-forms/issues/7564))
  * New `oxf.xforms.xbl.fr.wizard.update-url-param.*.*` controlling whether `fr-wizard-page` is updated when switching section ([#7460](https://github.com/orbeon/orbeon-forms/issues/7460))
  * Handle singleton with draft ([#7560](https://github.com/orbeon/orbeon-forms/issues/7560))
  * `History.scala` uses multiple nested connections, potentially leading to connection pool exhaustion ([#7561](https://github.com/orbeon/orbeon-forms/issues/7561))
  * Service with variable in URL AVT does not resolve variable against action source ([#7551](https://github.com/orbeon/orbeon-forms/issues/7551))
  * Summary Excel export: headers and values discrepancy ([#7566](https://github.com/orbeon/orbeon-forms/issues/7566))
  * Email template: selection control value in template shows item value, not label ([#7573](https://github.com/orbeon/orbeon-forms/issues/7573))
  * Clearer feedback to users when multiple files are dragged onto a Single File Attachment control ([#7575](https://github.com/orbeon/orbeon-forms/issues/7575))
  * Incorrect message referring to "communicating with a backend service" when in fact just running an action ([#7576](https://github.com/orbeon/orbeon-forms/issues/7576))
  * Possible deadlock with concurrent search and deletes ([#7503](https://github.com/orbeon/orbeon-forms/issues/7503))
  * Normalize app/form name case from form definition ([#7172](https://github.com/orbeon/orbeon-forms/issues/7172))
  * Clarify message shown for singleton forms when multiple documents are found ([#7589](https://github.com/orbeon/orbeon-forms/issues/7589))
  * \--orbeon-label-color doesn't change label color in PDF in 'color' PDF color mode ([#7590](https://github.com/orbeon/orbeon-forms/issues/7590))
  * Export: support POST so that URL limit is not exceeded ([#7459](https://github.com/orbeon/orbeon-forms/issues/7459))
  * In wizard TOC, hints for section labels, shown on hover, incorrectly contain HTML tags ([#7595](https://github.com/orbeon/orbeon-forms/issues/7595))
  * Value of hidden field doesn't show in template PDF ([#3894](https://github.com/orbeon/orbeon-forms/issues/3894))
  * If a draft exists, after selecting to either use it or start from scratch, the "Leave Site?" alert shows even no changes to the were made ([#7606](https://github.com/orbeon/orbeon-forms/issues/7606))
  * DMV form: Invalid format: `[M01]-[D01]-[Y]` error ([#7612](https://github.com/orbeon/orbeon-forms/issues/7612))
  * Review all inherit values in CSS variables ([#7443](https://github.com/orbeon/orbeon-forms/issues/7443))
  * Dark color scheme enhancements on Landing page ([#7536](https://github.com/orbeon/orbeon-forms/issues/7536))
  * Change label of validation dialog button from "Review" to "Double check" ([#7545](https://github.com/orbeon/orbeon-forms/issues/7545))
  * When a control's value changes, do not mark it as visited if the control is focused ([#7574](https://github.com/orbeon/orbeon-forms/issues/7574))
  * `<xf:select>`/`<xf:copy>` doesn't support attributes correctly ([#7586](https://github.com/orbeon/orbeon-forms/issues/7586))
  * `fr-wizard-page` does not update when switching page, even with update-url-param set to true ([#7613](https://github.com/orbeon/orbeon-forms/issues/7613))
  * Bookshelf: "Invalid schema type: publication-year" ([#7615](https://github.com/orbeon/orbeon-forms/issues/7615))
  * Uploading file, in deeply nested attachment field, or with a long name, is rejected ([#7623](https://github.com/orbeon/orbeon-forms/issues/7623))
* Offline
  * JS env: default attachment error action runs ([#7563](https://github.com/orbeon/orbeon-forms/issues/7563))
  * JS env: zero length file size constraint not checked ([#7522](https://github.com/orbeon/orbeon-forms/issues/7522))
  * Offline: `controlVariableValueForAction()` not found ([#7470](https://github.com/orbeon/orbeon-forms/issues/7470))
* Form controls
  * Label of the dynamic dropdown doesn't update on language change ([#7401](https://github.com/orbeon/orbeon-forms/issues/7401))
  * Formatted Text Area on ulterior page of wizard in cross-origin embedded form fails to loads model.min.js from incorrect host ([#7400](https://github.com/orbeon/orbeon-forms/issues/7400))
  * Dropdown with search creates two elements with role="combobox", one is missing aria-controls ([#7442](https://github.com/orbeon/orbeon-forms/issues/7442))
  * Invalid `aria-readonly="true"` on calculated value without border ([#7448](https://github.com/orbeon/orbeon-forms/issues/7448))
  * Date and Time field not to show error after date is selected ([#7461](https://github.com/orbeon/orbeon-forms/issues/7461))
  * Datepicker does not change to the selected language ([#7520](https://github.com/orbeon/orbeon-forms/issues/7520))
  * `fr:tinymce`: content not available in PDF template ([#7537](https://github.com/orbeon/orbeon-forms/issues/7537))
  * Dropdown to always show empty as the first value, instead of "Please select:" ([#6389](https://github.com/orbeon/orbeon-forms/issues/6389))
  * Support formatted text area / TinyMCE localization ([#5085](https://github.com/orbeon/orbeon-forms/issues/5085))
  * `<xf:select>` with `appearance="full"`: incorrect sequence of events sent ([#7607](https://github.com/orbeon/orbeon-forms/issues/7607))
  * `<xf:select1>` with `appearance="full"`: server sends client blank value ([#7611](https://github.com/orbeon/orbeon-forms/issues/7611))
  * Attachment controls to provide clearer feedback that an upload is in progress ([#7288](https://github.com/orbeon/orbeon-forms/issues/7288))
  * Clearer distinction in the date control between interacting with the datepicker and the field ([#7518](https://github.com/orbeon/orbeon-forms/issues/7518))
  * Attachment control "Cancel" link should be localized in Form Runner ([#7562](https://github.com/orbeon/orbeon-forms/issues/7562))
* Performance
  * Improve caching to reduce delay between request and XForms processing ([#1239](https://github.com/orbeon/orbeon-forms/issues/1239)) ([blog](https://www.orbeon.com/2026/04/page-load-performance))
  * `controlNameFromIdOpt()` is a hotspot ([#7432](https://github.com/orbeon/orbeon-forms/issues/7432))
  * Improve `<p:choose>` caching ([#7471](https://github.com/orbeon/orbeon-forms/issues/7471))
  * Connection interruption errors not caught for static files ([#7532](https://github.com/orbeon/orbeon-forms/issues/7532))
  * Connection not closed after `xforms-submit-error` ([#7571](https://github.com/orbeon/orbeon-forms/issues/7571))
  * Persistent cache entries not cleared when the session expires ([#7572](https://github.com/orbeon/orbeon-forms/issues/7572))
* Embedding
  * Embedding: top menu hidden by content ([#7418](https://github.com/orbeon/orbeon-forms/issues/7418))
  * `replaceState()` can fail in some mobile embedded environments ([#7428](https://github.com/orbeon/orbeon-forms/issues/7428))
  * JavaScript error when destroying a form using a lease and embedded with the JavaScript API ([#7535](https://github.com/orbeon/orbeon-forms/issues/7535))
  * `orbeon-embedding.jar` not to contain SLF4J classes ([#7337](https://github.com/orbeon/orbeon-forms/issues/7337))
* Accessibility
  * Arrow for help has unintended black background ([#7439](https://github.com/orbeon/orbeon-forms/issues/7439))
  * Help popover too wide when shown over the control ([#7462](https://github.com/orbeon/orbeon-forms/issues/7462))
  * Tooltip not always hidden when moving pointer over tooltip ([#7622](https://github.com/orbeon/orbeon-forms/issues/7622))
  * Document does not have a main landmark ([#7449](https://github.com/orbeon/orbeon-forms/issues/7449))
  * Screen reader to announce section name in addition to field label ([#7451](https://github.com/orbeon/orbeon-forms/issues/7451))
  * Screen readers to know about incomplete sections in the wizard TOC ([#7454](https://github.com/orbeon/orbeon-forms/issues/7454))
  * Clicking to the right of a button inside a cell triggers the button ([#7515](https://github.com/orbeon/orbeon-forms/issues/7515))
* Security
  * Connection: obfuscate Authorization header with debug logging ([#7521](https://github.com/orbeon/orbeon-forms/issues/7521))
  * third-party libraries upgrades
* Other
  * CSS files from Webjars cannot be accessed when running tests ([#7365](https://github.com/orbeon/orbeon-forms/issues/7365))
  * Don't include `infinispan-jcache` in build ([#7465](https://github.com/orbeon/orbeon-forms/issues/7465))
  * Improve logging for invalid property value ([#7456](https://github.com/orbeon/orbeon-forms/issues/7456))
  * `SecureUtilsTest` can occasionally fail ([#7507](https://github.com/orbeon/orbeon-forms/issues/7507))
  * FormMetadataApiTest intermittently failing on Travis ([#7547](https://github.com/orbeon/orbeon-forms/issues/7547))
  * Infinispan cache lock conflict with multiple Orbeon instances ([#7415](https://github.com/orbeon/orbeon-forms/issues/7415))
  * Part of RestApiTest using S3 occasionally fails on CI ([#7585](https://github.com/orbeon/orbeon-forms/issues/7585))

You can download the latest version of Orbeon Forms from the [downloads](https://www.orbeon.com/download) page, or use our Docker images.

Don't forget to [grab a trial license](https://prod.orbeon.com/prod/fr/orbeon/register/new) for the PE version.

Please send feedback via [Twitter](https://twitter.com/orbeon), [Bluesky](https://bsky.app/profile/orbeon.bsky.social), or the [forum](https://groups.google.com/g/orbeon).

We hope you enjoy this release!
