Contact Us 1-800-596-4880

Mule Runtime Engine 4.6.0 Release Notes

Mule runtime engine (Mule) is a lightweight integration engine that runs Mule applications and supports domains and policies.

This version of Mule provides important enhancements and fixes. Deploy all your new and existing applications to the latest version to benefit from the improvements.

February 6, 2024

What’s New

The 4.6.0 version of Mule runtime introduces the following enhancements:

Java adoption:

  • MuleSoft is adopting Java’s long-term support (LTS) release cadence, beginning with Mule runtime 4.6, which adds support for Java 17 LTS. See Java Adoption.

  • Java 17 manages memory differently than Java 8. See Application Performance.

  • Mule runtime classes are now modularized per the Java module system introduced back in Java 9 (also known as JPMS or Project Jigsaw). Reflective introspection of Mule runtime classes is now limited. To maintain backward compatibility, reflective access to classes defined within the scope of your applications and domains remains open to access.

  • Java EE libraries are now removed from Mule runtime for Java 17.

Mule Gateway improvements:

Mule SDK improvements:

General improvements:

  • The Joda-Time library is upgraded to version 2.12.5.

  • The GraalJS library is upgraded to 22.3.3.

DataWeave Features

The 2.6.0 version of DataWeave introduces the following new features and enhancements:

Extended format support:

  • DataWeave now supports Java 17. See Java Format.

  • Mule expression language service are now modularized.

Fixed Issues

The release addresses the following Mule issues and incorporates all patch updates from the 4.5.0 Mule release through January 2023:

Issue Resolution ID

aspectj is now removed from distribution.


The Joda-Time library is upgraded to version 2.12.5.


The GraalJS library is upgraded to 22.3.3.


MUnit no longer fails with apps using Anypoint Connector for DotNet (DotNet Connector).


NullPointerException no longer occurs in XSD parsing when a schema has a minVersion/maxVersion.


Timeout is not considered for local transactions and rollbacks are silently executed.


MediaType cache now has a maximum size to prevent leaks.


DataWeave now uses objects as part of the Mule API.


License installation no longer fails with FileNotFoundException.


Legacy properties builder no longer reevaluates from root resolver placeholders.


JAVA_HOME is now properly handled by Surefire.


HTTP Redirect no longer works on Mule runtime 4.x on HTTP Post.


Race condition no longer results in NullPointerException when the Write Queue is full.


Container of the Embedded Runtime no longer stops if it wasn’t created.


Unnecessary MBeans for JMX management are no longer registered.


Internal dependency graph is now generated only once for all validations.


DataWeave 2.6.0 is bundled with the Mule 4.6.0 release. This release addresses the following DataWeave issues:

Issue Resolution ID

Caching now works correctly when coercing for addition and subtraction operations.


do scope declarations with pattern matching now properly reflect variable names when variables are optimized with common subexpression elimination.


The minInflateRatio property is now added to Excel format to control the zip bomb check threshold.


Bundled Components

  • DataWeave version 2.6.0

  • Runtime Manager Agent plugin version 2.6.0


If you are upgrading to this version of Mule from an earlier Mule 4.x version, see Mule Upgrades and Patch Updates.

To ensure optimal performance with this version of Mule and avoid unexpected issues, update the following modules and extensions to their latest version at the time of this release:

Module or Extension Version

APIkit for Mule 4


APIkit for OData


APIkit for OData 4


APIkit for SOAP


APIkit for GraphQL


Spring module


MUnit plugin


Considerations for Mule Extension Developers

If you update the version of your parent pom.xml file to 1.4.0 or later when you build a Mule extension, ensure that the dependencies in your pom.xml file do not override dependencies defined in the parent pom.xml file, and declare only the dependencies you need. If you need to declare a dependency that is already declared in the parent pom.xml file, do not specify a version so it uses the version from the parent pom.xml file.