Mendix Studio pro

9.20.0
Stable
November 30, 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: November 29th, 2022** ### New Features #### Performance Improvements * We improved the performance of switching tabs. * We resolved several event leaks caused by styling buttons. #### Other Improvements * Retrieving an attribute from an empty variable in a nanoflow now returns an empty variable instead of throwing an error. This means that nanoflows are more consistent with microflows. (Ticket 153138) * Validation Assist now provides a "more than zero" check as well as a non-empty check by default for the **Submit** button validation. * Validation Assist now supports expressions for the validation message in addition to snippets for validation. * We optimized MxAssist Performance Bot best practices [MXP001](https://docs.mendix.com/refguide/performance-best-practices/#mxp001), [MXP003](https://docs.mendix.com/refguide/performance-best-practices/#mxp003), [MXP007](https://docs.mendix.com/refguide/performance-best-practices/#mxp007), and [MXP015](https://docs.mendix.com/refguide/performance-best-practices/#mxp015). This can reduce inspection times on more complex apps. * MxAssist Performance Bot now automatically runs an inspection when an app is opened. This behavior can be disabled via the **Edit** > **Preferences** menu. * You can now cancel an MxAssist Performance Bot inspection from the status bar. * We added an indicator to the **Page Explorer** pane for conditional visibility and conditional editability. * The top bar shown at the top of the page editor now features a [button](https://docs.mendix.com/refguide/page/#change-parameters) to configure the parameters of the page. * Layouts and page templates can now be editted using **Design** mode. * We added a new setting to the **Preferences** dialog box that allows you to change the default location where new apps are stored. * We added an **Exposed to Client** column to **Find Results** that can be useful when finding usages of a constant, and we added a **Used from Module** column that can be useful when finding usages of other user modules by a module. * We updated question dialog boxes so that they can be closed when you press Esc. * We made all properties dialog boxes resizable. * The **Send** and **Delete external object** activities now use the `Accept-Language` HTTP header to communicate the user's preferred language to the server. * Validation feedback from OData's insert, update, and delete microflows is now translated into the language provided in `Accept-Language`. * The example URL for published OData services and web services is now the sandbox cloud URL when the app is running there. * In published OData services, the list of entities and the list of entity details now have the same width. * We improved the alignment of the controls on the **Published OData Resource** dialog box. * We added more control to the **Show user task page** microflow activity and button. It is now possible to configure if the activity should automatically assign the current user to the task. Secondly, you can now control who is allowed to open the task page when a task is already assigned (only the user currently assigned or all users with access to the task). * When selecting a team server app from the App Selector that is not locally on disk, the dialog box for choosing the disk location when downloading the app is now always shown. * We made it possible to select multiple widgets on a page at the same time, enabling moving or copying them in one go. * We added the option to export workflow models as an image. * We upgraded to HSQLDB 2.7.1. As a result, Java functions can no longer be registered in the database. * We extended the configuration module API for pluggable widgets. We now pass the Studio Pro version to the `GetPreview` function so that it is possible to create **Structure** mode previews based on the version. ### Fixes * We fixed an issue that caused attributes of `System.User` objects belonging to a role managed by the current user to be shown as empty in the client. (Ticket 138291) * We fixed an issue with Arabic date/time format handling in HSQLDB. (Ticket 141313) * We fixed an issue where **Refresh on show** for tabs was enabled but data was missing after revisiting the tab. (Tickets 150260, 166566, 166858). * We fixed an issue in the sign-in window that occurred when **Try again** was clicked several times in sequence. (Ticket 160585) * We fixed an issue that occurred when there were too many options for radio buttons, they could not fit in a single row, and they were thus spread within multiple rows instead of getting cut off. (Ticket 163486, 166056) * We fixed an issue that caused associated objects to disappear if a reference selector had a non-persistable entity as its selectable objects. (Ticket 165279) * We fixed an issue where selecting a row using Space in the **Module Roles** dialog box did not work. (Ticket 165926) * We fixed an issue where the validation feedback for an input reference set selector on a tab page was displayed incorrectly. (Ticket 166542) * We fixed an issue where a login ID text box or password text box widget that had **Show Label** set to **No** caused an error. (Ticket 167725) * We fixed an issue where Studio Pro froze when microflow activities were dragged from the toolbar. (Tickets 168530, 168328, 165904, 165769, 165516, 165491, 164808) * We fixed an issue where a REST call caused a `java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory` exception. (Ticket 168614) * We fixed an issue where an attribute property of a nested pluggable widget was not editable when it was using an attribute from the outer data source. (Ticket 168679) * We fixed an issue where the progress bar did not disappear when a list view was reloaded multiple times. (Ticket 169514) * We fixed an issue where a long path with a one-to-one association traversed from child to parent failed if an intermediate object was empty. (Ticket 169759) * We fixed an issue where DateTime fields got incorrect values in OData services when receiving multiple simultaneous requests. (Ticket 170287) * We fixed an issue where uploading an image with an unsupported EXIF orientation tag failed. (Ticket 170543) * We fixed an issue where the style of a page was not removed when navigating to a new page. (Ticket 170960) * We fixed an issue in published OData services where Mendix Runtime returned "500 Internal Server Error" when the client tried to insert an object without specifying one of its required attributes. Now, it returns "422 Unprocessable Entity." * We fixed an issue where published OData services returned error messages from microflows in an incorrect JSON format. * We fixed an inconsistency in the error codes returned by published OData services. * We fixed an issue where the Swagger UI provided by published REST services had non-functioning **Execute** buttons. This was solved by changing the published `swagger.json` document to include the correct parameter type for list or object parameters, instead of the `file` type in places where the `file` type was not allowed. * We made the dialog box for editing a published REST resource slightly larger so that the documentation text area is fully shown without having to resize the dialog box first. * We fixed an issue in Studio Pro where dropping a microflow onto a published REST resource created a new resource rather than creating a new operation within the resource. * We fixed an issue where the workflow state was not updated correctly after successful upgrades. * We fixed an issue where a workflow remained in the failed state when bypassing an activity and that caused the workflow to fail when [jumping to a different activity](https://docs.mendix.com/refguide/jump-to/). * We fixed an issue in workflows where finished branches of splits are no longer erroneously marked as newly added (which helps to reduce the amount of workflow upgrade conflicts). * We fixed an issue in workflows where parallel splits inserted in the executed path of workflow instances in which the executing activities were put in one or more of the branches of the new parallel split were not detected as instances that could not be continued. * We fixed an issue in workflows where continuing an incompatible workflow instance with some parallel split branches still in progress caused the branches already finished to be put in progress again. * We fixed an issue in the Workflow Engine that caused the Mendix Runtime Server to run out of memory with workflows that had many user tasks, decisions, and/or microflow calls. * We fixed an issue where a workflow **Jump** activity raised the wrong consistency error when the activity was placed in a parallel branch. * We fixed an issue where MxAssist Performance Bot showed stale recommendations instead of clearing out its list. * We fixed an issue where the **Inspect now** button in MxAssist Performance Bot was disabled if errors were found during inspection. We also fixed an issue where the **Inspect now** button was disabled after a change was made to an app during an inspection and did not work until another change was made. * We fixed an issue with MxAssist Performance Bot where if a recommendation was automatically applied, the automatic inspection did not run and the recommendations did not update. * We fixed an issue where the **Limit to current tab** button in MxAssist Performance Bot was enabled while no documents were open. * We fixed an issue where keyboard shortcuts were not working in the **Properties** pane. * We fixed an issue where the error message in the expression editor did not wrap when it became too long for the editor. * We fixed an issue where the attribution report generated an empty file. * We fixed an issue where configuring **Show page** as the **On change** action of a reference selector caused a consistency error that no suitable object was available. * We fixed an issue where the attribute selector of a pluggable widget allowed unsupported association types to be followed, which resulted in an error in the client. * We fixed an issue in the `DATEDIFF()` function for HSQLDB where it was off by 1 day due to time zones. * We fixed an issue in the native client where an early error during development was hidden by the error `'NativeBatchedLogHandler' has not been initialized...`. * We fixed an issue where an active language was incorrectly used when exporting pages, causing labels to be empty if the active language value was empty. * We fixed an issue where a double scroll bar appeared in the image collection, system text, and message definition editors when resizing the editors. * We fixed an issue where the Home and End keys did not navigate to the first and last node of a tree. * We fixed the Esc key functionality in the grid control so that editing a text cell and pressing Esc the first time cancels the changes and exits the edit mode, and pressing the key again closes the dialog box. ### Deprecations * We dropped support for the following database versions that are no longer supported by the vendors: * PostgreSQL 10 * SQL Server 2017 * Starting with version 9.22, we will drop support for MariaDB 10.2, which is no longer supported by the vendor. ### Known Issues * When you navigate between dockable panes using Ctrl + Tab while in the microflow editor, page editor, or **Properties** pane, releasing Ctrl does not close the pane-selection dialog box. (Ticket 163193) * Workaround: Use Enter or a mouse click to close the dialog box.