TheRuntime Manager agent is a plugin extension for a Mule runtime engine that exposes the Mule API. Using Runtime Manager agent, you can monitor and control your Mule servers by calling APIs from external systems, or have Mule publish its own data to external systems.
The Anypoint Runtime Manager agent does not automatically update to the latest version available. After initial installation, you need to manually update the agent version. See Install or Update the Runtime Manager Agent.The version of Runtime Manager agent must support the version of Mule and Runtime Manager you are using. Check the following release notes to determine compatibility:
These release notes describe monthly Dedicated Load Balancer updates starting in July 2023, which include OS and security updates. For more information about these monthly scheduled updates, see DLB Monthly Scheduled Update FAQ.
The DLB connection capacity has been improved. This improvement increases the resiliency of the DLB in scenarios when a degraded, high-volume, backend CloudHub application exhausts resources on the DLB.
A Timeout in Seconds field has been added to the DLB configuration settings. You can use this setting to specify the response timeout value from the Mule runtime engine. The default is 300 seconds.
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.
The FlatFile module now provides a reader property, retainEmptyStringFieldsOnParsing, for handling fields that lack values. When set to true, this property makes the reader retain these fields and set their values to an empty string. The default behavior of the reader is to remove those fields.
Data payloads without line breaks no longer work when using lenient as the recordParsing property. The other options to recordParsing support records that lack line breaks. noTerminator is preferred for fixed-length records that lack a line break.
The insecure="true" attribute of the trust-store config is now honored when additional properties are defined. Use the system property mule.honour.insecure.tls.configuration=true to apply this behavior in Mule 4.4 or earlier.
This release adds a feature flag that disables the error suppression feature. Error suppression prevents components such as the Web Service Consumer connector and the Until Successful scope from reporting errors outside their namespaces. Use the system property mule.suppress.mule.exceptions=false to apply this change.
AbstractForkJoinRouter-based processors, such as Parallel For Each and Scatter-Gather routers, can now show detailed error information for their failed routes. Use the system property mule.detailedCompositeRoutingExceptionLog=true to apply this change.
The text/plain reader now correctly ignores the byte order mark (BOM). The JSON writer now uses the encoding information available in Binary values when writing them as String values instead of using the writer configuration encoding. To restore the previous behavior, enable the system property com.mulesoft.dw.decode_binaries_with_writer_encoding.
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.
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.
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.
DataWeave Flatfile: Added the reader and writer property useMissCharAsDefaultForFill for the flat file format. When this property is set to true, DataWeave uses the fill character configured in the missingValues property to trim or pad elements. If useMissCharAsDefaultForFill is set to false, DataWeave uses the space character.
Introduces a mule.setVariable.WithNullValue=true property for the Set Variable component, which enables you to create a Mule variable with a null value. In Mule 4.4, this behavior will be the default.
DataWeave flat files now contain the property notTruncateDependingOnSubjectNotPresent to avoid truncating the group-item when the subject is not present or the length of the subject of an OCCURS clause is zero. Earlier versions contained this property.
This change affects Mule versions 4.3.0 for on-premises Mule, CloudHub, and other hosted or embedded runtimes, including Anypoint Runtime Fabric and Anypoint Studio. Future patches to these releases and future minor releases of Mule will also incorporate the new default.
Using a @ParameterGroup annotation with an @ExclusiveOptionals annotation that references another parameter with the same name outside the group no longer causes the deployment to fail with the error the following parameters cannot be set at the same time.
Setting a Date with Time and TimeZone precision from a String value now works correctly without requiring a DataWeave expression. In addition, setting time-based parameters following the ISO-8601 standard is now supported.
Fixed an issue that occurred when retrying an operation after refreshing an OAuth token. Consumable values (such as streams) of parameters in the operation were already consumed and not reset upon retrying the operation.
Fixed an issue in which a connector with an operation that has a parameter group with exclusive optionals (one required) and one of the optional parameters is a POJO with dynamic fields caused the application deployment to fail. Affected connectors are the Cryptography module and Anypoint Connector for SAP (SAP Connector).
Fixed an issue where different instances of a dynamic configuration containing an OAuth setup with Client Credentials could share the same token causing various errors (such as login fail or unauthorised access).
Fixed an issue in which ActivePolicies set in DefaultPolicyManager retained multiple (weak) references to policies when expired policies renewed. The references were not collected. To avoid consuming more memory than necessary, the fix ensures that only one weak reference is retained per policy.
Fixed a regression caused by a prior fix (MULE-18805) that made DataSense scenarios with error handling work improperly. With this fix, every scenario works properly, including the ones from MULE-18805.
Fixed an issue with backslash-character processing when running Studio on Windows, which caused Test Connection in Anypoint Connector for File to fail when the Configuration property was present.
Period changes its behavior for dates in version 2.3.0. To restore the 2.2.0 behavior, set the -M-Dcom.mulesoft.dw.date_minus_back_compatibility=true. See Add and Subtract Time for additional details.
Deprecated functions and replacements:
The entrySet, keySet, nameSet, valueSet functions in the Objects module are deprecated in this release and replaced with the functions entriesOf, keysOf, namesOf, valuesOf in the Core module.
withMaxSize function:
The Strings module has a new function that enables you to specify a maximum size for a given value. A value that exceeds the size limit will be truncated. If the size is no greater than the limit, the value remains the same.
Common Subexp Elimination
To optimize scripts, DataWeave now eliminates common subexpressions by internally using implicit variables for them, meaning the subexpressions are only executed once regardless of how many times they are repeated.
Improvements to parsing error messages:
Parsing errors now reflect more accurately missing tokens, incomplete definitions, and other common issues. Tips and examples of how to solve the issues are also included.
Mule 4.3.0 includes several updates to improve performance. Some processes are pre-calculated to reduce latency and increase throughput. However, these modifications cause a slight increase in memory consumption for Mule components.
The increase is particularly important when using subflows because the content of a subflow replaces each Flow Reference component that references the subflow, causing several instances of the event processors inside a subflow to exist in the application at runtime. See Using Subflows for additional details about subflow behavior.
Use of backslash before Properties escapes the evaluation of them. To have the same behavior as before (backslash being a simple character) add the system property mule.properties.correct.backslash.use=false
3a8082e126