Mendix Studio pro

9.23.0
Stable
March 01, 2023
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: March 1st, 2023** ### New Features * We have released a new feature in Beta named [Machine Learning (ML) Kit](https://docs.mendix.com/refguide/machine-learning-kit/). The ML Kit enables deploying a machine-learning model (built using a common ML framework and language) into Mendix Runtime. * We implemented a lock/unlock workflow feature as two microflow activities. If a workflow is locked, then the workflow does not allow for new instances to be created. For more information, see [Lock Workflow](https://docs.mendix.com/refguide/lock-workflow/) and [Unlock Workflow](https://docs.mendix.com/refguide/unlock-workflow/). * We also introduced the workflow lock/unlock functionality to the [Runtime API](https://apidocs.rnd.mendix.com/9/runtime/index.html). You can now lock and unlock workflows through Java actions. ### Improvements #### Internationalization Improvements Previously, when creating a widget, for example, its caption was set in English (US) and Dutch. This caused the following issues in multi-lingual applications: * When you were creating your app in English (US), Dutch texts were created "under the hood." If you then decided to start translating your app into Dutch, it was unclear which texts had been intentionally translated and which had been generated upon creation. * When you were editing your app in a language other than English (US) or Dutch, you saw the default text between pointy brackets (for example, **\**), because the text was not available in that language after creation. Now, we only ever initialize the active language. Also, Studio Pro will no longer suggest Dutch texts, only English. (Tickets 76899, 151149, 152504) #### Other Improvements * We added the option to define the return variable name for Java and JavaScript actions. This is based on an idea from Marius van der Knaap submitted to the [Mendix Idea Forum](https://forum.mendix.com/p/ideas). Thanks, Marius! * We improved the message that appears when one page loading supersedes another page. (Ticket 173586) * We added support for the language Tigrinya, Eritrea. (Ticket 176908) * Consumed OData services now support the use of OData 4.01 syntax to specify `@count` and `@nextLink`. * The index selector and the published OData key selector in Studio Pro now both respond to double-clicking. * In published OData services in Studio Pro, the security group is now hidden when [app security](https://docs.mendix.com/refguide/app-security/) is off. * Published OData services now take into account that AutoNumber attributes cannot be empty. That means that an AutoNumber attribute is a good choice for a key, and that Studio Pro will not suggest adding a required validation rule. * We improved the way Studio Pro turns singular entity names into plurals. This happens, for example, for the entity set name of a published OData resource. Studio Pro now initializes irregular plurals such as "Entities" and "People" correctly. It is still possible to change the value the Studio Pro comes up with to whatever you like. * We improved the grid for HTTP headers (in published OData services, consumed OData services, the Call REST activity, and the Call web service activity) and the grid for published OData attributes. They now ask for confirmation when you click **Delete**. The **HTTP Headers** grid now also allows for multi-selection so that you can easily delete more than one header. * We added a feature to export MxAssist Performance Bot recommendations to a CSV file. * MxAssist Performance Bot Best practice [MXP011](https://docs.mendix.com/refguide/performance-best-practices/#mxp011) has been extended to detect nested data views as well as list views. * We added a new option to the **Edit** > [Find Advanced](https://docs.mendix.com/refguide/find-and-find-advanced/#find-advanced) option to search for all pages with a page URL. * It is now possible to use `exists` expressions in XPath queries with external entities. * We added copy/paste functionality to the workflow editor. * Non-persistable entities can now be created entirely client-side as long as they have no virtual attributes or create event handlers. * We improved the output for the [mx tool](https://docs.mendix.com/refguide/mx-command-line-tool/) when it is used to find performance recommendations. * We cleaned up supported AWS S3 credential providers. * When using integrated security to connect to SQL Server, we now automatically set the authentication scheme to JavaKerberos when not running on Windows. * We improved the guessing of the attribute type that occurs when adding new attributes. Several names will now be guessed correctly, such as **HouseNumber** and **Rate**. Studio Pro also stops suggesting names after you have picked a specific enumeration. * We improved the handling of changes done to non-persistable entities so that they are only validated once. This should improve cases where a change has to be validated with an external service. * When sharing usage data is disabled, a **Send report** button is added to the dialog box shown when an unexpected error occurs. This allows you to send a report about the crash to Mendix. * When signing in with an untrusted certificate, Studio Pro now shows a dialog box asking if you want to accept the certificate. When this happened previously, you could not sign in. * We added a **Work Offline** button to the login dialog box shown on startup. ### Fixes * We fixed a [known issue](https://docs.mendix.com/releasenotes/studio-pro/9.22/#ki-177724) that caused attribute widgets (such as a [text box](https://docs.mendix.com/refguide/text-box/)) to not trigger a consistency error if the attribute was not configured, which caused an error when deploying the app. (Tickets 177724, 178455, 178570) * We fixed an error where opening multiple pages consecutively upon the start of an app resulted in an infinite progress bar. (Ticket 76175) * We fixed an issue where an error occurred while running an app in which an XPath expression was used in a validation rule for a DateTime attribute. When this happens now, a consistency error is displayed. (Ticket 128395) * We fixed an issue where a reference selector with an XPath data source using a **Constrained by** condition incorrectly cleared its value if it was inside a data view listening to a widget and the selection of that widget changed. (Ticket 162340) * We fixed an issue with import mapping, where an object value from a parameter could not be changed. (Tickets 162408, 170669) * We fixed an issue where a newly created object displayed in the client could not be retrieved over an association in a microflow. (Ticket 170969) * We fixed an issue where pluggable widgets (such as [Data Grid 2](https://docs.mendix.com/appstore/modules/data-grid-2/)) with a microflow or nanoflow data source sorted an AutoNumber attribute alphabetically instead of numerically. (Ticket 172287) * We fixed an issue where the **Repeats** column in the **Find Advanced** results for scheduled events gave an incorrect result. (Ticket 172665) * We fixed an issue in external entities where XPaths combining `not` with an association resulted in an exception. (Ticket 172747) * We fixed an error that appeared when you clicked quickly on a tree control cell. (Ticket 172770) * We fixed an issue that caused an error in the runtime and the client if a pluggable widget was retrieving data over an association that was not accessible for the current user. (Tickets 173477, 173663) * We fixed an issue that occurred when copy-pasting an input widget into a page created using a page template, which triggered an exception. (Ticket 174252) * We fixed an issue where a text template with fallback text caused an error in the client if the data container of the template was a snippet. (Ticket 175898) * We fixed an issue that occurred when resizing the MxAssist Performance Bot configuration dialog box and the contents did not adjust correctly. (Ticket 176133) * We fixed an issue where the list view search did not work if an AutoNumber attribute was included in the search. (Ticket 176396) * The process of opening an app in Studio Pro is now more robust. We fixed an issue that occurred when opening an app failed and opening another app after that also resulted in an error, even when there was no problem with the second app itself. * We fixed an issue with the key selection form for published OData services. Previously, the **Key** field on the **Edit published resource** form incorrectly remained empty after selecting key attributes. * We fixed an issue that occurred when counting external objects for OData services that support query segment. This resulted in a `POST` request to the `/$count` endpoint, which was incorrect. Now, all count queries use `?$count=true&$top=0` (for OData 4) or `?$inlinecount=allpages&$top=0` (for OData 3). * We fixed a crash that occurred when updating the metadata of the **Consumed OData Service** editor and then browsing for a file on disk. * We fixed the sizes of the **Caption** and **Validation Message** fields in the **New/Edit Validation Rule** dialog box for [Validation Assist](https://docs.mendix.com/refguide/validation-assist/). * We fixed an error that appeared when scrolling down the **Find Results** data grid. * We fixed an issue where the **Synchronize Database** dialog box was cut off at the bottom, making the dialog box's buttons unreachable. * We fixed an issue that caused an association property of a pluggable widget to malfunction if it was linked to a data source and configured with more than one association step. * We fixed an issue in [JSON structures](https://docs.mendix.com/refguide/json-structures/) where the JSON string could not be formatted using the **Format** button. * We fixed an issue in object ID generation that resulted in a `NullPointerException` when the database was not accessible. * We fixed an issue in the UI of the [Call REST service](https://docs.mendix.com/refguide/call-rest-action/) activity where changing the HTTP method to `GET` did not clear the request section, so variables used in the body still appeared, as if they were being used by it. * We fixed an issue with the [Retrieve workflow context](https://docs.mendix.com/refguide/retrieve-workflow-context/) microflow activity that occurred when the type of the workflow context object was a specialization of the workflow parameter entity. * We fixed an issue in the microflow editor where selecting the **Go to page** context menu item on the [Show page](https://docs.mendix.com/refguide/show-page/) activity resulted in a crash when no page was selected. ### Deprecations * We deprecated methods only used internally in Mendix that had been exposed in the public [Runtime API](https://docs.mendix.com/apidocs-mxsdk/apidocs/runtime-api/).