reactor/reactor-netty
 Watch   
 Star   
 Fork   
20 days ago
reactor-netty

v1.3.0

Reactor Netty 1.3.0 is part of 2025.0.0 Release Train.

This version:

  • Upgrades Netty to version 4.2
    • Graduates Reactor Netty HTTP/3 support
    • Graduates Reactor Netty QUIC support
    • Netty IO_Uring support graduated from incubation. By default Reactor Netty comes with Epoll, if IO_Uring is needed, a dependency has to be added io.netty:netty-transport-native-io_uring. IO_Uring is supported on JDK 11+.
  • Migrates to JSpecify annotations for nullability constraints

What's Changed

⚠️ Update considerations and deprecations

  • Ensure POST empty body sending content-length 0 by @violetagg in #3663
  • Ensure HttpClient does not add Content-Length header when GET/HEAD/DELETE and the send Publisher does not provide content by @violetagg in #3664

✨ New features and improvements

  • Depend on Reactor Core v3.8.0 by @violetagg in 586257ffdb7aec8bb0e5cf1961896eed87e8bffa, see release notes
  • Depend on Netty v4.2.7.Final by @violetagg in #3971
    • Adapt to SocketProtocolFamily by @violetagg in #3766
    • Adapt to IoEventLoopGroup by @violetagg in #3767
    • Graduate reactor-netty-incubator-quic to reactor-netty-quic by @violetagg in #3768
    • IO_Uring is now part of Netty by @violetagg in #3705 and by @j-bahr in #3974
    • Reactor Netty HTTP/3 support is no more in incubation by @violetagg in #3851, #3996
  • Depend on Micrometer v1.16.0 by @violetagg in #3997
  • Depend on Micrometer Tracing v1.6.0 by @violetagg in #3997
  • Depend on Context Propagation v1.2.0 by @violetagg in #3997
  • Depend on Brave v6.3.0 by @dependabot in #3786
  • Migrate to JSpecify annotations for nullability constraints by @violetagg in #3630, #3640, #3641, #3642, #3644, #3645, #3647, #3665, #3694, #3707, #3708, #3709, #3933, #3934, #3995, 8b148ce33b4aa282bbc997d01bf6e99c1da02455, ee5ac40ef43ff5f8aacdded432f4a60ddf9a00a6
  • Add HttpMeterRegistrarAdapter to track active streams in HTTP/2 and HTTP/3 by @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/2 by @violetagg in #3691 and #3715
  • Enable set up TcpResources default max connection by setting by @lcamhoa in #3712
  • Make AccessLog class not final by @dmitrysulman in #3726
  • Add request and response header iterators to AccessLogArgProvider by @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 Netty HTTP/2 setting SETTINGS_ENABLE_CONNECT_PROTOCOL by @violetagg in #3794
  • Remove the usage of deprecated functionality by @violetagg in #3819
  • Improve protocol validation in Forwarded/X-Forwarded-Proto header parsing by @violetagg in #3823 and #3824
  • Remove trailer header pre-declaration requirement by @violetagg in #3825
  • Support Proxy-Authorization renewal 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 ChannelBindException by @violetagg in #3976
  • Add HTTP/2 PING-based connection health checks by @violetagg in #3980
  • Allow setting .pendingAcquireMaxCount() to zero in ConnectionProvider by @Martin7-1 in #3987

🐞 Bug fixes

  • Fix various issues with Nullable annotation by @violetagg in #3626, #3628, #3629, #3646
  • Fix NullPointerException in Http2SettingsSpec#hashCode by @violetagg in #3639
  • Fix Http2ConnectionProvider#logStreamsState to 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#version returns the correct protocol when Unix Domain Sockets by @violetagg in #3693
  • Ensure reactor.netty.http.server.connections.active is updated when there is no HttpServerOperations by @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 HttpData only if it is not released by Netty by @violetagg in #3749
  • Connection pools with/without resolvedAddressesSelector are different pools by @violetagg in #3753
  • Remove extra write invocation when Expect: 100-continue by @violetagg in #3755
  • Ensure the connection is invalidated when a connection close happens before HTTP/1.1 to HTTP/2 upgrade operation by @violetagg in #3806
  • When HTTP/2 apply always the trailer headers by @violetagg in #3808
  • Trailers must not include pseudo-header fields by @violetagg in #3810
  • Add the HTTP/2 connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827
  • Add proper initialisation of maxConcurrentStreams when successful HTTP/1.1 to HTTP/2 upgrade by @violetagg in #3832
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3838
  • When HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847
  • Ensure HttpClientResponse#trailerHeaders always completes by @violetagg in #3848
  • Fix message for handlerConfigurator by @klopfdreh in #3861
  • Ensure both resolved and unresolved server bind addresses are used with ConnectionProvider#disposeWhen by @violetagg in #3881
  • Ensure 100-Continue is handled when collecting client's metrics by @violetagg in #3895
  • Ensure cookie validation errors are propagated by @violetagg in #3898
  • Ensure ResponseTimeoutHandler is 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:0 by @violetagg in #3936
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3957
  • Fix HttpClientConfig copying issue in MonoHttpConnect by @violetagg in #3964

