Contact Us 1-800-596-4880

Mule Runtime 3.8.1 Release Notes

August 19, 2016

Security Notification for On-Premises Deployments: A security vulnerability was found in this version of the Mule runtime engine. Error handlers do not escape exceptions generated for 404 and other response codes before adding the exceptions to the HTTP response. If the exception contains executable code, the interpreter will execute the code. If you are using this version of the Mule runtime engine on premises, upgrade to the latest version of Mule 3.8.x or to version 3.9.x. Alternatively, you can migrate to Mule 4. Note that extended support of Mule 3.8.x ends in 2021.

Mule Runtime 3.8.1 includes the following enhancements:

  • GA support for RAML 1.0

  • Improved support for COBOL Copybook with DataWeave

  • Support for user defined data types in the database connector

  • DataWeave support for bigger files

  • Many other bug fixes and improvements

The DataWeave Maven artifactId has changed in this release. COBOL Copybook support for DataWeave is limited. The following release notes describe the change and limitation.

Supported Software

Mule was tested on the following software:

Software Version

JDK

JRE 1.7.0, JRE 1.8.0 (Recommended JRE 1.8.0_91/92)

OS

MacOS 10.11.4, HP-UX 11i V3, AIX 7.2, Windows 2012 R2 Server, Windows 8.1, Solaris 11.3, RHEL 7, Ubuntu Server 15.04

Application Servers

Tomcat 7, Tomcat 8, WebLogic 12c, WildFly 8, WildFly 9, WebSphere 8, Jetty 8, Jetty 9

Databases

Oracle 11g, Oracle 12c, MySQL 5.5+, DB2 10, PostgreSQL 9, Derby 10, Microsoft SQL Server 2014

The unified Mule Runtime 3.8.1 and API Gateway is compatible with the following software:

  • APIkit 3.8.x

  • Anypoint Studio 6.0.x and 6.1.0

Enhancements and Changes

  • DataWeave Support for Bigger Files:

DataWeave now supports processing files up to 2 GB for XML, JSON and CSV by using temporary files to store the data instead of loading everything in memory. No change is required to DataWeave applications to use this feature. The new capability takes effect automatically. When a file reaches the 1.5MB threshold, data storage to temporary files begins.

  • Change to DataWeave Maven ArtifactId:

The artifactId has been changed from mule-plugin-weave_2.11 to mule-plugin-weave.

  • Change to DataWeave auto conversion algorithm:

The algorithm used to auto convert data types has been modified to make it more predictable. Some conversions might work differently. Specifically sizeOf of a numeric attribute will return 1 now. Note that sizeOf() doesn’t support numeric arguments, so it will be autoconverted. In these cases it is recommended to use explicit type coersion. Example: sizeOf(payload.age as :string).

  • Changes to Flat File Format Reader Configuration for DataWeave

When using an input of type flat file in DataWeave, the encoding parameter is no longer available as a reader property. Character encoding is now defined from standard DataWeave conventions (normally: getting it from the Mule message properties).

Added a reader property missingValues to control how to represent fields without values.

Known issues

COBOL Copybook support for DataWeave does not support the following:

  • Zoned decimals

  • REDEFINEs. You can modify your Copybook to remove the REDEFINE and specify which segment you wish to use.

  • COMP-1, COMP-2, COMP-5

  • VALUE clauses for non-alphanumeric fields

  • DATE FORMAT

  • RENAME

  • SYNCHRONIZED

  • Periods in PIC clauses or in VALUE clauses

  • Tab characters in the Copybook

Migration Guide

If you’re migrating from 3.8.0 and using Mule with Maven and you are using DataWeave in your projects, you must modify the POM reference to DataWeave, as it has now changed name slightly. See DataWeave XML Reference for more details.

Bundled Runtime Manager Agent

This version of Mule runtime comes bundled with the Runtime Manager Agent plugin version 1.5.1.

Community Edition Fixed issues

Issue Description

MULE-7608

New Database: Add support for user defined data types

