Repository navigation
Releases: reactor/reactor-netty
Release list
v1.4.0-M2
Reactor Netty 1.4.0-M2 is part of 2026.0.0-M2 Release Train.
What's Changed
⚠️ Update considerations and deprecations
- Remove deprecated
SslProvider$SslContextSpec#sslContext(SslProvider$ProtocolSslContextSpec)by @violetagg in #4376 - Parse the standard
Forwardedheader directly by @violetagg in #4386
✨ New features and improvements
- Depend on
Nettyv4.2.18.Finalby @violetagg in #4375 - Depend on
Micrometerv1.18.0-M2by @violetagg in 0a551c4 - Depend on
Micrometer Tracingv1.8.0-M2by @violetagg in 0a551c4 - Extend
HttpCompressionOptionsSpecwith the ability to specify desiredmaxPipelineDepthby @reta in #4338 - Expose connection lifetime to custom
MeterRegistrarby @caiges in #4368 - Refactor
WebSocketHTTP/2handshake request creation by @violetagg in #4374 - Extend
HttpServerConfigwith the ability to specify desiredmaxPipelineDepthby @reta in #4380 - Make connections lifetime available to the built-in
Micrometerintegration by @violetagg in #4382
🐞 Bug fixes
- Resume the read when the pipelined queue drains without a request by @knutwannheden in #4347
- Parse one-digit ports in
HttpClientString URIs by @kalayciburak in #4362 - Ensure websocket handshake error is not swallowed by @violetagg in #4372
📖 Documentation
- Add a
WebSocketecho client example by @anjeongkyun in #4346
New Contributors
- @anjeongkyun made their first contribution in #4346
- @knutwannheden made their first contribution in #4347
- @kalayciburak made their first contribution in #4362
- @caiges made their first contribution in #4368
- @mbhave made their first contribution in #4373
Full Changelog: v1.4.0-M1...v1.4.0-M2
v1.4.0-M1
Reactor Netty 1.4.0-M1 is part of 2026.0.0-M1 Release Train.
What's Changed
⚠️ Update considerations and deprecations
- Require choice between
ForwardedandX-Forwardedheaders by @violetagg in #4312
✨ New features and improvements
- Depend on
Reactor Corev3.8.7by @violetagg in 79ef2f6, see release notes - Depend on
Nettyv4.2.17.Finalby @violetagg in #4324 - Depend on
Micrometerv1.18.0-M1by @violetagg in 0b9436b - Depend on
Micrometer Tracingv1.8.0-M1by @violetagg in 0b9436b - Add
WebSocketclient metrics by @LivingLikeKrillin in #4118 - Expose pending acquire latencies to custom
MeterRegistrarby @ejhnsn in #4250 - Reduce per-request CPU in the HTTP/2 connection pool by @samueldlightfoot in #4297
- Evaluate the address supplier once in
AddressUtils.updatePortby @samueldlightfoot in #4298 - Reuse per-connection address and byte meters in the Micrometer client metrics path by @samueldlightfoot in #4318
- Override
isH2cUpgradeinHttp3Poolto always return false by @violetagg in #4325 - Drop the redundant
addressparameter from the HttpClientrecordRead/recordWrite/startWriteby @violetagg in #4327 - HttpClient: Add API for configuring max decompression buffer size by @violetagg in e413ce9
- Ensure
NonSslRedirectHandleralways does a redirect based on HOST header by @violetagg in 7bd2f47 - WebSocket: Add API for configuring max decompression buffer size by @violetagg in d735cd1
🐞 Bug fixes
- Exclude
HTTP/2connections from the pool during thePINGliveness check by @LivingLikeKrillin in #4255 - Add the liveness check to
Http11EvictionPredicateby @LivingLikeKrillin in #4256 - Skip
SNIlookup completion when the channel is already closed by @violetagg in #4266 - Do not capture caller context into pool maintenance tasks by @hocaron in #4300
- Fix WebSocket-over-HTTP/2 server metrics gauge accounting on close by @LivingLikeKrillin in #4302
- Fix
NameResolverProvider#equals/hashCodeby @violetagg in 5c19b57 - Refactor
TracingMapHandleto handle exceptions correctly by @violetagg in 8e63e56 - Update proxy handling by @violetagg in 99365a5
- Refine header handling during redirects by @violetagg in 53e42cf
- Add back-pressure on pipelined HTTP requests by @violetagg in 38cd84c
- Proxy protocol is not supported for HTTP/3 protocol by @violetagg in afb3652
📖 Documentation
- Update javadoc for http-to-https redirect by @violetagg in ac607b0
New Contributors
- @LivingLikeKrillin made their first contribution in #4118
- @ejhnsn made their first contribution in #4250
- @hocaron made their first contribution in #4300
Full Changelog: v1.3.6...v1.4.0-M1
v1.3.7
Reactor Netty 1.3.7 is part of 2025.0.7 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.8.7by @violetagg in b0395be, see release notes - Depend on
Nettyv4.2.17.Finalby @violetagg in #4324 - Add
WebSocketclient metrics by @LivingLikeKrillin in #4118 - Expose pending acquire latencies to custom
MeterRegistrarby @ejhnsn in #4250 - Reduce per-request CPU in the HTTP/2 connection pool by @samueldlightfoot in #4297
- Evaluate the address supplier once in
AddressUtils.updatePortby @samueldlightfoot in #4298 - Require choice between
ForwardedandX-Forwardedheaders by @violetagg in #4312 - Reuse per-connection address and byte meters in the Micrometer client metrics path by @samueldlightfoot in #4318
- Override
isH2cUpgradeinHttp3Poolto always return false by @violetagg in #4325 - Drop the redundant
addressparameter from the HttpClientrecordRead/recordWrite/startWriteby @violetagg in #4327 - HttpClient: Add API for configuring max decompression buffer size by @violetagg in f4ca645
- Ensure
NonSslRedirectHandleralways does a redirect based on HOST header by @violetagg in 626a6e7 - WebSocket: Add API for configuring max decompression buffer size by @violetagg in 6908378
🐞 Bug fixes
- Exclude
HTTP/2connections from the pool during thePINGliveness check by @LivingLikeKrillin in #4255 - Add the liveness check to
Http11EvictionPredicateby @LivingLikeKrillin in #4256 - Skip
SNIlookup completion when the channel is already closed by @violetagg in #4266 - Do not capture caller context into pool maintenance tasks by @hocaron in #4300
- Fix WebSocket-over-HTTP/2 server metrics gauge accounting on close by @LivingLikeKrillin in #4302
- Fix
NameResolverProvider#equals/hashCodeby @violetagg in 717381b - Refactor
TracingMapHandleto handle exceptions correctly by @violetagg in 68561f4 - Update proxy handling by @violetagg in fc98328
- Refine header handling during redirects by @violetagg in 88adf0c
- Add back-pressure on pipelined HTTP requests by @violetagg in dc07b92
- Proxy protocol is not supported for HTTP/3 protocol by @violetagg in 8d37581
📖 Documentation
- Update javadoc for http-to-https redirect by @violetagg in 74a5524
New Contributors
- @LivingLikeKrillin made their first contribution in #4118
- @ejhnsn made their first contribution in #4250
- @hocaron made their first contribution in #4300
Full Changelog: v1.3.6...v1.3.7
v1.3.6
Reactor Netty 1.3.6 is part of 2025.0.6 Release Train.
What's Changed
⚠️ Update considerations and deprecations
- Tweak
DNSresolver channel allocation strategy by @violetagg in #4230
✨ New features and improvements
- Depend on
Reactor Corev3.8.6by @violetagg in 511a3b6, see release notes - Depend on
Nettyv4.2.15.Finalby @violetagg in #4237 - Remove multipart exception from
isSelfDefinedMessageLengthfor keep-alive by @violetagg in #4200 - Store
HTTP/2websocketCONNECT:protocol/:pathin channel attributes by @violetagg in #4202 - Update HTTP/3 configuration by @violetagg in 1a4c422
🐞 Bug fixes
- Fix
keep-aliverace when creatingHttpServerOperationsby @koisyu in #4189 - Fix
HTTP/3connection pool drain when server replenishes streams to same level by @violetagg in #4193 - Fix missing metrics for
AdaptiveByteBufAllocatorby @lukas-riedler-dynatrace in #4217 - Throw
DecoderExceptionwith hostname whenSNIAsyncMapping resolves to null by @kwondh5217 in #4212 - Refine header handling during redirects by @violetagg in e7ef551
📖 Documentation
- Add
WebSocketecho server example by @Yelagandula in #4177 - Document
TCP/UDPmetricsremote.addresstag cardinality by @violetagg in #4201
New Contributors
- @koisyu made their first contribution in #4189
- @Yelagandula made their first contribution in #4177
- @lukas-riedler-dynatrace made their first contribution in #4217
- @kwondh5217 made their first contribution in #4212
Full Changelog: v1.3.5...v1.3.6
v1.2.18
Reactor Netty 1.2.18 is part of 2024.0.18 Release Train.
This is the last release of 1.2.x, as 2024.0.x Release Train is going out of OSS support. For the next steps, check our support policy.
What's Changed
⚠️ Update considerations and deprecations
- Tweak
DNSresolver channel allocation strategy by @violetagg in #4230
✨ New features and improvements
- Depend on
Reactor Corev3.7.19by @violetagg in c753da4, see release notes - Depend on
Nettyv4.1.135.Finalby @violetagg in #4240 - Store
HTTP/2websocketCONNECT:protocol/:pathin channel attributes by @violetagg in #4202
🐞 Bug fixes
- Fix
keep-aliverace when creatingHttpServerOperationsby @koisyu in #4189 - Throw
DecoderExceptionwith hostname whenSNIAsyncMapping resolves to null by @kwondh5217 in #4212 - Refine header handling during redirects by @violetagg in e7ef551
New Contributors
- @koisyu made their first contribution in #4189
- @kwondh5217 made their first contribution in #4212
Full Changelog: v1.2.17...v1.2.18
v1.3.5
Reactor Netty 1.3.5 is part of 2025.0.5 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.8.5by @violetagg in b68daca, see release notes - Depend on
Nettyv4.2.12.Finalby @violetagg in #4167 - Depend on
Netty QUIC Codecv0.0.75.Finalby @violetagg in #4148 - Depend on
Bravev6.3.1by @dependabot[bot] in #4159 - Optimise
uriconstruction withbaseUrlinHttpClientHandlerby @violetagg in #4130 - Optimise
UriEndpoint#toSocketAddressStringWithoutDefaultPortby @violetagg in #4131 - Store resolved
SocketAddressinUriEndpointfor absolute URLs by @violetagg in #4132 - Lazily compute
HttpClientOperations#resourceUrlby @violetagg in #4135 - Pre-compute
pathinUriEndpointwhenURIis provided by @violetagg in #4136 - Cleanup
HTTP/2WebSocketextension handlers by @violetagg in #4152 - Optimise
Fluxbody accumulation forGET/HEAD/DELETErequests by @violetagg in #4164 - Fix
HTTP/3connection pool max streams handling by @violetagg in #4182
🐞 Bug fixes
- Ensure connection concurrency and acquired counters are updated before delivering the slot by @violetagg in #4179
- Fix
StackOverflowErrorinServerTransportgraceful shutdown by @violetagg in #4181 - Fix invalidated connection reuse in
Http2Poolby @violetagg in #4180
New Contributors
Full Changelog: v1.3.4...v1.3.5
v1.2.17
Reactor Netty 1.2.17 is part of 2024.0.17 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.7.18by @violetagg in 9f6f3e0, see release notes - Depend on
Nettyv4.1.132.Finalby @violetagg in #4162 - Depend on
Netty QUIC Codecv0.0.75.Finalby @violetagg in #4148 - Optimise
uriconstruction withbaseUrlinHttpClientHandlerby @violetagg in #4130 - Optimise
UriEndpoint#toSocketAddressStringWithoutDefaultPortby @violetagg in #4131 - Store resolved
SocketAddressinUriEndpointfor absolute URLs by @violetagg in #4132 - Lazily compute
HttpClientOperations#resourceUrlby @violetagg in #4135 - Pre-compute
pathinUriEndpointwhenURIis provided by @violetagg in #4136 - Cleanup
HTTP/2WebSocketextension handlers by @violetagg in #4152
🐞 Bug fixes
- Fix
StackOverflowErrorinServerTransportgraceful shutdown by @violetagg in #4181
Full Changelog: v1.2.16...v1.2.17
v1.3.4
Reactor Netty 1.3.4 is part of 2025.0.4 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.8.4by @chemicL in 53e8319, see release notes - Avoid
DefaultChannelIdgeneration forDisposedChannelby @violetagg in #4095 - Push-based
maxConcurrentStreamsupdate viaSETTINGSframe handler by @violetagg in #4106 - Add configurable
maxLifeTimewith per-resource variance by @violetagg in #4111 - Add
Http2AllocationStrategy#streamBatchSizefor batched stream dispatching by @violetagg in #4114 - Override
isSharable()explicitly to avoid annotation lookup by @violetagg in #4120 - Add fast-path short-circuit for
is100ContinueExpectedcheck by @violetagg in #4123 - Cache resolved
HttpHeadersFactoryinstances to avoid repeated allocation by @violetagg in #4124
🐞 Bug fixes
- Add
FlushConsolidationHandlertoH2Cupgrade pipeline by @violetagg in #4097 - Fix
Http2Poolreturning connection to the pool beforeH2Cupgrade completes by @violetagg in #4098 - Fix
Http2PoolACQUIREDcounter not rolled back when deliver is rejected by @violetagg in #4099 - Fix
HttpClient#proxyWhento useNoopAddressResolverGroupby @violetagg in #4104
Full Changelog: v1.3.3...v1.3.4
v1.2.16
Reactor Netty 1.2.16 is part of 2024.0.16 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.7.17by @chemicL in 98eb271, see release notes - Override
isSharable()explicitly to avoid annotation lookup by @violetagg in #4120 - Add fast-path short-circuit for
is100ContinueExpectedcheck by @violetagg in #4123 - Cache resolved
HttpHeadersFactoryinstances to avoid repeated allocation by @violetagg in #4124
🐞 Bug fixes
- Add
FlushConsolidationHandlertoH2Cupgrade pipeline by @violetagg in #4097 - Fix
HttpClient#proxyWhento useNoopAddressResolverGroupby @violetagg in #4104
Full Changelog: v1.2.15...v1.2.16
v1.3.3
Reactor Netty 1.3.3 is part of 2025.0.3 Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Corev3.8.3by @violetagg in 0e5b351, see release notes - Depend on
Nettyv4.2.10.Finalby @violetagg in #4091 - Improve
Http2Poolconnection reuse for concurrent acquires by @zimatars in #4051 - Refactor
Http2Poolmax concurrent streams calculation by @violetagg in #4061 - Remove deprecated
EventLoopGroupchecks fromsupportGroup()by @violetagg in #4084 - Optimise
HttpServerRequest#timestampby usingInstantinternally with lazyZonedDateTimeconversion by @violetagg in #4090
🐞 Bug fixes
- Fix race condition in pending acquire timer management by @violetagg in #4073
- Fix incorrect channel factory selection for custom
EventLoopGroupsby @j-bahr in #4074
📖 Documentation
- Add
Http2AllocationStrategydocumentation and improve javadoc by @violetagg in #4093
Full Changelog: v1.3.2...v1.3.3