Mendix Studio pro

9.14.0
Stable
June 08, 2022
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: June 8th, 2022** ### New Features * The Studio Pro installer now uses Eclipse Adoptium JDK. This is used automatically if AdoptOpenJDK is not already installed. * Have you ever been lost trying to find your widget package on a page in Studio Pro? We have got you covered! Say hello to the **Show widget in Explorer** option that is now available from the context menu. * We added the **On change behavior** property to the [text area](https://docs.mendix.com/refguide/text-area/#on-change) native widget, which lets you select how the on-change behavior is handled. * We enabled support for on-change events for the association property in the [Pluggable Widgets API](https://docs.mendix.com/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#association). It is now possible to link an action property against an association property through the `onChange` attribute in the widget definition XML. ### Improvements * You can now use role-based conditional visibility on layouts. Page security takes the conditional visibility on the layout into account when showing/hiding parts of the page. (Tickets 129205, 130128) * The improvements when using a subquery in an `OQL FROM` clause that were released in Studio Pro [9.13](https://docs.mendix.com/releasenotes/studio-pro/9.13/) now also work when using multiple relations in the `FROM` clause. * We now check that the `SessionKeepAliveUpdatesInterval`, `ClusterManagerActionInterval`, and `SessionTimeout` Mendix Runtime settings are safe in relation to each other. We stop the Runtime from starting if this is not the case. * MxAssist Logic Bot now always shows a parameterized list for the **Retrieve from database**, **Retrieve over association**, and **Change object** recommendations. * We now do inline highlighting of the search terms in the **Go to** and image-selector dialog boxes to help you find things more quickly. * Published OData services now add the context URL as a property in JSON responses. Clients can specify that they do not want this by specifying `Accept: application/json;metadata=none`. * We introduced the `mx.odata.publish.created`, `mx.odata.publish.updated` and `mx.odata.publish.deleted` metrics, which count the number of objects created, updated, and deleted through published OData services. * The JSON returned by published OData services using OData version 4 now has a `@context` (or `@odata.context`) property. The client can prevent this by specifying `metadata=none` in the `Accept` header. * When configuring an association property of a pluggable widget, you can now select associations from any surrounding data widgets. * When linking an expression or text template property to a pluggable widget data source, the data source will now only retrieve the attributes used by that property instead of the entire object. This causes less data to be loaded and thereby improves the performance of the app. The same optimization was already in place for linked attribute properties. Full objects are still retrieved if a widget requiring them is also linked to the same data source. * We added a confirmation pop-up window when moving a data view with footer widgets to a place where the footer is not allowed, which prevents widgets from being silently deleted. This pop-up window can be set to not show again. * We made an improvement that optimizes the number of data retrievals required for pluggable widgets to display the currently selected object(s) of an association property. * We improved the performance of dialog boxes like **JSON Structure Editor** and **Version Control Base Revision** that contain splitters. * We improved the performance of dialog boxes like **App Settings** that contain tabs. * We improved the performance of dialog boxes like **Access Rule**, **App Security**, **OData Resource**, **Change Variable Action**, and **Commit** that contain tables. * We added support for dark mode to the **Edit Building Block** and **Edit Page Template** dialog boxes. ### Fixes * We now remove the corresponding file documents from the disk when a **System.FileDocument** specialization is either removed or moved to another type. (Ticket 39023) * We deprecated the **Serbian (Serbia and Montenegro)** language with the code **sr_CS**. It is replaced with **Serbian (Serbia)** with the code **sr_RS** and **Serbian (Montenegro)** with the code **sr_ME**. (Ticket 80642) * We fixed an issue where self-referencing associations and associations with long names were truncated when the domain model was exported as an image. (Ticket 105595) * We fixed an issue where a conversion dialog box appeared when loading an MPR, even though the app was already converted. (Ticket 136910) * Expressions (such as conditional visibility) on widgets inside a pluggable widget were not always evaluated correctly. This has been fixed. (Tickets 138510, 139012, 140515, 146148, 147490) * We fixed an issue where in rare cases a part of the page export was missing. (Ticket 142125) * We fixed an issue with passing associations from generalizations to sub-microflows. (Ticket 142653) * We added a missing `OData-Version` header to the response of calls to the service document of published OData 4 services. This resolved an error that occurred when trying to import the OData feed into Microsoft Excel. (Tickets 143086, 144415) * We fixed an issue that caused an error in Mendix Runtime and the client if objects associated to the resulting objects of a data source were filtered out because of security constraints. (Ticket 144498) * We fixed an exception that occurred when the owner of an object was an instance of a specialization of **System.User** that was deleted from the domain model. (Tickets 145133, 146632) * We fixed an issue where the hidden aggregate columns of a data grid crashed the page. (Ticket 145306) * We fixed an issue regarding decimals. Now their maximum length (20 digits before the decimal point, and 8 after) is verified when setting an object value. (Ticket 1453450) * We fixed an issue where apps with empty change item actions could not be upgraded above Studio Pro [9.11.0](https://docs.mendix.com/releasenotes/studio-pro/9.11/). (Tickets 146600, 147093, 147252, 147305) * We fixed an issue where scheduled events did not execute in a horizontally-scaled environment. (Ticket 146867) * We fixed an issue that occurred when parsing an enumeration item containing a reserved word. (Ticket 146938) * We fixed an issue with the XPath of data widgets which was not responding to variable changes on attributes. (Ticket 147062) * We fixed an issue where Mendix Runtime failed to start if a microflow call was configured to run in a [task queue](https://docs.mendix.com/refguide/task-queue/), but no queue was selected. (Ticket 147198) * We fixed an issue where the constraints selector on the reference set selector widget did not correctly adjust according to changes in the selectable constraints. (Ticket 148263) * We fixed an issue that caused an error during deployment if the on-change action of a widget was configured as **Open page** with the **Close pages** option set to something other than **None**. (Ticket 148391) * We fixed an issue with consumed OData services where turning off security caused fields for external entities to be read-only when creating a new record. * We fixed an issue in consumed OData services where Mendix Runtime did not request all attributes when one attribute name started with the name of another. * We fixed an issue in the **Headers from a microflow** feature of consumed OData services. In the Runtime memory, the headers returned by this microflow are now marked as deleted to make sure the header values are not communicated to the client. * We fixed an issue that occurred when editing a published OData resource for which the entity had been deleted from the domain model. This no longer causes an error. * We fixed an issue in published OData services where an exception occurred when the exposed entity was deleted in the domain model. * We fixed an issue in the **Workflow abort** action that prevented incompatible workflows (which had become incompatible due to their definitions being removed or excluded) from being aborted. * We fixed an issue where a [Call microflow](https://docs.mendix.com/refguide/call-microflow/) activity in a workflow did not result in the execution of an on-state-changed handler when the microflow failed. * We fixed an issue that occurred when using the [Send external object](https://docs.mendix.com/refguide/send-external-object/) activity for an updated entity that was insertable but not updatable. This called the endpoint with an empty `http` body. Now, it does not call the endpoint at all. * We fixed an issue in MySQL 8.0.29 and above that occurred when dropping a column with a name length over 53 characters long. * We fixed an issue that caused the entity path selector for an association property of a pluggable widget to allow invalid paths to be selected. * We fixed an issue where *.svn* or *.git* files were carried over to exported modules by blacklisting them. * We fixed the `MetaAssociation#hasMetaDataAccess` function in the [Runtime API](https://docs.mendix.com/apidocs-mxsdk/apidocs/runtime-api/) to work for specializations of **System.User** as well. This might have an effect on which attributes can be shown in the UI. Whether the content of an attribute is readable has not changed. * We fixed an issue where the pop-up settings section in the properties dialog box for pages did not correctly show/hide when changing the layout type to or from a (modal) pop-up. ### Breaking Changes * We now block changes to the **Password** attribute of User and User-derived objects in client commits (for example, via the Save button in forms). The old behavior is deprecated but can be restored until Mendix 10 by setting the `BlockPasswordInClientCommit` custom setting to `false`. * Pluggable widget data sources with a linked expression or text template property will no longer show updated values if an object is changed, unless a widget that requires full objects is linked to the same data source. To reload the data source and get the old behavior, use **Refresh in client** in a microflow or **Refresh entity** (from the [Nanoflow Commons](https://docs.mendix.com/appstore/modules/nanoflow-commons/) module) in a nanoflow. ### Known Issues * When you update a [consumed OData service](https://docs.mendix.com/refguide/consumed-odata-service/) with a new version from [Mendix Data Hub](https://docs.mendix.com/data-hub/) but close the document without saving, the blue arrow icon will no longer be shown to notify you about the available update for that service. * Workaround: Closing your app and opening it again fixes this issue.