Mule 3 to Mule 4 Cheat Sheet
Standard Support for Mule 4.1 ended on November 2, 2020, and this version of Mule reached its End of Life on November 2, 2022, when Extended Support ended. Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted. MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements. |
To help you move from Mule 3 to Mule 4, we built this index to help you find the Mule 4 equivalent of the most common Mule 3 use cases.
IMPORTANT: Keep in mind that this index is only intended to act as a quick entry to the most common migration scenarios. It doesn’t contain the entire migration guide. For the full set of migration articles, please visit our Mule Mule 4 for Mule 3 Users page.
-
Configuration Properties: There’s a new way of handling configuration properties in Mule 4
-
Using Secure Properties: Secure placeholders are now a Runtime feature and no longer part of the Security Module
-
Using the HTTP Connector: The new HTTP connector has some differences with Mule 3, especially when it comes to handling multipart and form requests.
-
From MEL to DataWeave: DataWeave 2.0 is now the expression language. Here’s how to adapt your MEL expressions to DataWeave.
-
From DataWeave 1.0 to DataWeave 2.0: A new version of DataWeave is available in Mule 4
-
Where are the explicit transformers?: Transformers like
<object-to-string />
or<object-to-json>
are no longer necessary. Mule handles this automatically under the covers -
Define a custom Object Store: Custom Object Stores are now defined through the new connector
-
Use watermarks: Watermarks have been simplified. You can also do it manually now allowing for more complex use cases.
-
Accessing the Mule Message: The Mule Message has a new structure and it’s accessed differently. Here’s a quick overview.
-
Using Java: Interoperability with Java is now done through the Java module. Optionally you can also try the Scripting module or the Mule SDK
-
Using Spring: Instead of defining Spring beans directly in your application, you can now use the Spring Module.
-
Using reconnection strategies: There are some small but important differences around reconnection in Mule 4.
-
From MUnit 1.0 to Munit 2.0: This page explains how to adapt your tests for Mule 4.
-
Classloading isolation: Classloading isolation changes the way resources and classes are shared. Read this article to learn more.
-
Core Components Migration: A comprehensive list of the changes that were made to the core language elements
-
Using the new connectors: A comprehensive list of the changes that were made to the main connectors.
-
Using the Security Module (AES): Anypoint Enterprise Security module was split into different modules explained here.
-
Migrating Gateways: This section covers the migration of API Gateway related features.
-
Migrating ApiKit apps: Covers the necessary steps to successfully migrate APIkit-based applications.
-
Migrating custom components: You can use the Mule SDK to create your own reusable components
-
Migrating DevKit based components: There’s a DevKit Migration Tool that helps to migrate DevKit projects for Mule 3 into Mule SDK ones.
-
Transport service overrides: Covers how to migrate from generic transports.