Mendix Studio pro

10.8.0
Stable
February 27, 2024
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: February 27, 2024** ### New Features * The Runtime behavior of data sources now depends on how a page is modeled in Studio Pro. In some scenarios, only the required attributes are sent to the client. This optimizes the network load. In other scenarios, all the attributes of an object are sent to the client. This prevents a round trip when the object is needed in a subsequent client action. Studio Pro now shows which of these cases apply to a data source, and also allows you to change the behavior to optimize for round trips. For more information on the Runtime behavior of data sources, see [Data Sources Retrieval](https://docs.mendix.com/refguide/datasource-runtime-behavior/). * You can now publish entities in OData services without the **Read** capability. This allows you to use entities (including non-persistable entities) without exposing the data, and use them as parameters or return types for your published microflows. On the consume side, these non-readable external entities can be imported. This makes them behave like non-persistable entities, and thus can be passed to a **Call external action** activity as parameters or used as its return type. * We introduced the **Autosave** feature. You can now enable it in **Preferences**. It automatically saves your changes on various actions, such as running and deploying your app, executing version control operations, closing files or apps, exporting modules, or exiting Studio Pro. For more information, see the [Enable Autosave](https://docs.mendix.com/refguide/preferences-dialog/#autosave) section in *Preferences*. * We added new features to the Data Importer where you can edit an entity, attributes, and its data type. #### Java 17 In a first step towards Java 21 support, we have made the following changes: * We added the option to select between Java 11 and 17 in the app Runtime settings. * Targeting Java 17 allows the app to use language constructs and APIs that were introduced with Java 17. * If you choose to run on JDK 17 you should not have to update your apps. If you have any unexpected issues, please revert to Java 11 if possible and wait for Java 21 support to be introduced. Mendix recommends you keep older apps and Marketplace modules on Java 11 for now, and upgrade them to Java 21 when that version is supported in a future Mendix 10 release. Note that new apps are currently still configured to target Java 11. ### Improvements * We improved the performance during a consistency check for a mapping document. (Ticket 205772) * We introduced new custom Runtime settings: `ConnectionPoolingTestOnBorrow`, `ConnectionPoolingTestOnCreate`, `ConnectionPoolingTestOnReturn` and `ConnectionPoolingTestWhileIdle`. They are `false` by default and may be set to `true` to validate connections when borrowed from a pool, created or returned to the pool or when the idle connection evictor runs. * We added the custom Runtime setting `com.mendix.storage.s3.ResourceNamePrefix`, which value will be prepended to the key when retrieving or storing files from and to Amazon S3. * We improved automatic parameter mapping for the **Call Microflow**, **Call Nanoflow**, and **Show Page** microflow actions. This now also works when dragging these actions from the **Toolbox** or when dragging a nanoflow, microflow, or page from the app explorer into the microflow editor. * We now directly add a default output variable to the **Create variable** activity in the logic editors. * We added the ability to navigate through [styling properties](https://docs.mendix.com/apidocs-mxsdk/apidocs/design-properties/) by using keyboard shortcuts, such as Tab and the arrow keys. * We made importing widget modules more resilient by skipping the import of widgets that were referenced from the *package.xml* but had been previously deleted from the MPK. * We now throw a warning instead of an error for page templates that contain unsupported widgets when using the React client. * We added support for the React client using the macOS version of Studio Pro. * MendixChat now supports asking follow-up questions based on your previous question and the answer you have received. * Data Grid, Static Image, and Dynamic Image widgets (which are not supported in the React client) can be converted to their modern counterparts as the [Data Grid 2](https://docs.mendix.com/appstore/modules/data-grid-2/) and [Image](https://docs.mendix.com/appstore/widgets/image/) widgets. This conversion can be performed through the context menu of the mentioned widgets when the React client is enabled. * We now show warnings when the Data Grid 2 and Combo Box widgets are missing, or their version is not valid for the generation of overview pages or data view content. * We now support the HTTP Method `PUT` in a consumed REST service (beta). * We updated the body context text editor to **Always editable** in a consumed REST service. * We added a banner in the **Body structure** tab to indicate if the edited body content matches the existing mapped structure (if one exists) for a consumed REST service. * You can now prevent published OData services from including a `@context` attribute in the response by default by changing the default behavior with a toggle. * The external entities dialog box now shows the service from which the entities originates, and has a **Show** button that navigates to the service. * We upgraded Swagger UI from 4.10.3 to 5.11.2. Runtime uses this to show and interact with the OpenAPI documents of published OData services and published REST services. (Tickets 208761, 208854) * For microflows published in OData services, Studio Pro now has a **Show** button for entity, list, and enumeration parameters and return types. The new button navigates to the entity or enumeration. * We made it easier to click connection points and to resize elements in the logic editors. * We created Java proxy classes for workflows to improve the user experience when user performs custom Java actions. * We improved microflow, nanoflow, and rule editor performance. * We now fail the workflow [multi-user task](https://docs.mendix.com/refguide/multi-user-task/), for which the required amount of users is more than the number of targeted users, during the user targeting phase. Previously it failed either during redeployment or when setting the user task outcome. * A workflow [user task](https://docs.mendix.com/refguide/user-task/) (having no state-change handler configured), which fails during the user targeting phase is now correctly persisted as being failed in the database. * We no longer set an anonymous user as the owner of a workflow, because it is temporary and will go away when the session ends. * We now filter out anonymous users for workflow user task targeting, since anonymous users cannot complete a user task. * We improved the error message that is shown when an anonymous user attempts to complete a user task. * We improved the way sequence flow arrows are drawn. * We increased the default BCrypt cost for new apps to 12. * We introduced several improvements to the External Database Connector: the editor size was increased to simplify writing larger queries; the editor now has an autocomplete feature, which lets you select tables and views; and the **Database** view is now organized by schema, which helps you focus on the relevant schema. ### Fixes * We fixed a [known issue](https://docs.mendix.com/releasenotes/studio-pro/10.7/#ki-expression-editor) where the new expression editor did not work well with non-ASCII characters. (Tickets 205072, 205761, 206502, 206632, 207386, 208264) * We fixed a [known issue](https://docs.mendix.com/releasenotes/studio-pro/10.7/#ki-crash) where Studio Pro suddenly crashed when using the new expression editor in combination with accessibility tools (for example, enabling the text cursor indicator). As a result, the accessibility cursor is not supported by the control anymore. (Ticket 205853) * We fixed an issue where restarting the leader node while follower nodes were still executing scheduled events would cause the leader node to fail startup. (Ticket 206827) * We fixed an issue where you were not redirected to the page you had initially tried accessing after logging in via a custom login page. (Ticket 205091) * We fixed an issue when an association property is configured with the same data source for selectable objects and source properties. (Ticket 205039) * We fixed a scenario when multiple sign-in dialogs were displayed after leaving Studio Pro running without any user interaction or working offline without any sign-in related user actions. (Ticket 205784). * We fixed an error when a font size in a Document Template had been set to 0. (Ticket 205807) * We fixed an issue where dates would be wrongly converted when selecting a date using the datepicker in a web app with its language set to Thai on iOS devices using the 'Buddhist' calendar setting. (Ticket 206988) * We fixed an issue where in the Swagger UI pages of published REST services and published OData services when using a `default-src` content security policy. The use of inline style on these pages would result in an empty page in the browser and a message on the console: *"Refused to apply inline style because it violates the following Content Security Policy directive: ..."*. (Ticket 208922) * We fixed an issue where a database connection that was closed from outside of the Runtime remained registered as active. (Ticket 207645) * We fixed an issue where **Send external object** action was failing to update the remote-key mapping when **Refresh in client** was turned off. (Ticket 206073) * We fixed an issue when sending a REST request using multiple headers with different casings resulted in an **Oops** dialog. * We fixed an issue where the JDK would not get installed while installing Studio Pro on macOS. * We fixed an issue when symlinks cannot be used as a path to the JDK and Gradle locations on macOS. * We fixed an issue where an empty module-level theme settings file caused an error. * We fixed an issue with editing nanoflow conditional breakpoints. * We fixed an issue that prevented Studio Pro from importing external entities from an OData service if multiple entity sets used the same entity type. * We fixed an issue in the macOS version that when a horizontal scrollbar was present in a multiline textbox, the text was not visible. * We fixed an issue where the parameter values from a Consumed REST service (beta) document are now escaped properly in the Send REST Request (beta) microflow. * We fixed an issue where the REST Connector simplified the response in such a way that it could not load the response data because of duplicate attribute names. * We fixed an issue where small microflow objects could not be clicked if they were underneath a flow. * We fixed an issue where logic editors failed to capture mouse events when dragging outside the window while creating or reconnecting flows. * We adjusted the minimum element size in the logic editors. * We fixed the output variable name Logic Bot generates for **Create list** and **Retrieve single from database** recommendations. * We fixed an issue where an *Unsupported specification version: 1.5* error was shown if mxbuild was used with the *--generate-sbom* flag. If you still encounter this issue then it may be solved by restarting Studio Pro to re-generate the *vendorlib-sbom.json* file. * We fixed an error when Git Config Option `core.autocrlf` is set to `input`. * We disabled dragging and resizing popups in the React client on mobile devices because it was causing undesirable behavior. * We fixed an issue in the workflows engine where a changed Targeted users setting that would result in no users being targeted is detected too late. * We fixed an issue where, if a parallel path containing a call workflow activity is removed from the workflow definition, the corresponding sub-workflow was not being aborted. * We fixed an issue in the workflows engine where a **Wait for timer** activity in a parallel split could hang when the timer expires while the workflow is Failed or Incompatible * We fixed an issue in the OpenAPI documentation page of published REST and published OData services for apps that use an application root URL with a subpath. These apps did not redirect correctly from the REST service to its documentation, and the documentation did not link to the right CSS file. * We fixed an issue that when a document was opened or created in Studio Pro, the document tab did not receive the keyboard focus. ### Deprecations * We deprecated the usage of slashes in bucket names for Amazon S3 storage. You can now use the new `com.mendix.storage.s3.ResourceNamePrefix` custom setting which value will be prepended to the key when retrieving or storing files from and to Amazon S3. ### Known Issues * Line endings in CSS files are not being handled properly, so when using [Revert All Changes](https://docs.mendix.com/refguide/using-version-control-in-studio-pro/) or performing other version-control operations, CSS files appear in the [Changes on Disk](https://docs.mendix.com/refguide/version-control-menu/#show-changes) dialog box. * Workaround: For details, see [this section](https://docs.mendix.com/refguide/troubleshoot-version-control-issues/#css-error) in *Troubleshooting Version Control*. * For some activities in the logic editors, the types of variables are shown as **Not set**. This is only a visual bug. (Tickets 205751, 207251) * In some cases, even if you are already logged in to Studio Pro, you might still need to click **Sign in** under the **MendixChat** tab to make MendixChat available for use. * 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.