Last update: Edit


Release date: October 19th, 2021



  • We fixed a known issue in the access rule dialog box where the selected access rights were lost when scrolling through the list. (Tickets 131581, 131605, 131961, 131976, 132074, 132080)
  • We fixed a known issue where the main line of a Git project was incorrectly determined. This also fixes the branch switching functionality in Branch Line Manager.
  • We fixed a known issue that occurred when publishing updatable OData resources. Clients could use these to update other objects that had some of the the same attributes, but only when the current user had all the privileges to do so.
  • We fixed an issue where a list view failed if attributes of an associated entity were retrieved and two objects of the main entity were linked to the same object of that associated entity. (Ticket 126507)
  • We fixed a security vulnerability regarding file caching. (Ticket 126829)
  • We fixed an issue where selecting a page of the reference selector did not work properly for specialized entities when the user had no access to the generalized entity. (Ticket 128755)
  • We fixed an issue that occurred when retrieving data for a data view listening to a list view. (Ticket 129494)
  • We fixed an issue where there was a significant lag in Studio Pro when a background error check was running. (Tickets 131412, 131591)
  • We fixed an issue where database synchronization failed when migrating or copying a database from a Studio Pro version between 8.7 and 8.12 to a Studio Pro 9 version.
  • We resolved some issues with button focus and the handling of the Tab key in the new Open App dialog box.
  • We improved the branch line names that are displayed in the title bar and recent apps list.
  • We fixed an issue where the Branch Line Manager incorrectly showed the branch lines of an uninitialized app.
  • We fixed an issue where Studio Pro hung when using Find then subsequently Find Advanced.

Breaking Changes

  • It is not possible to create and delete branches for Team Server Git version apps downloaded in Studio Pro 9.6.0. You are also not able to see information about Mendix Studio collaboration in the Studio Pro UI.
    • Workaround: Re-download the app using Studio Pro 9.6.1 or above.

Known Issues

  • 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.


Release date: September 28th, 2021


New Features

  • We have made the Change workflow state microflow activity available, which allows you to add, abort, restart, continue, pause, and resume actions for a workflow and control workflow instances.

  • As of this release, it is possible to start apps on the Git edition of the Team Server through Studio Pro. For more information on how to enable this feature, see Preferences. This feature is currently in Beta.

Updated Studio Pro Look & Feel

We are continuously improving your Studio Pro experience, and we made a big step with version 9.0 to modernize the UI. This release contains further major improvements.

When you start Studio Pro, there is a new UI to make selecting and managing your versions more intuitive and simpler. We also have a redesigned place for your apps.

Next to that, we did a full overhaul of the Toolbox. Besides the current list view to display widgets, microflow actions, and other items, there is now a tile view which shows larger icons. This makes it easier to recognize the actions and adds more consistency with Mendix Studio. We have also revised the widget categories of the Toolbox in the page editor, removing the suffix “widgets” and aligning the naming with Mendix Studio. Finally, for building blocks, the tile view will show a preview of the building block, which gives a better impression of it. In your Toolbox, you can easily switch between the list view and the tile view based on your preference.

Finally, we have redesigned the App Explorer with a new visual hierarchy that will help you find your documents even faster and that provides a modern and consistent look and feel.

OData & Data Hub

When you publish an OData service, you can now indicate that you allow clients to update attributes.

When you use external entities to consume an OData service, you can now change attribute values and send those values to the publishing service. This works for published OData services that support updates.

The Data Hub pane now shows for every entity which CRUD (creatable, readable, updatable, deletable) capabilities the entity supports. It will mark a capability as highlighted when the combination of the data source and Studio Pro supports it. As of this version, that means readable and updatable, but we will add more in upcoming releases.

Custom Metrics

The Core.Metrics API and corresponding microflow activities are now available.

Whether you want to measure usage of parts of your app or go as far as implementing usage-based invoicing, now you can! Set up incrementing counters or use scheduled events for a recurring absolute count and keep track with minimum effort.

