Mendix overview What is Mendix Why Mendix Mendix + AI Intelligence Center X Studio Pro AI Studio Graph Studio Upgrade to 11 LTS
Solutions overview BFSI+ Mendix + Teamcenter (PLM) Industrial automation
AIDE Pro
Playbooks Blog & Long Reads Downloads Video Library Explore All LinkedIn Newsletter ↗
About Us Our Approach
Services Contact
Talk to an expert
Playbook

The Mendix 9-to-11 Upgrade Playbook: How to Execute the Move to 11 LTS

In short

The execution companion to our What's New in Mendix 11 guide: a phase-by-phase plan to move from Mendix 9 or 10 to 11.12 LTS - a readiness assessment, the LTS step-path, the React and Java 21 decisions, a test-and-cutover runbook, and a rollback plan.

Knowing what changed in Mendix 11 is one thing; executing the upgrade safely is another. This playbook is the practical companion to our What’s New in Mendix 11 guide – a phase-by-phase plan for moving an app from Mendix 9 or 10 to the 11.12 Long-Term Support (LTS) release without nasty surprises. Work through it in order; each phase ends with a checkpoint you should be able to tick before moving on.

Who this is for

Teams running production apps on Mendix 9 or 10 that need to plan a move to 11 LTS – and want a repeatable process rather than a leap of faith. If you own one app, this is your project plan. If you own a portfolio, run it once as a pilot, capture what you learn, then template it for the rest.

The golden rule: step through the LTS releases

Mendix supports three major versions at once, so there is no need to rush – but there is a right path. Do not jump straight from 9 to 11. Step through the Long-Term Support releases in order: 9.24 LTS → 10.24 LTS → 11.12 LTS. Each hop is smaller, each intermediate state is supported and testable, and problems surface one manageable layer at a time instead of all at once. Treat each hop as its own mini-project with its own test cycle.

Phase 1 – Assess: take inventory before you touch anything

You cannot plan an upgrade you have not measured. Before changing a single version number, build a picture of what the app actually depends on:

  • Marketplace modules and widgets – list every one, its version, and whether a Mendix 11-compatible release exists. Unmaintained or abandoned modules are the single most common source of upgrade pain.
  • Custom and Dojo widgets – identify anything built on the legacy Dojo client. The React client is the default in Mendix 11 and Dojo is deprecated (slated for removal in Mendix 12), so Dojo widgets need a migration plan.
  • Java version and custom Java – Mendix 11 requires Java 21 (Mendix 10 already forced this at 10.21). Note any custom Java actions and dependencies that may need updating.
  • Deprecated API usage – flag calls to APIs deprecated in 10 or removed in 11 so they are on the list, not a surprise at build time.
  • Version control – confirm the app is on Git. SVN is fully retired in Mendix 11; any app still on SVN must migrate to Git first.
  • Legacy file documents – very old apps carrying pre-Mendix-5.12 file documents will not start on 11 and need remediation.

Checkpoint: you have a written inventory of modules, widgets, Java dependencies, and known blockers, each marked ready / needs-work / blocker.

Phase 2 – Plan: the decisions that shape the upgrade

The inventory turns into a plan by making a few decisions up front:

  • The React client migration. This is the biggest architectural change. Decide, per widget, whether to replace a Dojo widget with a React equivalent, rebuild it, or drop it. Plan UI regression time – this is where it goes.
  • Runtime breaking changes. Put the known behavioural changes on the plan: entity access is enforced on the home-page microflow (ShowHomePage now requires explicit security), XPath math operators must be explicitly enabled, and some deprecated Java APIs were removed. Each needs a small, specific fix.
  • Sequencing. Decide the order of the hops and who owns each. Lock a code freeze window for each hop so you are not upgrading a moving target.
  • Environments. Plan to do the work on a branch, deploy to a non-production environment first, and keep the current production version deployable throughout.

Checkpoint: a sequenced plan with a widget-by-widget React decision, a list of breaking-change fixes, owners, and a code-freeze window per hop.

Phase 3 – Migrate: make the move, version by version

