9.4

Last modified: October 17, 2023

9.4.0

Release date: July 27, 2021

Go to Marketplace

New Features

  • We added the Switch to menu to the top bar of Studio Pro, which provides access to other parts of the Mendix Platform.
  • We introduced the new Synchronize unsynchronized objects mode as part of the Synchronize activity, which enables only synchronizing changed objects. This can greatly decrease synchronization time, as much less data will be synchronized to the device.
  • When you publish an OData service, you can now choose between OData v4 (recommended) and OData v3. Previously, published OData services were always publishing OData v3.
  • Published OData services with OData v4 now support querying for data using a POST request to /$query. This allows for queries of any size, regardless of URL length limitations.
  • A pluggable widget can now specify a Toolbox category in both Studio Pro and Studio. This makes it possible for a widget to be located in an existing category (such as Button widgets), or to define a brand new custom category (such as Maps widgets). For more information, check out the Toolbox Category section of the Pluggable Widgets API.
  • We added support for closing multiple pages in the Open page button and Close page button in web apps.
  • You can now directly close pages when using the Show page activity in nanoflows in your web apps.
  • We added more control to the startup flow of native mobile apps. Next to a page, you can now configure a nanoflow as a home page (for example, to show a setup wizard the first time an end-user opens the app). A nanoflow home page works similarly to how a microflow home page works for a web app. For more information, see the Setting a Nanoflow as a Home Page section of Setting Up Navigation.

Improvements

  • The date range search field of a data grid now allows the upper and lower bounds to be inclusive. (Ticket 119173)
  • We redesigned the user profile menu on the left side of the top bar so that it now displays the user’s custom avatar. It also displays the user’s full name, email, and useful links when clicked. The link to the Developer Portal has found a new home in the Switch to menu as Community.
  • With Atlas 3, we enabled design properties to be defined in modules. We now also support multiple modules that define options for the same design property (this previously showed a consistency error). The options will be combined into one list, in descending order of the UI module precedence. Please note that when duplicate options or toggle definitions exist, the one from the module with the highest precedence will overwrite the others.
  • We improved the behavior of pluggable widget properties that are linked to a datasource property that is not required. Any such linked properties are now automatically hidden and omitted from the props passed to the widget component if the datasource property has not been configured. If the linked property is marked as required, it is only necessary to configure it if the datasource property has been configured. This is also reflected in the typings generated by the pluggable widget tools starting in this version. For more information, see the Breaking Changes section below.
  • We improved the speed of the themesource compilation feature added in Studio Pro 9.0. However, this comes with a breaking change for themesource resource files.
  • We improved the reloading of styling in the client when editing the themesource SCSS files. The styling is now replaced directly in the browser, instead of reloading the page.
  • We now hide MxAssist Logic Bot suggestion points when the flow is too short.
  • We enhanced the mx tool utility with a show-version command to display the version of Studio Pro last used to edit an app.
  • We improved the interface of IMetaObject to return its attributes (meta-primitives) in the order as specified in the domain model. We made a similar change to IMendixObject so that now it returns its attributes (members) in that same order as well.

Fixes

  • We fixed a memory leak issue in repeating scheduled events. (Ticket 125660)
  • We added file management during the Subversion merge process to circumvent the known issue where merging a feature branch after conversion caused an error message to show.
  • We fixed an issue where an error was thrown on Android when you swiped past the last tab in the native tab container widget. (Ticket 117734)
  • We fixed an issue where pluggable widgets with multiple data sources were rendered multiple times (once for each data source) if they all started loading data at the same time. (Ticket 122505)
  • We fixed an issue that occurred when using high DPI display settings in the New Access Rules dialog box. (Ticket 123647)
  • We fixed an issue with empty attributes in the nanoflow debugger. (Ticket 124260)
  • We fixed an issue with filtering empty lists in nanoflows. (Ticket 125019)
  • We fixed an error that occurred when selecting thousands of items in a reference set selector. (Ticket 125605)
  • We fixed an issue where a snippet call referring to a missing snippet crashed during import or opening the app in Studio Pro. (Tickets 125920, 126205, 126506)
  • We no longer suggest adding module roles to Marketplace modules when adding a user role.
  • We added the location to some error messages about sequence flows in microflows.
  • We fixed an issue with external entities that occurred while determining whether an attribute was sortable where attribute x was considered non-sortable if there was a non-sortable attribute that had x in the name.
  • We fixed an issue in the MxAssist Performance Bot that caused duplicate usage locations to be displayed.
  • We fixed the MxAssist Logic Bot context menu for the second flow in a Decision object.
  • We optimized the MxAssist Logic Bot predicted request to the server.
  • We fixed an issue where Google API changes introduced problems for Android native app builds. For more information, see Update Needed for Android Native Mobile Apps.

Breaking Changes

Themesource Resource Files

In previous Studio Pro 9 versions, it was possible to reference a resource (for example, a background image) relative to a themesource SCSS file. This file was then copied and (if needed) renamed into the theme-cache and deployment/web folders.

This functionality will no longer be available from this version, as we could no longer support it aside the improvements made to increase the compilation speed.

If your app just uses Atlas 3.0, you do not need to do anything, and your app styling will keep working as before.

If you have custom styling that relied on this feature, change the styling as follows:

  • Move the resource to the themesource/{module}/public folder (introduced in version 9.3.0)
  • Use the path inside this public folder as the URL in the SCSS file

For example, assuming resources/company_background.png exists in your module’s public folder, you can use this in the SCSS via background: url("./resources/company_background.png");.

Other Breaking Changes

Pluggable widget properties that are linked to a datasource property are now omitted from the props passed to the widget component if the datasource property has not been configured. Previously, these properties could be configured to use the surrounding data context, as if they were not linked to a data source property at all (though this was not reflected in the typings generated by the pluggable widget tools).

Deprecations

  • We dropped support for SQL Server 2016 due to it no longer being supported by the vendor and increased the compatibility mode of Azure SQL to 140 to reflect this.

Known Issues

  • In the Properties pane, you cannot copy, paste, or delete using keyboard shortcuts.
  • It is not possible to use Ctrl + Tab to switch between open tabs unless you have already selected a tab.
  • There is an issue with the exporting of user metrics that results in the User Accounts and Login Sessions graph being empty for apps deployed to the Mendix Cloud.