9.23

Last modified: February 23, 2024

9.23.0

Release date: March 1, 2023

Go to Marketplace

New Features

  • We have released a new feature in beta named Machine Learning (ML) Kit. The ML Kit enables deploying a machine-learning model (built using a common ML framework and language) into Mendix Runtime.
  • We are continuously improving your Studio Pro experience, and to improve the overall development experience, we have been working on a complete new look and feel of the Properties pane. When you enable this new pane, you get an overhauled experience when editing your properties that gives you a good overview of what is going on while making it significantly easier to make changes. You are able to switch between Properties and Styling, so that you immediately see the properties you need to change. It is also a lot clearer to compare the settings between different items in Studio Pro. Try out the preview of the new pane now by enabling it in Preferences > New Features.
  • We implemented a lock/unlock workflow feature as two microflow activities. If a workflow is locked, then the workflow does not allow for new instances to be created. For more information, see Lock Workflow and Unlock Workflow.
  • We also introduced the workflow lock/unlock functionality to the Mendix Runtime API. You can now lock and unlock workflows through Java actions.

Improvements

Internationalization Improvements

Previously, when creating a widget, for example, its caption was set in English (US) and Dutch. This caused the following issues in multi-lingual applications:

  • When you were creating your app in English (US), Dutch texts were created “under the hood.” If you then decided to start translating your app into Dutch, it was unclear which texts had been intentionally translated and which had been generated upon creation.
  • When you were editing your app in a language other than English (US) or Dutch, you saw the default text between pointy brackets (for example, <Button>), because the text was not available in that language after creation.

Now, we only ever initialize the active language. Also, Studio Pro will no longer suggest Dutch texts, only English. (Tickets 76899, 151149, 152504)

Other Improvements

  • We added the option to define the return variable name for Java and JavaScript actions.

  • We improved the message that appears when one page loading supersedes another page. (Ticket 173586)

  • We added support for the language Tigrinya, Eritrea. (Ticket 176908)

  • Consumed OData services now support the use of OData 4.01 syntax to specify @count and @nextLink.

  • The index selector and the published OData key selector in Studio Pro now both respond to double-clicking.

  • In published OData services in Studio Pro, the security group is now hidden when app security is off.

  • Published OData services now take into account that AutoNumber attributes cannot be empty. That means that an AutoNumber attribute is a good choice for a key, and that Studio Pro will not suggest adding a required validation rule.

  • We improved the way Studio Pro turns singular entity names into plurals. This happens, for example, for the entity set name of a published OData resource. Studio Pro now initializes irregular plurals such as “Entities” and “People” correctly. It is still possible to change the value the Studio Pro comes up with to whatever you like.

  • We improved the grid for HTTP headers (in published OData services, consumed OData services, the Call REST activity, and the Call web service activity) and the grid for published OData attributes. They now ask for confirmation when you click Delete. The HTTP Headers grid now also allows for multi-selection so that you can easily delete more than one header.

  • We added a feature to export MxAssist Performance Bot recommendations to a CSV file.

  • MxAssist Performance Bot Best practice MXP011 has been extended to detect nested data views as well as list views.

  • We added a new option to the Edit > Find Advanced option to search for all pages with a page URL.

  • It is now possible to use exists expressions in XPath queries with external entities.

  • We added copy/paste functionality to the workflow editor.

  • Non-persistable entities can now be created entirely client-side as long as they have no virtual attributes or create event handlers.

  • We improved the output for the mx tool when it is used to find performance recommendations.

  • We cleaned up supported AWS S3 credential providers.

  • When using integrated security to connect to SQL Server, we now automatically set the authentication scheme to JavaKerberos when not running on Windows.

  • We improved the guessing of the attribute type that occurs when adding new attributes. Several names will now be guessed correctly, such as HouseNumber and Rate. Studio Pro also stops suggesting names after you have picked a specific enumeration.

  • We improved the handling of changes done to non-persistable entities so that they are only validated once. This should improve cases where a change has to be validated with an external service.

  • When sharing usage data is disabled, a Send report button is added to the dialog box shown when an unexpected error occurs. This allows you to send a report about the crash to Mendix.

  • When signing in with an untrusted certificate, Studio Pro now shows a dialog box asking if you want to accept the certificate. When this happened previously, you could not sign in.

  • We added a Work Offline button to the login dialog box shown on startup.

