10.5

Last modified: February 22, 2024

10.5.0

Release date: November 28, 2023

Go to Marketplace

New Features

Visual Builder for Database Constraints

We have added a new visual editor for writing XPath constraints. The Builder is an easy-to-use and intuitive tool for quickly developing the most common database constraint use cases without having to learn and write XPath. The Builder is currently in beta.

You can open the new visual builder in the Edit XPath constraint dialog box by clicking Builder (beta) (and also switch back to the XPath expression editor by clicking XPath expression). The Builder can also be made the default editor via Edit > Preferences > New features.

Some advanced XPath features are not yet supported by the Builder. For those cases, a message is shown stating that the XPath constraint contains advanced features and is not yet supported.

Along with the introduction of the new visual Builder, we have also taken the opportunity to combine the Database and XPath data sources under the Database data source.

Version Control Using Rebase When Combining Changes

We have introduced Rebase as the default action for combining local changes with changes on the server. This is an alternative to making a Merge commit. Using Rebase results in a simpler commit history, as all commits are made sequentially.

You can choose how to combine your work with the server state every time you interact with the server. Whether you are making a commit or performing a pull or a push, Studio Pro detects if you are behind the server and lets you choose how to proceed. Mendix recommends using Rebase in most scenarios, but you can adjust the default with a user preference if needed.

For more information, see Combining Changes and Conflict Resolution.

Other New Features

  • We added the option to use an Object type decision and the Cast object activity in nanoflows.

  • We added a new Retrieve workflows microflow activity that enables retrieving all the System.Workflow objects that are associated with the provided workflow context object.

  • You can now use the length expression with list variables in both microflows and nanoflows.

  • We introduced a new attribute to the System.Image entity that is known as EnableCaching, which can be used to enable or disable image caching. This attribute’s default value is set to True.

  • We added the option to change the default URL prefix /p/ for page and microflow URLs.

Improvements

MxAssist Logic Bot Improvements

  • MxAssist Logic Bot in the new modern logic editors (beta) now does the following:
    • Parameterizes a decision for a rule that returns a Boolean or an enumeration.
    • Excludes recursive calls for calling microflow call actions, nanoflows, and rules (consistent with the microflow call action).
    • Parameterizes for Create list activities and shows the available entities.
    • Supports adding all case flows for an enumeration decision (including setting the case on a sequence flow that has no case value).
    • Always includes the recommendation to retrieve the first object from the database for a given entity as well as the unconstrained recommendation.
    • Uses Create {entity} object instead of just Create {entity} in the menu text.
    • Uses just the exposed name without a prefix (via the Java action call, JavaScript action call, and Microflow call activities) in the menu text for calls to exposed documents.
  • MxAssist Logic Bot in the new modern logic editors (beta) now has the following:
    • A decision in the safe list for rules.
    • Improved support for matching microflow call parameters to available variables.
    • Improved support for matching Java action call parameters to available variables in addition to simplified sorting.
    • Improved menu text for the List operation activity that is more consistent with the List operation properties form.

Other Improvements

  • When using Oracle, the maximum length of names of database objects like tables and indexes has been increased to 128. (Ticket 200714)
  • We renamed the XPath data source radio button label in the Data Source tab for widgets to Database.
  • The metamodel is now loaded in parallel during app startup. This should make your app startup slightly faster in cases of high network latency.
  • We improved the interaction of app opening and closing with the background syncing of Java dependencies.
  • An app can now publish a REST service on the URL prefix ws/ or odata/, provided it has no published web services or published OData services, respectively.
  • We improved the data type selection for published REST operation parameters. Body parameters cannot have a primitive data type and query (choosing these values would lead to a consistency error, anyway), and path and header parameters can only have primitive data types.
  • Studio Pro now detects when an external date/time attribute that represents only a date has been localized and gives a consistency error.
  • We introduced a consistency error for associations that are traversed from child to parent in microflow and nanoflow expressions. This was not prevented before, but it resulted in a Mendix Runtime exception.
  • The UI of published OData services now consistently refers to published entities as “published entities” (as opposed to “published resources”).
  • We improved the Go to functionality by excluding Marketplace modules and excluded documents from the search by default. Marketplace modules and excluded documents can be included in the newly added filter options.
  • We improved the regeneration of outcomes in workflows when enumerations or enumeration values are deleted.
  • For pluggable widgets with the system property label, you can now use the setLabel attribute in the association and attribute properties to automatically set the widget’s label in Studio Pro.
  • Best Practice Bot now saves its settings in a more reliable way upon closing an app. This may help with larger apps.
  • We changed the icons for and the background color of loops in the microflow, nanoflow, and rule editors.
  • We updated the bundled JDK to version 11.0.20.1.

