Contact Us 1-800-596-4880

Mule Runtime Engine 4.5.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.

April 2024

Patch release version: 4.5.4

This patch update addresses the following Mule issues:

Issue Resolution ID

Spring is upgraded to 5.3.33.


Template parser validation is now improved.


Hazelcast is upgraded to 5.2.5.


org.json:json is upgraded to 20230227.


Performance is now improved for certain For Each scenarios.


An extra message field is no longer added in the logs when logging the message variable.


Extension model parsing no longer fails for extensions with dependencies declared as provided.


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


License installation no longer fails with FileNotFoundException.


Legacy properties builder no longer reevaluates from root resolver placeholders.


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.


The GraalJS library is upgraded to 22.3.3.


There is no DataWeave update for this version.

For guidance with the patching process, see Apply Patch Updates.

January 2024

Patch release version: 4.5.3

This patch update addresses the following Mule issues:

Issue Resolution ID

An issue with explicit socket connection timeout for socket creation was fixed.


Using mule-scripting-module with HTTP connector in a Mule app no longer causes a memory leak.


Using Salesforce Marketing Cloud connector no longer causes a memory leak.


XML SDK no longer fails to replace a complex parameter with a property value.


GroovyResourceReleaser is now enabled for each JDK. The incorrect cleaning method was removed.


okio-jvm is updated from version 3.2.0 to 3.6.0.


The nonProxyHosts setting now works correctly for HTTP Connector.


DataWeave 2.5.2 is bundled with the Mule 4.5.3 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

An issue with ndson data format loading was fixed.


For guidance with the patching process, see Apply Patch Updates.

November 2023

Patch 4.5.2

The November patch update 4.5.2 addresses a regression in the previous November patch update, 4.5.1, and includes the fixes in the patch.

Patch release version: 4.5.2

This patch update addresses the following Mule issues:

Issue Resolution ID

This patch update reverts the fix.


For guidance with the patching process, see Apply Patch Updates.

Patch 4.5.1

Patch release version: 4.5.1

This patch update addresses the following Mule issues:

Issue Resolution ID

The org.json.json library is upgraded to 20231013.


The org.apache.santuario.xmlsec library is upgraded to 2.3.4.


The org.bouncycastle.bcprov-jdk15on library is upgraded to 1.74.


The Error Handler with attribute logException=false no longer logs the exception when using the Scheduler component.


The error A ByteBuffer Provider is already registered with name 'org.mule.weave.v2.memory.service no longer occurs.


Mule runtime no longer fails to start in Linux if the path contains spaces.


The Element DSL is available in the exceptionPayload attribute.


OutOfMemoryError no longer occurs after multiple redeployments of applications with the Scripting module and Groovy.


XML SDK no longer fails to replace a complex parameter with a property value.


DataWeave 2.5.1 is bundled with the Mule 4.5.1 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

Temporary files are now closed for inputs bigger than 1.5 MB.


The cached function coercion now works correctly for a second time when an argument is constant.


The DataWeave sum function with a single numeric string arg now returns Number type instead of String.


Reading Avro schema with an array of enum type items no longer returns an error.


Inconsistent XML encoding detection no longer occurs between indexed and in-memory parsers.


For guidance with the patching process, see Apply Patch Updates.

October 3, 2023

What’s New

The 4.5.0 version of Mule runtime introduces the following enhancements:

New release channels:

  • Starting with Mule 4.5, MuleSoft introduces two new release channels, Edge and Long-term Support (LTS). Both release channels are available in all our deployment models: Anypoint Runtime Fabric, CloudHub, CloudHub 2.0, and Hybrid Standalone. Consider the following factors to determine the approach that best suits your requirements ahead of the Mule 4.4 End of Standard Support.

Memory management:

  • The Mule runtime has a centralized memory service that controls the memory allocation for different components such as HTTP and DataWeave.

API Gateway improvements:

  • Enhancements on policy ordering and editing to optimize the synchronization between API Manager and the API Gateway.

