Releases: reactor/reactor-netty
v1.2.0-M5
Reactor Netty
1.2.0-M5
is part of 2024.0.0-M5
Release Train.
Reactor Netty
1.2.0-M5
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
- Resolve on demand the path from the request uri by @violetagg in #3359
✨ New features and improvements
- Depend on
Reactor Core
v3.7.0-M5
by @violetagg in 5d07245, see release notes - Depend on
Netty
v4.1.112.Final
by @violetagg in #3361 - Depend on
Netty QUIC Codec
v0.0.66.Final
by @violetagg in #3383 - Cache the infomation whether the request is websocket by @violetagg in #3354
- Cache
Content-Length
when it is about to send theFullHttpResponse
by @violetagg in #3355 - Use
doFinally
in order to handlecancel
anderror
signals by @violetagg in #3356 - Initialise
ChannelOperations#shortId
on demand by @violetagg in #3357 HttpDecoderSpec#validateHeaders()
specifies whether request/response headers are validated by @violetagg in #3370- Simplify
HttpServerOperations#onInboundNext
by @violetagg in #3375 - Simplify
HttpTrafficHandler#write
by @violetagg in #3376 - Separate handling for
EMPTY_LAST_CONTENT
by @violetagg in #3385 - Reduce duplication by @violetagg in #3386
- Simplify response status code check by @violetagg in #3390
- Simplify
Http2StreamBridgeServerHandler#write
by @violetagg in #3391
🐞 Bug fixes
- Do not record an exception when the request information is not available by @violetagg in #3352
- Create on demand the response object for
Expect: 100-continue
by @violetagg in #3362 - Always
decode
in an event loop by @violetagg in #3369
📖 Documentation
Full Changelog: v1.2.0-M4...v1.2.0-M5
v1.1.22
Reactor Netty
1.1.22
is part of 2022.0.22
and 2023.0.9
Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.5.20
by @violetagg in 35b79b7, see release notes - Depend on
Netty
v4.1.112.Final
by @violetagg in #3361 - Depend on
Netty QUIC Codec
v0.0.66.Final
by @violetagg in #3383 - Cache the infomation whether the request is websocket by @violetagg in #3354
- Cache
Content-Length
when it is about to send theFullHttpResponse
by @violetagg in #3355 - Use
doFinally
in order to handlecancel
anderror
signals by @violetagg in #3356 - Initialise
ChannelOperations#shortId
on demand by @violetagg in #3357 - Simplify
HttpServerOperations#onInboundNext
by @violetagg in #3375 - Simplify
HttpTrafficHandler#write
by @violetagg in #3376 - Separate handling for
EMPTY_LAST_CONTENT
by @violetagg in #3385 - Reduce duplication by @violetagg in #3386
- Simplify response status code check by @violetagg in #3390
- Simplify
Http2StreamBridgeServerHandler#write
by @violetagg in #3391
🐞 Bug fixes
- Do not record an exception when the request information is not available by @violetagg in #3352
- Create on demand the response object for
Expect: 100-continue
by @violetagg in #3362 - Always
decode
in an event loop by @violetagg in #3369
Full Changelog: v1.1.21...v1.1.22
v1.0.48
Reactor Netty
1.0.48
is part of 2020.0.47
Release Train.
This is the last release of 1.0.x
, as 2020.0.x
Release Train is going out of OSS support. For the next steps, check our support policy.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.4.41
by @violetagg in e136dab, see release notes - Depend on
Netty
v4.1.112.Final
by @violetagg in #3361 - Depend on
Netty QUIC Codec
v0.0.66.Final
by @violetagg in #3383
🐞 Bug fixes
- Create on demand the response object for
Expect: 100-continue
by @violetagg in #3362 - Always
decode
in an event loop by @violetagg in #3369
Full Changelog: v1.0.47...v1.0.48
v1.2.0-M4
Reactor Netty
1.2.0-M4
is part of 2024.0.0-M4
Release Train.
This milestone adds HTTP/3
client support.
Enablement of the HTTP/3
client 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 HttpClient
:
public class Application {
public static void main(String[] args) throws Exception {
HttpClient client =
HttpClient.create()
.remoteAddress(() -> new InetSocketAddress("www.google.com", 443))
.protocol(HttpProtocol.HTTP3)
.secure()
.http3Settings(spec -> spec.idleTimeout(Duration.ofSeconds(5))
.maxData(10000000)
.maxStreamDataBidirectionalLocal(1000000));
Tuple2<String, HttpHeaders> response =
client.get()
.uri("/")
.responseSingle((res, bytes) -> bytes.asString()
.zipWith(Mono.just(res.responseHeaders())))
.block();
System.out.println("Used stream ID: " + response.getT2().get("x-http3-stream-id"));
System.out.println("Response: " + response.getT1());
}
}
Reactor Netty
1.2.0-M4
inherits all changes from the 1.0.x
and 1.1.x
branches at the point this release was cut.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.7.0-M4
by @chemicL in 24d4fde, see release notes - Depend on
Netty
v4.1.111.Final
by @violetagg in #3293 - Depend on
Netty QUIC Codec
v0.0.65.Final
by @violetagg in #3320 HTTP/3
client support- Add
HTTP/3
client initial settings by @violetagg in #3311 - Add
HttpProtocol#HTTP3
by @violetagg in #3312 - When there is no bind address, configure the default one by @violetagg in #3313
- Add bind support for
DefaultPooledConnectionProvider
by @violetagg in #3314 - Add
Http3Pool
by @violetagg in #3317 - Initial
HTTP/3
client support by @violetagg in #3319
- Add
- Add
Brotli
support forHttpClient
by @violetagg in #3331
🐞 Bug fixes
- Close the connection when decoding exception happens by @violetagg in #3290
Http2Pool
: when applyingacquireTimeout
, check for current pendingBorrowers
by @violetagg in #3300- When an explicit
EventLoopGroup
is configured ensure only one connection pool is created by @violetagg in #3321
Full Changelog: v1.2.0-M3...v1.2.0-M4
v1.1.21
Reactor Netty
1.1.21
is part of 2022.0.21
and 2023.0.8
Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.5.19
by @chemicL in c9c6671, see release notes - Depend on
Netty
v4.1.111.Final
by @violetagg in #3293 - Depend on
Netty QUIC Codec
v0.0.65.Final
by @violetagg in #3320
🐞 Bug fixes
- Close the connection when decoding exception happens by @violetagg in #3290
Http2Pool
: when applyingacquireTimeout
, check for current pendingBorrowers
by @violetagg in #3300- When an explicit
EventLoopGroup
is configured ensure only one connection pool is created by @violetagg in #3321
Full Changelog: v1.1.20...v1.1.21
v1.0.47
Reactor Netty
1.0.47
is part of 2020.0.46
Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.4.40
by @chemicL in 7c0da79, see release notes - Depend on
Netty
v4.1.111.Final
by @violetagg in #3293 - Depend on
Netty QUIC Codec
v0.0.65.Final
by @violetagg in #3320
🐞 Bug fixes
- Close the connection when decoding exception happens by @violetagg in #3290
- When an explicit
EventLoopGroup
is configured ensure only one connection pool is created by @violetagg in #3321
Full Changelog: v1.0.46...v1.0.47
v1.2.0-M3
Reactor Netty
1.2.0-M3
is part of 2024.0.0-M3
Release Train.
Reactor Netty
1.2.0-M3
inherits all changes from the 1.0.x
and 1.1.x
branches at the point this release was cut.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.7.0-M3
by @violetagg in 80d7cad, see release notes - Depend on
Netty
v4.1.110.Final
by @violetagg in #3259 - Depend on
Netty QUIC Codec
v0.0.63.Final
by @violetagg in #3264 - Allow using
SocketAddress
proxies instead of justInetSocketAddress
by @AlexProgrammerDE in #3243 - Immediately mark outbound as complete when sending
Mono
orObject
by @violetagg in #3250 - Add possibility to delay the last flush operation by @violetagg in #3271, #3280 and #3282
- Make
MonoSend.MAX_SIZE
configurable by system property by @VadimKirilchuk in #3276
🐞 Bug fixes
- When
HttpOperations#afterMarkSentHeaders
throws an error inHttpOperations#sendObject
, ensure theByteBuf
is released just once by @violetagg in #3246 - Ensure
HttpClient#reactorNettyVersion()
does not throwNullPointException
when loaded through-javaagent
underJDK 1.8
by @KyoUK4n in #3266 - Fix
HTTP/2
poolrecordPendingSuccess/FailureAndLatency
not recorded without timeout by @violetagg in #3252
📖 Documentation
- Extend the documentation for the shared (default)
ConnectionProvider
andEvent Loop Group
by @violetagg in #3281
New Contributors
- @AlexProgrammerDE made their first contribution in #3243
- @KyoUK4n made their first contribution in #3266
- @VadimKirilchuk made their first contribution in #3276
Full Changelog: v1.2.0-M2...v1.2.0-M3
v1.1.20
Reactor Netty
1.1.20
is part of 2022.0.20
and 2023.0.7
Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.5.18
by @violetagg in 9670a02, see release notes - Depend on
Netty
v4.1.110.Final
by @violetagg in #3259 - Depend on
Netty QUIC Codec
v0.0.63.Final
by @violetagg in #3264 - Immediately mark outbound as complete when sending
Mono
orObject
by @violetagg in #3250 - Add possibility to delay the last flush operation by @violetagg in #3271, #3280 and #3282
- Make
MonoSend.MAX_SIZE
configurable by system property by @VadimKirilchuk in #3276
🐞 Bug fixes
- When
HttpOperations#afterMarkSentHeaders
throws an error inHttpOperations#sendObject
, ensure theByteBuf
is released just once by @violetagg in #3246 - Fix
HTTP/2
poolrecordPendingSuccess/FailureAndLatency
not recorded without timeout by @violetagg in #3252 - Ensure
HttpClient#reactorNettyVersion()
does not throwNullPointException
when loaded through-javaagent
underJDK 1.8
by @KyoUK4n in #3266
📖 Documentation
- Extend the documentation for the shared (default)
ConnectionProvider
andEvent Loop Group
by @violetagg in #3281
New Contributors
- @KyoUK4n made their first contribution in #3266
- @VadimKirilchuk made their first contribution in #3276
Full Changelog: v1.1.19...v1.1.20
v1.0.46
Reactor Netty
1.0.46
is part of 2020.0.45
Release Train.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.4.39
by @violetagg in 0343273, see release notes - Depend on
Netty
v4.1.110.Final
by @violetagg in #3259 - Depend on
Netty QUIC Codec
v0.0.63.Final
by @violetagg in #3264
🐞 Bug fixes
- When
HttpOperations#afterMarkSentHeaders
throws an error inHttpOperations#sendObject
, ensure theByteBuf
is released just once by @violetagg in #3246 - Ensure
HttpClient#reactorNettyVersion()
does not throwNullPointException
when loaded through-javaagent
underJDK 1.8
by @KyoUK4n in #3266
New Contributors
Full Changelog: v1.0.45...v1.0.46
v1.2.0-M2
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