Skip to content

10.22 Studio Pro release notes #9436

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
May 2, 2025
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ This explanation might not have given you an explicit answer to the question of
There are, however, a few situations where a clear answer can be given:

* Use one-to-one associations for entities with:
* a high number of transactions on the different sub entities (we consider multiple changes or creates per second as being high)
* a high number of transactions on the different specializations (we consider multiple changes or creates per second as being high)
* only a handful common attributes — if you feel that it isn't worth creating associated objects for the information, it isn't worth inheriting either

* Use inheritance for entities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ This explanation might not have given you an explicit answer to the question of
There are, however, a few situations where a clear answer can be given:

* Use one-to-one associations for entities with:
* a high number of transactions on the different sub entities (we consider multiple changes or creates per second as being high)
* a high number of transactions on the different specializations (we consider multiple changes or creates per second as being high)
* only a handful common attributes — if you feel that it isn't worth creating associated objects for the information, it isn't worth inheriting either

* Use inheritance for entities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ This explanation might not have given you an explicit answer to the question of
There are, however, a few situations where a clear answer can be given:

* Use one-to-one associations for entities with:
* a high number of transactions on the different sub entities (we consider multiple changes or creates per second as being high)
* a high number of transactions on the different specializations (we consider multiple changes or creates per second as being high)
* only a handful common attributes — if you feel that it isn't worth creating associated objects for the information, it isn't worth inheriting either

* Use inheritance for entities:
Expand Down
113 changes: 113 additions & 0 deletions content/en/docs/releasenotes/studio-pro/10/10.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: "10.22"
url: /releasenotes/studio-pro/10.22/
description: "The release notes for Mendix Studio Pro 10.22 (including all patches) with details on new features, bug fixes, and known issues."
weight: 78
# KI: "`MaxRetrieveSize` runtime setting": UFC-1518
---
## 10.22.0 {#10220}

**Release date: May 2, 2025**

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

### New Features

- We introduced a new message for Maia generation sessions. It allows to either navigate back to the document related to a session or create a new **Generate** session for the currently active document.
- We added a new option **Contact Support** into the **Help** > **Support Tools** menu. This allows users to reach Mendix's support website directly from Studio Pro.
- We enabled history navigation to use arrow keys by default, and moved the navigation settings to the **Work Environment** tab.
- You can now use the **mx tool** to see which private values Studio Pro has stored on you local app data, and delete these values.
- When opening an existing app in Studio Pro, it now automatically converts to the MPRV2 format.
- For *.mpr* files larger than 250MB, MPRv1 apps need to be converted to MPRv2 to be able to commit. By default, conversion to MPRv2 happens automatically.
- We introduced a new feature that allows users to add the app folder to the Microsoft Defender exclusions list.

### Improvements

* We made the text in the dialog that is shown when a page could not be found translatable. (Ticket 242035)
* We improved the performance of workflow versioning conflict analysis for workflows with many nested outcome-based activities. (Ticket 242615)
- We made variables of pages and snippets available in XPath constraints.
- We renamed **Domain Model Generator** and **Page Generator** to **Maia for Domain Model** and **Maia for Pages**.
- We updated the .NET runtime version installed with Studio Pro.
- In OQL queries you can now use `NULL` in `CAST` expressions when you want to cast an empty value to either `DATETIME`, `DECIMAL`, `INTEGER`, `LONG` or `STRING`. This was already supported in OQL execution in Java actions, but Studio Pro added an error when this was used in view entities or data sets.
- We improved the live preview of view entities in Studio Pro. Columns that represent associations now show the entity name in the header, and when there is no associated object the cell is empty.
- You can now copy from the **Run Query** table in [view entities](/refguide/view-entities/) in Studio Pro.
- We fixed an issue in Consumed OData services where the URI resolution failed if the service returned a next link.
- We made various improvements in the logic editors:
- We improved the scroll bar styling as well as interaction when clicking on the scroll bar track.
- We fixed some layout glitches when adding objects to flows.
- We made connection points and resized handles only visible on the selected element.
- The loop border now highlights when you drag elements inside of it.
- Connected elements are now moved out of the way when an element is resized.
- We made it easier to use variables for pages and snippets. The variables are now available in the value selectors of conditional visibility, conditional editability, and text templates.
- We made various React-related improvements:
- We updated `react-native-reanimated` to the latest version.
- We updated `@react-navigation` to the latest version.
- The authentication token is now rotated, ensuring a new token is generated upon session expiration for enhanced security.
- In the **Security Overview** and the modernized entity access rules editor, inherited attributes and associations from an entity's generalization are now marked with a distinct inherited icon.
- The **Connector** pane now features page and snippet variables.
- We improved SQL parsing in the External Database Connector to correctly ignore parameters inside comments