General improvements:

  • toString is now implemented in properties objects to help with troubleshooting. (W-12081340)

  • MVEL resource releaser logs are now improved. (W-12513080)

  • Trace/debug logging is now added to registry-bootstrap for troubleshooting. (W-12117737)

  • The name of the resource is now added when there is a failure in PropertiesUtils#discoverProperties. (W-11336085)

  • To waive expression required parameters on design time is now allowed when the value is a property. (W-12226023)

  • The log "HTTP response stream was closed before being read but response streams must always be consumed" now throws LOGGER.error. (W-12173136)

  • Declaration enrichers are now optimized to improve extension load time. (W-12102817)

  • FileUtils#unzip performance is now improved. (MULE-19894)

  • Extension models are loaded in parallel when deploying applications. (W-12073186)

  • The extension model loading performance is now improved. (MULE-19706)

  • The message on Duplicate Key error for Value Provider on Build is now improved. (W-11803219)

  • Design time validations are now introduced to check the existence of the file referenced by parse-template. (MULE-19813)

  • A build validation is now added to check that FirstSuccessful has at least 2 routes. (MULE-19244)

  • A build validation is now added to check that referenced DataWeave files exist. (EE-8091)

  • Kryo Serializer is now added for commonly used Java classes. (W-13059082)

  • Kryo Serializer is now added for ReentrantReadWriteLock. (W-13066966)

  • Kryo Serializer is now added for Map.Entry. (W-13059266)

  • Kryo Serializer is now added for unmodifiable and synchronized collections. (W-13055604)

  • Kryo Serializer is now added for ArrayList classes. (W-13021182)

  • Kryo Serializer is now added for GregorianCalendar. (W-13013723)

  • Kryo Serializer is now added for Atomic classes. (W-13007667)

  • The resolution of properties is now refactored. (W-12138147)

  • Where possible, we changed noninclusive terms in our codebase to align with our company value of Equity. (W-11894128)

  • DeploymentService must attempt to use the serializedAst if present. (MULE-20062)

  • Reflective equals/hashcode in MetadataType is no longer used. (W-12622215)

  • Internal sun classes are no longer used. (W-12621856)

  • Trigger, private, and active flow metrics are now introduced to enable the usage-based pricing initiative. (W-11493854)

  • The messagesDispatched metric is now added to statistics. (W-11954914)

  • Supported Java version concept in SDK is now added. (W-13497626)

  • BODY as a parameter placement in @OAuthParameter is now supported. (W-13544791)

  • SDK no longer processes fields from enums. (W-13759844)

  • Polling Source notifications are now improved. (W-11492717)

  • A library folder for Java 8-specific libraries is now added. (W-12761115)

  • New cluster-specific exceptions are now created to wrap Hazelcast exceptions. (W-14077819)

  • Internal Telemetry enhancements are now added.

Feature Flagging Mechanism:

  • Mule 4.5 incorporates new feature flags, which enables you to disable certain features that change core functionality in Mule to avoid backward compatibility issues. See Feature Flagging for a detailed description of each feature flag and configuration instructions.

DataWeave Features

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

Support for backward compatibility with previous 2.x versions of DataWeave:

  • Compatibility flags retain previous DataWeave behavior at the Mule application level. For details, see DataWeave System Properties.

  • Syntax of an earlier version of DataWeave is supported through the %dw directive (such as %dw 2.4).

    Setting the directive to an earlier version of DataWeave avoids any syntax-breaking changes when the DataWeave runtime engine runs the script. This script-level setting enables you to retain earlier behavior in some scripts while using the latest behavior in others. DataWeave syntax did not change between DataWeave versions 2.1 through 2.4. See discussion of %dw in DataWeave Header.

Extended format support:

  • ProtoBuf format support is available. See Protobuf Format.

  • cXML support in the XML format is available for reading and creating doctype directives (DTDs). See XML Format.

Extended type support:

  • Loading type definitions from Java classes, JSON schemas, and XML schemas, and using the definitions in DataWeave scripts is supported. See Selecting Types.

  • Creating new DataWeave types from existing types is supported. See Reuse Types.

  • Specifying type parameters (similar to generics in other programming languages) of a function at the call site is supported. For details and examples, see Type Parameters and Work with Functions and Lambdas in DataWeave.

  • Introducing a Metadata Assignment Operator (<~) which enables you to set the metadata of any value without using the as operator. See Metadata Assignment Operator.

Memory management:

  • DataWeave now uses a centralized memory service provided by the Mule runtime when executing in that context.

DataWeave module features:

  • The Dtd module (dw::xml::Dtd) is new.

  • The toString function adds the locale parameter.

  • The Core annotation @UntrustedCode() changes to @UntrustedCode(privileges: Array<String>).

  • The concatWith function is new.

  • The version function is new.

Fixed Issues

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

Issue Resolution ID

Application name and flow name now appear inside the cache scope thread.


Deadlock in batch now works properly when a step fails because of max errors.


SubTypeMappings no longer define the same mapping twice.


StackOverflowError no longer occurs when there are recursive references in JsonTypeLoader.


