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

October 2024

What’s New

The 4.7.4 version of Mule runtime introduces the following enhancements:

Runtime Manager agent:

Fixed Issues

Patch release version: 4.7.4

This patch update addresses the following Mule issues:

Issue Resolution ID

InitialisationException is no longer thrown when using the Raise Error component with an extra space at the end of the type field.

W-16237424

The configuration-properties encoding parameter is no longer ignored.

W-12228892

ChainInputResolver annotations are no longer ignored if there are no input, output, or metadata key resolvers.

W-16408471

WSC consume operation no longer fails when there is an HTTP TLS transport configuration.

W-16288302

Properties are now resolved during application packaging.

W-15959903

java.lang.InstantiationError : java.util.Map is no longer thrown when applying an authentication policy.

W-16595277

Fatal errors no longer occur when loading native libraries in Java 17.

W-16787783

Kryo serialization now works as expected when executing the Rate Limit policy in Java17.

W-16843706

When the feature flag anypoint.platform.keep.default.policy.format is set to true or the policy minimum Mule version is 4.5.0, the policy name format is now ${policyName} @ ${artifactName} - ${flowName}.

W-16169887

Logging for the Analytics .db files cleanup is now improved.

W-16624763

There is no DataWeave update for this version.

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

September 2024

What’s New

  • Spring core is upgraded to 5.3.39.

  • cxfVersion is upgraded to 3.5.9.

  • JaCoCo is upgraded to 0.8.11.

Fixed Issues

Patch release version: 4.7.3

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

ChainInputResolver annotations are no longer ignored when there are no input, output, or metadata keys resolvers in Java SDK.

W-16408471

ChainInputTypeResolvers are now found for routes with Alias in Java SDK.

W-16433612

Anypoint Studio Debugger now intercepts components inside a subflow.

W-16230302

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

Log warning "Unable to dispose not present 'ByteBufferProvider org.mule.weave.v2.memory.service'" is no longer thrown while disposing a policy.

W-16263266

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

W-16450677

DataWeave 2.7.3 is bundled with the Mule 4.7.3 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.7.2

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

NullPointerException no longer occurs while packaging an application with global on-error references.

W-16083021

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.7.2 is bundled with the Mule 4.7.2 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.7.1

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

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

W-15425364

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

W-15782010

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

W-16112611

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

Deploying an application with Mule SDK scope and policies no longer throws the NoSuchElementException: No 'componentIdentifier' set for location exception message.

W-15980586

DataWeave 2.7.1 is bundled with the Mule 4.7.1 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 4, 2024

What’s New

The 4.7.0 version of Mule runtime introduces the following enhancements:

Mule optimizations for Anypoint Runtime Fabric and CloudHub 2.0:

  • Mule runtime is now optimized to work in a containerized environment.

    With this optimizations, there is a 37 Mi reduction in memory footprint for Mule runtime 4.7.0. Furthermore, there’s an improvement of 2-3 percent of start-up time. Tests were done in a 0.1v core - private space.

Deprecate the compatibility module:

  • Legacy components from Mule 3, such as MEL, are removed from the distribution, which causes mule-compatibility-plugin to no longer work in Mule 4.7. This component can be replaced by using the Mule Migration Assistant with the noCompatibility option.

General improvements:

  • The commons-io:commons-io dependency is updated 2.16.0.

  • The commons-codec:commons-codec dependency is updated 1.16.1.

  • The com.typesafe:config dependency is updated 1.4.3.

  • The org.dom4j:dom4j dependency is updated 2.1.4.

  • The org.apache.httpcomponents:httpasyncclient dependency is updated 4.1.5.

  • The net.sf.saxon:Saxon-HE dependency is updated 12.

  • The com.esotericsoftware:minlog dependency is updated v1.3.1.

  • The commons-codec:commons-codec dependency is updated 1.16.1.

  • The org.apache.maven.plugin-tools:maven-plugin-annotations dependency is updated 3.11.0.

  • The org.apache.maven.plugins:maven-assembly-plugin dependency is updated 3.7.0.

DataWeave Features

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

DataWeave module features:

  • The Mime module (dw::module::Mime) is new.

Fixed Issues

The release addresses the following Mule issues and incorporates all patch updates from the 4.6.0 Mule release through May 2024:

Issue Resolution ID

maven-jar-plugin is upgraded to 3.3.0.

