Releases: reactor/reactor-netty
v1.0.6
Reactor Netty
1.0.6
is part of 2020.0.6
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.4.5
, see release notes. (67073b4) - Depend on
Netty
v4.1.63.Final
. (f04f578, e86469d) - Expose a new API
AccessLogArgProvider#accessDateTime
for obtainingZonedDateTime
. (#1566, #1567) - Expose a new API
AccessLogArgProvider#cookies
for obtaining cookies information. (#1577, #1581) - Expose a new API for applying the
SslContext's
default configuration prior any other configuration. (#1543, #1573)SslProvider.SslContextSpec#sslContext(SslProvider.ProtocolSslContextSpec)
provides, specific for the protocol, default configuration (DefaultSslContextSpec
,TcpSslContextSpec
,Http11SslContextSpec
,Http2SslContextSpec
).
As opposed toSslProvider.SslContextSpec#sslContext(SslContextBuilder)
, the default configuration is applied before any other custom configuration.
🪲 Bug fixes
- When
H2C
andHTTP/1.1
are configured andH2C
upgrade is rejected, ensure all requests on that connection continues asHTTP/1.1
. (#1551, #1553) - Add pending acquire requests to the
HTTP/2
pool state debug info. (#1554) - Ensure the custom Netty handlers are able to access tracing information. (#1555, #1578)
- Ensure
uriTagValue
metrics function is not shared amongst the clients. (#1559, #1562) - Remove the query and the fragment from the uri when decoding the path. (#1564)
- Ensure
Forwarded
header is parsed according to the specification. (#1589) - Throw
IllegalArgumentException
in case neither address nor host is specified for the proxy. (#1591, #1592)
📖 Documentation, Tests and Build
- Ensure
aggregateJavadoc
task configuration is the same as thejavadoc
task configuration. (#1552) - Add test that verifies that a custom
User-Agent
header is preserved. (#1560, #1565) - The check for backwards compatibility should be against the previous release and not GA. Some APIs are added after GA so we need to guarantee backwards compatibility for these APIs also. (#1575, 961726c)
- GitHub Actions Release Process: signing, artifactory, sonatype (#1594)
- Switch from
ubuntu-18.04
toubuntu-20.04
when building PRs (#1596) - Update build/test dependencies versions:
org.gradle.test-retry
to version1.2.1
. (#1558)netty-tcnative-boringssl-static
to version2.0.38.Final
. (a271561)netty-incubator-transport-native-io_uring
to version0.0.5.Final
. (#1571)blockhound-junit-platform
to version1.0.6.RELEASE
. (#1587)Apache Tomcat
to version9.0.45
. (#1588)mockito-core
to version3.9.0
. (#1590)
👍 Thanks to the following contributors that also participated to this release
v0.9.19.RELEASE
Reactor-Netty 0.9.19.RELEASE
is part of Dysprosium-SR19
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depends on
Reactor Core
v3.3.16.RELEASE
, see release notes. (d692be3) - Depends on
Netty
v4.1.63.Final
. (125b14e)
📖 Documentation, Tests and Build
- Remove all occurrences of
jcenter()
in build. (8d1de34) - The check for backwards compatibility should be against the previous release and not GA. Some APIs are added after GA so we need to guarantee backwards compatibility for these APIs also. (#1575)
- GitHub Actions Release Process: signing, artifactory, sonatype (#1593)
- Switch from
ubuntu-18.04
toubuntu-20.04
when building PRs (#1595) - Update test dependencies versions:
v1.0.5
Reactor Netty
1.0.5
is part of 2020.0.5
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.4.4
, see release notes. (70b71da) - Depend on
Netty
v4.1.60.Final
. (ca61555) - Add API for obtaining request ID for
HttpClient
/HttpServer
. (#1530, #1538, #1544) - Add support for redirecting
HTTP
toHTTPS
on the same port. (#1511, #1521)
🪲 Bug fixes
- Ensure an error is propagated in case the client drops the connection. (#1512, #1514)
- When the
HttpServer
is inHTTP/2
mode, the terminate functionality is moved immediately afterLastHttpContent
, instead of waiting forchannelInactive
event. (#1512, #1514) - Add more debug information for inbound double subscription use case. (#1518)
- Add pending acquire requests to the pool state debug information. (#1519)
- Add memory leak hint when the inbound message is provided to the receiver. (#1520, e77fbda)
- Ensure
is100Continue
is initialised in the copy constructor. (bcc489e) - When there isn't a custom name resolver and the global
LoopResources
are in use then all client transports will share one and the same name resolver. (#1515, #1529, #1532) - Ensure relative redirection is resolved correctly following to the specification. (#1533, #1536)
- Cache
AddressResolverGroupMetrics
perresolverGroup
andrecorder
. (#1547, #1548)
📖 Documentation, Tests and Build
- Documentation:
- Build:
- Update build/test dependencies versions:
👍 Thanks to the following contributors that also participated to this release
v0.9.18.RELEASE
Reactor-Netty 0.9.18.RELEASE
is part of Dysprosium-SR18
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depends on
Reactor Core
v3.3.15.RELEASE
, see release notes. (3807124) - Depends on
Netty
v4.1.60.Final
. (052003c)
🪲 Bug fixes
- When the
HttpServer
is inHTTP/2
mode, the terminate functionality is moved immediately afterLastHttpContent
, instead of waiting forchannelInactive
event. (c6e7a97)
📖 Documentation, Tests and Build
v1.0.4
Reactor Netty
1.0.4
is part of 2020.0.4
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.4.3
, see release notes. (05304ef) - Depend on
Netty
v4.1.59.Final
. (3b37945) - Expose the response headers via
AccessLogArgProvider
. (#1505, #1506)
🪲 Bug fixes
ServerTransport#childOption
logsERROR
only when there is an attempt to setauto-read=true
. (#1466)- Ensure the correct exception is propagated when
HttpClient#uri(Mono.error())
. (#1470) HttpClient
schedules the firstchannel.read()
once theHttpHeaders
are sent. (#421, #1478, #1480)- When
CloseWebSocketFrame
with-1
status code (undefined/empty), emitWebSocketCloseStatus.EMPTY
. (#1485, #1487) - Ensure
endStream=true
when responding with500 Internal Server Error
when server inHTTP/2
mode. (#1490) - Do not load
HttpClientSecure
when the protocol isH2C
. (#1491) - Ensure the correct
HttpClientResponse
is created when client request withExpect: 100-continue
(#1482, #1492) - Ensure
PERSISTENT_CHANNEL
andCONNECTION
attribute keys, can be used in a multi-classloaders context. (#1471, #1503)
📖 Documentation, Tests and Build
- Test the native transport is available when running with
-PforceTransport=native
. (#1464) - Test various
HttpClient
configurations that may affect the creation of the connection pool. (#1472, #1473) - Add
Lifecycle Callbacks
examples to the reference documentation. (#1481) - Add support and deprecation policies to
README
and reference guide. (#1483) - Define retry flaky tests functionality for all tasks with type Test. (d222ebf)
- Enforce
NoHTTP
with plugin and relevant exclusions. (#1495) - Add
package-info.java
toreactor.netty.http.brave
. (6f171a7) - Test that the server selector channel is closed when the server is disposed. (#360, #1501)
- Update build/test dependencies versions:
mockito-core
to version3.7.7
. (#1468)assertj-core
to version3.19.0
. (#1476)Apache Tomcat
to version9.0.43
. (#1488)junit
to version5.7.1
. (#1493)junit-platform-launcher
to version1.7.1
. (#1494)com.google.osdetector
to version1.7.0
. (#1504)netty-tcnative-boringssl-static
to version2.0.36.Final
. (3b37945)netty-incubator-transport-native-io_uring
to version0.0.4.Final
. (#1507)
👍 Thanks to the following contributors that also participated to this release
v0.9.17.RELEASE
Reactor-Netty 0.9.17.RELEASE
is part of Dysprosium-SR17
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depends on
Reactor Core
v3.3.14.RELEASE
, see release notes. (7b7300e) - Depends on
Netty
v4.1.59.Final
. (85ad267)
🪲 Bug fixes
- Ensure the correct exception is propagated when
HttpClient#uri(Mono.error())
. (#1470) - Ensure
PERSISTENT_CHANNEL
andCONNECTION
attribute keys, can be used in a multi-classloaders context. (#1471, #1503)
📖 Documentation, Tests and Build
- Define retry flaky tests functionality for all tasks with type Test. (5bf3116)
- Enforce
NoHTTP
with plugin and relevant exclusions. (#1496) - Update build/test dependencies versions:
👍 Thanks to the following contributors that also participated to this release
v1.0.3
Reactor Netty
1.0.3
is part of 2020.0.3
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.4.2
, see release notes. (dba527e) - Depend on
Netty
v4.1.56.Final
. (#1412, d1513ef, f6f047f) - 🎉 Add support for the native
io_uring
based transport. (#1419)
More information about nativeio_uring
based transport.
Enablement of theio_uring
support:
If the conditions below are met thenio_uring
will be prefered instead ofepoll
.- a native transport support is enabled (by default it is enabled)
- a dependency to netty-incubator-transport-native-io_uring is specified
- there is support for
io_uring
by the underlying OS
- Add
warmup
functionality for the servers/clients. (#560, #1023, #1425, #1426, #1455)
Thewarmup
:- initialises the
event loop groups
- initialises the
host name resolver
- loads the necessary
native libraries for the transport
- loads
native libraries for the security
if security is enabled
- initialises the
HttpServer
access log- Add API for configuring the
WebSocket
version ofHttpClient
. (#1418, #1432) - When running on
MacOS
, the host name resolver will useMacOSDnsServerAddressStreamProvider
. (#1435, 5f0fb4a, 9c67c09) - Add system properties for enabling
Reactor Pool's
SamplingAllocationStrategy
. (#1454, reactor/reactor-pool#113)reactor.netty.pool.getPermitsSamplingRate
reactor.netty.pool.returnPermitsSamplingRate
.
🪲 Bug fixes
- Ensure
WebSocketCloseStatus.ABNORMAL_CLOSURE
is emitted when connection is closed abnormally. (#1406, #1416) - Ensure the default loop resources are not created when custom loop resources are passed with
runOn
. (#1423, #1424) HttpServer
: When inUDS
scenario, the scheme is determined bySslHandler
availability in the pipeline. (#1434, #1436)HttpClient
: ThrowWebSocketClientHandshakeException
when connection is closed before handshake is completed instead of silently terminating the channel. (#1445, #1448)- Shutdown immediately the extra event loop groups created when initialising
DefaultLoopResources
. (#1453) - Add channel information to the log. (42f640c)
📖 Documentation, Tests and Build
Tomcat 10
should be skipped by dependabot. (47d6e73, 8f20f29)CodeQL
workflow:git checkout HEAD^2
is no longer necessary. (54ca3bf)Japicmp
: Usejcenter
instead ofrepo.spring.io/libs-release
for downloading the baseline. (fbcfcbe)- Enable
BlockHound
in tests. (#750, #1427) - Remove mocked appender from root logger after each test in
ReactorNettyLoggingHandlerTest
. (#1422, #1429) - With
JUnit5
no need to keep tests with public visibility. (0901150, 45df700) - Move test to
reactor-netty-core
. (dcca2c8) - Extract
BaseHttpTest
. (#1439) - Reference documentation
- Formatting
- Update test/build dependencies versions:
👍 Thanks to the following contributors that also participated to this release
v0.9.16.RELEASE
Reactor-Netty 0.9.16.RELEASE
is part of Dysprosium-SR16
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depends on
Reactor Core
v3.3.13.RELEASE
, see release notes. (a8ca595) - Depends on
Netty
v4.1.56.Final
. (#1412, 8bb81cb, ee7d317) - Add system properties for enabling
SamplingAllocationStrategy
:reactor.netty.pool.getPermitsSamplingRate
reactor.netty.pool.returnPermitsSamplingRate
They are exposed in order to be able to enableReactor Pool's
SamplingAllocationStrategy
. (#1454, reactor/reactor-pool#113)
📖 Documentation, Tests and Build
v1.0.2
Reactor Netty
1.0.2
is part of 2020.0.2
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
See also release notes from 0.8.23 for changes that were inherited from the 0.8.x maintenance release.
See also release notes from 0.9.15 for changes that were inherited from the 0.9.x maintenance release.
✨ New features and improvements
- Depends on
Reactor Core
v3.4.1
, see release notes. (fdc03c5) - Support data frames decompression/compression for
HttpClient
/HttpServer
withHTTP/2
enabled. (#1379, #1381)
🪲 Bug fixes
- Ensure
SSL
configuration applies when usingHttpClient#from
. (#1382, #1383) - When searching for native transport, try first to load epoll. (#1386)
- Reintroduce
OSGi
and adaptOSGi
Bundle-Version
to newEuropium
scheme. (#1392, #1402) - When configuring the protocol and the default ssl provider for
HttpClient
, pick the protocol with the highest version number that supports the target’s URI scheme. (#1394, #1403)
📖 Documentation, Tests and Build
- Update test/build dependencies versions:
👍 Thanks to the following contributors that also participated to this release
v0.9.15.RELEASE
Reactor Netty
0.9.15.RELEASE
is part of Dysprosium-SR15
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
See also release notes from 0.8.23 for changes that were inherited from the 0.8.x maintenance release.
✨ New features and improvements
- Depends on
Reactor Core
v3.3.12.RELEASE
, see release notes. (790dcd0) - Add API
HttpServer#idleTimeout
. An API for specifying an idle timeout on the connection when it is waiting for an HTTP request. (#1345, #1376) - Support data frames compression for
HttpServer
withHTTP/2
enabled. (7264f8c)