11.11

Last modified: May 28, 2026

11.11.0

Release date: May 29, 2026

Go to Marketplace

New Features

Data Transformer (Beta)

We are releasing the beta version of the data transformer, which allows you to transform complex JSON data, including in cases that were not previously supported. You can use a data transformer as preprocessing step before passing the data into an import mapping, or use the transformed JSON directly, for example to send data to another system. For more information, see Data Transformer (Beta).

Other New Features

  • We introduced a modernized Debugger pane as part of the updated Debugger experience.
  • The modernized Debug Windows can now be switched off in Edit > Preferences > New features by deselecting Use the modernized Debug Windows (Requires restart of Studio Pro).
  • We introduced a modernized Breakpoints pane as part of the updated Debugger experience. The new pane supports sorting by any column, multi-selection, enabling/disabling breakpoints with the Space key, selecting all breakpoints with Ctrl + A (Cmd + A on macOS), and navigating directly to the breakpoint location with Enter.
  • The modernized Debugger can be switched off in Edit > Preferences > New features by deselecting Use the modernized Debugger (Requires restart of Studio Pro).
  • We added a fast reload capability for custom blob documents.
  • We increased the minimum compatibility mode for Azure SQL to 160. This is equivalent to SQL Server 2022.
  • We added the ability to add new documents and entities from the element selector.
  • We implemented three new functions in OQL: TRIM, LTRIM, and RTRIM. For more information, see OQL Expression Syntax.
  • Viewing textual differences for a modified value (or file on disk) no longer requires installation of a third-party tool. You can now directly view a text diff inside Studio Pro by clicking the modified value or file in the Changes or Comparison pane.
  • We reimplemented the domain model editor using web technology. This new editor is functionally equivalent to the classic version. You can switch between the two using the toggle in the Domain Model toolbar.
  • We reimplemented the regular expression dialog in web. This dialog is feature equal to the old version and introduces no new features.
  • Maia can now generate and update app-level Navigation and Menu documents. For example, you can ask Maia to build the menu items based on the pages in an app.
  • We introduced object data sources to the Pluggable Widget API. Widget developers can now declare a data source property with isList="false" for data sources that are intended to return a single object. Other properties can be linked to object data sources in the same way they are linked to list data sources. This enhancement allows you, for example, to build your own data view widget.
  • We added a scroll-to-bottom button in Maia chat that includes a loading indicator to show when Maia is processing. Chat messages now auto-scroll only when you are at the bottom, preventing interruptions while reading previous messages.
  • We implemented support for editable file and image types (EditableFileValue and EditableImageValue) on native. Set allowUpload="true" on a file or image property to use the new editable API on native widgets.
  • We added support for optimistic locking with offline-first applications. Previously, enabling optimistic locking was not allowed when an offline-based navigation profile was configured. Now, offline changes are synchronized to the server without being blocked by optimistic locking version checks.
  • We added support for agent skills. You can now create your own skill definitions via the skills section in the App Explorer under Maia. Each skill is defined by a SKILL.md file stored in the skillssource/ directory of your app. Skill names and descriptions are included in Maia's context at the start of each chat session, while the full skill content and any reference files are loaded on demand.
  • You can now disable the web fetch tool in Maia preferences.
  • We added support for reference files in agent skills. You can now add markdown files to a references/ subdirectory inside a skill folder to provide Maia with additional context, such as domain knowledge or glossaries. Reference files can be managed directly from the App Explorer.
  • Rspack is now generally available for React client applications. It delivers faster bundling and lower memory usage. Rollup remains the default bundler for now, but we recommend switching to Rspack.
  • We added support for notification boundary events in workflows. Similar to the timer boundary event, a notification boundary event can be attached to a workflow activity and triggered via the Notify Workflow microflow activity. Both interrupting and non-interrupting variants are supported.
  • We added notification events to workflows, which are similar to wait-for-notification events, with the distinctions that they appear as a circle and cannot have boundary events.