📖 Documentation

  • Add reactor-netty-quic reference documentation by @violetagg in #3775
  • Add QUIC example by @violetagg in #3782
  • Document the required HTTP/2 initial setting when websocket over HTTP/2 on the server by @violetagg in #3783

New Contributors

  • @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

21 days ago
reactor-netty

v1.2.12

Reactor Netty 1.2.12 is part of 2024.0.12 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.7.13 by @chemicL in e96e94ab11cffd22ccc361466c9daa5b58575c8b, see release notes
  • Depend on Netty v4.1.128.Final by @violetagg in #3970
  • Preserve exception cause in ChannelBindException by @violetagg in #3976
  • Add HTTP/2 PING-based connection health checks by @violetagg in #3980
  • Allow setting .pendingAcquireMaxCount() to zero in ConnectionProvider by @Martin7-1 in #3987

New Contributors

  • @Martin7-1 made their first contribution in #3987

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.11...v1.2.12

2025-10-14 22:08:57
reactor-netty

v1.3.0-RC1

Reactor Netty 1.3.0-RC1 is part of 2025.0.0-RC1 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.8.0-RC1 by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f, see release notes
  • Depend on Micrometer v1.16.0-RC1 by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f
  • Depend on Micrometer Tracing v1.6.0-RC1 by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f
  • Depend on Context Propagation v1.2.0-RC1 by @violetagg in 8cd6f501ee32ef1ddadac526d960bdd8591d960f
  • Support Proxy-Authorization renewal 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#formatSocketAddress by @violetagg in #3933
  • Change nullability for AccessLog by @violetagg in #3934

🐞 Bug fixes

  • Ensure ResponseTimeoutHandler is 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:0 by @violetagg in #3936
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3957
  • Fix HttpClientConfig copying issue in MonoHttpConnect by @violetagg in #3964

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M7...v1.3.0-RC1

2025-10-14 14:48:04
reactor-netty

v1.2.11

Reactor Netty 1.2.11 is part of 2024.0.11 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.7.12 by @violetagg in f7fc6b79787fcfa5d508167f830637db76f82eaf, see release notes
  • Support Proxy-Authorization renewal by @violetagg in #3925
  • Add API for configuring maximum number RST frames that are allowed per window by @violetagg in #3931

🐞 Bug fixes

  • Ensure ResponseTimeoutHandler is added as one of the first handlers in the pipeline by @violetagg in #3916
  • Do not try to send the file when Content-Length:0 by @violetagg in #3936
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3957
  • Fix HttpClientConfig copying issue in MonoHttpConnect by @violetagg in #3964

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.10...v1.2.11

2025-09-09 22:19:51
reactor-netty

v1.3.0-M7

Reactor Netty 1.3.0-M7 is part of 2025.0.0-M7 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.8.0-M7 by @chemicL in 3d80d3f64fe3cb035f7758fd9a695bd822dea29d, see release notes
  • Depend on Netty v4.2.6.Final by @violetagg in #3906
  • Depend on Netty QUIC Codec v0.0.74.Final by @violetagg in #3880
  • Depend on Micrometer v1.16.0-M3 by @violetagg in #3907
  • Depend on Micrometer Tracing v1.6.0-M3 by @violetagg in #3909

🐞 Bug fixes

  • Ensure both resolved and unresolved server bind addresses are used with ConnectionProvider#disposeWhen by @violetagg in #3881
  • Ensure 100-Continue is 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

2025-09-09 19:38:52
reactor-netty

v1.2.10

Reactor Netty 1.2.10 is part of 2024.0.10 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.7.11 by @chemicL in 0d81f666729291e981bc7a7de6a614b6c76d56f4, see release notes
  • Depend on Netty v4.1.127.Final by @violetagg in #3905
  • Depend on Netty QUIC Codec v0.0.74.Final by @violetagg in #3880

