v1.2.0-M2
Pre-release
Pre-release
Reactor Netty
1.2.0-M2
is part of 2024.0.0-M2
Release Train.
This milestone adds HTTP/3
server support.
Enablement of the HTTP/3
server support:
- a dependency to netty-incubator-codec-http3 is specified
- the HTTP protocol is configured as
HTTP3
The example below shows one simple configuration for the HttpServer
:
public class Application {
public static void main(String[] args) throws Exception {
File certChainFile = new File("certificate chain file");
File keyFile = new File("private key file");
Http3SslContextSpec serverCtx = Http3SslContextSpec.forServer(keyFile, null, certChainFile);
DisposableServer server =
HttpServer.create()
.port(8080)
.protocol(HttpProtocol.HTTP3)
.secure(spec -> spec.sslContext(serverCtx))
.idleTimeout(Duration.ofSeconds(5))
.http3Settings(spec -> spec.maxData(10000000)
.maxStreamDataBidirectionalLocal(1000000)
.maxStreamDataBidirectionalRemote(1000000)
.maxStreamsBidirectional(100))
.handle((request, response) -> response.header("server", "reactor-netty")
.sendString(Mono.just("hello")))
.bindNow();
server.onDispose()
.block();
}
}
Reactor Netty
1.2.0-M2
inherits all changes from the 1.0.x
and 1.1.x
branches at the point this release was cut.
What's Changed
⚠️ Update considerations and deprecations
- Remove deprecated
SslProvider$DefaultConfigurationSpec
andSslProvider$DefaultConfigurationType
by @violetagg in #3147 - Deprecate
SslContextSpec#sslContext(reactor.netty.tcp.SslProvider.ProtocolSslContextSpec)
by @violetagg in #3160 - Always add
proxy.address
tag for the client metrics by @violetagg in #3230
✨ New features and improvements
- Depend on
Reactor Core
v3.7.0-M2
by @pderop in 1672f40, see release notes - Depend on
Netty
v4.1.109.Final
by @violetagg in #3159 - Depend on
Micrometer Doc Generator
v1.0.2
by @violetagg in #3164 - Depend on
Context Propagation
v1.1.0
by @violetagg in #3164 - Depend on
Brave
v6.0.3
by @dependabot in #3172 - Depend on
Micrometer
v1.13.0
by @violetagg in #3241 - Depend on
Micrometer Tracing
v1.3.0
by @violetagg in #3241 HTTP/3
server support- Make
ProtocolSslContextSpec
generic by @violetagg in #3150 - Add
HTTP/3
initial settings by @violetagg in #3152 - Add
HttpProtocol#HTTP3
by @violetagg in #3161 - Initial
HTTP/3
server support by @violetagg in #3176 - Annotate
HTTP/3
server support as incubating by @violetagg in #3183 - Add
wiretap
forHTTP/3
frames by @violetagg in #3186 - Add
accesslog
forHTTP/3
server support by @violetagg in #3191 - Add
compression
forHTTP/3
server support by @violetagg in #3192 - Add
metrics
forHTTP/3
server support by @violetagg in #3193 - Add dependency to
Netty HTTP3 Codec
for aggregated javadoc by @violetagg in #3197
- Make
- Cache the request info when collecting metrics by @violetagg in #3211 and #3231
- Make pending responses log messages consistent by @violetagg in #3239
🐞 Bug fixes
- Always use remote socket address for the metrics by @violetagg in #3210
- Ensure
HttpServerMetricsRecorder#recordServerConnectionInactive/Close
is invoked for websockets by @violetagg in #3229 - Ensure
ConnectionProvider
metrics are disposed unconditionally when graceful shutdown by @violetagg in #3235 - Ensure
ByteBuf#release
is invoked for already sentHTTP/2
response by @violetagg in #3236
📖 Documentation
- Fix
Authors
attribute by @pderop in #3214 - Reuse
reactor-netty-github-repo-attribute
when possible by @pderop in #3215 - Remove unused
reactor.css
by @pderop in #3216
Full Changelog: v1.2.0-M1...v1.2.0-M2