Helidon 2.0.0-M1: Better microservices building with Java libraries
Before Helidon version 2.0 arrives later this year, you can catch a preview of some of its upcoming features with the Helidon 2.0.0-M1 release. Helidon is a collection of Java libraries that made building microservices easier and 2.0 has some big changes in store, including GraalVM support, a new database client, a command line tool, web client, and extended Jakarta EE specifications support.
Helidon is a set of Java libraries for building microservices. Version 2.0 is tentatively scheduled for release in Q1 2020, but the first milestone build is already here to whet your appetite. Released on February 5, 2020, Helidon 2.0.0-M1 contains some new features, fixes, and some backward-incompatible changes in preparation for the big release.
As 2.0.0-M1 is not a stable release, it should not be used in production yet, but merely as an early access preview of what v2.0 will bring. (The current stable build is 1.4.) For now, let’s explore what v2 will bring.
View the 2.0.0-M1 changelog for all the details on changes, fixes, and improvements.
In just under two years since Oracle open sourced Helidon, the project has come a long way. Back in 2018, we interviewed Dmitry Kornilov, Helidon project lead.
About the project’s common use cases, Kornilov said: “…if you’re a Java developer and you’re writing microservices, Helidon is a great choice“.
Two flavors are available: Helidon SE, which uses its own API, and Helidon MP, which uses Eclipse MicroProfile.
The collection of libraries runs on top of Netty to avoid extra overhead and works quickly with its lightweight foundation. It supports commonly used enterprise APIs including JAX-RS, CDI, and JSON-P/B.
View the repository on GitHub and find out more about Helidon and how to get started and build it with Maven.
Changes coming to 2.0
Some of the big changes arriving in v2.0 include:
- GraalVM native-image support in Helidon MP: The SE flavor of Helidon already supports GraalVM, but 2.0 will bring support to both versions. View the sample project from Thomas Langer for a taste.
- Helidon command line tool: The new CLI will support live reloading.
- New database client for Helidon SE: This will include support for the MongoDB reactive driver and brings Health Checks, Metrics, and Tracing support to every Helidon API.
- Extending MicroProfile Reactive Messaging and Reactive Operators Support: MP Reactive Operators will be included in both flavors, while MP Reactive Messaging will be included in only Helidon MP.
- Helidon Web Client: The new reactive web client can integrate with other Helidon SE APIs.
- Additional Websocket support: Based upon the Tyrus implementation, Helidon receives WebSocket API support.
- Support for Java 11 APIs: Say goodbye to Java 8. From 2.0 on, Helidon will require Java 11 or newer.
- Backward incompatible changes: Be sure to view the changelog and stay on top of potential breaking changes, including package name changes.
Upgrading to 2.0.0-M1
If you wish to see a preview of v2.0 before the big day lands, review the getting started guide for 2.0.0-M1. Note that the documentation for 2.0 is not final, and this documentation is for version 1.4.x.
As always, feel free to help out and provide any feedback to the dev team before the release date.