🐞 Bug fixes

  • Ensure both resolved and unresolved server bind addresses are used with ConnectionProvider#disposeWhen by @violetagg in #3881
  • Ensure 100-Continue is 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

2025-08-12 20:23:53
reactor-netty

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.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.8.0-M6 by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20, see release notes
  • Depend on Context Propagation v1.2.0-M1 by @violetagg in #3871
  • Depend on Micrometer v1.16.0-M2 by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20
  • Depend on Micrometer Tracing v1.6.0-M2 by @violetagg in 6ec54993eb0058e7eeb873b1feb170eab18d4a20
  • Reactor Netty HTTP/3 support is no more in incubation by @violetagg in #3851

🐞 Bug fixes

  • When HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847
  • Ensure HttpClientResponse#trailerHeaders always completes by @violetagg in #3848
  • Fix message for handlerConfigurator by @klopfdreh in #3861

New Contributors

  • @klopfdreh made their first contribution in #3861

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.3.0-M5...v1.3.0-M6

2025-08-12 14:34:47
reactor-netty

v1.2.9

Reactor Netty 1.2.9 is part of 2024.0.9 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.7.9 by @violetagg in ad6415d3c00ec90a03f143dacffbf94ceb0a06b5, see release notes
  • Depend on Netty v4.1.123.Final by @violetagg in #3844

🐞 Bug fixes

  • When HTTP/2, ensure the trailer headers are provided in case full response is received by @violetagg in #3847
  • Ensure HttpClientResponse#trailerHeaders always completes by @violetagg in #3848

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.8...v1.2.9

2025-07-15 23:54:03
reactor-netty

v1.3.0-M5

Reactor Netty 1.3.0-M5 is part of 2025.0.0-M5 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.8.0-M5 by @chemicL in 2a246fcea7c6661ee378f09f3a0892cd0683b03d, see release notes
  • Depend on Netty v4.2.3.Final by @violetagg in #3841
  • Depend on Netty HTTP/3 Codec v0.0.30.Final by @dependabot[bot] in #3812
  • Depend on Micrometer 1.16.0-M1 by @violetagg in #3840
  • Remove the usage of deprecated functionality by @violetagg in #3819
  • Improve protocol validation in Forwarded/X-Forwarded-Proto header parsing by @violetagg in #3823 and #3824
  • Remove trailer header pre-declaration requirement by @violetagg in #3825

🐞 Bug fixes

  • Ensure the connection is invalidated when a connection close happens before HTTP/1.1 to HTTP/2 upgrade operation by @violetagg in #3806
  • When HTTP/2 apply always the trailer headers by @violetagg in #3808
  • Trailers must not include pseudo-header fields by @violetagg in #3810
  • Add the HTTP/2 connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827
  • Add proper initialisation of maxConcurrentStreams when successful HTTP/1.1 to HTTP/2 upgrade by @violetagg in #3832
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3838

New Contributors

  • @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

2025-07-15 16:20:00
reactor-netty

v1.2.8

Reactor Netty 1.2.8 is part of 2024.0.8 Release Train.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.7.8 by @chemicL in 79468f613c936d7d694a6c92907f04af17a36edc, see release notes
  • Depend on Netty QUIC Codec v0.0.73.Final by @violetagg in #3811
  • Depend on Netty HTTP/3 Codec v0.0.30.Final by @dependabot[bot] in #3812
  • Remove the usage of deprecated functionality by @violetagg in #3819
  • Improve protocol validation in Forwarded/X-Forwarded-Proto header parsing by @violetagg in #3823 and #3824
  • Remove trailer header pre-declaration requirement by @violetagg in #3825

🐞 Bug fixes

  • Ensure the connection is invalidated when a connection close happens before HTTP/1.1 to HTTP/2 upgrade operation by @violetagg in #3806
  • When HTTP/2 apply always the trailer headers by @violetagg in #3808
  • Trailers must not include pseudo-header fields by @violetagg in #3810
  • Add the HTTP/2 connection to the channel group for a proper graceful shutdown in case no active streams by @violetagg in #3827
  • Add proper initialisation of maxConcurrentStreams when successful HTTP/1.1 to HTTP/2 upgrade by @violetagg in #3832
  • Ensure the HTTP/2 upgrade stream inherits the proper state from the original HTTP/1.1 connection when successful upgrade from HTTP/1.1 to HTTP/2 by @violetagg in #3838

Full Changelog: https://github.com/reactor/reactor-netty/compare/v1.2.7...v1.2.8