Now execute, one hop at a time:

  • Bump to the next LTS (e.g. 9.x → 9.24, then open in 10.24), and let Studio Pro surface consistency errors. Resolve them before moving on – do not carry errors forward into the next hop.
  • Update modules and widgets to their compatible versions as you go; replace or rebuild the ones flagged in Phase 1.
  • Apply the breaking-change fixes from your plan – security on ShowHomePage, XPath operator settings, Java updates – and get to a clean build at each hop.
  • Commit small and often with clear messages, so a bad change is easy to isolate and undo.

Checkpoint: the app builds clean on 11.12 with zero consistency errors and every module on a supported version.

Phase 4 – Test and harden

A clean build is not a working app. Test deliberately:

  • Functional regression across the critical paths – the flows that would hurt most if they broke.
  • UI regression on the new React client – this is the highest-risk area, so give it real attention across browsers and devices.
  • Performance – compare key pages and microflows against a baseline you captured before the upgrade, so you can prove you did not regress.
  • Security – re-verify access rules, especially anywhere the enforced entity-access changes touched, and run a security overview.

Checkpoint: regression, UI, performance, and security all signed off against a pre-upgrade baseline.

Phase 5 – Cut over, with a rollback ready

Deploy with a way back:

  • Schedule the cutover and communicate it. Mendix 11 supports zero-downtime deployments, but plan the window anyway.
  • Keep the previous version deployable and take a database backup immediately before cutover, so rollback is a known, tested step – not an improvisation.
  • Monitor closely for the first hours and days: errors, performance, and the specific areas you changed.
  • Only then decommission the old version, once you are confident the new one is stable.

Checkpoint: live on 11.12 LTS, monitored, with a rollback path you have actually validated.

What trips teams up

  • Skipping the LTS hops and jumping 9 → 11 – everything breaks at once and nothing is isolable.
  • Discovering an abandoned Marketplace module late – find it in Phase 1, not at build time.
  • Underestimating the React UI migration – it is the biggest change and the biggest test effort; budget for it.
  • Treating it as one big bang instead of a sequence of small, tested steps with a code freeze.
  • No baseline – without pre-upgrade performance and behaviour captured, you cannot prove you did not regress.

The pre-flight checklist

  • App is on Git (not SVN).
  • Every Marketplace module has a confirmed 11-compatible version – or a replacement plan.
  • Dojo/custom widgets have a per-widget React decision.
  • Java 21 confirmed; custom Java reviewed.
  • Breaking-change fixes listed (ShowHomePage security, XPath operators, removed APIs, legacy file documents).
  • Pre-upgrade performance and behaviour baseline captured.
  • Non-production environment ready; rollback path and backup plan defined.
  • Code-freeze window agreed for each hop.

How Golden Earth runs an upgrade

This is work we do often, and we run it exactly as above – senior engineers only, documentation-first, embedded in your team. That means the assessment is honest, the plan is realistic, the risky changes get senior review, and you own the knowledge at the end rather than a black box. If you want a second pair of experienced hands on an upgrade – or someone to run it end to end – talk to an expert.

Frequently asked questions

Can I upgrade straight from Mendix 9 to Mendix 11?
You can, but you should not. Step through the Long-Term Support releases in order – 9.24 LTS, then 10.24 LTS, then 11.12 LTS. Each hop is smaller and independently testable, so problems surface one layer at a time instead of all at once.
What is the biggest change to plan for?
The React client. It is the default in Mendix 11 and the legacy Dojo client is deprecated (removal is slated for Mendix 12), so custom and Marketplace Dojo widgets need a per-widget decision – replace, rebuild, or drop – and the UI needs real regression testing. It is the biggest architectural change and the biggest test effort.
What runtime breaking changes should I expect?
Plan for a handful of specific fixes: entity access is enforced on the home-page microflow (ShowHomePage now needs explicit security), XPath math operators must be explicitly enabled, some deprecated Java APIs were removed, Java 21 is required, and apps still carrying pre-Mendix-5.12 file documents will not start. Each is a small, known fix once it is on the list.
Do I have to move off SVN first?
Yes. SVN is fully retired in Mendix 11 – it is Git-native. Any app still on SVN must migrate to Git before the upgrade, so put that first in the plan.
How do I make the cutover safe?
Keep the previous version deployable, take a database backup immediately before cutover, and validate the rollback path in advance so it is a tested step rather than an improvisation. Deploy to a non-production environment first, monitor closely after go-live, and only decommission the old version once the new one is proven stable.

Have a project like this?

Tell us what you're building - we'll be straight about whether and how we can help.