+
+

Mule Runtime Engine 4.4.0 Release Notes

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

April 2022

Patch release version: 4.4.0-20220321

This patch update addresses the following Mule issues:

Description Issue

Race conditions no longer occur when running parallel deployments.

W-10672687/SE-23764

Custom connector POST requests no longer send the body as NULL when handling empty payloads.

W-10818822

The redirect implementation properly handles the "Preserve Header Case" configuration.

W-10822777

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

March 2022

Patch release version: 4.4.0-20220221

This patch update addresses the following Mule issues:

Description Issue

A direct memory error no longer occurs when the com.mulesoft.dw.directbuffer.disable system property is enabled.

SE-24186

Set-Cookie is now handled correctly after a redirect request.

W-10667387 / MULE-19942

Properties now resolve correctly for document attributes of the AST metadata.

W-10673280 / MULE-20090

Metadata type is no longer missing from the definition when present in the schema.

W-10674401 / SDK-48

When disposing of an application, Mule no longer throws an IOException error indicating that the underlying JAR file is in use.

W-10674436 / W-10674454 / SE-23775

After a failed HTTP request, applications no longer stop when reading the error payload in the error handler.

W-10681464 / MULE-19537

The warning Illegal reflective access by EfficientReflectionHashCode no longer occurs due to starting Mule when using JDK 11.

W-10730677 / EE-7990

LifecycleObjectSorter and dependency resolvers implemented in this release reduce application deployment time.

W-10745620 / W-10746222 / MULE-19984

Thread-local interference no longer occurs when a task is scheduled for execution on the same thread due to thread-pool exhaustion. One possible symptom was a transaction not being properly cleaned up under heavy load, followed by nested transaction errors.

W-10619599 / MULE-20072 / SE-24241

DataWeave 2.4.0 is bundled with the Mule 4.4.0 release. The March patch release addresses the following DataWeave issues:

Description Issue

A direct memory error no longer occurs when the com.mulesoft.dw.directbuffer.disable system property is enabled.

SE-24186

Duplicate declarations for namespace prefixes in XML no longer occur.

W-10648792 / DW-1081

Exceptions are no longer thrown due to use of the default operator with fromBase64.

W-10648825 / SE-23812

Avro unions with enums are now supported.

W-10706991

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

February 2022

Patch release version: 4.4.0-20220124

This patch update addresses the following Mule issues:

Description Issue

Anypoint Connector for Box (Box Connector) no longer fails to recreate the input stream after an access token refresh, preventing a stream closed issue.

MULE-20001/SE-23666

A concurrent connection limitation in Anypoint Connector for NetSuite (NetSuite Connector) no longer occurs.

MULE-19937/SE-22359

The readiness check performed when deploying on Runtime Fabric is now processed correctly.

AGENT-466/SE-22948/SE-22585

Running multiple MUnit cases together no longer causes a No bean named '_muleDefaultObjectSerializer' available error.

MULE-20012/SE-23407

Anypoint Connector for Google Calendar (Google Calendar Connector) no longer overwrites the access_token, which prevents generating incorrect results.

MULE-20019/SE-23584

You can now use static values in a flow reference processor.

MULE-19987/SE-23634

Mule no longer performs a thread switch in a transactional context that uses multithread and the same cache-key.

EE-8216/SE-23816

Using a custom connector that includes enum types no longer prevents applications from deploying successfully.

MULE-19976/SE-24012

Mule no longer returns an incorrect CONNECTIVITY error type when a ConnectionException is thrown when using the Java SDK.

MULE-19895/SE-24091

Deploying a Mule application with unpaired namespaceUri in schemaLocations no longer causes an ArrayIndexOutOfBoundsException error.

MULE-20035/SE-24099

Global property values of a module are now accessible within a private operation that is invoked within a flow control component.

MULE-19962/MULE-19035/SE-22282

DataWeave 2.4.0 is bundled with the Mule 4.4.0 release. The February patch release addresses the following DataWeave issues:

Description Issue

An endless loop issue no longer occurs when writing a CSV file with bufferSize=0.

DW-1074

Creating sample files using the binary type no longer causes an error.

DW-390

