Mendix Release 10.21 – AI AI AI, boosting developer productivity

The 10.21 release is the last Mendix 10 version in which we will do large updates. This is so that we can fully focus on stability and quality for the coming LTS in June. And wow, we made it count with this release! Powerful Maia updates, generating pages from designs/prompts etc., explaining logic and using Maia for story generation. Working with data is now much more powerful and simpler with updates to View entities, and page building is hugely simplified with local variables. Connecting to REST APIs is now faster with the OpenAPI import. Stay in control with Software Composition GA, and the improved unit testing module. And much more.

Mendix AI Assistance (Maia)

We continue to innovate, and this month contains some exciting AI updates.

Maia Page Generation

Have you ever wished you could turn your UI designs into functional Mendix pages with just a few clicks? Or create a page simply by describing it? Our new Maia Page Generation, now in public beta, is bringing these possibilities closer to reality.

With Maia Page Generation, you can create pages by uploading an image of a design (like a Figma mockup or screenshot) along with a descriptive prompt (optional). The AI then generates a Mendix page based on this input. You can also use prompts without an image to describe and generate pages from scratch. Maia Page Generation integrates with your existing domain model, meaning it detects which input widgets it should link to which attributes and sets up the data bindings, saving lots of time.

To try this feature, first activate it in the preferences: go to “New features” > “Maia” > “Enable page generator (experimental)”. Then, open a page and click “Generate page” in the toolbar. This will open the Maia chat, which lets you upload an image with a prompt. Note that currently it will replace any pre-existing content.

As this feature is still in experimental phase, it has several limitations. We’re actively working on expanding its capabilities in the coming months. For a complete list of current limitations, please refer to our documentation.

Maia Explain for logic documents

As developers, we’ve all been there: Your app model contains some microflows someone else built, and you want to understand the inner workings of these complex microflows quickly. This is where the new (Experimental) Maia Explain feature comes into play. It quickly summarizes what a microflow or nanoflow does, then shows the inputs and return values and the main technical highlights. You can even ask follow-up questions for different explanations.

The advantage is that with Maia Explain you can quickly comprehend the essence of complex microflows when there is no formal documentation available yet. And you can use it to create high quality summaries that can be used as microflow or nanoflow documentation.

Maia Story Creation in Epics – Public Beta

Crafting high-quality user stories can be time-consuming and challenging. With Maia you can generate clear, structured, and actionable user stories in seconds—so you and your team can focus on building great applications.

Unclear user stories lead to misunderstandings, rework, and delays. Ensuring consistency and alignment with agile best practices is essential but often requires significant effort.

Maia Story Creation helps Product Owners and teams generate well-defined user stories with minimal effort. Maia ensures clarity, consistency, and alignment with agile principles—streamlining the refinement process.

  • Improved clarity – Ensures all team members have a clear understanding.
  • Increased efficiency – Saves time by speeding up story creation.
  • Better outcomes – Leads to more accurately implemented features.

Try Maia Story Creation in Epics today and experience a smarter way to write user stories!

Studio Pro

Variables for pages and snippets

At Mendix, we are always looking to shorten the time from idea to outcome. Variables for pages and snippets does exactly that. It reduces several steps and thinking when building pages while keeping your models simpler.

Like parameters, developers can define variables for pages and snippets, which can be used in the same way as attributes on widgets, allowing users to view and edit their values. The variables can have a default value based on page parameters and expressions. Also, they can be passed to microflows and nanoflows as parameters or used in expressions including conditional visibility and editability.

With this feature, developers no longer need the help from a non-persistent entity, microflow, or data view to get the job done. Just create the local variables and use them in your widgets, saving precious time and brain capacity. For example, you can use this to easily create a search form, a login page, or a simple switch to show/hide widgets.

Supporting text: No data view and non-persistent entity is needed to create a login page.

So, say goodbye to PageHelper objects. Variables are here to simplify your app modeling!
This is based on an upvoted idea from Marius van der Knaap submitted to the Mendix Community. Thanks, Marius!

File Uploader improvements