### Fixes

* We fixed an issue where Consumed Web Service caused validation failure in runtime for WSDL files imported locally. (Ticket 146066)
- We reapplied a fix for an issue affecting listening between widgets. (Ticket 206642)
* We fixed an issue in **Message** definitions where custom names were reset on expansion of a node. (Tickets 222597, 227958, 236152, 232930, 240806, 241561, 244349)
* We fixed an issue where an app crashed when **Call a microflow** was selected and the **Select** button was clicked in the **Map entity** dialog. (Ticket 225433)
* We fixed an issue where fields that could not be unchecked while Export mapping an XML schema or Consumed Web Service were not checked and expanded by default when selecting the document schema source for the first time. (Ticket 232274)
* In the modernized **Toolbox**, we fixed an issue where the **Toolbox** did not refresh after synchronizing the app directory to load new widgets. (Ticket 237560)
* We fixed an issue where disabling the **Multiple sessions per user** setting incorrectly killed all existing user sessions and deleted all associated tokens, including the currently valid one. (Ticket 238657)
* We fixed an issue where the `Substract`, `Union` and `Intersect` list operations did not always return a list with unique values when used in a nanoflow. (Ticket 240695)
* In the logic editors, we fixed an issue where multiple identical parameters were generated if a parameter or variable was used more than once by the selection to extract. (Ticket 242517)
* We fixed a Studio Pro crash which happened when logging a list of strings from a Java action. (Ticket 243124)
* We fixed an issue in published REST and OData services where calling the service using active session authentication with an expired CSRF token in Javascript caused the browser to show a Username/Password pop-up window. (Ticket 243407)
* We fixed <kbd>F9</kbd> View App shortcut. It is used to view the currently running app in the browser. (Ticket 243743)
* We fixed an issue where the runtime fails to start with a `NullPointerException` if a microflow contained an invalid disabled activity. (Ticket 243931)
* In the logic editors, we fixed the displayed data type for cross-module one-to-one associations. (Ticket 245052)
* We fixed an issue in the React client where the document title briefly was *Mendix* during startup instead of the title configured in the application. (Ticket 245280)
- We addressed a performance degradation during deployment involving widgets with text templates. (Ticket 245543)
- We now import only one content-type header from OpenAPI contract in the Consumed REST service. This feature is in Beta.
- We fixed an issue where not all changes were correctly updated in the runtime after a local deployment. For example, when adding or removing columns to your Datagrid 2 widget.
- We removed the setting and changes related to the `MaxRetrieveSize` custom runtime setting, as it had unforeseen consequences. This fixes issues where synchronization and retrieval by association in a microflow was limited by this setting.
- We fixed an issue where an error was shown when extracting widgets that use an *unknown* entity type into a snippet.
* We fixed an issue where the **Download Latest Version** button in the app selector downloaded the latest Windows version for MacOS users.
- We fixed an unnecessary redirect which occurred when creating a new app from the Mendix Portal.
- We fixed an **Oops** pop-up window that appeared when clicking the button to toggle its state (e.g., from **Enabled** to **Disabled**).
- We fixed an error pop-up window that appeared after clicking **Cancel** in a progress window.
- The command line tools now support arm64 architectures without the need of installing the dotnet runtime x64.
- We fixed an issue where Studio Pro crashed when collecting support information without a project being open.
- We fixed an issue where the **Generate validation microflow** in the page editor showed an error.
- We fixed an issue where Studio Pro evaluated the type of a COALESCE function expression for numeric arguments to be the type that can contain the types of all provided arguments, which is not in line with the behaviour at runtime. It now evaluates to be equal to the type of the first argument.
- We fixed an issue in the live preview of view entities, where for very large values Studio Pro showed an incorrect value.
- We fixed an issue in the runtime execution of the **Send External Object** microflow activity, which logged a warning when the remote key mapping had already been stored in the database. It does not log this warning anymore.
- We fixed an issue in the **Integration** pane where clicking **Show details** on a business event search result displayed elements from a locally existing version of the service.
- We fixed an issue in published REST and OData services which responded with a WWW-Authenticate header for all 401 (Not Authorized) responses, even when basic authentication was not enabled for the service.
- We fixed an issue in OQL view entities in Studio Pro, where setting write access to an association incorrectly resulted in the consistency error CE6593.
- We no longer truncate variable names in the logic editors.
- We fixed an issue in the logic editors where some automatically generated variable names were accidentally translated.
- We fixed an issue where cookies were not cleared before starting a new anonymous session.
- We fixed an issue where, in offline apps, using a constraint with an association to an entity that had specializations did not return specialization results in XPath.
- We fixed an issue that causes microflow calls to fail in offline apps when there is a non-persistent entity that associates either the current user or the current session and a yet unsynchronized offline object.
- We fixed the checkbox **Show inactive threads (wait/park)** in the **Runtime Threads** window of Studio Pro.
- We replaced usages of deprecated methods in the generated code.
- We fixed the date format preview in Studio Pro to be consistent with the actual date formatting behaviour in the runtime and client.
- We fixed associations owned by both the parent and child entity not showing up as an association in the modernized entity access rules editor for the child entity.
- We updated the **Create** entity right icon in the Security Overview to match the icon used in the modernized entity access rules editor.
- We fixed an issue where data sources with a default configuration triggered an **Oops** pop-up window when hidden by another property.
- We fixed an error that occurred when reconfiguring a data source with an invalid expression referring to it.
- We fixed an issue with editing expressions where the expected type was **Not set** when its target was a page or snippet variable, for example static values for a combo box widget.

