Quarkus Community Call - 2026-06-23 #55059
cescoffier
started this conversation in
Design Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hello,
Yesterday, we had our Quarkus community call.
Here is a short summary. You can find the complete minutes (including the recording) on https://www.youtube.com/watch?v=n2nbNV3ZkK0.
Recap:
Julien presented a retrospective on the Vert.x 5 / 5.1 migration for the Quarkus 4 branch — a year-long effort that is now functionally complete. The migration required moving to Netty 4.2, dropping all callback-based APIs in favor of Futures, and rewriting the Mutiny binding generator from scratch using JavaParser and JavaPoet (released as version 4.0). Upstream SmallRye projects were migrated first, followed by RESTEasy Reactive, and finally Quarkus core itself, which landed on June 15. The Quarkus 4 branch is now open for contributions — new features, deprecation cleanups, and anything that needs a major version boundary. Performance tuning is explicitly deferred; the focus right now is correctness.
On the practical side, Julien walked through the key gotchas contributors will face: the new
ContextLocalAPI replacing the old context map (with Hibernate Reactive as the reference migration), stricter HTTP header case-insensitivity, changes to random port allocation, theHttpClientAgentrename, andimpl→internalpackage moves for JPMS compliance. He also flagged that AI coding assistants produced subtly incorrect migrations that cost the team significant debugging time, and recommended doing the migration manually. Notable remaining items include a full refactor of the duplicatedVertxInputStream/VertxOutputStreamclasses, metrics integration (Micrometer/OpenTelemetry), and an AWS SDK compatibility issue caused by Netty 4.2.Georgios shared that Jackson 3 work has started on the 4.0 branch. The scope is large since Jackson touches nearly everything, but extensions that keep Jackson internal (like LangChain4j) should transition without breaking their public API. The generated serializers already work with Jackson 3.
David introduced a new Archive API in SmallRye Common IO to read and write ZIP/JAR files. The reader memory-maps archives and builds a lightweight in-heap index, allowing uncompressed class files to be passed directly to
defineClasswithout copying, including for nested jar-in-jar scenarios. The builder usesRandomAccessFileto avoid the temporary-file spooling thatJarOutputStreamrequires, rewinding to patch CRC and size headers after each entry is written. In practice, building 100+ jars for a modular Quarkus app showed a noticeable speedup. David recommended that contributors useArchiveBuilderinstead of ShrinkWrap for any test or build code that generates archives.Upcoming calls:
All reactions