Mendix Studio pro

9.7.0
Stable
October 26, 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: October 26th, 2021** ### New Features #### Offline Deletes We have added support for deleting objects in native mobile apps and offline-first progressive web apps. This can be done via the [Delete object(s)](https://docs.mendix.com/refguide/deleting-objects#delete-in-nano) activity in nanoflows and the [Delete object(s)](https://docs.mendix.com/refguide/deleting-objects#action) action on pages. Deleted objects become immediately unavailable on the device, but they are deleted from the server only after synchronization. To synchronize deleted objects, use the [Synchronize](https://docs.mendix.com/refguide/synchronize) activity with the **All objects** or **Unsynchronized objects** mode. Also, when a full synchronization is done at startup (for example, because of a domain model or Mendix update), deletes are synchronized with the server. For more details, refer to [Offline-First](https://docs.mendix.com/refguide/offline-first) in the *Studio Pro Guide*. #### Native Over the Air (OTA) Update Support With this release, we are eager to present a [simplified approach for OTA updates](https://docs.mendix.com/howto/mobile/how-to-ota) for native mobile apps. OTA updates make it possible to provide new functionality or fixes to native mobile apps without having to go through the app store, which makes releasing a new version easier and is an enormous time saver. From now on, providing an OTA update is as simple as deploying the model to the cloud (similar to what was done with hybrid mobile apps), as no third-party service (CodePush) is needed anymore. A native mobile app checks at startup whether there is an OTA update available, and if so, updates itself. For binary changes (for example, changes in dependencies, permissions, app icons) a new app store update will still be needed. To enable this feature, go to your app's [Native phone](https://docs.mendix.com/refguide/navigation#native-phone) navigation profile and enable the over-the-air updates feature. Then, build and release a new version of the mobile app using the latest updates (the UI will ask you to update if needed). After that, new deployments to the cloud will trigger OTA updates on the devices. To avoid slowing down local development, OTA updates are not testable against locally running runtimes. ### Improvements * We added check boxes to show/hide unused documents in the [Module Security](https://docs.mendix.com/refguide/module-security) dialog box. (Ticket 103824) * We added a check box named **Refresh in client** to the [Send external object](https://docs.mendix.com/refguide/send-external-object) activity dialog box to refresh the data on the UI after the change. * When editing the parameter mappings of a [Microflow call](https://docs.mendix.com/refguide/microflow-call) or [Call nanoflow](https://docs.mendix.com/refguide/nanoflow-call) activity in the microflow/nanoflow editor, it is now possible to select a matching variable directly from a drop-down menu instead of typing it as an expression. * We added support for deleting objects in native mobile apps and offline-first [progressive web apps](https://docs.mendix.com/refguide/progressive-web-app). * We are now outputting many of the runtime statistics using Micrometer as well. * We now show a helpful message when [MxAssist Performance Bot](https://docs.mendix.com/refguide/mx-assist-performance-bot) has no recommendations to display. * We added a check box named **Delete the microflow after converting** to the MxAssist Performance Bot recomendation window for the MXP006 recommendation. Also for the MXP006 recommendation, we now show a best practice code in a fix summary screen. * The **Add-ons** category is now always the last widgets category in the [Toolbox](https://docs.mendix.com/refguide/view-menu#toolbox) pane and the **Select Widget** dialog box. * We added an **Expand All** button to the toolbar of the **Toolbox** in the tile view. * We reorganized the toolbars of the [App Explorer](https://docs.mendix.com/refguide/project-explorer), [Data Hub pane](https://docs.mendix.com/refguide/data-hub-pane), [Connector]/refguide/view-menu#connector), **Toolbox**, and selector dialog boxes to save more vertical screen space for the content. #### MxAssist Logic Bot Improvements This release includes [a new version](https://www.mendix.com/blog/mendix-mxassist-logic-bot-upgrade/) of [the MxAssist Logic Bot](https://docs.mendix.com/refguide/mx-assist-logic-bot) with major improvements in the AI model, UI and UX, and performance! Check out these details: * The AI model has been re-trained with a fresh and substantially bigger dataset that includes more context-related features, microflow actions, and parameters. These have improved the recommendation accuracy, especially the top (first) recommendation. * The user interface has been completely redesigned with better integration and interaction with the microflow editor UI to avoid any overlaps. In addition, new controls and interfaces are introduced to give more control to the users. * The user interface responsiveness and interaction is now faster thanks to several performance optimizations that have reduced server calls by 92% and user CPU usage by 35% on average. The Logic Bot microservice is also deployed in more regions to reduce network latency. In addition, in the decision context menu, the Logic Bot now shows expressions with user variables above expressions with system variables. Finally, the Logic Bot now triggers notifications so you can be notified about improvements. #### Improved Access Rule Settings for Files In Mendix, giving the **Name** attribute of a file document read rights allowed the end-user to download the file. In addition, giving write access was enough for the end-user to change the content of a file document. However, this did not allow for configuring file document objects that can be seen but are not downloadable. With this release, downloading a file document requires read access to the **Contents** attribute, and respectively, uploading requires write access to the **Contents** attribute. When you upgrade your existing app, Mendix will automatically configure the access rights defined on the **Contents** attribute of each entity that specializes from `System.FileDocument` to align with the access right of the **Name** attribute to make sure that your app is backwards-compatible. Access rights will also be configured for external file entitites that you use in your app. #### Generation of Workflow & WorkflowUserTask Entities In Mendix [9.6.0](9.6#960), we started overhauling the workflow model. One of the changes introduced there was that every workflow needed its own entity specialized from `System.Workflow`, and every user task needed a specialization from `System.WorkflowUserTask`. To make modeling easier, these entities are now automatically generated whenever you create a workflow or add a user task. These entities are based on the workflow name and user task caption. Since user tasks will most likely be re-captioned after addition.The generated entity name will also be kept in sync with the user task caption, as long as the entity name matches the generated one. ### Fixes * Using a [Call REST service](https://docs.mendix.com/refguide/call-rest-action) activity in your microflow no longer results in all data being sent. (Ticket 112095) * We fixed an issue with detecting when a push failed for [private Git](https://docs.mendix.com/refguide/branch-line-manager-dialog#byo-server-app) apps due to branch security settings. (Ticket 125236) * We fixed an issue with the reference selector's [select page property](https://docs.mendix.com/refguide/reference-selector#select-page) not working properly for specialized entities when the user has no access to the generalized entity. (Ticket 128755) * We fixed an issue in the runtime of [published OData services](https://docs.mendix.com/refguide/published-odata-services) where the microflow of an exposed virtual attribute retrieved objects by association and that list was empty. (Ticket 128843) * We fixed an issue where cancelling the [Expression for dynamic classes](https://docs.mendix.com/refguide/common-widget-properties#dynamicclasses) dialog box did not revert the changes. (Ticket 128861) * We fixed the log message that incorrectly stated that database changes were rolled back, even if that was not possible. We now log correctly when the changes are rolled back and when that was not possible. (Ticket 129661) * We fixed an issue in the runtime when retrieving an association between two external entities from different modules. (Ticket 129687) * When adding an Autonumber attribute, the name is now properly quoted in the generated SQL, avoiding errors when the name is a reserved word. (Ticket 130773) * We fixed an issue that prevented a nanoflow from updating the object passed to it when triggered by a pluggable widget action. (Tickets 131544, 132032) * We fixed an issue that occurred when adding updatable [external entities](https://docs.mendix.com/refguide/external-entities) to your domain model where the updatable associations immedately threw a consistency error. * We fixed an issue in the metadata of a [published OData service](https://docs.mendix.com/refguide/published-odata-services) where attributes were not marked as non-updatable in updatable resources with calculated attributes. * We fixed a security issue regarding offline synchronization and file documents. * We fixed an issue in the runtime of the [Send external object](https://docs.mendix.com/refguide/send-external-object) activity where the changes of a renamed attribute were not sent correctly. * We fixed an issue where an autocommitted object was sent from the browser to the runtime, committed, and the association table of a [many-to-many association of type both](https://docs.mendix.com/refguide/associations#many-to-many-both) on that object had too many entries. * We improved the branch line names that are displayed in the top bar and **Recent Apps** list. * We resolved some issues with button focus and the handling of the Tab key in the new [Open App](https://docs.mendix.com/refguide/open-app-dialog) dialog box. * We fixed the text color of folders in the tree view that displays when you are performing dragging-and-dropping actions. * We fixed an issue with the selected item in App Explorer that occurred when you start an app. * When [consuming an OData service](https://docs.mendix.com/refguide/consumed-odata-services) that has updatable entities with key attributes, these key attributes are no longer updatable. It was already recommended not to change the values of these attributes, and now it is no longer possible. ### 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.