With the upcoming Mule 4 release, we’re working to deliver a simpler runtime, one that’s easier to use and run for all organizations. Today, we’re excited to announce the next step in that process: the Mule 4 Release Candidate! This release expands on the simplicity improvements in the Mule 4 Beta, adds new capabilities, and incorporates the great feedback from the beta.
Mule 4 Beta introduced many new capabilities: simplified core concepts and language, DataWeave expression language, transparent data access and streaming, non-blocking runtime, simplified error handling and a new ‘try’ scope, frictionless upgrades and revamped core connectors, such as the new File Connector.
The Mule 4 Release Candidate (RC) builds on all of these changes, updating core Mule 3 capabilities, such as the scripting module, batch, and connectors, to take advantage of these features.
Highlights of the release include:
- Set payload and set variable are back (yes, we know you missed them!)
- Spring module
- Scripting module
- More powerful inline enrichment
- A wider library of connectors is now available, like the VM connector, Anypoint MQ, PeopleSoft, and others.
- Batch jobs can be embedded in flows
- And much more!
Now, let’s dive in!
Set payload and set variable
One of the pieces of feedback we received from the Mule 4 Beta was that people missed Set Payload and Set Variable. Have no fear, they’re back! And now, users can take advantage of the new DataWeave expression language too.
Spring module
We also made a number of improvements in how we integrate with Spring, better decoupling our internals from what you want to do as a user. The major benefit of this is that now you can completely control which Spring version you run! To use Spring beans, now you add the Spring module to your application, and simply import your Spring bean files.
Scripting module
The scripting module is now updated for Mule 4, enabling you to now embed your Groovy, Ruby, Python, or JavaScript scripts inside Mule flows. You can inject data from the Mule message into your code using the new parameters configuration attribute.
Improved support for configuration
Mule 4 features an easier way to configure environment specific properties, which is Spring-optional. With it, you can now define application-specific properties in a YAML file inside your application. These will be the default properties for your application and you can override them using system properties. In the future, we’ll also be using this metadata to provide an improved configuration management UI from runtime manager.
More powerful inline enrichment
In Mule 4 Beta, all operations that return a value have a target attribute. This outputted the Mule message into that variable. In the Mule RC, we added a targetValue that allows users to customize whether the message, payload, attributes, or other values from the message are stored in that variable. You can choose to output the payload, attributes, the whole message, or even a subset of the message, e.g. #[attributes.size].
Updated connectors
We will release many updated connectors for the Mule 4 RC, this includes:
- VM connector
- Amazon S3
- … and more
Batch jobs can be embedded in flows
In Mule 3, batch jobs were top-level concerns, similar flows. But we’ve simplified this so it is now a scope that can live inside a flow–– making it easier to understand, invoke dynamically, and interact with other Mule components.
We also no longer have a special set of variables (i.e. recordVars) for batch. You can now just use flow variables directly; this reduces the complexity and makes it easier to learn how to write batch jobs.
Other improvements
In addition to the above, there are many other improvements:
- APIkit now supports DataSense and DataWeave
- DataWeave now supports flat file, COBOL, fixed width, forms, and url-encoding
- XA Transactions are now supported
- Revamped Scatter Gather
- Improved reconnection configuration and semantics
- Until successful support
- Many bug fixes
Get started
Get started today, by simply filling out the beta form and downloading Studio 7 beta with an embedded Mule 4 beta runtime. You can also use our new, web-based Design Center to design Mule applications. You can sign up for a free account if you don’t have one already.
We think you’ll also find the following resources helpful as you get started:
Also, be sure to check out our webinar on the new Mule 4 release where you’ll see Studio 7 and Mule 4 firsthand.