JDK
Mule Runtime 3.8.0-M1 Release Notes
MuleSoft is pleased to announce the milestone M1 release of the Mule 3.8.0, containing many exciting improvements:
-
This release unifies the API Gateway runtime with the core Mule runtime, simplifying development and operations. Please see the migration guide for information on how to migrate.
-
Improved troubleshooting messages, so that you can see the location of any errors in the flow and you receive better error messages for common problems.
-
TLS Improvements: TLS context can be shared in a domain, the cipher suite and protocol configuration is allowed at a connector level. TLS 1.0 is now disabled by default and there is a new "insecure" mode for local testing which doesn’t perform certificate validation.
-
Includes the new DataWeave release, which contains support for flat files and performance improvements.
-
New functionality for configuring the use of clusters. This Includes:
-
a 'quorum' parameter that determines the minimum number of servers that should be active for flows to be executed
-
JDBC object store improvements
-
Possibility to monitor the cluster members via the JMX protocol.
-
-
Additional tuning parameters for batch processing
January 26, 2016
Supported Software
Mule was tested on the following software:
Software | Version |
---|---|
JRE 1.7.0 (Recommended JRE 1.7.0_79/80), JRE 1.8 |
|
OS |
MacOS 10.10.4, HP-UX 11i V3, AIX 7.1, Windows 2012 R2 Server, Windows 8.1, Solaris 11.2, RHEL 7.0, Ubuntu Server 15.04 |
Application Servers |
Tomcat 7, Tomcat 8, WebLogic 12c, Enterprise 6.1, Community 8, Community 8, WebSphere 8, Jetty 8, Jetty 9, Wildfly 8 |
Databases |
Oracle 11g, MySQL 5.5+, DB2 10, PostgreSQL 9, Derby 10, Microsoft SQL Server 2014 |
Improvements
-
MULE-9236 Make MuleDocumentLoader extensible
-
MULE-9204 HTTP Requester + OAuth: Add the option to send Client id/secret with Basic Auth using Client Credentials
-
MULE-9173 Exclude xalan serializer from CXF
-
MULE-9150 Configuration resources in SpringXmlConfigurationBuilder should be extracted to a separated method
-
MULE-9041 Keep property with original remote address even if X-Forwarded-For present
-
MULE-9012 Include the name of the XML file where an element is declared when logging the element path
-
MULE-8982 Add debug information on HTTP requester
-
MULE-8974 DatasourceFactory must dispose disposable datasources
-
MULE-8971 Define an XSD type for TimeUnits
-
MULE-8958 Allow insecure HTTPS connections
-
MULE-8936 The 'protocol' attr in an http:request-config element does not support '${propertyname}' as value
-
MULE-8844 until-successful should propagate the root exception
-
MULE-8796 Unnecessary tracking of overridden non disposable objects in TransientRegistry
-
MULE-8694 Allow to configure authentication in test class JmsBrokerSetUp
-
MULE-8680 Allow TLS context to be shared in a domain
-
MULE-8480 Consider renaming @ImplementationOf to @ExtensionOf
-
MULE-8479 Operations of an Extensible extensions should not require to be annotated with @ImplementationOf
-
MULE-8328 HTTP delete body is not allowed
-
MULE-8046 Allow to enable/disable cookies in the outbound part of the HTTP connector
-
MULE-6118 until-successful should set exception payload with last exception received before sending to DLQ
-
EE-4653 Add a way to resume batch job instance in BatchManager
-
EE-4494 BatchJobInstance id should be configurable
-
EE-4492 RecordVars and record payload should be editable in a commit block
Fixed Issues
-
MULE-9324 No exception is thrown when folder in path is removed
-
MULE-9323 WS consumer fails when reading secured WSDL
-
MULE-9319 Async Reconnection strategies can’t be defined globally
-
MULE-9317 HTTP outbound credentials not picked up if credentials exist from inbound
-
MULE-9272 Improve logging when a TLS error occurs
-
MULE-9237 Null pointer while catching the exception thrown from Enricher processor
-
MULE-9229 UntilSuccessfulTestCase is throwing NPE
-
MULE-9226 Logging issues when using domain configuration with JMS connector
-
MULE-9224 Using multiple threads in an until successful causes an exception if the message is rejected
-
MULE-9205 XmppMessageDispatcher doesn’t reconnect
-
MULE-9193 Big memory footprint on XMPP Transport: org.jivesoftware.smack.PacketCollector
-
MULE-9189 RegistrationException "More than one AbstractJmxAgent" when using domain and enabling jmx
-
MULE-9185 Cleanup of Events put in ThreadLocal with RequestContext
-
MULE-9183 CXF: Status code for successful one-way operations should be 202
-
MULE-9182 CXF proxy trying to send response for one-way operations
-
MULE-9175 JSON validate doesn’t pick up redirects if it’s in the application classpath
-
MULE-9174 Security credentials not passed to JMS broker when using 1.0.2b spec
-
MULE-9167 MEL expressions in Groovy Transformer/Component property bindings not being resolved
-
MULE-9165 Async connector notifications degrade performance noticeably on high load
-
MULE-9163 MVEL gets in an infinite loop in CompileException
-
MULE-9161 Invoking subflow from FuctionalTestCase using getSubFlow() is failing under certain conditions
-
MULE-9156 JSON schema validation fails when schema contains ref to local file
-
MULE-9146 AsyncUntilSuccessful uses a fixed thread pool
-
MULE-9145 Enricher fails when "mule" is not the default namespace
-
MULE-9144 SFTP Request doesn’t autoDelete original file
-
MULE-9140 "host" header expected even for HTTP 1.0 clients
-
MULE-9132 Ensure proper closing of Statements and ResultSets
-
MULE-9085 MuleDocumentLoader must generate a level 3 DOM tree
-
MULE-9074 WebService Consumer: xsd:import for external resources through HTTP fails with java.io.FileNotFoundException
-
MULE-9069 ExecutionInterceptor causes a 50% regression in the proxy scenario.
-
MULE-9066 set-property throws runtime exception if the propertyName is empty
-
MULE-9065 IndexOutOfBoundsException when header key has empty value
-
MULE-9062 Dropping new domain.zip file does not redeploy apps associated with that domain
-
MULE-9061 RandomAccessFileQueueStore leak files and space after being disposed
-
MULE-9051 ForEach fails to provide path elements when not initialised
-
MULE-9050 Jersey module doesn’t support multipart requests
-
MULE-9045 HTTP Listener not sending reason phrase when error occurs
-
MULE-9044 HTTP Listener returning 500 instead of 400 on invalid Content-Type
-
MULE-9040 Database Connector: "No suitable driver found" on redeploy
-
MULE-9029 100-Continue response is sent as two packets even though chunked transfer encoding is disabled causing connection to hang
-
MULE-9027 TestsLogConfigurationHelper does not load correctly the Log4j config file in Windows
-
MULE-9025 Changes on domain are not being registered by applications
-
MULE-9023 Scatter-gather generates wrong data type when Content-Type header is present
-
MULE-9019 Wrong value comparison in AbstractJob @ quartz transport
-
MULE-9016 Processing XLSX files that have comments in mule fails
-
MULE-9014 Processors inside a scatter-gather do not fire notifications
-
MULE-9013 Event group expiration fails when persistent object store is used
-
MULE-9009 [FIX INCLUDED] MimeType is not set in DataTypeFactory
-
MULE-9006 XmlToDomDocument transformer conflicts with ObjectToByteArray transformer
-
MULE-9001 Paths for processors in dynamically referenced subflows are null
-
MULE-8979 Some elements do not have their annotations available at runtime
-
MULE-8978 CXF with JMS binding port in WSDL failing
-
MULE-8973 Null pointer exception in a scatter-gather inside a dinamycally referenced sub flow
-
MULE-8966 Query parameters without value (?param) throws NPE
-
MULE-8965 Configured XA transaction timeout is ignored
-
MULE-8964 JMS polls for messages using XA transaction timeout
-
MULE-8962 HTTP Connector throws a NPE when the value for a uri-param is null
-
MULE-8961 Message access violation when making a request inside an enricher
-
MULE-8960 Can’t find a transformer on applications running inside a domain
-
MULE-8956 XPath expression right after blocking http request can’t access the http response payload
-
MULE-8955 MEL: Concurrent use of a function variable fails
-
MULE-8951 SFTP connection leak when the user doesn’t have permissions
-
MULE-8947 Base64Decoder transforms string and deletes last character
-
MULE-8944 Cannot use URNs in JSON Schema ID attribute with Mule JSON Validator
-
MULE-8938 Connector and Endpoint message notifications not fired when an exception is thrown
-
MULE-8934 Temp queue files are not removed when serialization fails in QueuePersistenceObjectStore
-
MULE-8933 MEL: Concat expression with an empty term throws obscure error
-
MULE-8932 Applications in domain failing with "Could not find a transformer to transform" error
-
MULE-8929 Proxy validation looses XML tag when payload is body
-
MULE-8927 Have to manually encode @ (or other special characters) when setting the username/password for an smtp sender
-
MULE-8916 Unclear message when more than one transformer is available
-
MULE-8913 Applications failing with "Could not find a transformer to transform" error
-
MULE-8903 Class GrizzlyServerManager not logging the host and the ip
-
MULE-8841 Enricher attempts to enrich response message also when using non blocking processing strategy.
-
MULE-8829 NTLM proxy authentication in HTTP Requester sends basic authentication
-
MULE-8822 OAuth2 Refresh token logic fails after restart for preexistent connection
-
MULE-8821 Concurrent calls to the OAuth2 authorize MessageProcessor fail when passing different values for accessTokenUrl
-
MULE-8819 MVEL prints stacktraces to the console
-
MULE-8816 Cron job used by multiple Poll component in different projects misfiring
-
MULE-8815 Can’t call stored procedure with parameterized queries (Database does not supports streaming on stored procedures)
-
MULE-8813 Multipart Content-Type header is sent twice when copying attachments
-
MULE-8812 Multipart content is always sent chunked by listener
-
MULE-8804 CXF does not set the correct mimeType
-
MULE-8800 Multipart content should include Content-Disposition header
-
MULE-8798 Message mime type/encoding must be reset when payload is set without a datatype
-
MULE-8790 If multiples HTTP response headers are associated to the same header name, only the first one is mapped to an inbound property.
-
MULE-8789 Socket buffer sizes in the HTTP transport for outbound connections not set correctly
-
MULE-8788 Polling message receiver should unregister scheduler on dispose.
-
MULE-8786 WSC with basic auth wraps "error"s HTTP status code by throwing exceptions with timeouts
-
MULE-8779 Hostname verification not working correctly with HTTPS proxy
-
MULE-8776 Email transport fails to read new emails if inbox has 7 or more read emails in it
-
MULE-8771 Synchronous until successful should retry on the original message
-
MULE-8769 Loggers memory leak after fixing * MULE-8635
-
MULE-8754 Broken link in BUILD.md
-
MULE-8719 Deadlock found when getting operation execution.
-
MULE-8707 Classloader leak using Oracle JDBC Driver
-
MULE-8703 Logger categories are not working properly
-
MULE-8678 HTTP Requestor should not use Host property.
-
MULE-8677 HTTP requestor should ignore 'Transfer-Encoding' property as it is a hop-by-hop header
-
MULE-8676 HTTP listener should ignore 'Transfer-Encoding' property as it is a hop-by-hop header
-
MULE-8626 Connection and Keep-Alive message properties should not affect Listener/Requestor connection reuse behavior.
-
MULE-8484 Succesful undeployment is not show in console
-
MULE-8449 NPE while removing an entry from object store
-
MULE-8342 NPE when Content-Disposition header is absent from multipart-response
-
MULE-8282 401 response received, but no WWW-authenticate header was present
-
MULE-8272 Filename from multipart for to an inbound endpoint is null
-
MULE-8163 Requests randomly fail (1 in 1M) with NPE, even at low conconcurrencies e.g. 50
-
MULE-7975 ScatterGatherRouter looses an exception
-
MULE-7663 tls-default.conf entries are ignored sometimes
-
MULE-7093 EventCorrelation errors under heavy load
-
MULE-6575 There is no way to turn off logging in exception strategy
-
MULE-6417 Divide by zero in ComponentStatistics
-
MULE-6298 Flow with a splitter followed by a filter, returns original collection if no item passes the filter, instead of null message
-
MULE-6279 URI encoded special characters cause some troubles at email transport
-
MULE-6139 SMTP MalformedEndpointException - invalid '@' in user name
-
EE-4740 Batch ignoring ONLY_FAILURE step
-
EE-4732 testingMode doesn’t work for throttling module
-
EE-4712 Exception locking polling lock: OperationTimeoutException
-
EE-4711 In-memory object store not expiring for cache
-
EE-4705 BatchJobInstanceId is not available if the job does not have an input phase
-
EE-4658 Debugger doesn’t stop in breakpoints in processors inside a scatter-gather
-
EE-4650 Debug breakpoint in a dynamically referenced subflow desn’t stop
-
EE-4638 Redeploy error: llegalArgumentException: resource with uniqueName already been registered
-
EE-4637 Object store expires running job instances
-
EE-4634 Authentication error message is not clear
-
EE-4618 All applications undeployed for standalone deployment type
-
EE-3139 Special characters in SFTP outbound endpoint 'path' not allowed
Migration Guide
When migrating from an API Gateway Runtime, follow this migration guide.
-
MULE-9183: Status code for successful one-way operations handled through CXF will be 202 instead of 200
-
MULE-9041: The HTTP Connector will leave the inbound property http.remote.address with the actual remote address. If an X-Forwarded-For header is present, it will be available as an inbound property.
-
MULE-9020: BouncyCastle was upgraded to version 1.50. Notes: DESede algorithm now requires keys of 16 or 24 bytes unlike the prior version which required 16 or 22 bytes. bcmail (Bouncy Castle S/MIME API) dependency was removed. If you need any of its functionalities, you must add the library by yourself."
-
MULE-8963: Exceptions that extend org.mule.api.MessagingException now receive the org.mule.api.processor.MessageProcessor that was executing in the constructor.
-
MULE-8927: The attributes that end in an endpoint URI (for instance: smtp user and passwords) had to be encoded as a workaround for this issue. That workaround now has to be removed. Notes: This also affects the result of MEL expressions (for instance, if an expression evaluated to a username with an @ char, it had to be encoded before using it), so a check has to be done to remove all the additional encoding that was placed for working this around.
-
MULE-8626: The HTTP Connector will now ignore a "Connection" outbound property when responding to a request (listener) or making one (request), instead of transforming it to a header. This means that: if such property is desired, it should be explicitly added as a header using a response/request builder.
-
MULE-8678: The HTTP Connector will now ignore a "Host" outbound property when making a request, instead of transforming it to a header. This means that: if such property is desired, it should be explicitly added as a header using a request builder.
-
MULE-8676: The HTTP Connector will now ignore a "Transfer-Encoding" outbound property when sending a response, instead of transforming it to a header. This means that: if such property is desired, it should be explicitly added as a header using a response builder.
-
MULE-8677: The HTTP Connector will now ignore a "Transfer-Encoding" outbound property when making a request, instead of transforming it to a header. This means that: if such property is desired, it should be explicitly added as a header using a request builder.
-
EE-4637: Batch history expiration is no longer configured through system properties but through the new <batch:history> element
-
MULE-8844: When until-successful throws an exception, it will now be a RetryPolicyExhaustedException wrapping the cause of the exception of the last try, instead of a MessagingException wrapping a RetryPolicyExhaustedException with no link to the actual cause.
-
MULE-9044: The HTTP Listener will now return a 400 instead of a 500 when an invalid Content-Type is sent on a request. Additionally, in both cases a response body will be present.
-
MULE-6298: AbstractMessageSequenceSplitter#process will now return null instead of a VoidMuleEvent. This affects only the scenario where the elements of a split collection are filtered out.