### Deprecations

- `headerTruncatedBackTitle` was deprecated in `@react-navigation` version 7. If the title is too long, `@react-navigation` will handle it itself.

### Breaking Changes

- We removed the import of the deprecated `com.mendix.webui.CustomJavaAction` class in the generated code.
- We updated the date formatting in the client to be consistent with the runtime in supporting genitive and abbreviated month names. See the table below for the changes between the old and new formatting. The runtime formatting has not changed and is equal to the new client behavior.

| Token | Old | New
|-------|-----------|--------
| MMM | genitive | genitive abbreviated
| MMMM | genitive | genitive
| LLL | genitive | standalone abbreviated
| LLLL | genitive | standalone
4 changes: 2 additions & 2 deletions layouts/partials/landingpage/latest-releases.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ <h4 class="lp-panel-title">Latest Releases</h4>
<a href="/releasenotes/feature-release-calendar/">Mx10 Feature Release Calendar</a>
</li>
<li class="lp-panel-list">
<a href="/releasenotes/studio-pro/10.21/">Studio Pro 10.21.0</a>
<p class="rn-date">Mar 25, 2025</p>
<a href="/releasenotes/studio-pro/10.21/">Studio Pro 10.22.0</a>
<p class="rn-date">May 2, 2025</p>
</li>
<li class="lp-panel-list">
<a href="/releasenotes/developer-portal/">Apps</a>
Expand Down