We are introducing version 2 of the File Uploader widget. The key update in v2 is that the widget now comes preconfigured with necessary data sources and actions. When placed inside a data view with a file upload context, it works immediately without additional setup, simplifying the integration process for developers. This builds upon recent improvements such as improved file and image creation handling with multiple files, a configurable timeout setting, and a read-only mode. Note that v2 requires a minimum Studio Pro version 10.16.

Mendix Unit Testing Module update

Unit testing is an essential part of ensuring that your Mendix application is reliable, stable, and meets the requirements. By
writing tests for your microflows and custom Java actions, you can catch bugs and regressions earlier in the development cycle,
provide confidence in your microflow logic and maintainability.

We’re updating our unit testing module to make it easier for you to write and run unit tests for your microflow logic and custom
Java actions. Our updated unit testing module now includes several new and improved features:

  • •A clear and concise unit test report that shows the test results and test failure details visually in one overview.
  • The report now also supports the evaluation of all assertions in a test, making it faster to find all failing assertions in one run.
  • The Assert and ReportStep logging activities are now available in the Microflow toolbox, so you can get started right away
  • Unit tests are now by default disabled on production environments, making sure you can’t run them by accident.

These enhancements will help you create and run tests more efficiently, saving you time and reducing errors.
The new Unit testing module can be downloaded from the Mendix Marketplace.

Reviewing application security with the Security Overview

Ensuring your applications are not only reliable and stable but also secure is crucial. Mendix offers robust settings that allow you to control user access to data, pages, and logic within your application. These settings provide comprehensive control over your application’s security.
For larger applications, managing security can be a significant responsibility, as mistakes can have extensive consequences. To address this, many customers have implemented security review or auditing processes to maintain application security during active development.

To simplify security reviews, we introduced the security overview as a public beta feature in version 10.18. We are now excited to announce that the security overview has been finalized and recommended for use by all users.

The security overview enables reviewers to see all security-related aspects in a single report, making security reviews straightforward. It offers the following capabilities:

  • Displays all access rights as they apply to application user roles, automatically resolving the mapping between module roles and application user roles.
  • Shows whether a user role is associated with the anonymous user or System.Administrator
  • Organizes access rights by modules for structured review.
  • Summarizes entity access rights in a convenient table, highlighting which attributes have read and/or write access and under which XPath constraints.
  • Includes microflow, nanoflow, and page access in the same overview.
  • Allows exporting the overview to Excel for review outside of Studio Pro.

The security overview is accessible via the App menu in Studio Pro once Security is set to production. Read more about it in our documentation.

Maintain entity access rules in Style

Entity access rules are fundamental to the security of Mendix applications, defining which data users can access. This release introduces a significant upgrade to the editor for access rules, offering several key improvements:

  • Comprehensive overview: View all member access rights directly from the entity dialog.
  • Effortless adjustments: Modify access with a single click.
  • Streamlined duplication: Easily refine access rules into more specific and secure ones.

These enhancements make managing access rules simpler and more efficient, ensuring your Mendix applications remain secure and user-friendly.

The new editor, previously available in public beta, is now accessible to everyone. Applications upgrading to Mendix 10.21 will automatically use the new editor. We plan to phase out the old editor in Mendix 11.

Typescript Extensibility Public Beta

It is now possible to create extensions for Studio Pro using TypeScript and Javascript, which makes it easier for developers to build extensions. Extensions empower ISV’s, companies, partners, customers and developers to extend and customize the Studio Pro experience. With this new capability, developers can build tailored Studio Pro Extensions to enhance productivity, build in tailored analysis, and checks, automate workflows, seamlessly with your development process. Think of extensions that enable bespoke governance tooling, better product integrations, or anything else you can think of. Access the API via NPM now and check the documentation to start building!

Pluggable widgets API: Primitives to logic

Often there is a need to pass data from a pluggable widget to logic. The current approach requires developers to use an attribute of a surrounding data view, but with this addition, no more.
It is now possible to pass primitives values directly to an action when calling logic. The widget can declare in the widget XML which variables it will provide for an action. These variables can then be used when configuring the expression for the arguments of a nanoflow or microflow.

