Quarkus 2.0.0.Alpha1 released - Vert.x 4, MicroProfile 4 and Continuous Testing
It is with a bit of emotion that I announce today the release of Quarkus 2.0.0.Alpha1.
As previously presented, Quarkus 2.0 is in the continuity of Quarkus 1.x and won’t require too many changes on your side. But we consider it a major release as major parts of our infrastructure have changed:
-
Vert.x 4
-
Eclipse MicroProfile 4 and major changes in the SmallRye components
2.0 is also a good moment to bring new features that, we believe, could change your daily coding for the better. The first one to come to life is called Continuous Testing.
So if you have applications using Quarkus 1.x, please give a try to Quarkus 2.0 and report any issue you could experience on GitHub, be it in terms of bugs, broken compatibility or usability. We are in this together to build the best Quarkus release ever.
Migration Guide
We will keep the Migration Guide up to date here: https://github.com/quarkusio/quarkus/wiki/Migration-Guide-2.0.
Documentation
For now, the documentation for our main
branch is not available on the website yet.
It will be available soon.
What’s new?
JDK 11 as minimal version
JDK 11 is the minimal version to use Quarkus 2.0.
JDK 8 is not supported anymore (but you can keep using 1.13.x if you are stuck with it!).
Vert.x 4
Vert.x is at the core of Quarkus.
Quarkus 2.0 brings Vert.x 4. You can learn more about it in the announcement and the What’s new blog post.
Eclipse MicroProfile 4
MicroProfile 4 is the latest evolution of the MicroProfile specifications.
All the SmallRye components in Quarkus have been updated to the latest and greatest and, apart from implementing MicroProfile 4, they also come with additional new features.
Continuous Testing
I’ll let the stage to Stuart Douglas for that one as he’s the author of this amazing new feature.
This release contains an Alpha implementation of Continuous Testing. This allows tests to be run in development mode, and can be enabled by pressing 'e' in the console (or through the Dev UI). If you enable testing, your test suite will be run once at the start, and then continuous testing will run your tests as you are coding, and tell you if your changes will break any tests. This will give you instant feedback on your changes, without having to switch to a browser. As much as possible we only run tests that are relevant to the code that has been changed.
This is an Alpha release and there are some known limitations:
-
The docs are not done yet (stay tuned for an upcoming blog post)
-
The Dev UI view is very basic, it will be improved for the next release
-
Test fixtures in Gradle don’t work properly yet
This feature has also introduced some changes that may affect your application:
-
The Class Loading model for testing is now the same as development mode (as tests need to be hot reloaded), if this causes issues for your application you can set
quarkus.test.flat-class-path=true
to revert to the old model, but it will disable continuous testing. -
If a compatible terminal is detected Quarkus will display status messages at the bottom of the console window, and react to input without the need to press enter. If this interferes with your application it can be disabled via
quarkus.test.basic-console=true
(note that gradle will always use the basic console at this time). -
If you don’t want any test output in the console and just want to interact through the Dev UI you can set
quarkus.test.console=false
.
This is an alpha quality feature, so please try it out and if you have any feedback let us know on the mailing list, and file a GitHub issue for any problems you encounter.
Here is a video presenting Continuous Testing in motion:
Full Changelog
You can get the full changelogs of 2.0.0.Alpha1 on GitHub.
Come Join Us
We value your feedback a lot so please report bugs, ask for improvements… Let’s build something great together!
If you are a Quarkus user or just curious, don’t be shy and join our welcoming community:
-
provide feedback on GitHub;
-
craft some code and push a PR;
-
discuss with us on Zulip and on the mailing list;
-
ask your questions on Stack Overflow.