Corrected the documentation of the`Periods::between` function.

DW-1070

Upgraded some dependencies, including avro and jackson, and removed unused AWS dependencies (#1673).

DW-1080

Upgraded the edi-parser with SLF4J.

CONN-9598

Performing transformations from avro to other formats no longer causes an exception when the enum type field is present.

SE-23802

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

January 2022

Patch release version: 4.4.0-20211227

This patch update addresses the following Mule issues:

Description Issue

MUnit tests no longer fail after migration from Mule 4.2.1 to Mule 4.3.0 or higher versions.

MULE-19866/SE-21030

This release adds a feature flag to disable ErrorHandlerOnErrorTypeExists validation.

MULE-19879/SE-23207

MUnit no longer hangs as references to Spring schemas in the Mule XSD schema are removed.

MULE-19904/SE-23247

Applications that implement a VM Listener no longer raise java.lang.IllegalStateException: No connection has been bound errors and quit.

SE-22172

Application deployment no longer fails with Task [App].wsc-dispatcher rejected from Scheduler errors.

SE-22851

A null pointer exception error on ObjectBeanDefinitionCreator.processMuleProperties that prevented app deployment no longer occurs.

MULE-19886

FlowProcessMediator no longer leaks the payload of the first request.

MULE-19869

Mule no longer raises exception errors for a custom connector developed with Mule SDK for Java.

MULE-19936/SE-23408

If the redelivery policy is exhausted in a source configured with transactions, Mule no longer raises an error that runs in a loop.

MULE-19915

Processors in subflows now get the processing strategy of the root flow.

MULE-19924

Autogenerated Mule connectors no longer fail with NumberFormatException errors.

MULE-19871/SE-21463

You can now redeploy applications that were in a stopped state when they were deleted.

MULE-19890/SE-22261

DataWeave now escapes the \ symbol when used in combination with the " symbol.

MULE-19900/SE-22346

The batch processing On Complete phase no longer fails if it encounters an error stream.

EE-8020/SE-22386

Logs no longer show reconnection successful messages when reconnection attempts to the FTP server are exhausted because the server is unavailable.

SE-22434

Transactions opened by the JMS Listener are no longer rolled back.

MULE-19919/SE-23039

You can now perform parallel deployments of apps that are linked to a domain and share a configuration.

MULE-19912/SE-23123

Mule now recognizes Eclipse Temurin by Adoptium (formerly Adopt OpenJDK project) as a recommended JDK Vendor and no longer raises an INFO-level log message.

MULE-19917/SE-23354

Apache Commons Compress upgraded to version 1.21.

EE-8088

GSON upgraded to version 2.8.9.

EE-8154

Kryo updated to version 4.0.2.

EE-8153

Apache Velocity updated.

EE-8010

The JMS Connector no longer leaks connections and now honors connection pools in XA mode with Solace JMS.

MULE-19848/SE-2228

MUnit no longer fails with a RejectedExecutionException error.

SE-22728

Scheduler runs using cron expressions are no longer rejected if other scheduler components are under back pressure.

SE-22941

This releases fixes an issue that caused a No qualifying bean of type 'org.mule.extensions.java.internal.cache.JavaModuleLoadingCache' available error.

MULE-19896/SE-23142

An issue that caused a No qualifying bean of type 'org.mule.extensions.java.internal.cache.JavaModuleLoadingCache' available error no longer occurs.

MULE-19896/SE-23142

The JMS Connector no longer leaks connections and now honors connection pools in XA mode with Solace JMS.

MULE-19848/SE-22284

HTTP requests with 100-continue are now processed as expected.

MULE-19884/SE-22637

DataWeave 2.4.0 is bundled with the Mule 4.4.0 release. The January patch release addresses the following DataWeave issues:

Description Issue

Flow retyping inside dynamic functions now works as expected.

DW-677

DataWeave no longer incorrectly sets autostreaming.

DW-918

The UnsupportedTypeCoercionToLiteralException error is now caught when using the similar operator (~=).

DW-932

JSON streaming now works correctly.

DW-940

The AttributeDelegate function no longer causes a stack overflow error.

SE-23494

Removing objects by property name now works as expected.

SE-23444

When using arrays, the XML writer properly keeps namespaces.

SE-23299

DataWeave now correctly parses large strings in JSON transformations.

SE-23291

A Scatter Gather issue that caused DataWeave to throw the ArrayIndexOutOfBoundsException error no longer occurs.

SE-22431

Comparison operators for dateTime type now work as intended.

SE-22025

Local variable resolution now works as expected.

SE-21847

Avoid closing resources prematurely when using the write function, which affects MUnit tests.

SE-23483

Fix OutOfMemory error using writeLinesWith function, which affected the ndjson module.

SE-23759

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

November 2021

November patch update 4.4.0-20211104 addresses a regression in the previous November patch update, 4.4.0-20211026, and includes the fixes in that patch.

  • If you installed the previous November patch, 4.4.0-20211026, install patch 4.4.0-20211104 to address the regression.

  • If you did not install the previous November patch, 4.4.0-20211026, skip that patch, and install the new patch, 4.4.0-0211104.

For detailed information about the regression, potential actions to take, and alternative solutions, see HTTP Redirect Known Issues in Mule 4.3 and 4.4 runtime engines - November 2021 changes.

Patch 4.4.0-20211104

Patch release version: 4.4.0-20211104

This November update addresses a regression introduced in the previous November patch, 4.4.0-20211026:

Description Issue

QueryParams are no longer lost when HTTP redirects take place.

MULE-19811

Addressed a regression in the initial November patch update.

SE-23349

Patch 4.4.0-20211026

Patch release version: 4.4.0-20211026

Skip this patch, and install a later patch. Fixes in this patch are included in later patches.

This November update addresses the following Mule issues:

Description Issue

Fixed NullPointerException handling when serializing or transforming Mule errors from the Until Successful component.

MULE-19811

Added missing copyStrategy elements to caching strategy the extension model.

EE-8112

The CachedConnectionProvider no longer returns the same connection to a source if sourceCallback.onConnectionException(e) is called.

MULE-19678

An issue with nesting referenced Flow Reference components no longer occurs.

MULE-19831/SE-22539

Fixed a memory leak in org.mule.runtime.core.internal.rx.FluxSinkRecorder.

MULE-19846/SE-22780

Applications now start correctly after the September patch update is applied.

MULE-19815/SE-22845

Fixed an issue with adding Anypoint Connector for Snowflake (Snowflake Connector) to Studio.

SE-23107

Fixed a scheduling mechanism issue in Anypoint MQ that appeared when the Subscriber operation used the Polling type.

MULE-19843/SE-23031

Fixed an invalid configuration error in custom connectors built with the XML SDK.

MULE-19858/SE-23113

Fixed a memory leak in FlowProcessMediator.

SE-22773

Fixed intermittent No listener errors during Studio deployments or flow restarts.

MULE-19533/SE-21576/SE-20958

Mule now handles concurrent requests correctly when a Mule application makes an HTTP request that returns a 301 redirect.

SE-22922/SE-19944

DataWeave 2.4.0 is bundled with the Mule 4.4.0 release. The November patch release addresses the following DataWeave issues:

Description Issue

Fixed a ClassCastException that occurred in the Avro module by correcting its generated MIME type.

SE-21869

Comments within YAML files processed in Mule applications are no longer erased.

DW-706

You can now disable the removal of self-referencing implicit variables.

DW-893

DataWeave now allows mixed content structures (text and nodes) when reading and writing XML content.

SE-21464

Functions in the Dates module now accept one-digit numbers for months and days.

DW-894

Improved the performance of splitting functionality.

DW-776

Improved the performance of the JSON module.

DW-706

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

October 5, 2021

What’s New

Mule 4.4.0 includes important enhancements and fixes.

Enhancements

  • Correlation ID Management

    Mule 4.4 enables you to modify the correlation ID associated with a Mule event. You can also change the algorithm Mule uses to generate each correlation ID.

    See Correlation ID for additional information and configuration instructions.

  • Improved Logging Capabilities

    Mule 4.4 incorporates the Mule Tracing module, which you can use to add, remove, and clear variables from the logging context for a given Mule event.

    See MDC Logging for additional information and configuration instructions.

  • Feature Flagging Mechanism

    Mule 4.4 incorporates a feature flagging mechanism, which enables you to disable certain features that change core functionality in Mule to avoid backward compatibility issues.

    The following are the feature flags introduced in this release and its corresponding fixed issue ID:

    Feature Flag Issue ID

    HONOUR_RESERVED_PROPERTIES_PROPERTY

    MULE-17659

    HANDLE_SPLITTER_EXCEPTION_PROPERTY

    DW-383

    BATCH_FIXED_AGGREGATOR_TRANSACTION_RECORD_BUFFER_PROPERTY

    MULE-19218

    COMPUTE_CONNECTION_ERRORS_IN_STATS_PROPERTY

    MULE-19020

    TO_STRING_TRANSFORMER_TRANSFORM_ITERATOR_ELEMENTS_PROPERTY

    MULE-19323

    ENABLE_POLICY_ISOLATION_PROPERTY

    MULE-19226

    ENTITY_RESOLVER_FAIL_ON_FIRST_ERROR_PROPERTY

    EE-7827

    ENABLE_PROFILING_SERVICE_PROPERTY

    MULE-19588

    SET_VARIABLE_WITH_NULL_VALUE_PROPERTY

    MULE-19443

    See Feature Flagging for a detailed description of each feature flag and configuration instructions.

Bundled Components

  • Runtime Manager Agent plugin version 2.4.21

  • Dataweave version 2.4.0

Fixed Issues

Mule Runtime Issue ID

The tooling service in Anypoint Studio now properly propagates metadata for DataWeave Intersection types.

SE-22333

Mule runtime engine uses the correct version of the disruptor.

SE-19387

Fixed a metaspace memory leak in Anypoint Connector for Database (Database Connector).

SE-15818

HTTP requests with OAuth now use a valid token.

SE-15667

Console logs do not produce repeated log messages for the completion of a single batch job.

SE-11533

Fixed the Illegal reflective access warnings for OpenJDK 11.

SE-13349

After a connection is re-established, SFTP files are now picked up properly.

MULE-18294/SE-13897

In Azure Service Bus Connector, when a flow is stopped, the message listener now stops polling.

SE-17389

API Manager now properly handles connection pool exhaustion and no longer shows APIs in INACTIVE state.

SE-15351

Anypoint Connector for NetSuite (NetSuite Connector) no longer makes excessive getServerTime calls.

SE-15200

An application no longer fails to deploy if it uses the same custom name space as an applied custom policy.

SE-15056

Applications using Anypoint Connector for Database (Database Connector) under heavy load no longer show StackOverflow errors.

SE-14663

Mule no longer produces an exception related to class loading when the class exists as a dependency and is configured as a shared library.

SE-14245

When an encoded slash is sent as the value of a URI parameter, the associated listener is now found.

SE-14046

Mule 4 no longer fails to stream the complete payload to the client.

SE-14012

The ErrorType no longer changes when entering an Error Handler scope.

SE-13673

Proxies no longer experience outages during redeployment in Anypoint Runtime Fabric configured with two replicas and rolling update.

SE-13596

DataWeave Issue ID

Added the writeDeclaredNamespaces XML writer property to write all declared namespaces in the root element.

DW-16

Added the writeDeclaration YAML writer property to avoid writing the header declaration.

DW-162

Added a new Strings module for easier string data management.

DW-406

Added the constant folding functionality so that DataWeave replaces operations involving constant values with the actual result. For example, 1024*8 is replaced at compile time with the resulting value 8192.

DW-427

Added flow retyping to the type system, which enables better accuracy within flow-control structures featuring checks that involve typing.

DW-438

Added code inspectors so that quick fixes are suggested with best practices, such as replacing null checks with a default expression, or replacing sizeOf() == 0 with isEmpty().

DW-33/DW-632

Added an inspection to replace using with do blocks.

DW-771

Improved error messages when creating Java objects.

DW-565

Improved performance on floating point number parsing by identifying in advance if the number has a floating point or not.

SE-20614

Extended the common subexpression elimination process to work with index selectors.

SE-19934

Added functions that work with null values to the Core, Arrays, and String modules.

DW-425

Improved JSON performance by copying bytes from input to output directly during JSON-to-JSON data transformations.

DW-230

Improved YAML support of scalar types, string quotations, custom tags, and comment retention.

DW-687

Added the filterTree function to the Tree module to be able to filter any data structure.

DW-160

Added validations for index tokens in CSV format.

DW-577

Added support for the Java classes OptionalInt, OptionalDouble and OptionalLong.

DW-628

Added support for file:/example/file.txt as a valid URL.

DW-195

Added warning when using the design-time only format application/dw without dataOnly mode.

DW-873

Added experimental run and eval functions to dynamically execute scripts.

DW-170

Added the concept of optional function parameters in the type system.

DW-874

Improved CSV streaming to avoid unnecessary processing.

DW-876

Improved the mapObject function to avoid unnecessary processing.

DW-535

Improved the flatten function to avoid unnecessary processing.

DW-509

Improved code validation. Now an error returns when a variable is using the same name as an input.

DW-522

Improved the precision of math operations and added a property to retain the previous behavior: com.mulesoft.dw.math.exact_precision.

SE-16452

Improved handling of big XML files to fix potential I/O exceptions.

DW-250

Fixed error locations when scripts feature dynamic string selectors.

DW-875

Fixed a false negative error message when using multiple union types.

DW-297

The write function return types are now consistent with input types.

DW-298

The update operator no longer fails when working with repeated keys and attributes.

DW-306

Processing of XML documents with comments and streaming enabled now works as expected.

DW-307

DataWeave no longer fails to parse a single key-value pair with a conditional and parentheses.

DW-309

The type system now validates overloaded functions as parameters.

DW-316

Parallel processing on ndjson now works as expected.

DW-325

Fixed a materialization and streaming failure.

DW-368

Fixed the behavior of the slice function.

DW-409/DW-410

Fixed the ability to import namespaces from external modules.

DW-414

DataWeave now produces the error Division by Zero when dividing by 0.0 instead of an internal exception.

DW-415

DataWeave now properly validates that do blocks do not contain any reserved word declaration.

DW-416

Running flatten on flatten no longer causes loss of values.

DW-691

The update operator now works when no attribute is defined.

DW-216

Improved handling of binary data to prevent running out of memory when calculating sizes of processed data.

SE-16559

The com.mulesoft.dw.coercionexception.verbose property no longer logs data from coercion exceptions.

SE-15487

Using nested binary functions no longer produces a StackOverflow error.

SE-16092

DataWeave no longer returns UnsupportedOperationException when parsing an invalid script.

DW-294

Fixed a potential IndexOutOfBoundException when using overloaded functions with four parameters.

DW-159

Added support for dumping Flat File and Avro schemas when com.mulesoft.dw.dump_files is enabled.

DW-137

Improved code compilation. Implicit inputs are not added if a variable with the same name is explicitly defined.

DW-630

Known Issues

Issue ID

Mule AS2 Connector 5.x is not compatible with Mule 4.4. For any applications that use this version of the connector, upgrade the connector to the latest version available in Exchange.

EE-8071

WSDL Proxies on version 1.1.1 and 1.1.2 are not compatible with Mule 4.4. Before you upgrade to 4.4, upgrade the WSDL Proxies to a newer version.

EE-8070

Mule SAP Connector 5.3.4 is not compatible with Mule 4.4. For any applications that use this version of the connector, upgrade the connector to the latest version available in Exchange.

EE-8061

Upgrade

If you are upgrading to Mule 4.4 from an earlier Mule 4.x version, see Upgrading Mule Runtime Engine (Versions 4.x to 4.n) for upgrade instructions.

To ensure optimal performance with Mule 4.4 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.5.5

APIkit for SOAP

1.2.9

Spring module

1.3.6

MUnit plugin

2.3.6

Module Testing Framework (mtf-tools)

1.1.1

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.

Was this article helpful?

💙 Thanks for your feedback!

Submit your feedback!
Share your thoughts to help us build the best documentation experience for you!
Take our latest survey!