This will make it much simpler for your widget users to use your widget as no surrounding dataviews and (non-persistent) entities are needed.

For more information see the documentation.

Java support

At Mendix, we are dedicated to keeping your applications up to date to maintain their reliability, stability, and security. With the release of Mendix 10.21.0, we are upgrading all applications to use Java 21. That means that older versions (11 and 17) can no longer be used. This upgrade allows us to enhance several critical libraries and ensures long-term support for the Java Actions you develop today.

Key considerations for migrating to Mendix 10.21 or later:

  • Java 21 is required: When migrating an application using Java 11 or 17 to version 10.21 or later, a consistency error is shown. This error is resolved by updating to Java 21, either by right-clicking the error or by going through the runtime settings.
  • Pre-migration update: It is advisable to update to Java 21 before migrating to Mendix 10.21 or later. Java 21 has been available since Mendix 9.24.23. We show deprecation warnings in all currently supported versions to raise awareness.
  • JDK installation: Studio Pro will automatically install JDK 21 when you install Mendix 10.11 or later.
  • Deployment: Mendix public cloud environments are already updated to support Java 21. For on-premise deployments, please ensure that Java 21 is installed in your environment before redeploying your updated application.

React client enabled by default for Mendix starter apps

The React client was introduced in Mendix 10.18 to enhance performance and future-proof all Mendix applications. You can read more about the benefits of using the React client and how to migrate your application in our documentation.

With this release, the React client will be enabled by default for all new projects that are based on the Mendix blank apps so customers automatically use the latest and greatest.

Essential updates for native mobile apps

In the rapidly evolving landscape of mobile operating systems, both Android and iOS platforms receive numerous enhancements each year. To keep your Mendix-built native mobile apps running smoothly and compatible with these updates, we recommend annual updates, as explained in this blog post. We are dedicated to ensuring our platform stays current by consistently updating the libraries we utilize.

This release brings a significant update to several key React Native modules, including the main navigation, web view, and animations modules. You can find a comprehensive list of all updated modules in the release notes of the native template.

If you’re planning to migrate to Mendix 10.24 in June, we highly recommend testing your app in a branch with this release. This allows you to test the updated React Native version and modules with your application, ensuring any native widgets or JavaScript actions you use are compatible.

Unlock new possibilities with inheritance in offline-first apps

Offline-first apps empower developers to create applications that function seamlessly without an internet connection. This allows developers to build apps that are not possible otherwise, such as supporting tasks in remote locations, where connectivity is often a challenge.

Because of the limitations inherent in the database technology used for offline-first apps, we had to enforce certain restrictions on the domain model. One notable restriction was the inability to use inheritance. In some cases, this required additional effort to transition an existing app to offline-first, as the domain model needed to be refactored to accommodate this restriction.

With this release, we are proud to announce that inheritance is now fully supported in offline-first apps. This enhancement opens new possibilities for developers, enabling them to build more powerful offline-first apps even faster.

Improved efficiency for storing associations

This release brings a better way to store associations: you can choose to store association information in the table of the owning object. This means no additional table in the database is needed to store this information. This will benefit the size of your database, and the performance when retrieving data involving associations. To enable this, select “direct associations” in the association properties dialog.

View Entities update

Although View Entities are still in beta, we’ve already seen customers use it in production as View Entities both simplify data retrieval and improve performance in many use cases. Some customers report a 10x performance improvement for complex data grids retrieving data from multiple entities.

In 10.21 we’ve improved the autocomplete functionality in the OQL editor, including better icons to represent the different types in the autocomplete list. The preview now also provides a user selection option, so you can test your OQL queries for specific users in your application, which helps you validate the data security of your queries. OQL now allows you to cast Mendix IDs to Long values, which means you can store and compare IDs, simplifying retrieval by ID. Finally, View Entities now enable you to union entities with different associations. See the screenshot for an example. To learn more about View Entities and see it in action, check out our video on YouTube.

