Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions content/en/docs/releasenotes/studio-pro/11/11.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: "11.6"
url: /releasenotes/studio-pro/11.6/
description: "The release notes for Mendix Studio Pro 11.6 (including all patches) with details on new features, bug fixes, and known issues."
weight: 95
---

## 11.6.0 {#1160}

**Release date: December ___, 2025**

{{% button color="info" href="https://marketplace.mendix.com/link/studiopro/11.6.0" text="Go to Marketplace" title="Download version 11.6.0 from the Marketplace" %}}

### New Features

- We have redesigned the way the menus work in our Extensibility APIs (browse our API docs by Studio Pro version [here](/apidocs-mxsdk/apidocs/)). They no longer require the `commandId` property or listening to the `menuItemActivated` event. They now contain an `action` property which will be invoked directly when the menu is clicked.
* Please note that this is a breaking change. Your extension needs to update its usages of the menus to the new structure.
- The modernized (web) runtime console is now available through a preference in the **New Features** tab.
- For custom and pluggable widget we introduced the <prompt> element for pluggable widgets, allowing you to enhance their definitions so Maia can provide smarter development assistance by understanding your widget's purpose and properties.
- Open type parameters in the [Call external action](/refguide/call-external-action/) microflow activity now support additional attributes that are a collection of primitive values.
- It is now possible to copy values from the new **History** pane.
- Group targeting for workflow user tasks is now released for GA. This makes user targeting more dynamic. You can create workflow groups and assign tasks to entire groups instead of individual users. When group membership changes, task access automatically updates. Group members gain or lose access when they join or leave the targeted groups. For more information, see [Workflow Groups](/refguide/workflow-groups/).
- We added support for multiple workflow endpoints, which makes workflow termination more flexible. You can now end workflows through multiple end events instead of a single endpoint. User tasks and other activities with multiple outcomes can each lead to their own end event. Additionally, those final elements can be jump activities instead of end events.

#### Primitive Parameters Support for Pages