Improvements

Performance

  • We made local deployment faster by skipping Java proxy file regeneration for model elements that have not changed since the previous deployment.
  • We reduced the time it takes to open pop-up dialogs for selecting elements like entities or attributes.

Other Improvements

  • We improved the Maia Undo All button so it now reverts changes at the session level instead of the prompt level.
  • The OQL INSERT INTO SELECT statement no longer requires column names in the SELECT part.
  • In the logic editors, optional parameters are now visually distinguished with a dotted border, making it easier to identify which parameters are not required.
  • We added a Refresh schema button to the mapping editor toolbar. This button appears when the mapping is out of sync with its underlying schema, allowing you to update the mapping elements to match the current schema directly from the editor.
  • The modernized Console panel is now enabled by default. If you encounter any issues, you can revert to the legacy Console panel by deselecting Preferences > New Features > Use the modernized Console.
  • We improved the Comparison feature. The Stop Comparison button is now always available, allowing you to cancel at any time, including when an action is still in progress.
  • We added a search bar to the comparison pane that lets you filter the list of changed documents by name, module, change type, or details.
  • We improved tooltips for the Comparison pane: now you see what you expect in a single tooltip, for properties it is trimmed.
  • We upgraded the react-native to 0.84.1 and bumped related dependencies.
  • We improved offline database performance by removing unnecessary SQL transactions from read operations, reducing overhead particularly for read-heavy nanoflows.
  • We updated the consistency error to appear on each duplicate operation within a resource of a Published REST service, instead of on the resource itself.
  • We improved default values for the SessionKeepAliveUpdatesInterval (now 100 seconds) and ClusterManagerActionInterval (now five minutes) runtime settings. If these defaults are incompatible with the configured SessionTimeout, they will be automatically derived as before.
  • We clean up duplicate cluster management tasks during startup.
  • We added themecache.css files to .gitignore to reduce conflicts when edited by multiple users.
  • We added temporary Java files to .gitignore to reduce conflicts when edited by multiple users.
  • The modernized JavaScript Action Editor now updates when Maia edits the currently open JavaScript action.
  • We changed conflicting page and microflow URLs from a consistency error to a warning. Conflicting URLs can indicate potential navigation issues, but they do not always occur in practice.
  • Widgets with conditional visibility set to false are now excluded from exported pages.