An event no longer gets stuck when using a Foreach scope with a map payload. If the app has minMuleVersion >= 4.5.0 or if you are using the system property -M-Dmule.foreachRouterRejectsMapExpressions=true, the runtime generates an exception with "Foreach does not support 'java.util.Map' with no collection expression" message. With minMuleVersion < 4.5.0, the check isn’t done to preserve backwards compatibility with 4.4.0 and 4.3.0.


JDBC/JMS driver-specific cleanup is now performed if the driver is declared as a sharedLibrary.


Startup script now gives higher priority to JAVA_HOME instead of PATH.


Classloader leak no longer occurs in MVEL optimizers.


Variable propagation no longer fails with nested error handlers.


All Javax libraries are replaced with the Jakarta equivalent.


jsoup is upgraded to 1.15.3.


SLF4J is upgraded to 2.0.


Byte Buddy is upgraded to 1.14.0.


LMAX disruptor is upgraded to 3.4.3.


FastUtil is upgraded to 8.5.11.


ram-parser-2 is upgraded to 1.0.44-10.


commons-lang3 is upgraded to 3.12.0.


Log4j is upgraded to 2.20.0.


Reactor Core is upgraded to 3.4.22.


org.json:json is upgraded to 20230227.


Commons IO is upgraded to 2.13.0.


Bouncy Castle is upgraded to 1.74.


Hazelcast is upgraded to 5.2.4.


Maven is upgraded to 3.9.4.


jsr305 is removed from the distribution.


com.sun.xml.bind.jaxb-core is removed from the distribution.


CGLib is removed from the distribution.


Groovy is removed from the distribution.


geronimo-j2ee-connector_1.5_spec is removed from the distribution.


This release adds the enforce.dw.expression.validation flag that, when enabled, enforces all DataWeave expressions.


DataWeave 2.5.0 is bundled with the Mule 4.5.0 release. This release addresses the following DataWeave issues:

Issue Resolution ID

The typeOf function now returns the underlying type value.


The lookup function is now deprecated.


Memory usage is now improved when using for each scope.


DataWeave now loads the Java class methods in deterministic order. Setting the property mule.dw.java_module_loader_deterministic_functions_ordering=false reverts the behavior.


Typed parameters validation now works properly when using generics.


Support is now added for negative Periods.


The onNull function now calls the right overload.


The literal type checking over escaped String is now improved.


The fromHex function is now improved to avoid carrying the base to be consistent with fromBase64 function.


The intersection of Object types at runtime now correctly matches the behavior of type checking phase.


Unnecessary materialization in pattern matching no longer occurs.


Trailing zeroes after the decimal point are now removed by default for JSON, YAML, CSV, and DataWeave formats. Setting minMuleVersion to 4.4.x or previous versions reverts the behavior.


The update operation dealing with Array and Object now works correctly when streaming is enabled.


The sum function now works correctly with an Array of non-numeric values.


The StackOverflow error on recursive function call with Object type argument no longer occurs.


The sqrt function now works correctly when working with floating point numbers.


The exception handling at sum, joinBy, dw::core::Arrays::countBy, and dw::core::Arrays::sumBy functions causing an invalid result is now removed. Setting the property com.mulesoft.dw.defaultOperator.disableExceptionHandling=true reverts the behavior.


The support for BOM marker on UTF-16 files is now improved.


The @Since annotation is now correctly processed in overloads. Setting the property mule.dw.functions.hide_based_on_language_level=false reverts the behavior.


A new set of functions is added to coerce a String to Date, DateTime, Time, or Number by a given format and locale. For example, dw::util::Coercions::toLocalDateTime.


The dw::core::Strings::unwrap function now works as expected.


The YAML module support for multiple documents is now improved.


The Java module support now avoids unnecessary input stream consumption.


The inferred type on Array now works correctly with conditional elements.


Pattern matching is now improved when dealing with Union types.


Ranges now support numbers without integer limitations.


Parsing of directives including comments now works correctly.


Type checking phase now works correctly over annotations.


DataWeave now ignores BOM marker on binary files.


The YAML module support of empty Object and empty Array is now improved.


Adding schema to Union types and others now works correctly.


The function dw::core::Binaries::concatWith that allows the concatenation of two Binary values is now added.


Tail recursive function recognition now works correctly when using the default operator.


Coercion for Union and Literal type now works correctly.


Data format resolver now works correctly to avoid unnecessary error messages.


Warning messages are now improved when coercing Union types.


Bundled Components

  • Dataweave version 2.5.0

  • Runtime Manager Agent plugin version 2.5.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 Extensions 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.

See Also