Data for your custom metrics can be retrieved from Micrometer, a metrics instrumentation library, and imported into various tools such as Datadog or Prometheus. Set up filters for different registries to ensure specific data ends up in the right place.


  • We have improved the speed of garbage collection by up to 100x in some cases. (Ticket 125380)
  • You can now use the tab container widget inside a containment or repeatable containment pluggable widget.
  • You can now drag a microflow from the App Explorer into the editor and it will create a new system task automatically.
  • We renamed the Image and Image Viewer core widgets to Static Image and Dynamic Image, respectively.
  • We fixed an issue in the runtime of a publised REST service where an unparsable header resulted in a “500 internal server” error. It now returns a “400 bad request” error.
  • You can now define an error handler microflow for consumed OData services. When the service returns a failure or does not return a response at all, this microflow decides which message to show the user.
  • We now show which services are validated in the Data Hub pane. This corresponds to the services that are marked as validated in the Data Hub Catalog.
  • We now have a redesigned tree style that is already active in the App Explorer, Toolbox, consumed web service page, and general selectors.
  • We now execute queued tasks in a context equivalent to the one in which they were created. Executing in the system context is deprecated, and a one-way project setting has been introduced for this.
  • We added the reload() method to the List Values API to fetch the underlying data source again.
  • We now show an icon on microflow and Java action calls when they run in the background.


  • We fixed a known issue where you could not use Ctrl + Tab to switch between open tabs unless you had already selected a tab.
  • We fixed a known issue with the exporting of user metrics that resulted in the User Accounts and Login Sessions graph being empty for apps deployed to the Mendix Cloud.
  • We fixed an issue in the Marketplace where the Show filter setting was not taken into account when searching. (Ticket 93566)
  • We fixed a bug in native mobile where list views with on-click events required two taps to trigger the event when the keyboard was visible. (Ticket 120695)
  • We fixed a NullPointerException that occurred when the same project MDA was deployed with reduced permissions in SQL Sserver. (Ticket 122465)
  • We removed the option to use the Japanese (Imperial calendar) language in new apps, as it was not supported by our dates library. (Ticket 123609)
  • We fixed an issue where opening the edit dialog box for a cross-module association threw an error when one of the associated entities was deleted. (Ticket 127847)
  • We fixed an issue that occurred on a reference selector that used a microflow for the selectable objects and contained an explicit parameter mapping to a page variable. (Ticket 128047)
  • We fixed the failing synchronization that occurred when a one-to-one or many-to-one association was renamed to an existing association that was removed. (Ticket 128052)
  • We fixed an issue where calling a microflow failed if $currentUser/System.owner was used in an expression. (Tickets 128550, 128870)
  • We fixed an issue where a list view widget did not update the listening widgets when the item selection changed through key presses. (Ticket 129128)
  • We fixed an issue in the JSON exporter where a “null” string was exported as a JSON null value. (Ticket 129742)
  • We fixed an issue where you could not commit because of a security error. (Ticket 129493, 129605, 129902)
  • We fixed an issue where the Call microflow task in the workflow editor lost values when a new parameter was added to the underlying microflow.
  • We fixed an issue where a role-based conditional visibility was ignored for the tabs of the tab container widget in native apps.
  • We fixed an issue where adding an association to an external entity from the Association tab of that entity gave an error message.
  • We fixed an issue where MxAssist Logic Bot displayed slightly stale recommendations if calls to a microflow were recently added or removed from another microflow.
  • We fixed an issue in the MXP006 MxAssist Performance Bot recommendation to convert a microflow to a nanoflow in which the microflow being converted directly used a variable that was not available when converted to a nanoflow.
  • We fixed a crash that occurred when opening an uninitialized app from the Most Recent apps list.
  • We fixed an issue with range validations in which a bound was based on an attribute. If either the attribute or the range bound attribute was of type Decimal and the other was of a different numeric type, the validation always failed.

Breaking Changes

Modifications to the Workflow Data Model

We introduced workflows as a Beta feature in Studio Pro 9.0 and have received great feedback from our community. You were eager to test it out and provide us with your point of view on how to further improve the functionality, and we have made improvements in this release. For information on how to migrate the existing apps with workflows, see Migrate Workflow Apps to Mendix 9.6.

System Module Changes
  • WorkflowInstance entity is renamed to Workflow.
  • WorkflowTaskDefinition is renamed to WorkflowUserTaskDefinition.
  • All related associations are renamed.
  • WorkflowAdministrator user role is removed.
  • The WorkflowContext, SystemTask, WorkflowTaskInstance, and WorkflowVersion entities are removed.
  • You are now able to create specializations of the Workflow and WorkflowUserTask entities.
Workflow Design Changes
  • Each Workflow now requires its own specialization of the Workflow entity.
  • Workflow context is now a regular entity that has to be associated to the Workflow entity.
  • Each user task now requires its own specialization of the WorkflowUserTask entity.
  • Security for the Workflow and WorkflowUserTask entities are now configured at the entity level.


  • We will drop support for PostgreSQL 9.6 after Studio Pro version 9.8. The exact date will be coordinated with migration of our Mendix Cloud environment to a newer version of PostgreSQL.

Known Issues

  • 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.
  • In the Properties pane, you cannot copy, paste, or delete using keyboard shortcuts.
  • There is an issue with the updatable (write) capability in published OData services that allows clients to change the attribute values of other entities if they know the IDs of the objects and their credentials give them entity access.
  • The main line is incorrectly detected when a branch other than the default branch is downloaded. This bug also broke the check to determine if a branch was already present on disk, causing it to be re-downloaded from the version control server instead of being opened when switching branches in the Branch Line Manager.
  • When you are configuring an access rule and you scroll or resize the dialog box, the selected values in the drop-down list in the grid do not show the selected text anymore, although the the values are still selected.