Fixes

  • We fixed an issue where the scroll container widget had two scroll bars in some cases. (Ticket 187605)
  • We fixed an issue where the LastLogin attribute was not readable when it should have been. (Ticket 192759)
  • We fixed an issue where using the System.changedBy or System.owner association in an XPath constraint variable resulted in an error during deployment (for example, [MyFirstModule.Order_User=$currentObject/System.changedBy]). (Ticket 197570)
  • We fixed an issue in consumed web services where making requests with attachments failed due to a missing Content-Transfer-Encoding header. (Ticket 199235)
  • We fixed an issue where negative numbers were not allowed in XPath constraints. (Ticket 200357)
  • We fixed an issue in the metadata of published OData services using OData v4. (Ticket 200743)
  • We fixed a freeze of the UI that occurred while trying to synchronize managed Java dependencies in the background. (Tickets 200938, 201025, 201225)
  • We made the following fixes for MxAssist Logic Bot in the logic editors (beta):
    • The generic recommendation for the Create variable activity no longer incorrectly creates a Change object action.
    • The generic recommendation for the Show message activity no longer incorrectly creates a Show page action.
    • We fixed the sorting of Microflow call activity recommendations.
    • We fixed the output descriptions of the aggregate list activity.
    • We fixed the updating of loop contents while the loop is being dragged.
    • We fixed an issue where the initial menu was missing its first item.
    • We removed constraint that caused the Delete object activity recommendation to exclude some variables according to their type.
    • Applying a List operation recommendation now creates the List operation with its variable set.
  • We fixed an issue in the Entity dialog box where one-way navigable associations did not appear in the list of associations for the child entity, which allowed them to be added again.
  • We fixed an issue where an “Oops” pop-up window appeared when trying to generate a value for an entity retrieved via a one-to-one association.
  • We fixed an issue where validation rules were missing the assigned attribute when copying and pasting entites between modules.
  • We fixed an issue where inherited attributes from a generalization could not be used in a URL template.
  • We fixed an issue where a URL template using the shorthand notation {Entity} led to a malformed URL in the client.
  • We updated the list of valid time zone codes displayed in the Mendix Runtime Settings dialog box.
  • We added a consistency check for invalid time zone codes.
  • We added a critical warning during startup in case the time zone code in the model is not recognized by the running JVM.
  • We fixed the snap-to-object behavior in the new modern logic editors (beta) that occurs when the dragged object starts inside of a loop.
  • We fixed an issue where items in the top bar of the logic editors (beta) were selectable.
  • We fixed the location header in responses of POST calls in published OData services so that it now has a URL-encoded value.
  • We changed the servlet and web socket API dependencies for Java actions. We replacedjavax.servlet.servlet-api.jar with org.eclipse.jetty.toolchain.jetty-servlet-api.jar, and we replaced javax.websocket.websocket-api.jar with org.eclipse.jetty.toolchain.jetty-javax-websocket-api.jar.

Deprecations

  • We dropped support for PostgreSQL 11, as it is no longer supported by the vendor.

Breaking Changes

Known Issues

  • A finished parallel split branch that is removed from a running workflow instance wrongly leads to a versioning conflict.
  • Line endings in CSS files are not being handled properly, so when using Revert All Changes or performing other version-control operations, CSS files appear in the Changes on Disk dialog box.
    • Workaround: For details, see this section in Troubleshooting Version Control.