v1.3.0
Reactor Netty 1.3.0 is part of 2025.0.0 Release Train.
This version:
- Upgrades
Nettyto version4.2- Graduates
Reactor NettyHTTP/3support - Graduates
Reactor NettyQUICsupport Netty IO_Uringsupport graduated from incubation. By defaultReactor Nettycomes withEpoll, ifIO_Uringis needed, a dependency has to be addedio.netty:netty-transport-native-io_uring.IO_Uringis supported on JDK 11+.
- Graduates
- Migrates to
JSpecifyannotations for nullability constraints
- Ensure
POSTempty body sendingcontent-length 0by @violetagg in #3663 - Ensure
HttpClientdoes not addContent-Lengthheader whenGET/HEAD/DELETEand the sendPublisherdoes not provide content by @violetagg in #3664
- Depend on
Reactor Corev3.8.0by @violetagg in 586257ffdb7aec8bb0e5cf1961896eed87e8bffa, see release notes - Depend on
Nettyv4.2.7.Finalby @violetagg in #3971- Adapt to
SocketProtocolFamilyby @violetagg in #3766 - Adapt to
IoEventLoopGroupby @violetagg in #3767 - Graduate
reactor-netty-incubator-quictoreactor-netty-quicby @violetagg in #3768 IO_Uringis now part ofNettyby @violetagg in #3705 and by @j-bahr in #3974Reactor NettyHTTP/3support is no more in incubation by @violetagg in #3851, #3996
- Adapt to
- Depend on
Micrometerv1.16.0by @violetagg in #3997 - Depend on
Micrometer Tracingv1.6.0by @violetagg in #3997 - Depend on
Context Propagationv1.2.0by @violetagg in #3997 - Depend on
Bravev6.3.0by @dependabot in #3786 - Migrate to
JSpecifyannotations for nullability constraints by @violetagg in #3630, #3640, #3641, #3642, #3644, #3645, #3647, #3665, #3694, #3707, #3708, #3709, #3933, #3934, #3995, 8b148ce33b4aa282bbc997d01bf6e99c1da02455, ee5ac40ef43ff5f8aacdded432f4a60ddf9a00a6 - Add
HttpMeterRegistrarAdapterto track active streams inHTTP/2andHTTP/3by @raccoonback in #3632 - Move log statement to the correct place by @violetagg in #3674
- Add API for determining the resolved addresses to which this client should connect by @violetagg in #3687
- Support websocket over
HTTP/2by @violetagg in #3691 and #3715 - Enable set up
TcpResourcesdefault max connection by setting by @lcamhoa in #3712 - Make
AccessLogclass not final by @dmitrysulman in #3726 - Add request and response header iterators to
AccessLogArgProviderby @dmitrysulman in #3735 - Support error log handler for Http server by @raccoonback in #3700 and by @violetagg in 4ed2380d4a866e7577c1785c6efd8caa9675ff76 and #3750
- Remove unused method parameter by @violetagg in #3751
- Remove the usage of deprecated functionality by @violetagg in #3792
- Use the new
NettyHTTP/2settingSETTINGS_ENABLE_CONNECT_PROTOCOLby @violetagg in #3794 - Remove the usage of deprecated functionality by @violetagg in #3819
- Improve protocol validation in
Forwarded/X-Forwarded-Protoheader parsing by @violetagg in #3823 and #3824 - Remove trailer header pre-declaration requirement by @violetagg in #3825
- Support
Proxy-Authorizationrenewal by @violetagg in #3925 - Add API for configuring maximum number RST frames that are allowed per window by @violetagg in #3931
- Preserve exception cause in
ChannelBindExceptionby @violetagg in #3976 - Add
HTTP/2PING-basedconnection health checks by @violetagg in #3980 - Allow setting
.pendingAcquireMaxCount()to zero inConnectionProviderby @Martin7-1 in #3987
- Fix various issues with
Nullableannotation by @violetagg in #3626, #3628, #3629, #3646 - Fix
NullPointerExceptioninHttp2SettingsSpec#hashCodeby @violetagg in #3639 - Fix
Http2ConnectionProvider#logStreamsStateto log active/max streams per connection and per all connections by @violetagg in #3650 - Ensure the HTTP/2 stream is closed when an error happens before send operation by @violetagg in #3675
- Ensure the HTTP/3 stream is closed when an error happens before send operation by @violetagg in #3677
- Ensure the connection is invalidated when an error happens before h2c upgrade operation by @violetagg in #3678
- Ensure
HttpInfos#versionreturns the correct protocol whenUnix Domain Socketsby @violetagg in #3693 - Ensure
reactor.netty.http.server.connections.activeis updated when there is noHttpServerOperationsby @violetagg in #3725 - Ensure the default compression configuration is taken from Netty by @violetagg in #3743
- Ensure the exception is propagated in case of delayed address resolution by @violetagg in #3744
- Release the partial
HttpDataonly if it is not released by Netty by @violetagg in #3749 - Connection pools with/without
resolvedAddressesSelectorare different pools by @violetagg in #3753 - Remove extra write invocation when
Expect: 100-continueby @violetagg in #3755 - Ensure the connection is invalidated when a connection close happens before
HTTP/1.1toHTTP/2upgrade operation by @violetagg in #3806 - When
HTTP/2apply always the trailer headers by @violetagg in #3808 Trailersmust not includepseudo-headerfields by @violetagg in #3810- Add the
HTTP/2connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827 - Add proper initialisation of
maxConcurrentStreamswhen successfulHTTP/1.1toHTTP/2upgrade by @violetagg in #3832 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3838 - When
HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847 - Ensure
HttpClientResponse#trailerHeadersalways completes by @violetagg in #3848 - Fix message for
handlerConfiguratorby @klopfdreh in #3861 - Ensure both resolved and unresolved server bind addresses are used with
ConnectionProvider#disposeWhenby @violetagg in #3881 - Ensure
100-Continueis handled when collecting client's metrics by @violetagg in #3895 - Ensure cookie validation errors are propagated by @violetagg in #3898
- Ensure
ResponseTimeoutHandleris added as one of the first handlers in the pipeline by @violetagg in #3916 - Add missing check for null by @violetagg in #3932
- Do not try to send the file when
Content-Length:0by @violetagg in #3936 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3957 - Fix
HttpClientConfigcopying issue inMonoHttpConnectby @violetagg in #3964
- Add
reactor-netty-quicreference documentation by @violetagg in #3775 - Add
QUICexample by @violetagg in #3782 - Document the required
HTTP/2initial setting when websocket overHTTP/2on the server by @violetagg in #3783
- @lcamhoa made their first contribution in #3712
- @dmitrysulman made their first contribution in #3726
- @jkonicki made their first contribution in #3829 and #3830
- @klopfdreh made their first contribution in #3861
- @Martin7-1 made their first contribution in #3987
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.3...v1.3.0
v1.2.12
Reactor Netty 1.2.12 is part of 2024.0.12 Release Train.
- Depend on
Reactor Corev3.7.13by @chemicL in e96e94ab11cffd22ccc361466c9daa5b58575c8b, see release notes - Depend on
Nettyv4.1.128.Finalby @violetagg in #3970 - Preserve exception cause in
ChannelBindExceptionby @violetagg in #3976 - Add
HTTP/2PING-basedconnection health checks by @violetagg in #3980 - Allow setting
.pendingAcquireMaxCount()to zero inConnectionProviderby @Martin7-1 in #3987
- @Martin7-1 made their first contribution in #3987
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.11...v1.2.12
v1.3.0-RC1
Reactor Netty 1.3.0-RC1 is part of 2025.0.0-RC1 Release Train.
- Depend on
Reactor Corev3.8.0-RC1by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f, see release notes - Depend on
Micrometerv1.16.0-RC1by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f - Depend on
Micrometer Tracingv1.6.0-RC1by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f - Depend on
Context Propagationv1.2.0-RC1by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f - Support
Proxy-Authorizationrenewal by @violetagg in #3925 - Add API for configuring maximum number RST frames that are allowed per window by @violetagg in #3931
- Change nullability for
Metrics#formatSocketAddressby @violetagg in #3933 - Change nullability for
AccessLogby @violetagg in #3934
- Ensure
ResponseTimeoutHandleris added as one of the first handlers in the pipeline by @violetagg in #3916 - Add missing check for null by @violetagg in #3932
- Do not try to send the file when
Content-Length:0by @violetagg in #3936 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3957 - Fix
HttpClientConfigcopying issue inMonoHttpConnectby @violetagg in #3964
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M7...v1.3.0-RC1
v1.2.11
Reactor Netty 1.2.11 is part of 2024.0.11 Release Train.
- Depend on
Reactor Corev3.7.12by @violetagg in f7fc6b79787fcfa5d508167f830637db76f82eaf, see release notes - Support
Proxy-Authorizationrenewal by @violetagg in #3925 - Add API for configuring maximum number RST frames that are allowed per window by @violetagg in #3931
- Ensure
ResponseTimeoutHandleris added as one of the first handlers in the pipeline by @violetagg in #3916 - Do not try to send the file when
Content-Length:0by @violetagg in #3936 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3957 - Fix
HttpClientConfigcopying issue inMonoHttpConnectby @violetagg in #3964
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.10...v1.2.11
v1.3.0-M7
Reactor Netty 1.3.0-M7 is part of 2025.0.0-M7 Release Train.
- Depend on
Reactor Corev3.8.0-M7by @chemicL in 3d80d3f64fe3cb035f7758fd9a695bd822dea29d, see release notes - Depend on
Nettyv4.2.6.Finalby @violetagg in #3906 - Depend on
Netty QUIC Codecv0.0.74.Finalby @violetagg in #3880 - Depend on
Micrometerv1.16.0-M3by @violetagg in #3907 - Depend on
Micrometer Tracingv1.6.0-M3by @violetagg in #3909
- Ensure both resolved and unresolved server bind addresses are used with
ConnectionProvider#disposeWhenby @violetagg in #3881 - Ensure
100-Continueis handled when collecting client's metrics by @violetagg in #3895 - Ensure cookie validation errors are propagated by @violetagg in #3898
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M6...v1.3.0-M7
v1.2.10
Reactor Netty 1.2.10 is part of 2024.0.10 Release Train.
- Depend on
Reactor Corev3.7.11by @chemicL in 0d81f666729291e981bc7a7de6a614b6c76d56f4, see release notes - Depend on
Nettyv4.1.127.Finalby @violetagg in #3905 - Depend on
Netty QUIC Codecv0.0.74.Finalby @violetagg in #3880
- Ensure both resolved and unresolved server bind addresses are used with
ConnectionProvider#disposeWhenby @violetagg in #3881 - Ensure
100-Continueis handled when collecting client's metrics by @violetagg in #3895 - Ensure cookie validation errors are propagated by @violetagg in #3898
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.9...v1.2.10
v1.3.0-M6
Reactor Netty 1.3.0-M6 is part of 2025.0.0-M6 Release Train.
In this milestone Reactor Netty HTTP/3 support is no more in incubation.
- Depend on
Reactor Corev3.8.0-M6by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20, see release notes - Depend on
Context Propagationv1.2.0-M1by @violetagg in #3871 - Depend on
Micrometerv1.16.0-M2by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20 - Depend on
Micrometer Tracingv1.6.0-M2by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20 Reactor NettyHTTP/3support is no more in incubation by @violetagg in #3851
- When
HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847 - Ensure
HttpClientResponse#trailerHeadersalways completes by @violetagg in #3848 - Fix message for
handlerConfiguratorby @klopfdreh in #3861
- @klopfdreh made their first contribution in #3861
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M5...v1.3.0-M6
v1.2.9
Reactor Netty 1.2.9 is part of 2024.0.9 Release Train.
- Depend on
Reactor Corev3.7.9by @violetagg in ad6415d3c00ec90a03f143dacffbf94ceb0a06b5, see release notes - Depend on
Nettyv4.1.123.Finalby @violetagg in #3844
- When
HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847 - Ensure
HttpClientResponse#trailerHeadersalways completes by @violetagg in #3848
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.8...v1.2.9
v1.3.0-M5
Reactor Netty 1.3.0-M5 is part of 2025.0.0-M5 Release Train.
- Depend on
Reactor Corev3.8.0-M5by @chemicL in 2a246fcea7c6661ee378f09f3a0892cd0683b03d, see release notes - Depend on
Nettyv4.2.3.Finalby @violetagg in #3841 - Depend on
Netty HTTP/3 Codecv0.0.30.Finalby @dependabot[bot] in #3812 - Depend on
Micrometer1.16.0-M1by @violetagg in #3840 - Remove the usage of deprecated functionality by @violetagg in #3819
- Improve protocol validation in
Forwarded/X-Forwarded-Protoheader parsing by @violetagg in #3823 and #3824 - Remove trailer header pre-declaration requirement by @violetagg in #3825
- Ensure the connection is invalidated when a connection close happens before
HTTP/1.1toHTTP/2upgrade operation by @violetagg in #3806 - When
HTTP/2apply always the trailer headers by @violetagg in #3808 Trailersmust not includepseudo-headerfields by @violetagg in #3810- Add the
HTTP/2connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827 - Add proper initialisation of
maxConcurrentStreamswhen successfulHTTP/1.1toHTTP/2upgrade by @violetagg in #3832 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3838
- @jkonicki made their first contribution in #3829 and #3830
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M4...v1.3.0-M5
v1.2.8
Reactor Netty 1.2.8 is part of 2024.0.8 Release Train.
- Depend on
Reactor Corev3.7.8by @chemicL in 79468f613c936d7d694a6c92907f04af17a36edc, see release notes - Depend on
Netty QUIC Codecv0.0.73.Finalby @violetagg in #3811 - Depend on
Netty HTTP/3 Codecv0.0.30.Finalby @dependabot[bot] in #3812 - Remove the usage of deprecated functionality by @violetagg in #3819
- Improve protocol validation in
Forwarded/X-Forwarded-Protoheader parsing by @violetagg in #3823 and #3824 - Remove trailer header pre-declaration requirement by @violetagg in #3825
- Ensure the connection is invalidated when a connection close happens before
HTTP/1.1toHTTP/2upgrade operation by @violetagg in #3806 - When
HTTP/2apply always the trailer headers by @violetagg in #3808 Trailersmust not includepseudo-headerfields by @violetagg in #3810- Add the
HTTP/2connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827 - Add proper initialisation of
maxConcurrentStreamswhen successfulHTTP/1.1toHTTP/2upgrade by @violetagg in #3832 - Ensure the
HTTP/2upgrade stream inherits the proper state from the originalHTTP/1.1connection when successful upgrade fromHTTP/1.1toHTTP/2by @violetagg in #3838
Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.7...v1.2.8