Workflow boundary events: jump and cascading

As promised, after the recent (beta) release of Interrupting boundary events (FYI: non interrupting boundary events is GA), it is now possible to jump from the interrupting boundary path back to the parent path. In addition, you can now also jump within in any interrupting path itself. You can also add boundary events to activities in a boundary event path (i.e. cascading boundary events).

Here are a few examples (see screenshot below): Add a non-interrupting timer boundary event (1) that triggers two days before the due date and sends a reminder. When an approval task is still not completed one day after the due date (2), the request will be automatically approved, the review is no longer required (Review Request will be automatically aborted) and the workflow continues with the approval path (3). The manager receives a reminder after four hours (4) when a task has been assigned to them that is part of a boundary event path. Another reminder is sent one day later (5), until the Review Request task is completed or aborted (escalated).

MPRv2: addressing rapid repository growth

We are happy to share that MPRv2, our new storage format for Mendix applications, is now generally available with the 10.21 release. This marks the end of its public beta phase, which began in 10.18 several months ago. For existing apps, the new format is still opt-in and can be executed on a per-branch basis through the File menu. New apps are automatically created with MPRv2 and in an upcoming version we’ll also start automatically converting existing apps.

So, what is MPRv2 about? Version Control systems, like Git, store changes in your files with each commit. An app modeled in Mendix is traditionally stored in a single .mpr file, which is essentially a database which contains data for all documents, such as microflows, workflows, pages. Git is not well-equipped to determine and store the differences in this case, which leads to rapid repository growth, which in turn can lead to longer download times when cloning your app.

With MPRv2 the key difference is that all documents, such as microflows, will no longer be stored as part of the .mpr file but as separate files in the mprcontents directory. The .mpr file will function as an index file pointing to all the different files on disk. This means that when you change one document, for example a page, only the small file representing that page will change on disk. This allows Git to calculate an efficient delta, which results in a more appropriate repository growth compared to MPRv1.

Mendix Connect

Consumed REST: Import OpenAPI public beta

A new development with our new interactive REST client: Import OpenAPI feature is now in public beta. You can import requests from an OpenAPI contract directly into a Consumed REST Request document. Request components such as the URL, method, parameters, and headers are automatically populated based on information provided in the contract. With this capability, you no longer need to spend time manually adding and configuring each REST request one by one. This will save you time and effort while developing your apps, allowing you to focus on what really matters.

To learn more, refer to the documentation here.

Find available Business Events in the Mendix Connect Catalog

You can now use the Integration Pane in Studio Pro to find Business Events registered in the Mendix Connect Catalog by other apps in your organization. When you’ve found the event you’re interested in, simply drag and drop it from the integration pane into your project to use it.

Configure the External Database Connector for Databricks

In addition to our developments around the Snowflake platform, we previously empowered AI Data Cloud Data by making it easy to build Mendix applications on top of Snowflake. A logical next step was to ‘unlock’ similar capabilities in combination with the Data Intelligence Platform of Databricks. In a similar approach we are leveraging the external database connector, which allows you to use any compatible JBDC driver to connect to a database of your choice, in this case Databricks. To make things easier we created specific documentation to guide you through the steps.

Working with metadata in Amazon S3 Connector

When both the Mendix application and another system upload files into S3, you want to differentiate the ones that were uploaded by which system. Or you want to store and use other relevant data, such as the ID of the user who uploaded the file. For these scenarios we now have the option to ‘store’ this as metadata to your Amazon S3 objects. To be more specific you can add metadata to an S3 object using the PutObject or CopyObject operations and retrieve this metadata using the GetObject operation.

Teamcenter Extension updates

With the release of Teamcenter Extension 3.3.0, you can effortlessly generate domain models and microflows to relate Teamcenter objects right from your Mendix app. We’ve also improved error handling, improved UX for searching and attaching datasets journeys, and added filtering options based on type in the properties/relations/references side panel.

Plus, our latest sample app has been updated with new functionality that lets you relate workspace objects.
Don’t wait—dive in and explore these incredible new features today!

