10.12
10.12.3
Release date: August 13, 2024
Improvements
- We added
mx.exe
,mxbuild.exe
,mxutil.exe
,MprTool.exe
, andMendixConsoleLog.exe
tools to the Windows x64 and ARM64 portable installers. (Ticket 202611) - We fixed several memory leaks that happened when closing the Open App dialog box.
- We added a link to the documentation for the translation generator experimental feature (that can be enabled in the New Features tab).
- We improved the performance of retrieving many objects for certain data sources, such as a microflow data source.
Fixes
- We fixed the issues in the Open App dialog box that sometimes a Team Server app was not be listed, or that sometimes the application icon displayed the default image instead of the customized image. (Tickets 205781, 205798)
- We fixed listening between widgets to continue after hiding the selecting widget, such as data grid 2, with conditional visibility. (Ticket 206642)
- We fixed an issue in the Dojo client that occurred when calling a microflow that closed all pages before showing a new page. (Ticket 219072)
- We fixed an issue where for online apps, anonymous users with an invalid session did not trigger an application reload, which led to unexpected client behavior. (Tickets 219683, 223328, 224791, 225004)
- We fixed an issue where Studio Pro crashed when searching for unused items or when searching for externally used microflows. (Ticket 219388)
- We fixed an issue where the runtime hung during start up due to an issue with microflow optimization. (Ticket 221620)
- We fixed an issue where, in some cases, a microflow or nanoflow call triggered a refresh on an already closed page resulting in a client error. (Ticket 222015)
- We fixed an issue where the runtime failed to start with a NullPointerException due to an issue with microflow optimization. (Ticket 223394)
- We fixed an issue when an application did not load in Studio Pro if it had run configuration with an empty name. (Ticket 224152)
- We fixed an issue where an on-change action for a reference selector or an input reference set selector configured with a microflow or a nanoflow did not give a consistency error when the parameter mapping needed to be refreshed. (Ticket 224223)
- We fixed an issue where a microflow database retrieve action with range “first” took longer to run than a custom range with limit of 1. (Ticket 224668)
- We fixed an issue where selecting an argument to fix the consistency error “no argument selected for parameter {Name} and no default is available” resulted in an Oops dialog box.
Known Issues
- Line endings in CSS files are not being handled properly, so when using Revert All Changes or performing other version-control operations, CSS files appear in the Changes on Disk dialog box.
- Workaround: For details, see this section in Troubleshooting Version Control.
- A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that “path” was called “branch” in earlier versions.
- There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements.
- Studio Pro on Mac loads user settings from the previous version of the application.
- When importing Marketplace modules with Studio Pro, their version numbers do not represent the module’s version. Instead they mention the current Studio Pro version. This does not affect previously imported Marketplace modules.
10.12.2
Release date: August 1, 2024
Improvements
- We upgraded the JDBC driver for Microsoft SQL Server to version 12.6.3. If you connect to SQL Server using integrated security in a module such as Database Connector, you may need to update the JDBC driver in
userlib
as well. - We improved performance when typing in the expression editor.
- We added an
mx show-java-version
command to the mx command-line tool. This command shows the configured Java version of the app.
Fixes
- We fixed an known issue where Studio Pro on Mac loaded user settings from the previous version of the application.
- We fixed an issue where vendorlib-sbom.json is updated unnecessarily. (Tickets 218152, 222102, 221123, 220419, 219994, 219344, 218992, 218899, 218855, 223095)
- We fixed an error in database synchronization which affected setting an existing entity with a decimal attribute as a generalization of another entity. (Ticket 219731)
- We fixed an issue where, in applications with both PWA and native profiles, the PWA could potentially attempt and fail to pre-cache a native page if it was reachable through subnanoflows. (Ticket 220165)
- We fixed an issue where the Metrics.ApplicationTags configuration value was not used for some of the built-in metrics. (Ticket 220260)
- We fixed an issue in the domain model when dragging an association between two entities did not work when the starting point on the first entity is roughly the same as the ending point on the second entity. (Ticket 222377)
- We fixed an issue in the Dojo client where the
mx.data.callNanoflow
API did not return the result from the nanoflow. (Ticket 222682) - We fixed an issue when an error dialog box was displayed after opening an app in the Mendix Portal when the user was signed in and there was no Internet connection.
- We fixed a memory leak related to running an app.
- We fixed an issue where changing an event action or a list view on click or pull down action from a microflow to another type of action resulted in an Oops dialog boz.
- We fixed an issue where the name of a
userlib
dependency in the SBOM was incorrect. - We fixed an issue in the React client where the page did not load when navigating back from a page that had been opened by a microflow that closed all pages.
- We fixed an issue in the External Database Connector where the Date and Time parameter was not working for PostgreSQL.
Known Issues
- Line endings in CSS files are not being handled properly, so when using Revert All Changes or performing other version-control operations, CSS files appear in the Changes on Disk dialog box.
- Workaround: For details, see this section in Troubleshooting Version Control.
- A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that “path” was called “branch” in earlier versions.
- There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements.
- Studio Pro on Mac loads user settings from the previous version of the application.
- When importing Marketplace modules with Studio Pro, their version numbers do not represent the module’s version. Instead they mention the current Studio Pro version. This does not affect previously imported Marketplace modules.
10.12.1
Release date: July 5, 2024
Improvements
- We improved the speed of copying and pasting in canvas editors, such as the page editor.
Fixes
- We fixed an analytic scope issue presenting in some cases when a repository was corrupted or there were network issues. (Ticket 220445)
- We fixed a memory leak that happened in notification dialog boxes, such as the dialog box that notifies the user about running an app.
- We fixed an issue where an Oops dialog box appeared when opening Maia Chat.
- We fixed an issue in the logic editors where exposed microflows were not visible in the toolbox.
- We added a consistency check to confirm compatibility between the imported Marketplace module External Database Connector and your Studio Pro version.
- We fixed an issue where native app users would encounter a white screen when navigating back from the Home Page.
Known Issues
- Studio Pro on Mac loads user settings from the previous version of the application.
- Line endings in CSS files are not being handled properly, so when using Revert All Changes or performing other version-control operations, CSS files appear in the Changes on Disk dialog box.
- Workaround: For details, see this section in Troubleshooting Version Control.
- A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that “path” was called “branch” in earlier versions.
- There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements.
- When importing Marketplace modules with Studio Pro, their version numbers do not represent the module’s version. Instead they mention the current Studio Pro version. This does not affect previously imported Marketplace modules.
10.12.0
Release date: June 25, 2024
New Features
Mendix AI Assistance (Maia)
With Mendix 10.12, we are releasing Mendix AI Assistance (Maia), our new generative AI-powered assistant designed to help you as developers during your application development lifecycle. Maia can answer Mendix development questions, automate certain development tasks, and even generate parts of your app.
Below is a list of Maia features introduced in this release:
- We rebranded MendixChat to Maia Chat and released it for general availability (GA). It has been given a fresh new design. You can use the sparkle button at the Studio Pro top bar, to easily open Maia Chat.
- We rebranded MxAssist Best Practice Bot to Maia Best Practice Recommender.
- We rebranded MxAssist Logic Bot to Maia Logic Recommender in the logic editors.
- We introduced the new Maia Workflow Recommender that provides assistance during development in the workflow editor and helps you build workflows faster. It currently suggests activities with useful properties, for instance, a user task with a user-targeting microflow (only microflows that are applicable for user targeting), or Jump activities with only/all allowed activities to jump to.
- The Recommenders are enabled by default and can now be disabled via Studio Pro Preferences > Maia > In-Editor Recommender.
- We added a new experimental feature Maia Translation Generator to Language > Batch Translate…. You can enable it via Studio Pro Preferences > New Features.
Primitive Parameters Support for Logic Called from Pages
It is now possible to pass primitive values from pages to microflows and nanoflows. You can now use expressions to set primitive values as arguments (like a string or Boolean), use functions, and even follow associations! This can be used on triggering call microflow and call nanoflow client actions, and also as in data sources based on microflows or nanoflows.
The advantage is that microflows and nanoflows can now more easily be (re)used when they have primitive parameters, as they can be called directly from a page. Previously, multiple microflows or nanoflows had to be used, or a non-persistent entity had to be introduced in both the logic and UI. Not anymore!
For example, picture a page allowing the user to approve or deny a request using two separate buttons. Before this feature, each button would require their own microflow. Now both buttons can call the same microflow passing the status as a primitive argument. Plain and simple.
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!
Thank you Jelle, Laurens, Christiaan, Tim, and Christian!
Using Associations with External Actions
Published OData services now supports including associated objects when calling a microflow that is published as an OData action. When consuming these actions in a Call External Action activity, Studio Pro lets you select the associations that should be included in the action call. These associated objects are then included in the request to the Consumed OData service. If the service returns an object or a list of objects, you can also specify which associations you want to get back from the service. These associations can then be traversed using the Retrieve activity.
If you call the published OData service using a REST client, you can nest the associated objects in the request body and use the $expand
query parameter to control which associated objects should be returned in the response.
Strict Mode for React Client
For the React client, we are introducing a strict mode. Setting up access rules correctly can be a challenge. Strict mode helps make your app secure, even if its overlapping access rules are not set up perfectly. Strict mode ensures that entities are exclusively accessible as defined within your model through microflows, nanoflows, widgets, or pages.
It restricts invoking certain client APIs through JavaScript Actions or via the browser’s console. The following APIs for data manipulation or retrieval are restricted: action
, create
, commit
, remove
, rollback
, and get
(except by GUID or GUIDs).
Moreover, your model is analyzed by Studio Pro to ensure that only entities within editable widgets can be saved during a save changes action. Fore more information, see Strict Mode.
Other New Features
- Consumed OData services now support external enumerations that have reserved words as values.
- In published OData services, you can now choose to publish a string attribute as an OData GUID.
- You can now specify the service URL and proxy settings of a consumed OData service using a microflow.
- You can now export the service feed, metadata and OpenAPI documents of a published OData service by right-clicking the service in the app explorer.
- We introduced support for indexes in the offline databases for offline PWAs and Native Mobile.
- Associations are automatically indexed. Attributes (or sets of attributes) can be indexed by configuring the index in the entity properties by checking the Include in offline checkbox.
Managed Dependencies Improvements
- We renamed the Deployment tab to Dependencies in the App settings.
- We added an Overview section in the Dependencies tab of the App settings. In this section you can see all the configured dependencies in the application and you can see in which modules they are defined.
- We added an Managed Dependency Exclusions section in the Dependencies tab of the App settings. In this section you can exclude managed dependencies from the app deployment. Use this if there are conflicts between dependencies in your application.
- You can now configure exclusions for managed dependencies in the Module Settings. Using this feature you can exclude certain transitive dependencies from a managed dependency to fix conflicts and ensure these transitive dependencies will not be included in your project.
Improvements
-
JavaScript actions now support optional parameters. This feature enhances flexibility and ensures backward compatibility of JavaScript actions by allowing new parameters to be added without breaking existing functionality.
-
In JavaScript actions, all parameter types can set to be required or not. If no argument is provided for an optional parameter, it defaults to undefined. You can handle optional parameters within the JavaScript action by checking if they are undefined, allowing you to assign default values or implement custom logic as needed.
-
In Java actions, optional parameters without mappings will no longer trigger a consistency error (CE0115).
-
We added an improvement (public beta) which allows you to use partial application clones with Git instead of full clones. Partial clones download a minimum required set of data, making this method significantly faster than full clones when working with large repositories. Through Open app settings or version control preferences, you can choose which cloning strategy to use for future cloning operations, such as downloading a new app or branch.
-
We added an improvement where if you use parameters in the body of a Consumed REST Request (beta), the parameters that are not defined yet get added automatically to the parameter tab with empty test values.
-
We optimized data retrieval in Optimize for Network Load mode even further. Entity paths in expressions now only retrieve the ID attributes of associated objects.
-
We fixed memory leaks that can happen while using a context menu.
-
We fixed memory leaks that happened when opening and closing page editors.
-
We aligned the icons of the Visual Builder for XPath Constraints with XPath Expression editor.
-
We moved the Visual Builder for XPath Constraints is now GA (it was in public beta).
-
Selection can now be modified by the Ctrl or Command key, either by a single click or by dragging a selection rectangle, allowing for more precise control in selecting elements in logic flow editors.
-
You can now convert the reference set selector widget to the combo box widget using the Convert to combo box context menu option.
-
We improved the OpenAPI document generated for a published OData service. The public documentation of published microflows is now included as the summary and description of the operation, rather than the path. This makes it appear in consumers such as Swagger UI.
-
We improved rendering performance on the logic editors when working with large documents.
-
We improved the query performance for inserts and updates on the offline database (both for PWA and native mobile).
-
We redesigned the Toolbox to give it the same look and feel for both Windows and macOS without changing the functionality. You can switch to the newer version by clicking Edit > Preferences > New Features.
-
We added support for the following languages: Telugu (India), Odia (India), Kannada (India), Malayalam (India).
-
We updated the version of .NET Runtime Studio Pro uses to version 8.0.6.
-
We added the option to define the return variable name for microflow and nanoflow calls. You can now give a name to the returned value of the nanoflow or microflow through the end event form.
-
We made several improvements to the microflow editor. When dragging microflow/nanoflow calls into a flow (including from the App Explorer), we now correctly set the parameters of the call. Setting the parameters of the call now also takes the names of the variables into account and will match them by name to the parameter when possible. Thank you Peter Mudde for this suggestion!
-
We aligned the pagination controls position of Data Grid 2 to the default bottom position while generating overview pages or converting from data grid to data grid 2.
-
We renamed menu item Reverse Merge Changes …. to Revert a Commit….
-
We added the following additions to the External Database Connector:
- GA for Snowflake connection
- Support for connecting to Snowflake using Key-Pair Authentication
- Passing NULL values to parameters
- Connection detail constants are now saved in the active configuration of the user
- Passwords and private keys are now stored as private values
- Queries in the Database Connection document are mergeable
- Logging for the Database Connection document
- Improved Oracle connection string generation (for design time)
If you upgrade your app containing External Database Connector version 2.0.1 or below it will have compatibility issues which prevent you from building and deploying the app in Mendix version 10.12. To fix this, you will need to get External Database Connector version 3.0.0 or above from the Marketplace.
Fixes
- We fixed a known issue where the workflow’s user task was not passed correctly as a parameter to the user task’s microflow decision method.
- We fixed an issue in Message Definition where refreshing from schema did not update the attribute type. (Ticket 180156)
- We fixed an issue where the Marketplace pane in Studio Pro did not retain its position upon reopening Studio Pro. (Ticket 207933)
- We fixed an issue where retrieving more than 1000 objects together with a specialization of an associated entity returned incomplete results. (Ticket 211813)
- We added a check so that reimported modules only keep database IDs for attributes when a generalization of the entity remains in place. (Ticket 212565)
- We fixed an issue where long text in the design properties definition file caused the styling pane to stretch. (Ticket 214953)
- We fixed an issue which occurred when starting an app containing a consumed OData service that retrieves headers from a microflow. This logged an error that the headers microflow could not be found. (Ticket 214979)
- We fixed an issue in the Workflow Engine that caused the Mendix Runtime Server to run out of memory after deploying a new version of a workflow that had many decisions in it. (Ticket 215232)
- We fixed an issue with searching in protected modules. (Ticket 216100)
- We fixed an issue that caused design properties to sometimes apply a change to the wrong widget. (Ticket 216125)
- We fixed an issue in the CORS configuration of published REST services. Specifying
*
for allowed origins now allows all origins. (Ticket 216564) - We fixed the positioning of objects when dragging large objects onto flows in the logic editors.
- We fixed an issue where selection was lost in the Message definition tree view when the stored name no longer matches with the entity name in the domain model.
- We fixed an issue when updating a consumed OData contract where a non-readable entity becomes a readable entity. Resolving this consistency error leaded to an error when one of the attributes had been deleted as well.
- We fixed the workflow’s user task to also validate its completion criteria on retry.
- We fixed the user task in workflows to only send a single UserTaskStarted event when microflow is used as the decision method to complete the task.
- We fixed an issue that caused an Oops dialog box when opening a published OData service that publishes deleted entities.
- We are now showing system members in the right-hand dropdown of the XPath Visual Builder. This fixes an issue where in certain scenarios the Visual Builder for XPath Constraints showed an Oops dialog box for an expression comparison containing system members. We also fixed an issue where toggling to the Expression Editor from the Visual Builder and back sometimes suddenly showed an Advanced XPath error when using system members in the XPath expression.
- The Column attribute selector of Data Grid 2 no longer shows an error when selecting None.
- We made some performance improvements when checking whether the running app can be updated without stopping it first.
- We fixed an exception that was thrown in the MPR tool when editing a metadata.
- We fixed an issue where using a microflow variable of type DateTime in an XPath expression (particularly
[$var = empty]
) failed on PostgreSQL with the exception “could not determine data type of parameter”. - We fixed an issue in the logic editors where a wrong preview is shown and an error occurs when dragging and dropping an unexpected object onto the editor.
- We fixed an issue in the logic editors where dragging and dropping objects onto flows sometimes did not work.
- We have fixed an issue in the logic editors where dragging a microflow from the Integration pane onto the canvas and cancelling the dialog box to add necessary entities to the domain model resulted failed to clean up the created Call Microflow activity.
- In the microflow editor, we fixed the caption of Export to XML/JSON actions.
- We fixed an error in the logic editors where pressing and holding the middle mouse button to scroll only worked on an empty space of the working area.
- We fixed an issue in the logic editors where the iterator variable name for loops was incorrectly named.
- We fixed an issue in the logic editors where sometimes a double-click on Logic Recommender items would open the microflow properties dialog box.
- We fixed an issue where the “Java Development Kit (JDK) version was not determined.” was incorrectly shown when selecting a JDK in Studio Pro’s Preferences.
- We fixed an issue where building failed if the app path contained quotes.
- We fixed an issue in published OData services in Studio Pro where deleting a published entity used as a parameter of a published microflow resulted in an error pop-up window. It now results in a consistency error.
- We fixed an error which occurred when a new line was a part of the parameter value in the Query External Database activity.
Deprecations
- We deprecated the Email Module from public API. It is recommended to use the Email Connector instead.
Known Issues
- Studio Pro on Mac loads user settings from the previous version of the application.
- Line endings in CSS files are not being handled properly, so when using Revert All Changes or performing other version-control operations, CSS files appear in the Changes on Disk dialog box.
- Workaround: For details, see this section in Troubleshooting Version Control.
- A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that “path” was called “branch” in earlier versions.
- There is a positioning error in the logic editors when you are dragging a large element, such as a loop, into a sequence flow, it overlaps with the existing elements.
- When importing Marketplace modules with Studio Pro, their version numbers do not represent the module’s version. Instead they mention the current Studio Pro version. This does not affect previously imported Marketplace modules.