Mendix Studio pro

10.14.0
Stable
August 27, 2024
Mendix Studio Pro is our low-code IDE for professional developers. It's a powerful visual model-driven development environment to build apps on the Mendix Platform. With Studio Pro you can easily create, change, integrate, test and deploy your applications, all in one place. Moreover, you can manage branch lines and security as well as extend your app with custom code using the built-in editors. Click 'Download Studio Pro' to get the installer for free (Windows OS required*). Learn more about the installation and the Studio Pro capabilities in our documentation. Not a professional developer? Learn How Mendix supports different developer profiles .Before installing, please read the Release Notes to learn about improvements, bug fixes, backwards compatibility, breaking changes and known issues. *If you are using a Mac, check out these instructions first.
Release Notes - **Release date: August 27, 2024** ### New Features * We added a support for multi selection in App Explorer on macOS. * We made it possible to control an active tab of a tab container using the new [define default tab](https://docs.mendix.com/refguide/tab-container/#define-default) attribute. * We added a web-based System Texts editor as an experimental feature. It also allows the user to generate translations for system texts using [Maia Translation Generator](https://docs.mendix.com/refguide/translation-generator/). You can enable it via **Preferences** > **New features**. * We added an experimental feature: Studio Pro now supports publishing [GraphQL services](https://docs.mendix.com/refguide/published-odata-services/). When you enable this setting, you can specify that a published OData service supports GraphQL, resulting in a service that supports both OData and GraphQL. * We introduced a new [Configuration API](https://apidocs.rnd.mendix.com/10/runtime/com/mendix/core/conf/Configuration.html#getPublicConstants()) – `getConstants`, which will retrieve the keys of all the constants in the app. ### Improvements * We added mx.exe, mxbuild.exe, mxutil.exe, MprTool.exe, and MendixConsoleLog.exe tools to the Windows x64 and arm64 portable installers. (Ticket 202611) * We improved a warning message on setting the outcome of a workflow's **Call Microflow** activity that is no longer active. (Ticket 216588) * We rebuilt the **App Explorer** to give it the same look and feel for both Windows and macOS. For macOS the new version is enabled by default. For Windows, you can switch to the new version of the App Explorer via **Edit > Preferences > New Features**. We enabled the modernized version of **Toolbox** by default. The modernized **Toolbox** is more optimized and responsive than ever. It is still possible to use the older version until it is fully removed in one of the future releases. * We fixed a memory leak related to running an app. * We added a link to the documentation for the translation generator experimental feature (that can be enabled in the **New Features** tab). * We upgraded the JDBC driver for Microsoft SQL Server to version 12.8.0. Note that if you connect to SQL Server using integrated security in a module such as the [Database Connector](https://marketplace.mendix.com/link/component/2888), you may need to update the JDBC driver in `userlib` as well. * We moved the **Namespace** text box in published OData services in Studio Pro to the **Settings** tab. * We updated the OpenAPI document for published OData services. The POST and PATCH operations now have their own schemas so it is clear which properties clients can assign a value to. * We updated the OData error messages for top/skip operations to now state `$top` and `$skip` when the top/skip is not allowed for an entity. * We extended the error response of published OData services for action calls that contain parameters with invalid object references. It now includes a path property to indicate which node in a parameter's object tree caused the error. * You can now use `getContext().getRuntimeRequest()` and `getContext().getRuntimeResponse()` in Java actions called from published OData services. This means that when a published OData service has a published microflow, or a published entity that uses a microflow for one or more of its capabilities, those methods will return the current HTTP request and response, respectively. * We made a dialog box for published entities in OData services slightly smaller so that it now fits the screen with a minimal resolution. * We fixed several memory leaks that happened when closing the **Open App** dialog box. * We updated the look and feel for the [Start from Spreadsheet](https://docs.mendix.com/refguide/app-from-spreadsheet/) app to better match Studio Pro. * We improved the [Download from Version Control Server](https://docs.mendix.com/refguide/download-from-version-control-dialog/) dialog box to provide much more information about clone process progress. * We implemented adding an **svn** folder to *.gitignore* by default to avoid accidental commits with *.svn* directory. * We updated styling and tooltips for branch and commits buttons in a status bar at bottom of Studio Pro. * We improved the performance of retrieving many objects for certain datasources, such as a microflow datasource. * We expanded the **Page URLs** query in the **Find Advanced** dialog box with support for microflow URLs. This query now finds all pages and microflows that have a URL specified. Because of this the query has been renamed to **Page and microflow URLs**. * We fixed several memory leaks that happened when closing the Domain model editor. * Microflow and nanoflow actions which are linked to a data source, e.g. the on-click of a Datagrid 2, can now use associations in their expression arguments. * The implication for the widget API is that `ListActionValue.get()` will result in an [ActionValue](https://docs.mendix.com/apidocs-mxsdk/apidocs/pluggable-widgets-client-apis/#actionvalue) with `canExecute` set to **true** while associations are still being loaded. * We added an [mx show-java-version command](https://docs.mendix.com/refguide/mx-command-line-tool/app/#show-java-version) to the mx command-line tool. This command shows the configured Java version of the app. * We made it possible to reorder modules in the App Explorer on macOS. * We added Class, Style, and Dynamic Classes common styling properties to the **Properties** tab of the **Properties** pane for a quicker editing experience. ### Fixes * We fixed an issue where attribute updates were being triggered before any associations were updated. (Ticket 193881) * We fixed the issues in the **Open App** dialog box where a Team Server app was occasionally not be listed and where sometimes the application icon displayed the default image instead of the custom one. (Tickets 205781, 205798) * We fixed an issue in the mapping microflow argument selection, where scrolling up and down lost selected values and showed wrong values in the argument drop-down. (Tickets 205805, 213343, 220268) * 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 Studio Pro crashed when searching for unused items or when searching for externally used microflows. (Ticket 219388) * 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 bundling issues in large apps using the React client. (Ticket 221389) * 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 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 external entities (consumed OData services) where the OData query for a `not` expression did not have a space after `not`. (Ticket 222663) * 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 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 with the External Database Connector where the app broke due to mismatched capitalization for a parameter name. (Ticket 223739) * We fixed an issue with the External Database Connector where the app broke when a new line was added as a part of the parameter value in the expression editor. (Tickets 223964, 224464) * We fixed an issue where some widgets incorrectly showed an icon indicating an error in **Structure Mode**. (Ticket 225121) * We fixed an issue where the `instantiate` XAS API was incorrectly available when **Strict Mode** was enabled. * We fixed an issue where the `export` XAS API was incorrectly available when **Strict Mode** was enabled. * 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. * We fixed an issue where Maia Chat threw an error when receiving references that were not known beforehand. * We fixed an issue where after toggling on the **Maia Domain Model Generation** feature, a restart of Studio Pro was necessary for it to take effect. * We fixed an issue in Studio Pro when trying to edit the name of an entity, attribute or association using the F2 key in a read-only domain model. Previously this resulted in an error; now the F2 key does nothing. * We fixed an issue in data sets in Studio Pro, where moving an entity to a different module did not change the module name in the OQL. * We fixed an issue in the **Call REST Service** activity where a merge conflict about the proxy configuration resulted in an exception. * We fixed validation issues with parameters containing associated-object(s) leading to internal server errors. * We fixed an issue where Studio Pro allowed publishing a microflow in an OData service and exposing multiple parameters using the same name. We now prevent that with a consistency error. * We fixed an issue in published OData services in Studio Pro, where marking a published entity as readable did not immediately allow you to mark it as insertable, updatable or deletable. * We fixed an issue where an **Oops** dialog box appeared if the source variable object (**Create object**, Parameter, etc.) was deleted while extracting submicroflow. * We fixed an issue where a wrong error message appeared if all variables were already selected while extracting submicroflow. * In the logic editors, we fixed centering an object selected from the **Errors** pane or **Debugger** pane when the document was not open yet. * When debugging in the logic editors, clicking a microflow in the **Debugger** pane did not always work. This is changed to double-click to make it work reliably. * We fixed the rebase issue that occurred when there was no *user.name* and *user.email* set in *.gitconfig*. * We fixed an issue where the `ExecuteAction` XAS API was incorrectly available when **Strict mode** was enabled. * We fixed a visual issue in Studio Pro on Mac where the URL input field appeared with a double border. * We fixed an issue in the React client where the page did not be loaded when navigating back from a page that was opened by a microflow that closed all pages. * We fixed a possible workflow race condition that occurred while handling [Wait For Timer activity](https://docs.mendix.com/refguide/wait-for-timer/). * We fixed an issue where the [User Task Started](https://docs.mendix.com/refguide/workflow-events/#activity-event-type) event was not triggered when a workflow user task fails during [Xpath based targeting](https://docs.mendix.com/refguide/user-task/#xpath-constraint). * We fixed how the commits with time offsets are handled in the **History** dialog box. ### Known Issues * Line endings in CSS files are not being handled properly, so when using [Revert All Changes](https://docs.mendix.com/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](https://docs.mendix.com/refguide/version-control-menu/#show-changes) dialog box. * Workaround: For details, see [this section](https://docs.mendix.com/refguide/troubleshoot-version-control-issues/#css-error) 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.