Fixes

  • We fixed a known issue that caused attribute widgets (such as a text box) to not trigger a consistency error if the attribute was not configured, which caused an error when deploying the app. (Tickets 177724, 178455, 178570)
  • We fixed an error where opening multiple pages consecutively upon the start of an app resulted in an infinite progress bar. (Ticket 76175)
  • We fixed an issue where an error occurred while running an app in which an XPath expression was used in a validation rule for a DateTime attribute. When this happens now, a consistency error is displayed. (Ticket 128395)
  • We fixed an issue where a reference selector with an XPath data source using a Constrained by condition incorrectly cleared its value if it was inside a data view listening to a widget and the selection of that widget changed. (Ticket 162340)
  • We fixed an issue with import mapping, where an object value from a parameter could not be changed. (Tickets 162408, 170669)
  • We fixed an issue where a newly created object displayed in the client could not be retrieved over an association in a microflow. (Ticket 170969)
  • We fixed an issue where pluggable widgets (such as Data Grid 2) with a microflow or nanoflow data source sorted an AutoNumber attribute alphabetically instead of numerically. (Ticket 172287)
  • We fixed an issue where the Repeats column in the Find Advanced results for scheduled events gave an incorrect result. (Ticket 172665)
  • We fixed an issue in external entities where XPaths combining not with an association resulted in an exception. (Ticket 172747)
  • We fixed an error that appeared when you clicked quickly on a tree control cell. (Ticket 172770)
  • We fixed an issue that caused an error in the runtime and the client if a pluggable widget was retrieving data over an association that was not accessible for the current user. (Tickets 173477, 173663)
  • We fixed an issue that occurred when copy-pasting an input widget into a page created using a page template, which triggered an exception. (Ticket 174252)
  • We fixed an issue where a text template with fallback text caused an error in the client if the data container of the template was a snippet. (Ticket 175898)
  • We fixed an issue that occurred when resizing the MxAssist Performance Bot configuration dialog box and the contents did not adjust correctly. (Ticket 176133)
  • We fixed an issue where the list view search did not work if an AutoNumber attribute was included in the search. (Ticket 176396)
  • The process of opening an app in Studio Pro is now more robust. We fixed an issue that occurred when opening an app failed and opening another app after that also resulted in an error, even when there was no problem with the second app itself.
  • We fixed an issue with the key selection form for published OData services. Previously, the Key field on the Edit published resource form incorrectly remained empty after selecting key attributes.
  • We fixed an issue that occurred when counting external objects for OData services that support query segment. This resulted in a POST request to the /$count endpoint, which was incorrect. Now, all count queries use ?$count=true&$top=0 (for OData 4) or ?$inlinecount=allpages&$top=0 (for OData 3).
  • We fixed a crash that occurred when updating the metadata of the Consumed OData Service editor and then browsing for a file on disk.
  • We fixed the sizes of the Caption and Validation Message fields in the New/Edit Validation Rule dialog box for Validation Assist.
  • We fixed an error that appeared when scrolling down the Find Results data grid.
  • We fixed an issue where the Synchronize Database dialog box was cut off at the bottom, making the dialog box’s buttons unreachable.
  • We fixed an issue that caused an association property of a pluggable widget to malfunction if it was linked to a data source and configured with more than one association step.
  • We fixed an issue in JSON structures where the JSON string could not be formatted using the Format button.
  • We fixed an issue in object ID generation that resulted in a NullPointerException when the database was not accessible.
  • We fixed an issue in the UI of the Call REST service activity where changing the HTTP method to GET did not clear the request section, so variables used in the body still appeared, as if they were being used by it.
  • We fixed an issue with the Retrieve workflow context microflow activity that occurred when the type of the workflow context object was a specialization of the workflow parameter entity.
  • We fixed an issue in the microflow editor where selecting the Go to page context menu item on the Show page activity resulted in a crash when no page was selected.

Deprecations

  • We deprecated methods only used internally in Mendix that had been exposed in the public Mendix Runtime API.

Known Issues

  • Opening or creating layout documents produces an “Oops” pop-up window.
  • Generating task pages for user tasks that have outcomes with captions defined on them result in outcome buttons with empty captions on the generated page.
  • M2EE Admin Console does not start when running from Eclipse.