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.

September 2024

What’s New

  • cxfVersion is upgraded to 3.5.9.

  • JaCoCo is upgraded to 0.8.11.

  • Maven JAR Plugin is upgraded to 3.3.0.

Fixed Issues

Patch release version: 4.6.7

This patch update addresses the following Mule issues:

Issue Resolution ID

NullPointerException is no longer thrown when DataWeave transforms a RetryPolicyExhaustedException to a JSON format on a Java 17 runtime.

W-15643200

Properties files are now located in the lib/user directory during application deployment.

W-16404468

com.google.gson.stream.MalformedJsonException is no longer thrown while deploying an application.

W-16343071

Kryo serialization now works as expected with ResourceOwnerOAuthContextWithRefreshState when using Java 17.

W-16533466

Debug logs for custom policies containing a custom extension/connector now work correctly.

W-15286605

The process of unloading native libraries in Windows OS running on Java 8 and Java 11 is now improved.

W-16375439

cxfVersion is upgraded to 3.5.9.

W-16436783

JaCoCo is upgraded to 0.8.11.

W-14866639

maven-jar-plugin is upgraded to 3.3.0.

W-14580541

Policies with minimum Mule version 4.4.0 now use the flow name as part of the artifact name, when the feature flag anypoint.platform.keep.default.policy.format=true is set.

W-16169887

NullPointerException is no longer thrown when API Gateway tries to dispose an empty cluster.

W-16540685

API Gateway pollers are no longer initialized when the API Gateway is started in offline mode.

W-16093885

Race condition no longer causes byte buffer disposal errors when deploying policies.

W-16450677

DataWeave 2.6.7 is bundled with the Mule 4.6.7 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

DataWeave now preserves MimeType properties correctly.

W-16161736

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

August 2024

Patch release version: 4.6.6

This patch update addresses the following Mule issues:

Issue Resolution ID

Loaded native libraries are now copied into a separate temporary folder to avoid issues while redeploying applications in Windows OS.

W-15894519

Parameter resolution error handling is no longer affected when the parameterized operation is inside a dynamically referenced subflow.

W-15923581

The OAuth token invalidation status is now communicated to other nodes in a cluster when a token is invalidated on one node.

W-15154658

Flows now honour the state configured in flows.deployment.properties when restarting the app, regardless of the initial state. To enable this feature, use the mule.honour.persisted.flow.state system property. This only applies to Standalone and Hybrid deployments.

W-15750334

Mule runtime startup no longer fails when MULE_HOME has a blank space on Windows OS.

W-15346051

A serialization exception is no longer thrown when a Batch Step fails with a ModuleException in Java 17.

W-15808825

mule-script-module is now improved to ensure that beans no longer contain invalid references to injected dependencies, whether they are directly or indirectly reliant on MuleConfiguration.

W-15832941

Jars in lib/user are now visible from jars in lib/opt. For example, using cluster persistence with the JDBC driver provided in lib/user no longer fails with a Could not load driverClass error.

W-16010357

Serialization now works as expected with Batch Job and Salesforce BulkOperationResult in Java 17.

W-16105403

Batch module no longer fails with a Could not serialize object error when client ID enforcement policy is enabled.

W-16124318

Deploying a policy no longer fails while using a mule directory with whitespaces.

W-15440100

ClassNotFoundException is no longer thrown when upgrading from Mule runtime 4.4.0 using the OAuth 2 authentication code and Object Store V2 stored tokens.

W-15595791

NullPointerException no longer occurs when having MQ connector as a dependency in MUnit 3.1.0.

W-15734679

API Gateway initialization no longer fails if quorum isn’t reached in cluster mode.

W-15951155

Hard timeout for platform requests is now available by setting up the anypoint.platform.request_timeout in milliseconds.

W-16141554

DataWeave 2.6.6 is bundled with the Mule 4.6.6 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

Argument materialization is now improved at the dw::Runtime::try function.

W-15323897

Streaming capability is now enabled for arguments of sum, countBy, and sumBy functions.

W-16125755

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

July 2024

Patch release version: 4.6.5

This patch update addresses the following Mule issues:

Issue Resolution ID

The mule-assembly-content-descriptor file size no longer differs between mule-ee-distribution-standalone ZIP and Tar GZ distributions.

W-15397610

The redeployment of an app with a domain using a Groovy component no longer throws the groovy.lang.MissingMethodException exception.

W-15750766

Batch job instance queue store files are removed after completion.

W-15546969

Cache scope with multiple computations no longer occurs if events arrive concurrently for an absent key.

W-14604517

Tanuki wrapper configuration is now enabled for AArch64.

W-15839796

MDC context is reset after the XML SDK operation is executed.

W-15206528

MUnit tests no longer fail with groupId cannot be null when using a parent POM for dependencies and plugins.

W-14998254

Maven plugin versions are updated to be compatible with Maven 3.9.

W-15554914

JRuby dependency is upgraded to 9.4.7.0.

W-15757000

Deploying a policy in Windows no longer fails in folders containing whitespaces.

W-16112611

Open Telemetry tracing support is now added to policies.

W-15633203

Kerberos is now enabled for proxy authentication against Anypoint Platform for Gateway capabilities.

W-15642605

Default stronger validations for policies are now added after applying the property anypoint.platform.validate_policy_schemas.

W-15769926

Logging for Gateway Analytics initialization is now improved.

W-15904845

Handling of connection errors with API platform is now improved.

W-15809377

Default gatekeeping for APIs that fail when doing a rollback is now added using the property anypoint.platform.gatekeeper.block_failed_revert.

W-15427352

DataWeave 2.6.5 is bundled with the Mule 4.6.5 release. This patch release addresses the following DataWeave issues:

Issue Resolution ID

Enforced Java accessibility restrictions only for Mule apps with DataWeave language level version 2.6 and later and executing with Java 17 and later.

W-15832793

Materialization issues no longer occur with schema properties.

W-15839190

The Flat File module now adds the substituteCharacterAsMissingValue reader property.

W-15571377

The Flat File module now adds the fillRedefinesByMaxLength writer property.

W-15973636

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

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.

    The maximum supported version for running your applications is Java 17 for Mule runtime 4.6.x and later. During the packaging of your app, all code, including third-party dependencies, must be compiled for Java 8.
  • 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