Mendix Studio pro

9.5.0
Stable
August 31, 2021
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 31st, 2021** ### Improvements * We updated the SVG library to the latest version. * We improved the performance for creating a binary value in [import mappings](https://docs.mendix.com/refguide/import-mappings). (Ticket 120895) * We changed the way we display the environment and version name of OData services inside the [Data Hub pane](https://docs.mendix.com/refguide/data-hub-pane) and the update/switch screen. * We reduced the length of some queries produced by [consumed OData services](https://docs.mendix.com/refguide/consumed-odata-services) by no longer specifying trailing zeroes for decimal keys. * You can now use the [simple menu bar](https://docs.mendix.com/refguide/simple-menu-bar) widget inside a [containment or repeatable containment](https://docs.mendix.com/apidocs-mxsdk/apidocs/property-types-pluggable-widgets#widgets) pluggable widget. You can also use it inside a [container](https://docs.mendix.com/refguide/container) with a configured on-click action. * You can now configure [Abort on Validation Errors](https://docs.mendix.com/refguide/on-click-event#abort-on-validation-errors) for the on-click actions of the [image](https://docs.mendix.com/refguide/image) and [container](https://docs.mendix.com/refguide/container) widgets. * Each [action property](https://docs.mendix.com/apidocs-mxsdk/apidocs/pluggable-widgets-property-types#action) of a pluggable widget can now have [Abort on Validation Errors](https://docs.mendix.com/refguide/on-click-event#abort-on-validation-errors) configuration. * We now use the Git command line client to clone your repositories if you have it installed on your computer. This way, we can significantly improve the performance of clone operations. * Mendix native mobile development has been updated to use React Native v0.64.2. This is the latest stable React Native version which brings new security and stability improvements. * The [MxAssist Performance Bot](https://docs.mendix.com/refguide/mx-assist-performance-bot) can now automatically convert microflows to nanoflows where that improves application performance. * We simplified the [Find dialog box](https://docs.mendix.com/refguide/find-and-find-advanced), which now searches everywhere. * We now allow multiple lines for values of custom settings in Studio Pro. * We added the `Core.getLicenseInformation()` method into the [Runtime API](https://apidocs.rnd.mendix.com/9/runtime/index.html). This method returns basic information about the license and available products. ### Fixes * XPath constraints are now allowed with entity name like `[MyFirstModule.AssociatedEntity_Entity/MyFirstModule.Entity = '[%CurrentObject%]']`, which means the same as `[MyFirstModule.AssociatedEntity_Entity = '[%CurrentObject%]']`. (Ticket 44168) * We fixed an issue that occurred when committing objects referencing auto-committed objects. In rare scenarios, changes were not committed to the database. (Tickets 86901, 117336, 117350) * We fixed an error that occurred when using import mapping with a large amount of objects. (Ticket 111544) * We fixed an issue that occurred when calling sub-microflows with parameters that went over associations. (Tickets 114521, 126033, 125908) * We fixed an issue where a retrieve in a microflow returned empty, although the value of the association was not empty. (Ticket 116967) * We fixed an issue that occurred when pasting an input widget that was referencing a snippet entity in a location where the snippet entity was not available. (Ticket 119082) * We fixed an issue where synchronization failed for the Oracle database if an unlimited attribute was changed to a limited attribute. (Ticket 120186) * We fixed the data grid aggregates on attributes of generalizations. (Ticket 123772) * We fixed an issue where the cloud deployment of a Free App that used a data-snapshot was failing. (Ticket 124189, 125459, 126890) * We fixed an issue with garbage collection that caused autocommitted objects to be garbage-collected before they could be explicitly committed. (Ticket 124266) * When a data view was listening to a list view or grid widget and had conditional visible content, this resulted in an error. This has been fixed. (Ticket 124964, 126949) * We aligned support of the "u" pattern (day number of week) in the parse and format-date functions for nanoflows and microflows. (Ticket 125829) * We fixed an issue where non-persistable entities were not returned from a microflow in certain cases. (Ticket 125909) * We fixed an issue where a reference selector to an external entity was read-only. (Ticket 126023) * We fixed an issue that occurred when showing action call dialog boxes with a lot of input parameters for low-resolution screens. (Ticket 126358) * We fixed an issue where a list view failed if the attributes of an associated entity were retrieved and two objects of the main entity were linked to the same object of that associated entity. (Ticket 126507) * We fixed an issue in iOS where pickers did not respect the current device orientation but always defaulted to portrait mode. (Tickets 127454, 127687) * We fixed an issue in the MxAssist Performance Bot that occurred when there were two or more MXP008 recommendations for one entity and by marking one of them as read, all of the recommendations were marked as read and suspended. * We fixed an issue that occurred when performing a rollback on an auto-committed object. References from other objects pointing towards such an object were previously not always cleared. This is now fixed. * We fixed an issue with the [mx tool](https://docs.mendix.com/refguide/mx-command-line-tool) incorrectly reporting errors in apps containing custom widgets. * We now block marking inactive users as active when the named users license limit is exceeded. We do not block creating inactive users anymore in this situation. * We fixed an issue that occurred when calling an action (microflow, commit, rollback) from the client on a committed object. If the action had a change for a one-to-one reference to an auto-committed object, in some scenarios that reference was cleared. * We fixed some issues in the Data Hub pane where it was not possible to click the **Show more** option for services with the following: * Multiple entities with the same name where one of the entities was already consumed * Unsupported one-directional associations * We fixed an issue where it was not possible to open the **Show more** menu for a Data Hub Catalog item inside the Data Hub pane if there were multiple entities with the same name and one of them was already added in the domain model. * We fixed an issue where an error message was shown when you switched off app security while a [published OData service](https://docs.mendix.com/refguide/published-odata-services) still had security settings. * We upgraded the JDBC driver for Microsoft SQL Server to version 9.4.0. If you use the [Database Connector](https://docs.mendix.com/appstore/connectors/database-connector) module with SQL Server and integrated security, you may need to update the JDBC driver in **userlib** as well. * We renamed `IContext.rollbackTransAction` to `rollbackTransaction`. We deprecated `IContext.rollbackTransAction`. * We fixed an issue where a retrieve query constraint failed when it had a parameter whose value was `NULL` (for example, with a constraint such as `[$parameter = empty]`). * We noticed that Studio Pro sometimes does not automatically add an import for `IMendixObject` when you use the type parameters of Java Actions. This has been fixed. * We fixed the error message regarding unsupported runtime uniqueness validation so it does not point to an invalid URL. * We fixed an issue where a module containing a snippet crashed during import. * We fixed an issue where Studio Pro froze when the Marketplace tab was opened. ### Breaking Changes * We changed the format of the `mx-name-` class of links inside [menu widget](https://docs.mendix.com/refguide/menu-widgets) items. Previously, it was `mx-name-GUID-NUMBER`, but now it is `mx-name-WIDGETNAME-NUMBER`. This removes an inconsistency in this class format and should make it easier to use. However, this might require you to change the locators in your tests. * [Native Mobile Resources](https://docs.mendix.com/appstore/modules/native-mobile-resources) versions 2.0.1 and below have been black-listed due to changes required to support Android 11. * In line with the [mobile operating system support policy](https://docs.mendix.com/refguide/system-requirements#mobileos), we are removing support for iOS and Safari 12. ### 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. * In the **Properties** pane, you cannot copy, paste, or delete using keyboard shortcuts. * Workaround: Perform the same operation using your mouse and the context menu. * It is not possible to use Ctrl + Tab to switch between open tabs unless you have already selected a tab. * Workaround: Select a tab with your mouse and then use the key combination.