Today, we’re very excited to announce the Early Access (EA) version of Mule 4 and Studio 7. Mule 4 adds vastly more power, higher speeds, and greater simplicity into the famously small footprint of Mule – the industry’s leading all-purpose engine for building application networks. The Early Access release builds on the previous Mule 4 and Studio 7 releases, adding finalized APIs and DSL for early adopters and partners, Mule SDK availability, broader platform support, and many other improvements.
|If this is the first time you’re learning about Mule 4, please take a look at the beta release announcement for an overview of why we’re working on Mule 4 or read up what’s new in Mule 4 for a deeper overview of each feature.|
The Early Access release is a major milestone for Mule 4: the API and DSL are now frozen, meaning that future releases of Mule will not affect the compatibility of connectors or applications.
This release is the last step between now and when Mule 4 will be generally available.The Mule 4 EA release is perfect for partners, as well as community and early adopters who want to safely start building applications and updating connectors or other assets to leverage Mule 4. However, we do not recommend existing Mule customers migrate applications to Mule 4 at this time.
If you would like to be a part of the EA program and use Mule 4 to build a new project, send us an email at firstname.lastname@example.org informing us that you would like to join. You can download the software here.
The Mule 4 and Studio 7 EA releases include a number of important improvements:
- Mule SDK is now available and documented, so community and partners can build/update their connectors for Mule 4.
- Deploy to standalone Mule servers with Runtime Manager.
- Mule 4 runtimes can now be used for API proxies with API Manager and it includes many new improvements over Mule 3:
- Classloader isolation between policies and the runtime
- All policies can be ordered now. The only policy with a fixed order is CORS, which will always be executed first.
- Resource level policies support has been extended to any HTTP API and not restricted to RAML based APIs.
- Policies can be distributed outside of the runtime providing frictionless upgrade
- An updated version of the Database Connector with enhanced support for Microsoft SQL Server.
- The flow designer in Design Center has been updated to support this release.
- Many bug fixes and performance improvements.
Mule SDK in Mule 4
One of the biggest parts of this release is the availability of the Mule SDK. The Mule SDK is the successor for Anypoint Connector Devkit, which we all know and love from Mule 3. Building on top of Devkit ideas, we developed a new SDK with the following enhancements:
- No more generated code: Instead of code generation, the SDK relies on Mule APIs (more precisely, the Extensions API). This makes it easier to build connectors which are both backwards and forward compatible across version of the runtime.
- Classloading isolation: Any artifact built with the Mule SDK will be completely isolated from the runtime. This will allow users to use any dependency or library without worrying about version conflicts with those shipped in the runtime.
- Consistent connect experience: The SDK automatically enforces best practices and adds cross-cutting functionality across your connector operations such as repeatable streaming, the ability to embed DataWeave scripts as operation parameters, support for mimeTypes, the target and targetValue parameters, automatic static DataSense, and more.
It also comes packed with new features including:
- Transactions: You can now build modules capable of participating in single resource or XA transactions.
- Non-blocking: Leveraging Mule 4’s new reactive engine, you can now develop non-blocking operations easily.
- Dynamic configurations: You can now use expressions on the module’s config elements. This makes it super easy to develop modules which enable simultaneous connections to many different credentials.
- Improved error handling: support for leveraging the new error handling capabilities in Mule 4. Each component in your module lists the full list of possible errors, making it easier for users to handle errors.
- Better support for message sources: Now it’s easier to develop request-response message sources. They are naturally asynchronous and allow the use of embedded DataWeave expressions to build the response.
- Improved support for DataSense: There’s new, more powerful, model to describe your dynamic types. Now, the SDK supports dynamic DataSense for every individual parameter and for message sources.
- Expression functions: You can now expose custom pieces of logic as DataWeave functions.
- And much more: Support for TLS, exclusive and null protected parameters, subtyping and importing types from other modules, support for scopes, routers, and more.
In short, the new SDK is similar enough to Devkit at an experience level, while being powerful enough to have allowed us to use it for all of the Mule connectors, modules and transports using it. For more details on it, please look at the SDK documentation and watch this short introductory video.
Mule 4: Building custom modules with Mule SDK
Get started with Mule 4
As mentioned above, we’re now embarking on our final push to GA. But for those who want to start building on, testing, or using Mule 4, you can get started by downloading Studio 7 EA, which comes with an embedded Mule 4 EA runtime.
We think you’ll also find the following resources helpful as you get started:
Finally, be sure to check out our webinar on the new Mule 4 release where you’ll see Studio 7 and Mule 4 first-hand.