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.

June 2024

Patch release version: 4.6.4

This patch update addresses the following Mule issues:

Issue Resolution ID

Applications configured with OAuth and running on Java 17 are now correctly serialized.

W-15425364

You can now see the number of flows considered for UBP and what those flows are when the application starts.

W-14401338

plexus-archiver is upgraded to 4.9.1.

W-14821825

The version in the pom.xml file is now parsed when containing the property ${text}.

W-15228973

Events with statistics are now correctly serialized for applications running on Java 17.

W-15542604

The exception java.lang.IllegalAccessException no longer occurs when using itemSequenceInfo in DataWeave.

W-15617764

DataWeave compiled expressions cache is no longer overpopulated when using nested templates.

W-15782010

Batch job serialization now works as expected when running on Java 17.

W-15345812

Tracing variables inside XML operations are no longer propagated to the flows.

W-15206528

jackson-databind is upgraded to 2.15.4.

W-15628361

NullPointerException no longer occurs on AST-deserialized applications using Anypoint Custom Metrics Connector.

W-15677894

Resiliency is now improved on policy application and updates.

W-15426519

DataWeave 2.6.4 is bundled with the Mule 4.6.4 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

A java.io.IOException exception no longer occurs when writing the same binary input multiple times for JSON and XML formats.

W-14589732

The Excel writer now generates XLSX files using ZIP specification 2.0.

W-15534640

When comparing a Date with a String representation of a date, the Date format is now used to coerce the String accordingly.

W-15478713

Access error messages for Java 17 encapsulation errors are now improved.

W-15705596

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

May 2024

Patch release version: 4.6.3

This patch update addresses the following Mule issues:

Issue Resolution ID

Client, policy, and API names are now shown when logging Analytics events.

W-15294568

When upgrading a policy, templates are now downloaded before the previous version is removed.

W-15212679

When applying a policy that initially failed but was later applied successfully, the retry initiated by the gateway no longer causes an exception error.

W-15186491

Joda-Time is upgraded to v2.12.7.

W-15511864

Apache CXF is upgraded to version 3.5.8.

W-15293232

Getting metadata from a XSD with vc:minVersion=1.1 no longer causes a NullPointerException error.

W-15193303

DataWeave 2.6.3 is bundled with the Mule 4.6.3 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

ArithmeticException no longer executes toHex with non-integer numbers.

W-15006840

Performance degradation no longer occurs when an array is concatenated.

W-15399854

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

April 2024

Patch release version: 4.6.2

This patch update addresses the following Mule issues:

Issue Resolution ID

NullPointerException no longer occurs when deploying domains.

W-15159880

Hazelcast is upgraded to 5.2.5.

W-15274674

Spring is upgraded to 5.3.33.

W-15260752

GraalJS is upgraded to 22.3.5.

W-15284493

MUnit tests using tracing module and "Set logging variable" now work as expected.

W-14773408

Using vc:minVersion="1.1" in XSD schema no longer throws NullPointerException in XML SDK connectors.

W-15081363

Template parser validation is now improved.

W-15141905

DataWeave 2.6.2 is bundled with the Mule 4.6.2 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

Inconsistent behavior no longer occurs between in-memory and streaming XML parsers for deciding document encoding.

W-15110015

Streaming for DataWeave-based data formats like ndjson now works as expected.

W-15262860

The Excel reader no longer reads furigana characters.

W-14991276

Coercion of the third parameter on the ternary function executor now works as expected.

W-15061008

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

March 2024

Patch release version: 4.6.1

This patch update addresses the following Mule issues:

Issue Resolution ID

Performance is now improved for certain For Each scenarios.

W-14678431

HTTP Request Connector no longer throws Connection limit exceeded, cannot process request when maxConnections is set to 1.

W-14686211

Disabling the enableNotifications flag on the On Error Continue component now works as expected.

W-14954677

Multi-step batch jobs can now be correctly resumed and finished after being stopped.

W-14726677

The error message is now improved for exceptions that occur when loading an extension because of Java version incompatibility.

W-14934626

The error message namespace already exists is no longer thrown when using the same namespace with the current module or extension namespace for apps using the XML SDK component.

W-14559071

Transactions' timeout is now honored. When a transaction times out, it is rolled back, and an error is thrown that can be handled with error handling. To enable this, activate the mule.tx.error.when.timeout feature flag.

W-14128870

Memory leaks no longer occur when using the mule-scripting-module dependency with HTTP Connector.

W-14479158

Java JDK inlineDeclaration now resolves correctly for stateless subtypes.

W-14645134

DataWeave 2.6.1 is bundled with the Mule 4.6.1 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

Performance is now improved when coercing addition and subtraction operations.

W-14927555

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

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.

W-13913357

The Joda-Time library is upgraded to version 2.12.5.

W-13913362

The GraalJS library is upgraded to 22.3.3.

W-13961780

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

W-14747448

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

W-14748090

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

W-14608096

MediaType cache now has a maximum size to prevent leaks.

W-14490182

DataWeave now uses objects as part of the Mule API.

W-14185880

License installation no longer fails with FileNotFoundException.

W-14542349

Legacy properties builder no longer reevaluates from root resolver placeholders.

W-14616618

JAVA_HOME is now properly handled by Surefire.

W-12082402

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

W-14619216

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

W-14543363

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

W-14321634

Unnecessary MBeans for JMX management are no longer registered.

W-12422473

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

W-12421187

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

W-14646484

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.

W-14591653

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

W-14514837

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

W-14315728

Bundled Components

  • DataWeave version 2.6.0

  • Runtime Manager Agent plugin version 2.6.0

Upgrade

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

1.10.1

APIkit for OData

2.2.1

APIkit for OData 4

1.3.4

APIkit for SOAP

1.4.1

APIkit for GraphQL

1.0.0

Spring module

1.3.11

MUnit plugin

3.1.0

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.

See Also