Last update: Edit


Release date: May 26th, 2021


New Features

  • We added new notification pop-up windows that appear when running and publishing apps from Studio Pro.
  • We added a badge to the MxAssist Performance Bot pane to show the number of recommendations.
  • We implemented the functionality to revert committed changes for Git projects.
  • We added a feature to the Call REST service activity. When modeling a form data request, you can now specify HTTP headers for the parts.
  • We added the isSyncing() client expression function to check if there is synchronization in progress.


  • We added support for the following languages: Amharic, Ethiopia; Armenian, Armenia; Dari, Afghanistan; Farsi, Iran; Farsi, Tajikistan; Mongolian, Mongolia; Nepali, Nepal; Pashto, Afghanistan; Somali, Somalia; Swahili, Kenya; Swahili, Rwanda; Swahili, Tanzania; Swahili, Uganda; Tagalog, Philippines; Urdu, Pakistan; Urdu, India. (Tickets 108550, 116074)
  • We added quick navigation from a menu widget to a navigation document.
  • We prevented unnecessary calls from the domain model editor.
  • We improved performance when performing purely visual changes such as dragging entities or microflow activities.
  • We added the qualification “Only apply if your use case meets the one described in the documentation” to the pop-up text of the MxAssist Performance Bot MXP003 and MXP007 recommendations.
  • We improved the MxAssist Performance Bot MXP007 recommendation by limiting it only to attribute types that may benefit from adding an index.
  • We implemented performance optimizations for the MxAssist Logic Bot when it is used with large apps.
  • We prevented overlapping ghost indicator connection points regarding the MxAssist Logic Bot indicator in the microflow editor.
  • We simplified the MxAsisst Logic Bot suggestion point to improve the user experience and reduce performance overhead.
  • We added support enabling you to preview any web-based navigation profile on an actual device.
  • You can now upload a local app to your private Git repository even if it already has content (for example, README files) as long as there are no conflicts.
  • You can save your user credentials for Git private servers permanently by selecting Yes in the Sign In dialog box. The credentials stored never expire, but they might be removed at the first unsuccessful connection attempt, which means you will need to enter them again.
  • We introduced an option to allow you to decide when the screen reader should announce a form input widget as required. (Ticket 104150)
  • We made the security checks performed when associating objects more consistent. Previously, creating associations to inaccessible objects was permitted in some cases. Now, this is not allowed. The com.mendix.core.StrictReferenceChecks custom runtime setting can be set to false to restore the old behavior.
  • When a pluggable widget explicitly requests that no items from ListValue are passed to it by calling setLimit(0), we now avoid triggering a network request for the underlying datasource. Using this mechanism, pluggable widgets can build lazy loading features that do not fetch data until some condition is met.
  • You can now use a database source for the selectable objects of an input reference set selector.
  • We upgraded the Microsoft.OData.Edm and Microsoft.OData.Core dependencies from 4.6.1 to 4.8.3.
  • We now assign a default caption and workflow name for you so that it is easier to keep them in sync with the document name.
  • We enabled the owner, changedDate, changedBy, and createdDate attributes in the WorkflowContext entity.
  • We now prevent starting a workflow using Call workflow if its WorkflowContext entity is not committed.
  • We introduced extra runtime checks for the Complete task action that prevents the completion of tasks in invalid states.
  • We removed obsolete app theme settings.


  • We fixed a permissions issue with file deletion. (Tickets 116230, 121344)
  • We fixed an issue where the Ctrl + Enter key combination did not close pop-up windows or dialog boxes. (Tickets 116222, 120182)
  • We fixed an issue where you could not drag an entity from the Data Hub pane to the domain model editor when Studio Pro was displayed on a secondary screen. You can now do that again.
  • We fixed the issue with Full Screen mode not being available.
  • We fixed an issue where the page title was incorrect when the language was changed before reloading. (Ticket 118664)
  • We fixed an issue with the taskbar icon not blinking when a breakpoint was hit while debugging an app. (Ticket 120326)
  • We fixed an issue where running an offline-first app in a cluster produced warnings when trying to remove a non-existent session on another node. (Ticket 108018)
  • We fixed an issue that occurred with a microflow containing a Show page activity that was called from a nanoflow on pages that were accessible through an offline profile. (Tickets 119266)
  • We fixed an issue that occurred when a conditional editability expression referenced a non-existent attribute when the widget was non-editable due to its parent container (for example, a list view or data view). (Ticket 120665)
  • We now additionally export documentation for Java actions, JavaScript actions, and nanoflows. (Ticket 101787)
  • We fixed an issue where selecting an icon using the keyboard was not possible after filtering. (Ticket 104249)
  • The file manager widget when configured with Type > Upload no longer causes an unexpected error when there are validation errors in certain scenarios. (Ticket 120116)
  • We fixed an issue with the reference selector widget when it contained conditional editability where it triggerred a microflow or database data retrieval twice. (Ticket 104322)
  • We fixed an issue where you saw an error message when pressing Shift + Enter at the sign-in screen. This key combination made the browser control attempt to open a new browser window, and that failed. This key combination no longer leads to an error. (Ticket 119314)
  • We fixed an issue where a read-only attribute was shown as writable when using specializations. (Ticket 111341)
  • In some scenarios, the loading bar was not dismissed. This is now fixed. (Ticket 116559)
  • When an XPath constraint used the %CurrentObject% token in a nested constraint on a path over multiple associations, this resulted in an error in the client. This has been fixed. (Ticket 119134)
  • We fixed the MxAssist Performance Bot MXP006 recommendation so that converting microflows to nanoflows should NOT allow a call from a grid action button.
  • A change to a page now ultimately triggers an MxAssist Logic Bot update for a context change.
  • We fixed an issue in the domain model where an error message was shown when exposing an entity as an OData resource.
  • We fixed an issue where resolving a conflict using mine did not hide the (orange) conflict status bar in editor tabs and the editor was not reopened when the conflict resolution was active when resolving the whole document using mine was used.
  • We fixed an issue that occurred while changing the attribute type between string and number in the text box widget, which showed the validations from the previous selection.
  • In some situations, the Update action in the Update Widgets tool did not update the widget, although it was showing that it had the latest version in the overview. This has been fixed.
  • We fixed an issue for published OData services where adding an entity with owner or changed-by associations to a service that had the user entity published resulted in an exception.
  • We fixed an issue where exporting a module without the themesource folder resulted in an exception.
  • We fixed an issue where the Buddhist calendar did not work properly in Android mobile browsers. Now, Android mobile browsers will show the Mendix app calendar instead of the native calendar.
  • We resolved an error that occurred when installing Studio Pro because an additional file could not be downloaded.


  • Starting with version 9.4, we will drop support for Microsoft SQL Server 2016, which will no longer be supported by its vendor.

Known Issues

  • It is not possible to use Ctrl + Tab to switch between open tabs unless you have already selected a tab.
  • There is a potential memory leak in scheduled events. If the action does not commit all of its changes, then the uncommitted objects will not be garbage-collected. For repeating actions, this can cause memory issues in the long run.
  • When you convert an app from Studio Pro 8 to 9 and merge a feature branch that has already been converted, you might see an error message when committing stating that the file inside the theme or themesource folder already exists.
  • When you update a consumed OData service with a new version from Mendix 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.