Fixes

  • We fixed an issue where import and export mappings incorrectly showed consistency errors for microflows with unmapped optional parameters. Optional parameters now use their default values when not provided in the payload. Converter microflows must have exactly one required parameter which receives the value to be converted and may have additional optional parameters. (Ticket 250969)
  • We fixed an issue in the Select Elements dialog of an XML import or export mapping where reopening the dialog with previously checked elements that contained inheritance or choice-type children caused a validation error "Element '…' cannot be checked without a checked child element." when clicking OK. This happened because those elements were not expanded, so their children were not loaded and could not be validated. Studio Pro now automatically expands such elements before clicking OK in the Select Elements dialog, ensuring all required child elements are properly loaded and resolved. (Ticket 268403)
  • We fixed an issue with the client where passing an empty string as a parameter to a microflow triggered an error. For example, when filtering options of a Combobox with a microflow, clearing the search string triggered the error. This occurred for apps with the new string behavior disabled. (Ticket 271819)
  • We fixed an issue where Import and Cancel buttons are not visible for certain resolutions and scalings. (Ticket 274077)
  • We fixed an issue when an older offline client (from a Mendix version before 11.9.0) failed to synchronize with a HTTP 560 (Invalid JSONRequest) error, preventing the offline app from loading. (Ticket 274811)
  • We fixed an issue where projects located in a folder whose name contained special characters (for example an '&') failed to run locally. (Ticket 275109)
  • We fixed an issue where deployment of an application resulted in a "System.ArgumentOutOfRangeException: StartIndex cannot be less than zero." error. (Tickets 276326, 277841)
  • We added Microsoft-related MIME types. (Tickets 276471, 276598, 276604, 276958)
  • We fixed running OQL statements using INSERT INTO SELECT where the SELECT returns an empty result. (Ticket 277749)
  • We fixed an issue where consistency checks for blob documents did not trigger when a previously excluded document it depended on was re-included.
  • We fixed an issue where an extension contained in an add-on module did not get reloaded when the module got replaced with another with the same name.
  • We fixed an issue where DEV extensions were not being displayed in the Extensions Overview.
  • We fixed an issue where passing the icon as data URL in the Notification API did not show the icon.
  • We fixed an issue where the Go to and Back buttons were incorrectly enabled when refreshing the comparison pane.
  • We fixed an issue where the Comparison pane incorrectly showed "This is not a version controlled app" for a versioned app.
  • We fixed an issue where the comparison pane got stuck on a loading spinner when starting a comparison with a comparison that’s already selected.
  • We fixed an issue where the Microsoft Defender exclusion utility failed to run.
  • Maia: We fixed an issue where microflows created by Maia had entity access enabled by default.
  • We fixed an issue where Maia generated multiple Create Variable actions with the same variable name.
  • In the logic editors, we fixed an Oops dialog when java actions parameters were not configured correctly. We added a new consistency check for this.
  • We fixed an inconsistency where annotation connection point indices were stored in a different order than those of other microflow objects.
  • We fixed an issue where Maia overlapped elements when trying to change existing microflows.
  • We fixed an issue where Maia removed an element and did not fix the layout of a microflow.
  • We fixed an issue where the chat input area did not increase in size based on the prompt length.
  • We fixed an issue where the Maia input field was not cleared when opening or switching to a different app in Studio Pro.
  • We fixed an issue where the Maia chat input area did not resize back to its original size after submitting a message.
  • We fixed an issue where the Maia chat input area did not resize back to its original size when switching to a different or new app.
  • We fixed an issue where Maia could not continue conversations that exceed context window limits.
  • We fixed an issue related to a security improvement where entities configured with the Nothing or Never synchronization modes had their upload synchronization incorrectly blocked. Only entities with the Online synchronization mode should block client uploads. Additionally, when Compatibility Mode is enabled for an entity, it now fully restores All Objects behavior for both upload and download as originally intended.
  • We fixed a runtime exception in Published OData when publishing an association to an object that is inaccessible due to OData security constraints.
  • We fixed a runtime error in OData search queries for a varchar attribute with a limited column length and a search string longer than that limit.
  • Page-editing tools are now available in the MCP server.
  • We improved conversation overflow handling to prevent large messages from breaking the conversation.
  • MCP server now uses coding agent's native web fetch tools instead of the ones exposed in Studio Pro.
  • We fixed an issue where Studio Pro hung when renaming an entity attribute.
  • We fixed various issues with MCP client stability.
  • We fixed an issue where OQL generation would freeze.
  • We fixed an issue where right-clicking a node in the app explorer would select the node's text label on macOS.
  • We fixed an issue in the modernized console panel where the Start built in database viewer button was not disabled when the database viewer is not available.
  • We fixed an issue in the modernized console panel where the scroll position lock was not reset when the runtime reconnected.
  • We fixed an issue in the modernized Console Panel where auto-scroll always jumped to the bottom of the table when new logs were added, regardless of sort order. The table now scrolls to the latest log according to the current sort column and direction.
  • On macOS, we improved table row selection after opening a context menu. Selecting a different row now requires fewer clicks and behaves more consistently, for example in the Modernized Console.
  • We fixed an issue where pressing Escape to close a modal dialog would also close the sidebar.

Known Issues

  • When using an Oracle database, invalid SQL is generated by the task queue subsystem, causing application startup to fail. (Ticket 275597)
  • The Maia Chat panel may appear and remain functional even when Maia is disabled in Edit > Preferences.
    • Workaround: Manually close the panel when it appears.