MULE-8196

Listener 503 responses do not include an informative http body

MULE-9546

JMSMessage-to-object-transformer doesn’t propagate DataType

MULE-9636

Can’t call method in Java-Component when argument is primitive data type

MULE-9659

Lifecycle error when deploying application if there are two inbound-endpoints with the same URI registered

MULE-9660

OAuth2 authorization-code-grant-type is always expecting a refresh_token when it is optional according to the spec

MULE-9670

Reason phrase and entity are mistaken in RequestHandler

MULE-9712

Fix for FlowVars' DataTypes not being copied after scatter-gather

MULE-9730

Support grizzly’s PRESERVE_HEADER_CASE property

MULE-9740

No object DCH for MIME type

MULE-9741

Deadlocks comparing MuleEndpointURI

MULE-9757

SFTP: Returning of sftp clients to the pool are blocked waiting for the reconnection strategy

MULE-9816

Typo in TransactionJournal

MULE-9886

HttpResponseBuilder does not override Content-Length header after recalculating it

MULE-9891

doc:name in reference exception strategy overrides doc:name of the flow

MULE-9903

Verbose logging for Runtime

MULE-9931

Allow configuration of the size of the transaction log

MULE-9933

RestrictedSSLSocketFactory needs to implement getDefault method so it can be set as the socket factory used by the Ldap provider in the JVM

MULE-9996

First successful is not notifying all paths

MULE-10003

OAuth2 authorization-code-grant-type should reuse refresh_token

MULE-10079

Avoid Quartz update check

MULE-10089

Ensure that QueueManagers are initialized before connectors

Community Library Changes

Issue Description

MULE-9032

Upgrade BouncyCastle libraries to version 1.54

MULE-9729

Upgrade grizzly to 2.3.25

MULE-9785

Upgrade c3p0 to 0.9.5.2

Enterprise Edition Improvements

Improvement Description

AGW-830

Troubleshooting: Name threads

AGW-831

Improve gatekeeper logging

Enterprise Edition Fixed Issues

Issue Description

SE-3848

Wrong MIME type for lookup flow payload

EE-4879

Hazelcast.xml configuration not working properly

EE-4941

JDBC Map Store - Uncaught exception when database is down

EE-4946

Exception in Batch commit causes memory leak

EE-4978

Log Resource leak - Upgrade c3p0 to version 0.9.5.2 or newer

EE-4979

Fix Batch flush upon stop TestCases

EE-4984

Multicast still enabled when set to false

EE-4986

Bitronix transaction manager used the wrong thread to shrink resource pools

EE-5008

Add missing 3.6 version to spring.schemas

EE-5023

Bitronix caching connection factory does not work in cluster

AGW-331

Custom Policy is not applied if resource and api-pointcut are defined on the same pointcut

AGW-751

Log error when starting Mule without configuring API Gateway

AGW-813

When using Basic Auth policy with JDK7 and TLSv1 disabled user authentication fails

AGW-817

ThreatProtectionPolicies break app with DataWeave

AGW-818

Flush throttling/rate limiting data to disk on shutdown

AGW-826

Resource level pointcuts are not working with Gateway RAML proxy v3 component

AGW-827

Throttling policy does not work with resource level pointcuts using RAML Proxy

AGW-835

Remove client secret from logs

AGW-836

External Token Policy fails in OpenAM when scopes are configured

AGW-839

Policy violations for Throttling policy are not sent

AGW-844

Policy is unapplied after unapplying a second policy with a pointcut affecting the same endpoint

AGW-847

When Rate Limiting/Throttling custom policy is unapplied and then applied again, counters are not reset

AGW-850

RateLimit policy is unapplied silently when a second rate limit policy is applied to the same resource

AGW-851

Exception is thrown if per resource level policy is applied when API Gateway restarts

AGW-855

Race condition obtaining JWT from apiplatform and making depending calls

AGW-857

Client ID enforcement is not correctly applied when using per resource level injection

Enterprise Edition Library Changes

None