Quarkus 3.0.0.Alpha4 released - Fourth iteration of our Jakarta EE 10 stream
As you might know by now, we started a Quarkus 3.0 effort last year and we are continuing this effort, which was described here, here, here, and here.
Quarkus 3.0.0.Alpha4 is the fourth iteration of this work and it marks a huge milestone:
the Jakarta EE 10 stream is now our default stream as the Jakarta EE 10 work has been integrated in the main
branch of the Quarkus repository.
On the Jakarta EE 10 front, it comes with minor upgrades all over the place to use the latest versions of the specs and implementations.
But this version also comes with several new features and enhancements:
-
Azure Functions Extension
-
Add gRPC InProcess support
-
Support retrieval of all Multipart parts in RESTEasy Reactive
-
Support StatementInspector as
@PersistenceUnitExtension
managed bean -
Introduce a way for users to customize Flyway configuration
-
Support custom Flyway credentials/URL
-
Bump kubernetes-client-bom from 6.3 to 6.4
-
Scheduler API - make it possible to schedule a job programmatically
-
Qute - Introduce CacheSectionHelper
-
Cache extension - Allow global default cache configuration
-
Flyway and Liquibase are now run as init containers in manifests.
-
New Elasticsearch Java Client extension
Finally, the migration script presented below has been vastly improved and should be able to comprehensively migrate more projects.
We plan to release new Alphas regularly to share our progress in the next few months. Until then, we encourage you to test it and report your feedback.
Trying out Quarkus 3
For now the easiest way to get started is using code.quarkus.io or use the Quarkus CLI:
quarkus create app --stream=3.0
Mind you that at this stage, while all the core extensions are available, only parts of the Quarkus platform is present. Not all extensions have yet migrated to Jakarta packages (e.g. Camel Quarkus or Kogito are not yet available).
Upgrading to Quarkus 3
For existing applications where all extensions are available, we have an OpenRewrite recipe that you can try.
There is a one-liner that attempts to do it automatically using a JBang script.
If you have JBang already installed, run:
jbang --fresh upgrade-to-quarkus3@quarkusio
If not, for Linux and macOS:
curl -Ls https://sh.jbang.dev | bash -s - --fresh upgrade-to-quarkus3@quarkusio
and for Windows:
iex "& { $(iwr https://ps.jbang.dev) } --fresh upgrade-to-quarkus3@quarkusio"
Once this has been run your project should have its dependencies, source code and documentation updated to use Quarkus 3.
If it does not work for you, it could be we missed something or you are using extensions not yet supporting Quarkus 3.
Let us know in either case so we can together improve the migration script.
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.