It is now possible to define primitive parameters (like a `String` or `Boolean`) for pages. When opening a page with a [Show Page client action](/refguide/on-click-event/#show-page) or [activity](/refguide/show-page/), you can now use [expressions](/refguide/expressions/) to set primitive values as arguments for pages, use functions, and even follow associations!

One of the big advantages is that a page can now use a local variable and pass it to another page. This removes the need to create an entity and an object, when you just want to pass a value to a subsequent page.

In general, logic that has primitive parameters can be more easily reused as it is not tied to the domain model. Thus, this feature also improves overall reusability. You can imagine how much easier and faster this makes modeling!

Additionally, page parameters can now be marked as **Optional** and be given a **Default value** expression. When a parameter is optional, it is not necessary to assign it an [argument value](/refguide/microflow-call/#argument) when opening a page from a button, action, microflow, or nanoflow. Unassigned optional parameters will be set to their default value when the page is opened. Optional parameters make it easy to extend pages, allowing you to add new parameters without the need to update all existing usages.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


### Improvements

- We made an improvement to the scheduling of cluster node management actions.
- The experimental Java API `OqlStatement` to run OQL statements now also supports **INSERT INTO SELECT** statements to create new objects.
- We added extra validations for **OQL UPDATE** statements. For more information, see the [UPDATE Statement](/refguide/oql-statements/#oql-update) section of *OQL Statements* for details.
- We added support for the following database versions:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Runtime bullets with 2 paragraphs below indented

- PostgreSQL 18
- Microsoft SQL Server 2025
- We improved our handling of error messages in the Mendix Runtime Server. This entails:
- No more useless **Broken Pipe** errors in your log file
- Removal of less useful messages that hid the actual error, this brings the actual cause of an error into the top level exception message
- Circumvention of excessive exception wrapping

The consequence of this change is that error messages will be different. In addition, exception nesting will be less deep, meaning that code depending on finding some specific exception hardcoded on X levels deep (using `exception.getCause().getCause()` for example), will likely start to fail. That is unfortunate, but we feel that the benefits of this change (giving better and easier to find error information) outweighed the consequences of the changes in messages and changes in the exception nesting.

To circumvent the impact of this change a Custom Runtime Server setting has been introduced. Adding `UseOldExceptionBehavior` with value `true` will provide the previous behavior and error messages.

- We added support for configuring the decimal scale (digits after the decimal point) at the app level. Scale was previously fixed at 8, with a total precision of 28. It can now be configured as any value between 8 and 18, inclusive. Precision will then be equal to scale plus 20. This setting applies to all decimal attributes; lowering the scale may require data migration and could result in data loss.
- We changed the timing of initializing Micrometer gauges during Runtime startup. Previously, the gauges were initialized too early in the startup sequence which would lead to the following warning message - `Failed to apply the value function for the gauge 'mx.runtime.stats.sessions.named_user_sessions'`. Now gauges are initialized after the database connection has fully initialized, which also gets rid of the warning messages in the logs.
- We now clean up expired sessions in batches instead of all at once.
- We aligned the order of the options of the **Use React Client** setting with the order of other settings.
- We improved timer behavior in workflows to handle `null` or `empty` expressions by skipping the wait instead of throwing an exception.
- Timer as a standalone activity: Moves directly to the **Finished** state. The flow continues with the next activity while the timer remains part of the timeline for tracking.
- Timer as a boundary event: Will not start and is marked as **Aborted**, allowing you to make timers conditional.
* We upgraded to React 19 and React Native 0.78, bringing the latest performance improvements and features from both ecosystems. These updates provide enhanced rendering performance, improved native module integration, and a more modern foundation for building your low-code applications.
- We added your Mendix version to the **History** pane's **Details** section.
- The new non-blocking, searchable **History** pane is now GA for full clones. A preference has been added to keep using the old **History** window.

### Fixes

- We fixed an issue that caused slow serialization of Mendix objects in microflow responses when entity access was not applied during retrieval. Serialization speed is now comparable as when entity access is applied. (Ticket 226097)
- We fixed an error in the studio pro installer when the installer is checking if the dotnet version is already installed or not. (Ticket 253218)
- We fixed an issue in which when there was broken commit metadata pull, merge feature branch, revert and cherry pick operations were blocked. (Ticket 265265)
- We fixed an issue where creating a new branch from a tag was not working. (Ticket 259691)
- We fixed an issue where unsaved changes of the System Text editor would be committed when running the app locally. (Ticket 259664)
- We fixed an issue that prevented some users to authenticate in Studio Pro. (Ticket 259700)
- We fixed an issue where OQL query parsing would fail if the query included a numeric **WHEN** clause without an accompanying **ELSE** condition. (Ticket 255719)
- We fixed an issue where generating a tailored homepage failed with **Start with Maia**.
- In the logic editors, we fixed a performance issue while locally running a project with many microflows. (Ticket 259254)
- We fixed an issue where System.UserRole's Description attribute is not readable when it should be. (Ticket 259857)
- SQLite files are now included in the service worker’s pre-cache list to ensure they are available offline. (Ticket 264140, Ticket 264910)
- We fixed an issue for Import Mappings and Export Mappings where after reopening and saving in the **select elements** dialog previously selected elements deep in the tree structure were no longer selected. (Ticket 264531)
- We fixed an issue for Import Mappings and Export Mappings where Studio Pro would crash when the 'Select Elements' functionality was used with recursive XML structures. (Tickets 265339, 265510)
- The OQL function DATEPART with MILLISECOND now also works on HSQLDB and SAP HANA.
- We fixed an issue where, when using MariaDB 10.x or MySQL, an OQL data modification statement could fail with the message "Table 'mendixsystem$temporary_ids' already exists".
- We fixed the issue in modernized app explorer when <kbd>Enter</kbd> press on a leaf node did not open a document.
- Fixed an issue where microflow names are omitted from the context menu in the **Go to microflow** option.
- We fixed a bug causing exceptions when undoing the addition of custom widget to a page (from the recommender, Maia or ctrl + drag and drop), while the properties tab is open and that widget is selected.
- We fixed an error when typing invalid values in the zoom combo box on the page editor (in structure mode).
- We fixed an issue in Published Rest Service where wrong response schema was being generated with Export Mapping for OpenAPI v3.
- We fixed an issue where scheduled events with **On overlap** configured as **Delay next** would cause a lot of "Skipping the update of ScheduledEvent because it's running; retrying in 7 seconds." log messages, if the application was started with some time between the shutdown and the restart.
- We fixed an issue where `Core.getLicenseInformation().products()` did not return a numeric value if the value was larger than 2147483647.
- We fixed the issue that invalid sessions without an associated user were never removed from the database.
- We now parse StdOut and StdError streams separately when call Git process. This improves stability of Git operations.
- We added timeout handling for history panel. Now it will retry to get the history from Git 3 times.
- Only log 404 errors in development mode to reduce log noise in production environments. Server access logs should be used for 404 tracking in production.
- We fixed an issue in Dojo and React client, where pressing the <kbd>Esc</kbd> key did not close a modal in the application when autofocus was disabled.
- We fixed a bug where the File Uploader wouldn't be clickable when nested in a container.

### Breaking Changes

- We upgraded the AWS S3 library used for S3 file storage backend from version 1 to 2. This new version of the library has stricter configuration handling and only supports AES for client side encryption.
- Added a consistency check for code actions that have a filename that does not match the casing of the document name, which could cause issues on certain operating systems, and when deploying to the cloud environment.


4 changes: 2 additions & 2 deletions layouts/partials/landingpage/latest-releases.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ <h4 class="lp-panel-title">Latest Releases</h4>
<a href="/releasenotes/">All Release Notes</a>
</li>
<li class="lp-panel-list">
<a href="/releasenotes/studio-pro/11.5/">Studio Pro 11.5.0</a>
<p class="rn-date">November 25, 2025</p>
<a href="/releasenotes/studio-pro/11.5/">Studio Pro 11.6.0</a>
<p class="rn-date">December ___, 2025</p>
</li>
<li class="lp-panel-list">
<a href="/releasenotes/developer-portal/">Apps</a>
Expand Down