ニュース

Vert.x 5.1 Ships Native HTTP/3 and QUIC Support, Overhauls Configuration

The latest Vert.x release brings HTTP/3 over QUIC, a new transport-agnostic Config layer, Jackson 3 support, and a gRPC EventBus bridge.

July 2, 2026· 3 min read
Vert.x 5.1 Ships Native HTTP/3 and QUIC Support, Overhauls Configuration

Vert.x 5.1 is out, and it's a significant release for anyone running reactive JVM services. The headline feature is native HTTP/3 support built on QUIC, but the release also brings a new configuration layer, Jackson 3 compatibility, and a gRPC EventBus bridge that lets any gRPC client talk to the event bus.

HTTP/3 and Hybrid Servers

Vert.x 5.1 adds HTTP/3 via QUIC (UDP-based transport). Your existing HTTP handlers work unchanged. You can spin up a pure HTTP/3 server with HttpServerConfig setting versions to HTTP_3. More interesting is the hybrid server: a single server can handle HTTP/1.x, HTTP/2 over TCP, and HTTP/3 over QUIC simultaneously by listing all three versions. Under the hood it binds a TCP port for the older protocols and a UDP port for QUIC.

The HTTP/3 client supports Alternative Services (alt-svc): it starts with HTTP/1.1 or HTTP/2, then upgrades to QUIC when the server advertises it—no manual config needed.

QUIC as a Standalone Transport

QUIC isn't just for HTTP/3. Vert.x now provides first-class QUIC server and client APIs built on Netty and Cloudflare's QUICHE. You get bidirectional/unidirectional streams, stream lifecycle management, graceful shutdown handlers, and even unreliable datagrams per RFC 9221. This opens the door for building custom low-latency protocols on top of QUIC.

New Configuration Layer

The old Options hierarchy (HttpServerOptions, NetServerOptions) was TCP-coupled and couldn't cleanly extend to QUIC. Vert.x 5.1 introduces a new transport-agnostic Config layer alongside the existing Options (which are not deprecated). Key improvements:

  • SSL/TLS separation — SSL settings are passed as a separate parameter, not mixed into transport config.
  • Version-specific settings — HTTP/1.1 and HTTP/2 have dedicated config classes (e.g., Http1ServerConfig, Http2ClientConfig) instead of one monolithic Options class.
  • Grouped concerns — Compression, WebSocket, form decoding, observability each get their own config object.
  • Duration-based time — All timeouts use java.time.Duration instead of int/long + TimeUnit.

Jackson 3 Support

Vert.x still depends on Jackson 2 by default (2.21.x LTS). But if Jackson 2 is absent from the classpath and you're on Java 21+, Vert.x 5.1 automatically picks up Jackson 3.1.x. This lets projects migrate at their own pace.

gRPC EventBus Bridge

There's a new bridge that exposes the Vert.x event bus as a gRPC service. Any gRPC client—including browser-based clients via gRPC-Web—can send, publish, subscribe, and do request/reply over the bus. The server side uses GrpcEventBusBridge with permit rules; the client side works with a generated stub or EventBusBridgeGrpcClient. Perfect for polyglot microservices that want to hook into Vert.x's in-memory event bus without being Java-specific.

Vert.x 5.1 is a forward-looking release that modernizes the networking stack while keeping backward compatibility. The Config layer is clearly the foundation for Vert.x 6, and QUIC support positions Vert.x well for the next generation of HTTP.