W-14580541

The `commons-dbutils:commons-dbutils`dependency is upgraded to 1.8.0.

W-14794033

The `commons-cli:commons-cli`dependency is upgraded to 1.6.0.

W-14794052

The net.jodah:failsafe dependency is upgraded to 2.4.4.

W-14799865

The io.projectreactor:reactor-core dependency is upgraded to 3.6.2.

W-14799920

The everit-json-schema dependency is upgraded to 1.14.3.

W-14801961

The org.apache.commons:commons-compress dependency is upgraded to 1.25.0.

W-14809728

The Jackson library is updated to 2.16.1.

W-14821631

Velocity in extensions-plugin is upgraded to 2.3.

W-14821802

plexus-archiver is upgraded to 4.9.1.

W-14821825

The org.apache.commons:commons-lang3 dependency is upgraded to 3.14.0.

W-14825169

The org.reflections:reflections dependency is upgraded to 0.10.2.

W-14828446

The com.google.guava:guava dependency is upgraded to 33.

W-14844796

assembly-plugin used in container-descriptor-handler is now upgraded.

W-14845008

Log4j2 monorepo is upgraded to 2.22.1.

W-14852872

The raml-parser-2 dependency is upgraded to 1.0.44-15.

W-15347622

The org.jetbrains:annotations dependency is upgraded to 24.

W-14876998

The org.objenesis:objenesis dependency is upgraded to 3.

W-14886539

The com.sun.mail:mailapi dependency is upgraded to 1.6.7.

W-15183893

The com.google.j2objc:j2objc-annotations dependency is upgraded to 3.

W-15242673

The com.squareup.okhttp3:okhttp dependency is upgraded to 4.12.0.

W-15287442

The org.apache.maven.plugins:maven-assembly-plugin dependency is upgraded to 3.7.0.

W-15251753

Hazelcast is upgraded to 5.2.5.

W-15159760

The org.vibur:vibur-object-pool dependency is upgraded to 25.

W-14888967

commons-collections is upgraded to 3.2.2.

W-14776571

Deprecated io.helidon.grpc:io.grpc is now replaced with io.grpc.

W-15279334

The com.esotericsoftware:minlog dependency is updated to 1.3.1.

W-14754722

The org.togglz:togglz-core dependency is updated to 3.2.1.

W-14856683

The commons-codec:commons-codec dependency is updated to 1.16.1.

W-15142246

ExecutionOccurrence is now added in ExtensionModel and SDK.

W-14954600

ExecutionOccurrence is now added to Core Scopes and routers.

W-1495461

Passing system property arguments and running on Java 11 or later on CE distribution now work as expected.

W-14998262

Policy#dispatchToSenders now shows the stack trace for an exception.

W-15315342

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

W-15345812

JSON schema draft version is now properly enforced. For example, the id field in draft-07 is ignored as it must be defined as $id.

W-14808949

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

W-15617764

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

W-15228973

Resiliency is now improved on policy application and updates.

W-15426519

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

W-14401338

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

W-15677894

DataWeave 2.7.0 is bundled with the Mule 4.7.0 release. This release addresses the following DataWeave issues:

Issue Resolution ID

Validation for type parameter usage in non-generic types now works as expected.

W-15206030

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

W-14589732

MIME type module is now added to operate over MIME types.

W-15523246

Processing of large union and intersection types is now improved.

W-15510515

Referencing of types defined in the script now works as expected.

W-15160402

DataWeave verifier no longer hangs with recursive Union Types.

W-15111303

Validation for type references in constrained generics is now added.

W-14757325

Type check for function generics now works as expected.

W-15083938

Recursive detection of type parameters now works as expected.

W-15161985

Configurable caching service is now added.

W-14894233

Support for metadata as Objects is now added.

W-14901297

Validation of type wildcards now takes into account additional fields.

W-14380720

IndexOutOfBoundsException no longer occurs with Lambdas on pattern matching.

W-14489821

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

Compilation error now works as expected with type parameters in functions.

W-15520252

Bundled Components

  • DataWeave version 2.7.0

  • Runtime Manager Agent plugin version 2.6.2

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.4

APIkit for OData

2.3.0

APIkit for OData 4

1.4.0

APIkit for SOAP

1.5.0

APIkit for GraphQL

1.1.0

Spring module

1.4.0

MUnit plugin

3.2.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