Mendix Studio pro

10.6.0
Stable
December 21, 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: December 21, 2023** ### New Features #### Redesigned Logic Editors (GA) We are happy to announce the general availability of our redesigned and enhanced editors for microflows, nanoflows, and rules. The new editors focus on making your daily logic modeling experience faster, smoother, and easier to learn with several huge improvements. The editors also contain the new contextual suggestions pop-up window with smart suggestions based on AI, in addition to rules that make it faster and easier than ever before to add activities. For more information, see [Microflows and Nanoflows](https://docs.mendix.com/refguide/microflows-and-nanoflows/). #### Data Importer (GA) We are delighted to announce that the [Data Importer](https://docs.mendix.com/appstore/modules/data-importer/) module is now generally available. This allows you to easily configure your Excel files through the dedicated **Data Importer** menu. The configured settings can be seamlessly utilized with the newly introduced [Import data from file](https://docs.mendix.com/refguide/import-data-from-file/) microflow activity. You can install the module from the [Mendix Marketplace](https://marketplace.mendix.com/link/component/219833). #### MendixChat (Beta) We are releasing MendixChat in beta, our AI-powered knowledge assistant in Studio Pro. MendixChat can answer Mendix-related development and how-to questions, provide best practices, and more. You can access MendixChat via [View](https://docs.mendix.com/refguide/view-menu/) > ** MendixChat**. For more information, see [MendixChat](https://docs.mendix.com/refguide/mendix-chat/). #### Consumed REST Service (Beta) We are releasing the beta version of the consumed REST service, which allows you to integrate with REST services faster. You can now build your REST requests, test them directly, and convert their response to entities without building any of the mappings manually. For more information, see [Consumed REST Service (Beta)](https://docs.mendix.com/refguide/consumed-rest-services-beta/). #### New Access Rule Editor (Beta) We are releasing the beta version of our redesigned [access rule](https://docs.mendix.com/refguide/access-rules/) editor. In this new UI, you can easily view and edit the access rules of an entity in one single overview. You can enable the new UI via the option in [Preferences](https://docs.mendix.com/refguide/preferences-dialog/#new-features). #### Rich Design Properties With this release, we have improved how design properties are displayed, configured, and saved. This provides a better visual experience when interacting with your app styling in addition to more options for styling configuration. In the past, you were limited to using either a toggle button for simple on-off styling or a drop-down menu for selecting an option from multiple styles. This release introduces the following new ways to interact with styling: * We changed the technology behind the **Styling** tab in the **Properties** pane, enabling more responsive behavior when you are changing a widget's styling. * There is a new color picker that extends the functionality provided by a drop-down menu by letting you assign preview colors to each option. * There is a toggle button group with the option of multi-selection that lets you combine multiple toggles into a single control or display small lists from a drop-down menu in a friendlier way. * The toggle button group also integrates with icon collections to enable adding icons to the options instead of displaying text. * There is a spacing control that gives a much better visual representation of how changes to margins and padding will influence a widget. * There is now complete integration with **Design mode** for immediately displaying any changes made to the styling. * We added support for CSS variables when using a toggle button group, spacing control, drop-down menu, or color picker. This means you can define a CSS variable that allows for more lightweight .*scss* files. To access these changes, update the [Atlas Core](https://marketplace.mendix.com/link/component/117187) Marketplace module, where the new design properties have been included. To learn more, see [How to Extend Design Properties](https://docs.mendix.com/howto/front-end/extend-design-properties/) and the [Design Properties API](https://docs.mendix.com/apidocs-mxsdk/apidocs/design-properties/). #### External Database Connector You can now connect to Microsoft SQL, MySQL, PostgreSQL, and Oracle databases with the new [External Database Connector](https://docs.mendix.com/appstore/connectors/external-database-connector/). This connector allows you to directly test connections and queries during configuration in Studio Pro design time. To use saved queries in the Mendix Runtime, install the connector from the [Mendix Marketplace](https://marketplace.mendix.com/link/component/219862). #### Version Control Updates We have introduced a new step during the commit process that checks for large files that are being added or changed. We want you to be informed about this, as large files can become problematic for Git. We have also introduced an optimizing storage solution, which is triggered when heuristics indicates at least five megabytes can be saved on the *.mpr* size. #### Other New Features * We have implemented a new expression editor that is enabled by default (with the option in **Preferences** > [New Features](https://docs.mendix.com/refguide/preferences-dialog/#new-features) to go back to the legacy expression editor). This new expression editor will also work on MacOS. * We added a new **Retrieve workflow activity records** microflow activity that enables retrieving a list of **System.WorkflowActivityRecord** objects for a given worfklow instance. Each **System.WorkflowActivityRecord** object represents a snapshot of a workflow activity. * We added a feature that allows for switching between portrait and landscape rendering of the workflow editor. * We added a [Wait for timer](https://docs.mendix.com/refguide/wait-for-timer/) activity for workflows that stops the process execution until the defined period of time has elapsed. * We now use database [foreign key constraint](https://docs.mendix.com/refguide/data-storage/#fkc) validation for new apps. ### Improvements * We changed the sorting mechanism in the [Go to](https://docs.mendix.com/refguide/go-to-option/) dialog box. The excluded items now appear at the end of the list of avaiable entries. This is based on an [upvoted idea from Luuk de Bakker](https://forum.mendix.com/link/space/microflows/ideas/3987) submitted to the Mendix Idea Forum. Thanks, Luuk! * We updated the Make It Native (MIN) app's React Native, resulting in a changed MIN app version. This means if you wish to test apps from Studio Pro 10.6.0 and above, use MIN 10 for [Android](https://play.google.com/store/apps/details?id=com.mendix.developerapp.mx10) or [iOS](https://apps.apple.com/us/app/make-it-native-10/id6450037464). For more information, see [Getting the Make It Native App](https://docs.mendix.com/refguide/mobile/getting-started-with-mobile/prerequisites/#get-min-app). * We upgraded the React Native version to 0.72.7. * An external entity can now have an attribute based on a property of a complex type, as long as it is a single-valued complex type that has the supported properties. This is achieved by flattening the properties of the complex type to the properties of the entity. * When importing modules, we now ignore included widget packages if their version is older than or the same version as an already installed widget package. * You can now select which widgets to include when exporting a module. This is useful in case you want to create Marketplace modules that depend on other modules, and you do not want to include their widgets in your module. * It is now possible to use the selection of a pluggable widget as a variable in an expression. This enables writing expressions like `$dataGrid2_1 != empty` or `length($dataGrid2_2) > 1`. You can also use an attribute (path) from a selection variable (for example, `$dataGrid2_1/Name`), as long as the expression is not used for conditional visibility, conditional editability, or validation. * We added an option to **App Settings** > [Miscellaneous](https://docs.mendix.com/refguide/app-settings/#miscellaneous) for using the [Data Grid 2](https://docs.mendix.com/appstore/modules/data-grid-2/), [Combo Box](https://docs.mendix.com/appstore/widgets/combobox/), and [Image](https://docs.mendix.com/appstore/widgets/image/) widgets for content generation. This is enabled by default. If these modern widgets are available in the app, they will be used when generating overview pages or generating the content of data views. * We made a few improvements to the Data Grid 2 configuration for automatically generating columns when an entity for the data source is selected. * When a data view listens to a pluggable widget, an overlay icon and proper selection highlighting are now shown on both widgets. * The data view now has a main node and a footer node within the [Page Explorer](https://docs.mendix.com/refguide/page-explorer/) to reflect what is on the canvas. * We added the ability to change the search and sort-by options for a [list view](https://docs.mendix.com/refguide/list-view/) widget from its properties. * We added the ability to change the sort-by options for data grids, reference set selectors, and template grids from their properties. * For the logic editors, we added control points for bezier curves. * MxAssist Logic Bot now shows parameterized recommendations for a [Change list](https://docs.mendix.com/refguide/change-list/) activity. * MxAssist Logic Bot now puts the suggestion to retrieve a list of an entity before the suggestion to retrieve the first object of the entity. * The MxAssist Logic Bot menu content generation has been optimized and can now show more items. * When you are not logged in or you are offline, the AI-generated suggestions in MxAssist Logic Bot are now not available. You will be notified through the Logic Bot menu. * We made changes to provide more error and label consistency in the property dialog box of some microflow and workflow activities (in the microflow editor) when a variable is deleted (if it was being used). * We are now using the term "path" now in Mendix Runtime (instead of "branch") for parallel splits in workflows. * We removed the path number in jump-to details for the end of a path/branch. * We changed the dialog box for editing an entity published in an OData service. The fields about the structure and the fields about the data are now grouped in two separate boxes. * We improved the `$metadata` for published OData services. It no longer has the `Com.Mendix.IsAttribute` annotation defined when that annotation is not used. * We upgraded the UI library used in Studio Pro to the latest version. * We updated the mapping editor to accommodate future improvements and make it Mac compatible. * We changed the system with which the [Client API](https://docs.mendix.com/apidocs-mxsdk/apidocs/client-api/) documentation is generated. This comes with a new more modern look that will make it easier to find your way around in the API documentation. ### Fixes * We mitigated [CVE-2023-29331](https://www.cve.org/CVERecord?id=CVE-2023-29331) by updating third-party dependencies. This CVE does not pose any apparent risk for Mendix customers. * We no longer log a warning when exporting to Excel from a data grid. (Ticket 172006) * We fixed an issue where changing the microflow of a scheduled event did not have any effect. (Ticket 190445) * We simplified the handling of errors in log subscriber message processing. These errors are now always printed on the standard error output instead. For the file log subscriber, this means that repeated errors are no longer written to *.err* files. (Tickets 196306, 200771) * We fixed a memory leak that occurred when opening pages. This caused issues after opening thousands of pages. (Ticket 197048) * We fixed a an issue where created files were not deleted when an error occurred in a microflow. (Ticket 199712) * We fixed an issue with published OData services where filtering on the properties of an associated object returned an error. (Ticket 200775) * We fixed an issue where using the ALT + F7 shortcut triggerred the tab switcher instead of performing a debugger action. (Ticket 201938) * We fixed an issue where a scheduled task was executed before the calling microflow finished successfully. (Ticket 202006) * We fixed a bug where the login page settings threw a consistency error about a non-existent page, even though [anonymous users](https://docs.mendix.com/refguide/anonymous-users/) were not allowed. These settings are now cleared when anonymous users are not allowed. * We resolved a crash that occurred when refreshing the **App Explorer** contents. * We fixed an issue where Studio Pro did not properly check if an attribute coming from an external entity was filterable and/or sortable, causing an exception in the Mendix Runtime when trying to retrieve the data in the client. * We fixed a bug where the data source of widgets was missing as a parameter when creating a new microflow or nanoflow for the [Call microflow](https://docs.mendix.com/refguide/on-click-event/#call-microflow) or [Call nanoflow](https://docs.mendix.com/refguide/on-click-event/#call-nanoflow) client actions. * We fixed an issue in the microflow editor where adding an object to a microflow through the context menu did not automatically select the created object. * In the logic editors, we did the following: * We fixed the error handler connection points on activities that have custom error handlers. * We fixed an issue with MxAssist Logic Bot not opening on a newly created microflow, nanoflow, or rule. * We fixed an issue with showing the MxAssist Logic Bot suggestion flow with the error handler. * We fixed an issue with published microflows in OData services where errors with access rights resulted in a generic "500 Internal Server Error." The services now return a clear error description. * We fixed an issue in published web services where creating a mapping for custom authentication resulted in an error. * We now prohibit using "file" as a URL prefix in addition to the name of any known static folder in the deployment directory. * We fixed the "LibGit2Sharp.NotFoundException: No valid git object identified by 'some_branch' exists in the repository" error that occurred while cloning locally. * The `changedBy` attribute is now updated when `storeFileDocumentContent` or `storeImageDocumentContent` from the [Mendix Runtime API](https://docs.mendix.com/apidocs-mxsdk/apidocs/runtime-api/) is used, or when uploading files. This makes it consistent with other ways of updating file documents or images. ### Deprecations * We removed the deprecated **Import Web Service or XML Schema** wizard that was accessible in the domain model editor when you clicked **Import web service/XML file**. * The [Deep Link](https://docs.mendix.com/appstore/modules/deep-link/) module is now deprecated. We will end support for it with Studio Pro 11.0.0. We will continue to support the module for Studio Pro 8, 9, and 10 until the end of support for Studio Pro 10 LTS. The module is being deprecated because its functionality has been shifted to [page URLs](https://docs.mendix.com/refguide/page-properties/#url) and [microflow URLs](https://docs.mendix.com/refguide/microflow/#url). Using these methods, you can achieve what you used to accomplish with the Deep Link module in easier ways. * We deprecated the `END_OF_PARALLEL_SPLIT_BRANCH` enumeration constant in the `WorkflowActivityType` in the [Mendix Runtime API](https://docs.mendix.com/apidocs-mxsdk/apidocs/runtime-api/). ### Known Issues * The first time you open MendixChat, you need to click **Sign in** so that it is available for use. This only needs to be done once after installing this version of Studio Pro. * A finished parallel split path that is removed from a running workflow instance wrongly leads to a versioning conflict. Please note that "path" was called "branch" in earlier versions.