Mendix Release 10.0 – A New Era!
The launch of Mendix 10 marks the beginning of a new era in low-code development. With a focus on speeding up end-to-end development, increasing collaboration touch-points, leveraging AI and ML, and more, we’re making it easier than ever for organizations to turn ideas into outcomes.
Mendix 10.0 offers a lot in terms of new features, new looks, and updates to existing tools that you can dig into right away. Mendix 10 will also bring additional new features that will be released in the coming months. If you missed it, you can watch a replay of the Mendix 10 launch event. The launch does include features that will be released in the coming months, read more about these upcoming features.
Now – are you ready to dig into Mendix 10.0? Read on!
Studio Pro
With Mendix 10, we made many improvements to Studio Pro to make the life of our beloved developers better!
A new look and feel
Mendix 10 has a completely overhauled version of Studio Pro with updated colors for both light and dark modes, which will make it significantly easier on the eyes and makes it a lot easier to work with. Everything feels a lot more intuitive in this version, and allows you to develop apps more efficiently than ever.
With the update of colors, dark mode now also becomes GA, and the theme can listen to your system’s preferences, meaning that if your machine’s theme is set to dark mode, Studio Pro can open in dark mode directly as well!
We also updated all the icons across Studio Pro to give a more coherent look and feel to the styling, which makes it easier to see what belongs together, giving a much cleaner experience overall.
In addition to that, the updates done to the new properties pane have become GA as well, introducing a much better experience for all users who work with Studio Pro day in and day out. With a clearer overview of the properties you are editing, it is more efficient than ever to model your app.
PDF Document generation (public beta)
We’re happy to announce our brand new PDF document generation feature. You can now easily generate pixel-perfect PDF documents based on regular pages in your app. You can make use of the full-page editor capabilities, including all the widgets, dynamic data, snippets, text templates, conditional visibility based on expressions, dynamic classes, etc.
The public beta of the PDF Document Generation module is now available for Mendix 10 and Mendix 9.18+ apps running in the Mendix Cloud. Give it a try!
ML Kit (GA)
With the rise of ChatGPT, everyone is talking about how Artificial Intelligence (AI) is changing the world. While low-code is revolutionizing “how” applications are built, AI indeed is revolutionizing “what” kind of applications can be built. With this release, the new Mendix platform capability called the Mendix ML Kit will go live in General Availability (GA) to enable low-code Machine Learning (ML) model integration in Mendix apps.
ML Kit allows Mendix developers to deploy an ML model—built using a common ML framework and language—into Mendix Studio Pro run-time in a low-code way. The ML Kit enables faster time-to-market, easier integration, and superior performance, with lower effort and cost to integrate ML models into Mendix apps. You can read more about how to use the ML Kit in the Mendix documentation.
Best Practice Bot
In Mendix 10, we have re-branded Performance Bot to a general ‘Mendix Best Practice Bot’ and will extend it with other types of best practices (e.g., security). The Best Practice Bot will assist developers in inspecting their app model against Mendix development best practices, detecting anti-patterns, and guiding them on how to resolve them. The Best Practice Bot is built using statistical analysis of thousands of anonymized Mendix apps to learn common anti-patterns, as well as using Mendix Expert Services’ best practices in the development of microflows, domain models, pages, security, and so on. With upcoming releases, we will keep adding new best practices, so stay tuned! You can read more about how to use the Best Practice Bot in the Mendix documentation.
Start from Spreadsheet
Most of us have a love/hate relationship with spreadsheets. These documents are incredibly easy to create, and they help us structure relevant thoughts and applicable data in a straightforward way. Beyond that, things can get messy. Maintaining data integrity and version control is challenging with static spreadsheets, especially with remote workforces.
With Mendix, teams can update processes that are trapped in Excel and avoid the many pitfalls of spreadsheet-run processes. No more spreadsheet version chaos. Instead, you’re creating a streamlined, differentiated experience for all people involved that helps get the job done a lot more easily.
We’ve added the ‘App from spreadsheet’ feature to Mendix Studio Pro. Converting a spreadsheet into an app is as easy as drag and drop. Seriously.
The “App from spreadsheet” wizard will analyze your spreadsheet and determine the data types and associations between tables. Based on this, Studio Pro generates your domain model and packages your spreadsheet table data as a data snapshot. This ensures you have your own data available when running the app for the first time.
After the conversion, you will have a fully functional app, which can be extended with features that go beyond spreadsheet capabilities, like supporting process workflows, integrations, dashboard pages, and tailored user experience in the best possible way. The App from spreadsheet wizard is now available in Mendix 9.24 and Mendix 10.
UI Building improvements
Friendly page URLs
Page URLs got a major overhaul to have more control over the URL, making it possible to easily create user-friendly page URLs that support multiple parameters. You can specify the URL format and add placeholders for parameters. It is even possible to use attributes other than Id
in the URL. The variables are automatically retrieved from the database based on a generated XPath query, as you can see in the screenshot.
Page Explorer improvements
Have you already tried page explorer? The companion to design mode, which shows a simplified page view to help you build and understand your page? In Mendix 10, we’ve updated our widgets to show the data context directly inside the page explorer. This means that you can immediately see what data you have available at the current location simply by looking at the page explorer. We added this for widgets such as Data grid 2, Gallery, charts, and many more.
New icons in Atlas
With the new, refreshed look of Studio Pro, we are also refreshing your apps with a whole new set of Atlas icons! This new set not only contains more icons, but you can even choose between line-shaped and filled versions. And if that’s not enough, you can always still import your own icon font by creating an icon collection, which we introduced in 9.24.
Logic improvements
New aggregate activities
To give our users more power, we added new options to the Aggregate list activity.
All and Any are new aggregation functions that you can use to check if an expression is true for all or any of the items in a list. For example, if any of the orders in your app have a discount:
In addition, we added the Reduce aggregation to enable turning a list of values into a single value using an expression. For example, if you want to create a single string based on a list of objects, like listing the categories as a single string.
In this expression, both $currentObject
and $currentResult
are available to create a new $currentResult
.
Finally, all aggregations that could be used with a specified attribute can now also be used with an expression instead. In this expression, $currentObjecte
is available to access the item of the list that is currently being processed.
Setting input parameters as return values
In our efforts to make developing easier and more efficient, we’ve added a new feature in the microflow and nanoflow editors. It’s now possible to right-click on an input parameter and immediately set it as your return value. This is very similar to how you could already do it from certain activities; however, this now allows you to be more efficient when you want to output an input parameter.
Workflow enhancements
Multi-user task
In a business process, there regularly are tasks where multiple users need to execute the same task individually – e.g., four-eye review or a proposal to be reviewed by three managers. Additionally, the number of users that need to perform a given task might vary and is only known when the process is already running. To solve this common problem, we have added the Multi-user task. While this was already possible to model, it is now simplified.
It’s a single task definition, and besides the regular (single) user task configuration, as a developer, you need to answer two additional questions:
1 How many users need to perform this task?
2 When multiple users need to make a decision (e.g., approve or reject a proposal), how are the individual’s decisions (task outcomes) processed into a single task outcome? To help you with this, we have implemented four of the most common decision methods: Consensus, Veto, Majority, and Threshold
A multi-user task is executed in parallel, meaning all required users will receive the task in their inbox at the same time, and once completed, it’s removed from their inbox. When a final outcome is known (based on the selected Decision method), it will be set as the outcome for the WorkflowUserTask.
Note: To be able to allow multiple users to be assigned to a task, we modified the association to a reference set named WorkflowUserTask_assignees. This is a breaking change. Workflow data from previous versions will be automatically migrated, but apps prior to Mendix 10 will need some manual updates.
Wait for Notification
Wait for Notification is similar to a user task in the sense that it suspends workflow execution until an event happens. This activity could be used to wait until a payment has been received, ordered goods have arrived, an email is received, etc. This notification could be coming from places like business events, APIs, or other workflows. Wait for Notification is a new workflow toolbox activity.
The event that notifies the workflow to continue is a new microflow activity: Notify workflow. The Notify workflow activity returns a boolean to indicate if the workflow was really waiting for this event.
Native Mobile
Clear from device
Have you encountered situations in your offline mobile apps where deleting objects from your local database would be useful? For instance, when having performed inspections in an inspection management app and inspection objects are not needed anymore, deleting such objects is useful to keep the app from getting cluttered or taking more space than needed.
To accommodate such cases, we introduced a new nanoflow activity called Clear from device that can be used to clear the objects of an entity from the device database. Objects that are cleared using this activity are not synchronized with the server database, and references to such objects are not cleared.
Make It Native 10
Make it Native 10 will be available in the stores soon. Until then, you can continue to use Make it Native 9.
Solutions Kit for Adaptable Solutions
When developing an app for a use case containing multiple departments of an organization, oftentimes, the app needs to be modified in order to fit the business processes of specific parts of the organization, adhere to local regulations, or integrate with local IT systems. Before Mendix 10, this required customers to do numerous independent implementations of the same app, and it was hard to keep all of these implementations up-to-date with new features.
With Mendix Solutions Kit, customers can develop Adaptable Solutions for common use cases and reuse them across multiple implementations, with adaptations to fit local needs, and over time keep those implementations up-to-date with new releases of the core solution while keeping central IT in control.
Solutions Kit enables customers with three capabilities:
• Protected Modules: Central IT can create an Adaptable Solution and lock down parts of the application model to control the boundaries within which local implementation teams can make changes.
• Solution Lifecycle Management: Instantiate solution implementations, adapt them at the model level, and over time upgrade these implementations to new releases of the base solution while retaining these adaptations and merging them with new features.
• Adaptation Insights: Central IT can get insight into which implementations have been created, how these have been modified, and which impact new versions will have on those implementations. Implementation teams get a similar view on their own solution and how it has diverged from the main version, with insight into upcoming upgrades.
With Mendix Solutions Kit, customers can now consolidate independent implementations of common use cases and more efficiently develop & maintain those apps, enabling local teams to develop their own modifications while keeping central IT in control.
Solution Lifecycle Management and Protected Modules are available with Studio Pro 10.0. while Adaptation Insights will arrive in beta later this year.
Mendix Connect
With the Mendix 10 release, all integration and connectivity capabilities of the Mendix platform will be branded Mendix Connect and be provided out-of-the-box with the Mendix platform. This includes all of the existing Studio Pro functionality for REST, Web Services, and databases, but also External Entities, the Catalog, and Business Events.
We know that connectivity with your existing databases, applications, and services, and with other Mendix applications, is crucial for your Mendix application. In fact, almost no app exists that doesn’t connect to something else, so we’ve decided to include all connectivity features out-the-box with the Mendix platform.
Mendix Connect provides you with all the tools and capabilities to compose low-code applications on top of your existing solutions, regardless if they’re building with low-code or some other technology.
Business Events
Many customers are building solutions consisting of multiple apps. This has many advantages over trying to put all your business requirements into a single app. Development and testing become easier, applications are usually faster, and business changes are faster to implement and deploy.
The typical way to implement communication between apps is to use APIs, usually REST or OData REST. One challenge with APIs is that it’s not easy to detect when something important happens in another app. For example, if one application registers new orders, and other apps need to respond to new orders as fast as possible, for example, to send the invoice or to instruct packaging and shipment. The faster you can do this, the happier your customers.
You could ask the source of the event to call your app to inform you, but this puts a large burden on another team. Alternatively, they could handle this through webhooks, which adds additional complexity to the source of the Event. So often, the application will simply start polling to see if anything has changed, causing unnecessary load and inefficiency.
Mendix Business Events offer a simpler, faster, and more reliable solution for when you need near real-time event notification between your Mendix apps. Business Events let you model what your event looks like and publish it with a single microflow activity. Other apps can subscribe to the event they’re interested in. The subscribed microflows will be triggered automatically when the event is received.
The Mendix Connect Event Broker ensures reliable and scalable delivery of these events between your apps in the Mendix Cloud. If an app is down, the Event Broker will make sure the events are delivered as soon as your app is back up. You can use Business Events right now with Mendix 10. The required Event Broker infrastructure is available for apps running in the Mendix Cloud.
Updates to two AWS Connectors
Since our last release, we’ve been working hard to increase the quality of our existing AWS connector offerings in the Mendix Marketplace. This meant not only making sure that all the AWS connectors are Mendix 10 compatible, but also improving the functionality. Because of that, we’re happy to announce two new updates to our Amazon S3 connector and the Amazon Simple Notification Service connector!
Amazon S3
The Amazon S3 Connector has been the most downloaded AWS connector in the Marketplace. It makes life much easier if you want to store, manage, and fetch documents from an S3 bucket – the cost-effective and infinitely scalable storage service from Amazon. With the original Amazon S3 connector it was already possible to upload documents, download them, and manage them in Amazon S3 all from your Mendix application.
With a major upgrade to version 2.0.0, we introduced not only two new activities to the Amazon S3 connector (the Create Bucket and Delete Bucket action), but also made sure that the structure and experience of working with the connector is now the same as with all other AWS connectors. This makes life a lot easier if you’re used to working with other AWS connectors because configuring authentication, security, and microflow actions will all be the same.
Make sure to check it out in the Mendix Marketplace.
Amazon Simple Notification Service
Ever wondered how you could easily broadcast messages across different channels all from a single microflow activity? With the Amazon Simple Notification Service connector you can do that. Topics, the “subject” users can subscribe to, can be used to send messages via email, SMS, or push notifications to the end-users.
The original Simple Notification Service (SNS) connector was released back in November 2022. We’ve heard your feedback since then that the connector was limited in its functionality with only the capability of sending notifications to existing topics and lacking the capabilities to perform full CRUD operations on SNS topics. This meant Mendix makers would still spend quite some time in the AWS console.
We’re glad to tell you that with the new SNS connector you can not only send notifications but also list SNS topics in your Mendix app, create topics, and subscribe to them. We’ve also extended the Send Message action to support batching – meaning you can now easily send multiple messages at the same time within a single action.
Make sure to check it out in the Mendix Marketplace.
(AWS has made the first million messages per month free of charge!)
Governance and Control
Bring-your-own IdP (BYOIdP)
We at Mendix make building and deploying applications quick and easy. All you need to access our platform is your laptop, a business mailbox, and a password. No hassle with credit cards, contract or company onboarding. With the Bring-your-own Identity Provider (BYOIdP) capability, we now also make it easy to meet a number of security and compliance requirements.
So what is BYOIdP? Simply put, with BYOIdP, the Mendix platform delegates the login process to your own Identity Provider (IdP).
So when is this useful?
- For adhering to organization-wide authentication policies – If your organization has specific authentication policies, e.g. a password policy (length, complexity, expiry, etc.), are required to have 2FA for all platform access, conditional access, etc., then using BYOIdP is a must. With BYOIdP, the settings configured in your IdP can apply to the Mendix login experience – seamlessly.
- For enhanced access governance – Company admins no longer need to be in a frenzy to deactivate members from all apps once they have left the organization. With BYOIdP, only employees who are active in a customer’s IdP can access the Mendix platform. Optionally, it’s also possible to restrict Mendix platform access to only certain departments or groups if needed.
- For the convenience of SSO – Without BYOIdP, platform credentials (a username and password) need to be remembered. With BYOIdP, single sign-on (SSO) is enabled. No more remembering credentials!
So now you are wondering how to enable this? It’s a guided process with a wizard in Control Center. But be sure that you complete the appropriate change management and communications needed in your organization prior to activating this. Refer to our documentation to learn more!
Access management
Collaborating with colleagues is now easier than ever before – if you are inviting someone to your project and you are in the same company, there is no need for them to accept the invitation anymore, they will get added to the project directly with the role you selected.
Also, the Pending Invites overview is not personal anymore: now you can see all the people who have been invited to a project, who invited them and when, as well as when the invite expires. This will help you manage access more effectively and take action if needed. In case an invite needs to be retracted, company admins, scrum masters of the project, or the person who originally sent invite can do it in one click. Many thanks to our MVP, Eline Bijkerk for suggesting this!
LDAP – New and improved!
The LDAP (Lightweight Directory Access Protocol) module is used to communicate with an LDAP server. It can be used in a Mendix app to synchronize end-users, their group memberships, and their status from an LDAP server such as Microsoft AD.
This module has been updated to support LDAPS, aka LDAP communication over SSL, making it more secure. Refer to the documentation to learn more!
Cloud updates
Webhooks – Stop polling and start ‘hooking’!
Webhooks allow for notifying external systems when an event takes place in the Mendix ecosystem. Mendix released this capability in public beta in March of this year (2023). Having taken customer feedback into account, we are now announcing general availability with Mendix 10.
Supported events include:
- Teamserver push (Git) – when a new commit is pushed to the Team Server Git.
- Package upload – When a deployment package is newly available in the Developer Portal — this includes creating a package from the Teamserver.
Webhooks, with the events supported today, are useful for:
- Customers who want to automate their 3rd party CI/CD pipelines. Gone are the days of polling. Get notified instantly for the events you have subscribed to
- Customers who want to trigger downstream processes after new code has been pushed in the Teamserver Git repository.
- Customers who want near real-time notifications, say in Slack or Teams, when select platform events take place in Mendix. See docs linked for more details on supported events.
Below is an example where a webhook event is used to trigger an external CI/CD pipeline as soon as a new commit is made in Studio Pro:
- The webhook is created in Developer Portal
- CI/CD pipeline is created in an external tool (e.g. Gitlab, Azure Devops, etc.)
- A new commit is made in Studio Pro
- The pipeline gets automatically triggered as seen in the CI/CD tool.
- The pipeline has triggered the creation of a deployment package which is visible in the Developer Portal as shown in the last step of the demo.
Multi-region failover
With our brand new Premium Plus cloud resource packs, you can keep your app running even if the region your app is running in goes down. It provides full immunity to a cloud region outage.
In the Mendix Cloud (both the multi-tenant Mendix Cloud offering and the single-tenant Cloud Dedicated offering) we have multiple features contributing to high availability:
- When an app is deployed to the Mendix Cloud, its health is monitored by a health manager. This health manager automatically detects unhealthy (unresponsive or crashed) app containers. These unhealthy containers are automatically destroyed, and a new container is started. This auto-healing ensures that issues are resolved quickly and automatically, improving the availability of the app.
- The Mendix Cloud supports out-of-the-box horizontal scaling. This allows you to easily scale your application up or down without downtime. In addition, by having at least two instances, you will have a fully high available solution. If one of your containers becomes unhealthy, the other containers pick up the load, while the unhealthy container is destroyed and restarted automatically. From an end-user perspective, there is no downtime.
- With the Premium packs, apps get a standby database in a different availability zone other than the primary database. In case of an availability zone outage, where the primary availability zone becomes completely unavailable, we automatically switch over to the standby database, making it the primary database. This ensures that your app will continue running and continue to process requests, even before the primary availability is up again. With the Standard pack, you would have to wait for the primary availability zone with your database to become available again.
- With the new Premium Plus pack, which is available to all of our customers now, we go even further, and give apps a standby database in a different region other than the primary database. In case of a region outage, where the primary region becomes completely unavailable, we automatically switch over to the standby database, making it the primary database. This ensures that your app will continue running and continue to process requests, even before the primary region is up again. With the Standard and Premium pack, you would have to wait for the primary region with your database to become available again.
Do you have a business-critical app that you want available, even in case of a region outage? Reach out to your Customer Success Manager to discuss our new Premium Plus cloud resource packs!
Portfolio Management
With the launch of Mendix 10, Mendix Portfolio Management went into General Availability! Here’s what’s new in the latest release.
You get a board and you get a board!
The Mendix Portfolio Management landing page has been redesigned to provide an overview of the organization portfolio landscape, displaying the portfolios accessible to users, as well as the company’s restricted portfolios.
Organizations can now have multiple portfolios, Everyone can create portfolio boards for dedicated value streams, departments, or teams, and boards can be defined as private or restricted. This determines whether the portfolio is discoverable for others within the organization.
Portfolio Management Governance in Control Center
A new navigation item, Portfolios, has been introduced in Control Center specifically for Mendix Admins, who can act as backup to manage portfolio boards and take appropriate action over the portfolio landscape. This provides control over portfolio privacy setting changes to manage the creation and changes over restricted boards, and be in control of growth of discoverable portfolio boards within the organization’s portfolio landscape.
Jira connector
Yup, this one took us a while, but it’s finally here — Jira connector is available as public beta! Now you can link your Jira board to a Mendix project and see all the stories from that board in the Stories pane in Studio Pro. This enables you to easily link commits to user stories in Jira and find the relevant information on the Team Server page.
No complex setup needed, you just need the scrum master of the project and a Jira admin to configure one thing (all outlined in our documentation of course). For maximum flexibility, scrum masters can configure this per project General Settings page, so if you want to use Jira for some projects, but Epics for others, that’s not a problem. If Jira is selected, sidebar navigation will also show the link to your Jira board so you can easy access it from the Developer Portal. Next step will be creating a story in Jira based on a feedback item, so stay tuned!
Epics public API
Not using either Epics or Jira? No problem! With our brand new public API, you will be able to integrate with practically any other third-party project management tool or service.
With the release of the public API, Epics will offer practically all the functionality Stories did (and so, so much more), which means it’s time for Stories to go into well-deserved retirement. We are planning to sunset Stories on October 1, 2023 so please keep that in mind if you have not made the switch yet. And no worries, all your data can be migrated! You can read more about that here.
App Insights
We have great news to share with you! This summer, we will be launching Mendix App Insights, a suite of tools with everything you need to get the right insights from your users and build even better apps, faster. App Insights consists of Feedback Management and Mini Surveys, which you may have already come across while exploring Mendix.
Feedback Management
The new Feedback Management offers a little something for everyone: thanks to the new feedback module, your end-users will be able to annotate screenshots and show you exactly what you need to know to solve the problem or bring about new functionality. POs & Scrum masters will have more control over feedback items: now they can add tags, use filters, link similar feedback items together (for all those moments when ten different people report exactly the same issue) and if needed, turn those feedback items into stories in either Epics or Jira.
Communication is key, so we created a brand new chat for the development team to talk to their users. But also, information sharing within the team is now more streamlined than ever before, with a new summary field for the team only, as well as internal team comments. End users as well as team members get notified whenever there is an update on the feedback items (but of course, if you don’t need that many notifications, you can also turn them off per project). With it all in place, managing feedback and addressing end users’ concerns will be easier than ever before.
Mini Surveys
While feedback management helps you react to what end users are letting you know, Mini Surveys is a way to ask them questions proactively. This tool has been in public beta for a while. We have incorporated your feedback and now we are proud to announce it will become generally available as a part of App Insights. With Mendix Mini Surveys you can gather more insights about your user-base and make use of those insights to boost satisfaction and retention.
You can set up the survey goal, duration, and position on the page. We offer four different types of questions: rating scale, multiple choice, open questions, and NPS, and once you set them up, you’ll be able to preview exactly how your survey will be shown to end-users. And once you set the exact targeting criteria you need using the Mini Survey module, you are good to go. As the results pour in, you’ll be able to get insights at a glance using the charts we provide, or export to Excel for further analysis. This will help you better understand what to focus on in your next iterations and before you know it, you’ll have data-driven development and happier, more engaged users!
Changes to the Mendix Community
There’s a host of improvements to the Mendix Community, which we would like to unpack with you.
Drafting posts in the Community
The way we used to handle draft posts in the Mendix Community was a bit clunky. Any new post was automatically saved and the number of drafts was limited to one. It was a cause for some confusion.
We’ve therefore made big improvements on how draft posts are managed and handled inside the Mendix Community. You can now create multiple draft posts, enabling you to work on multiple questions or ideas before actually publishing them.
A smoother and richer Marketplace
The Marketplace has seen significant UX and UI improvements, making it easier on your eyes and faster to explore the contents of our ecosystem and available building blocks.
Moving forward, we’ll notify you, both via email or in-platform notification (manageable in your user settings) when there’s updates to Marketplace content that you’ve saved.
Submitting components to the Marketplace has also seen improvements, both in UI/UX, as well as in functionality. This allows you to more quickly go through the steps to get your components submitted.
Are you ready to start your next app?
- Watch the Mendix 10.0 release video, here!
- Mendix 10.0 is waiting for you here! For more information on how to upgrade from Mendix 9 to 10, see here.
- For more details, take a closer look at all the features, improvements, fixes, and more in the release notes.
- Don’t want to miss future updates? Subscribe to our blog to make sure to catch the latest updates.