Learning Experience

Training Finder updates

The enhanced Training Finder now offers a streamlined experience for both Mendix Training Partners and users seeking professional development. We’ve simplified the process for Training Partners to publish their offerings by eliminating unnecessary fields, making it quicker and more efficient to showcase their courses. For learners, we’ve introduced advanced filtering, sorting, and search capabilities, significantly improving your ability to discover the perfect training that aligns with your needs and goals.

These updates are designed to create a more seamless connection between high-quality training programs and eager learners within the Mendix community. Whether you’re looking to expand your skills or find the ideal course for your team, the revamped Training Finder is your go-to resource for accessing a diverse range of Mendix educational opportunities with ease.

Content rating

The newly introduced content rating feature empowers learners to evaluate learning paths they’ve completed and share feedback about their experience. This valuable input contributes directly to a visible rating score, enabling the Mendix community to quickly identify high-quality, relevant learning materials based on peer recommendations. Not only does this help you discover the most relevant resources more efficiently, but it also provides our team with crucial insights to continuously refine and improve our educational content, ensuring we maintain and expand the most impactful learning experiences for all Mendix users.

Governance

Software Composition is Generally Available (GA)

Ever wondered how to manage the components (modules, widgets, java libraries, runtime versions and npms) across your growing application landscape? How to ensure that these dependencies are up to date, not affected by vulnerabilities and in line with your security posture?
If so, we invite you to explore Software Composition, which has recently become GA!

Software Composition provides visibility into component dependencies at the application level in Mendix Portal and at the application landscape level in Control Center. Want to know more about how to use it? Read this short blog post.

AI –  Smart Apps

Prompting example in the GenAI Showcase App

In Mx 10.19, a new prompt management capability that quickly iterates on prompts at runtime was introduced. To demonstrate the value of the prompt management capabilities integrated into an app, a new example has been added to the GenAI Showcase App. You can learn how to prompt engineer at runtime, without any downtime, and use the same prompt in the Product Description Generation example. The prompt management tools can be used to facilitate collaboration among Mendix developers, data scientists, and domain experts to improve AI-generated responses tailored to your specific needs.

The Prompt management feature is part of the ConversationalUI module, available on the Mendix marketplace in the GenAI For Mendix bundle.

Amazon Bedrock model management

The newest version of the Amazon Bedrock Connector version enables administrators to manage models at runtime in the UI, which is crucial if you want to use models that are not generally available in a specific region via Bedrock yet but can be accessed as cross-region inference. This feature is particularly relevant for the new reasoning models: DeepSeek’s R1 and Anthropic’s Claude 3.7 Sonnet, which can now be used easily with the Amazon Bedrock connector

Blogpost: bring your own model via Ollama

For those interested in connecting to a model you run yourself, we’ve got you covered! Our newest blog post: “How to Run Open-Source LLMs Locally with the OpenAI Connector and Ollama” explains step-by-step how to achieve this. Since many LLM APIs are compatible with OpenAI, the connector serves as an excellent starting point for this process.

Use OpenAI’s GPT-4.5

The latest version of the OpenAI Connector supports GPT-4.5 (preview version) out of the box. Additionally, when an administrator adds new models, they can now specify applicable input modalities (such as text or image), which is useful for filtering and ensuring that only supported models are used in the application.

Mendix on Azure

Good news for developers deploying on Azure – Mendix on Azure is here! This new feature makes it much easier to deploy Mendix apps directly to your own private Azure subscription. Instead of dealing with cloud infrastructure complexities, Mendix on Azure automates the setup using Azure Managed Applications, getting everything up and running in about 30 minutes. No need for deep cloud expertise or manual configurations.

Since it’s an ISV Solution in the Azure Marketplace, you can purchase and set it up easily, and it stays up to date with quarterly updates. Whether you’re looking to keep deployments within your security perimeter, integrate with legacy systems, or just simplify cloud management, this feature helps take the hassle out of running Mendix apps on Azure.

Are you ready to start your next app?

Choose your language