Releases: reactor/reactor-netty
v1.0.16
Reactor Netty
1.0.16
is part of 2020.0.16
Release Train.
This is a recommended update for all Reactor Netty 1.0.x
users.
What's Changed
✨ New features and improvements
- Depend on
Reactor Core
v3.4.15
by @simonbasle in 7cb0b4e, see release notes. - Depend on
Netty
v4.1.74.Final
by @violetagg in #2025- Depend on
netty-incubator-transport-native-io_uring
v0.0.12.Final
by @dependabot in #2003
- Depend on
- Add new metrics for monitoring actual bytes consumed by in-use buffers by @pderop in #1917
- Add support for basic auth to
ProxyProvider
created from system properties by @sebphil in #1989 - Replace
MeterKey
byObject
key by @pderop in #2016
🐞 Bug fixes
- Prevent error when trying to add
IdleTimeout
by @raycoarana in #1994 HttpServerOperations#isFormUrlencoded
handles header value with charset by @violetagg in #1998- Ensure the correct
Context
is provided toContextAwareHttpServerMetricsRecorder
by @violetagg in #2002 - Http2 streams not closed if request data is not fully consumed by @pderop in #2009
- Use the correct owner when invalidating the stream on close by @violetagg in #2014
- Additional read operation needs to be scheduled on writing
LastHttpContent
by @violetagg in #2015 - Ensure the stream is closed immediately when a server response is received but still sending the request body by @violetagg in #2017
- Ensure
HttpClient
uses the newConnectionProvider
afterHttpResources#reset
by @violetagg in #2020 - Propagate the client thread in the connection pool subscription context by @pderop in #2029
📖 Documentation, Tests and Build
- [doc] Extended
TCP
keep-alive settings (NIO
transport) are only available onMac
/Linux
notWindows
by @ryanrupp in #1981 - Add link to the contributing guide by @violetagg in #1993
- [build] Hardening of
GitHub
actions by @violetagg in #1996 - Release notes configuration by @violetagg in #1997
- [doc] Separate connection pool documentation by @violetagg in #1999
- Remove
japicmp
exclusions by @violetagg in #2005 - [doc] Add info for
TCP
keep-alive conf on various loadbalancers that may cause connection closed by @violetagg in #2007 - Run
spotless
/japicmp
as a preliminary job in ci by @simonbasle in #2023
🆙 Dependency Upgrades
- Bump
tomcat-embed-core
from9.0.56
to9.0.58
by @dependabot in #1991 - Bump
mockito-core
from4.3.0
to4.3.1
by @dependabot in #2001 - Update to
netty-tcnative-boringssl-static
v2.0.48.Final
by @violetagg in #2008 - Bump
de.undercouch.download
from4.1.2
to5.0.1
by @dependabot in #2011 - Bump
slf4jVersion
from1.7.35
to1.7.36
by @dependabot in #2026 - Bump
com.diffplug.spotless
from6.2.1
to6.2.2
by @dependabot in #2027 - Bump
build-info-extractor-gradle
from4.27.0
to4.27.1
by @dependabot in #2032
New Contributors
- @ryanrupp made their first contribution in #1981
- @sebphil made their first contribution in #1989
- @raycoarana made their first contribution in #1994
Full Changelog: v1.0.15...v1.0.16
v1.0.15
Reactor Netty
1.0.15
is part of 2020.0.15
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.14
, see release notes. (df8589e) - Add more server connection metrics: (#1366, #1956, 08f354d, 8c7d6e9)
TcpServer
:reactor.netty.tcp.server.connections.total
- the number of all opened connections
HttpServer
:reactor.netty.http.server.connections.active
- the number of http connections currently processing requestsreactor.netty.http.server.connections.total
- the number of all opened connections
🐞 Bug fixes
- When
ConnectionProvider#acquire
, add a pre-screen for connection pool existing before locking insidecomputeIfAbsent
. (#1930) - Ensure
HttpConnectionProvider
exposes correctmaxConnections
/maxConnectionsPerHost
information. (#1941, #1948) - Add a pre-screen before locking inside
computeIfAbsent
. (#1950) - Do not cache
Meter
builders.Meter
builders are mutable and not thread safe. (#1974) - Additional read operations are needed on the server and the client when websocket handshake is performed, this is a result of behaviour change in Netty. (netty/netty#11966, #1976)
- Simplify the pre-screen for
ConcurrentHashMap#computeIfAbsent
. (#1973, d9673e8, 8a59ff8, c6c6171, 2ee8e32)
📖 Documentation, Tests and Build
- Switch from
adopt
totemurin
as used java distribution for the build. (#1949) - Update build/test dependencies versions:
mockito-core
to version4.2.0
. (#1938)jackson-databind
to version2.13.1
. (#1946)gradle
to version7.3.3
. (92a5786)logback-classic
to version1.2.10
. (#1958)com.github.johnrengelman.shadow
to version7.1.2
. (#1961)brave
to version5.13.7
. (#1964)assertj-core
to version3.22.0
. (#1965)com.diffplug.spotless
to version6.1.2
. (#1970)build-info-extractor-gradle
to version4.26.1
. (#1971)
👍 Thanks to the following contributors that also participated to this release
v1.0.14
Reactor Netty
1.0.14
is part of 2020.0.14
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.13
, see release notes. (50ae675) - Depend on
Netty
v4.1.72.Final
. (1a85ac2) - Switch from
PlatformDependent#newConcurrentHashMap
toConcurrentHashMap
. (#1879) - Add support for
netty-resolver-dns-native-macos
Macos M1 architecture. (#1893) - Add metrics for max connections and max pending acquire requests. (#1872, #1897)
- Add API for configuring the bind address for
NameResolverProvider
. (#1919, #1920) - Expose pending tasks of eventloops as metrics. (#1398, #1928)
🐞 Bug fixes
- Properly transform
http.nonProxyHosts
into regex pattern inProxyProvider
. (#1861, #1906) - HTTP/2 connection pool
- New HTTP/2 connection pool implementation. (#1789, #1818, #1844, #1923, #1931)
- Introduce functionality for mutating the
ConnectionProvider
configuration. HTTP/2 connection pool inherits the configuration from its parent pool. HTTP/2 connection pool name is a combination of "http2" and the parent pool's name. (#1800, #1909) - Move
DefaultPooledConnectionProvider#poolFactoryPerRemoteHost
and#maxConnections
toPooledConnectionProvider
. (#1914) - Expose metrics for the number of the active HTTP/2 streams. (#1328, #1927)
📖 Documentation, Tests and Build
- Documentation
- Clarify in javadoc that some status codes must not be used as such in websocket close frame. (#1896)
- How to debug connection to proxy cannot be established. (#1898)
- Add examples for the different wire logger formats. (#1899)
- Add information for the prefix that is added to every log record. (#1903)
- How to debug memory leaks. (#1904)
- How to debug
Connection prematurely closed BEFORE response
. (#1905)
- Inherit
CONTRIBUTING.md
from the parent project. (026fb3c) - Update Gradle to
7.3.1
. (#1875, #1878, #1892, 43c5ccb)- Remove the optional dependencies in the generated pom.xml.
- Remove the usage of the Gradle deprecated functionality.
- Update Asciidoctor to version
3.3.2
. nohttp-checkstyle
specify repository on root level.
- Add
testRuntimeOnly
dependency toorg.bouncycastle:bcpkix-jdk15on
. (#1880, #1911) - Update
actions/setup-java
to version 2. (2c36882, 0d54705) - Update build/test dependencies versions:
com.github.johnrengelman.shadow
to version7.1.0
. (#1838)errorprone
gradle plugin to version2.0.2
. (#1881)logback-classic
to version1.2.7
. (#1883)mockito-core
to version4.1.0
. (#1888)biz.aQute.bnd.builder
to version6.1.0
. (#1890)junit
to version5.8.2
. (#1901)junit-platform-launcher
to version1.8.2
. (#1902)com.diffplug.spotless
to version6.0.4
. (#1924)build-info-extractor-gradle
to version4.25.2
. (#1925)Apache Tomcat
to version9.0.56
. (#1926)netty-tcnative-boringssl-static
to version2.0.46.Final
. (92eb0b1)
👍 Thanks to the following contributors that also participated to this release
v1.0.13
Reactor Netty
1.0.13
is part of 2020.0.13
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.12
, see release notes. (0933adb) - Depend on
Netty
v4.1.70.Final
. (7cfb9cd) - Add
HttpServer#maxKeepAliveRequests
for specifying maximum number of keep-alive requests. (#1865, #1867)
📖 Documentation, Tests and Build
v0.9.25.RELEASE
Reactor-Netty 0.9.25.RELEASE
is part of Dysprosium-SR25
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
❗ This is the last planned release of Reactor Netty
in the Dysprosium
Release Train.
✨ New features and improvements
- Depend on
Reactor Core
v3.3.22.RELEASE
, see release notes. (64e3397) - Depend on
Netty
v4.1.70.Final
. (f302fc3)
📖 Documentation, Tests and Build
- Update
netty-tcnative-boringssl-static
to version2.0.45.Final
. (f302fc3)
v1.0.12
Reactor Netty
1.0.12
is part of 2020.0.12
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.11
, see release notes. (a4ec7de) -
Depend on
Netty
v4.1.69.Final
. (5aa7c36) -
🎉 Add support for Netty QUIC Codec (#1463, #1796, #1830)
More information about Netty QUIC Codec.
Enablement of theNetty QUIC Codec
support:
Netty QUIC Codec
provides artifacts for different OS. Check which one you need and use the corresponding dependency - https://github.com/netty/netty-incubator-codec-quic#how-to-include-the-dependency
The new experimentalNetty QUIC Codec
is still in incubation because of that Reactor Netty's support is also marked as in incubation.
The new module is published with the following coordinates:- groupId: io.projectreactor.netty.incubator
- artifactId: reactor-netty-incubator-quic
- version: 0.0.1
See README.md for a simple example how this new module can be used.
-
Add API for configuring a custom
HostsFileEntriesResolver
. (#1822, #1831) -
Support sending trailer headers on the server and receiving such on the client (#1837, #1841)
-
Support graceful shutdown for the
ConnectionProvider
. (#1842)
🐞 Bug fixes
- When calculating the pool hash take into account
LoggingHandler
configuration. (#1809, #1816) - Fix
SYNC fusion
message draining. (#1817, #1821) - Remove
id:
from the logs when presenting the channel id. (#1826) - Revert "Obtain the pool owner just before the invalidate invocation (#1807)". (#1813, 2a61df4)
- Revert "Ensure HTTP/2 pool owner is taken from the connection and not from the stream (#1799)". (#1813, ea43ac2)
ByteBufAllocatorMetrics
/MicrometerPooledConnectionProviderMeterRegistrar
register metrics only when Micrometer is in the classpath. (#1847, #1848)
📖 Documentation, Tests and Build
- Emission stuck test case. (#1817)
- Parameterise
MonoSendManyTest
in order to test flush on each. (12aa762) - [documentation] Add an example with
ExtendedSocketOptions.TCP_KEEP*
options forNIO
transport. These socket options are available with Java 11. (#1823) - Update build/test dependencies versions:
me.champeau.gradle.japicmp
to version0.3.0
. (#1810)assertj-core
to version3.21.0
. (#1812)junit
to version5.8.1
. (#1819)junit-platform-launcher
to version1.8.1
. (#1820)jackson-databind
to version2.13.0
. (#1832)build-info-extractor-gradle
to version4.24.20
. (#1834)com.diffplug.spotless
to version5.16.0
. (#1835)Apache Tomcat
to version9.0.54
. (#1836)biz.aQute.bnd.builder
to version6.0.0
. (#1839)netty-tcnative-boringssl-static
to version2.0.44.Final
. (f43e7c1)mockito-core
to version4.0.0
. (#1845)
👍 Thanks to the following contributors that also participated to this release
v0.9.24.RELEASE
Reactor-Netty 0.9.24.RELEASE
is part of Dysprosium-SR24
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.3.21.RELEASE
, see release notes. (efa3cbf) - Depend on
Netty
v4.1.69.Final
. (630d6e4)
📖 Documentation, Tests and Build
- Update build/test dependencies versions:
me.champeau.gradle.japicmp
to version0.3.0
. (#1810, da40bb7)assertj-core
to version3.21.0
. (#1812, ca363db)junit
to version5.8.1
. (#1819, 322e24a)jackson-databind
to version2.13.0
. (#1832, 5c62d4e)build-info-extractor-gradle
to version4.24.20
. (#1834, 922876c)Apache Tomcat
to version9.0.54
. (#1836, 1e08e7e)netty-tcnative-boringssl-static
to version2.0.44.Final
. (b0321ee)
v1.0.11
Reactor Netty
1.0.11
is part of 2020.0.11
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.10
, see release notes. (c32da5f) - Depend on
Netty
v4.1.68.Final
. (0d33eeb) - Add API
HttpServerRequest#receiveForm()
. When the request isPOST
and hasContent-Type
with valueapplication/x-www-form-urlencoded
ormultipart/form-data
, the API returns aFlux<HttpData>
containing received form/multipart data. (#3, #1351, #1784) - Add API for removing
HttpServer
route. (#1669, #1676)
🪲 Bug fixes
MicrometerPooledConnectionProviderMeterRegistrar
works directly with the pool. (#1790, #1797, #1806)- Use
WARN
log level for failed request decoding. (#1792, #1793) - Ensure
HTTP/2
pool owner is taken from the connection and not from the stream. Obtain the pool owner just before the invalidate invocation. (#1799, #1807)
📖 Documentation, Tests and Build
- Update build/test dependencies versions:
build-info-extractor-gradle
to version4.24.16
. (#1778)hoverfly-java-junit5
to version0.14.1
. (#1785)mockito-core
to version3.12.4
. (#1786)jackson-databind
to version2.12.5
. (#1788)com.diffplug.spotless
to version5.15.0
. (#1794)netty-tcnative-boringssl-static
to version2.0.42.Final
. (0d33eeb)logback-classic
to version1.2.6
. (#1798)junit
to version5.8.0
. (#1802)Apache Tomcat
to version9.0.53
. (#1803)junit-platform-launcher
to version1.8.0
. (#1804)io.spring.nohttp
to version0.0.10
. (#1805)
👍 Thanks to the following contributors that also participated to this release
v0.9.23.RELEASE
Reactor-Netty 0.9.23.RELEASE
is part of Dysprosium-SR23
Release Train.
This is a recommended update for all Reactor Netty 0.9.x
users.
✨ New features and improvements
- Depend on
Reactor Core
v3.3.20.RELEASE
, see release notes. (2427cf2) - Depend on
Netty
v4.1.68.Final
. (12b6cb9)
📖 Documentation, Tests and Build
- Update build/test dependencies versions:
build-info-extractor-gradle
to version4.24.16
. (#1778, f653238)hoverfly-java-junit5
to version0.14.1
. (#1785, 5dd52d2)jackson-databind
to version2.12.5
. (#1788, 0598d92)com.diffplug.spotless
to version5.15.0
. (#1794, b2a80b3)netty-tcnative-boringssl-static
to version2.0.42.Final
. (12b6cb9)logback-classic
to version1.2.6
. (#1798, 504f8ae)junit
to version5.8.0
. (#1802, ab782dc)Apache Tomcat
to version9.0.53
. (#1803, 6d8fc4f)
v1.0.10
Reactor Netty
1.0.10
is part of 2020.0.10
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.9
, see release notes. (5c64f7b) - Depend on
Netty
v4.1.66.Final
. (bbed782) - Add support for Unix domain datagram sockets when using native epoll/kqueue transport. (#1714, #1741)
🪲 Bug fixes
- Fix
ClassCastException
when cleaning the channel attributes. (#1738, #1739) - Add logging for exception while building default
SSL
provider. (#1736) - Fix
UnresolvedAddressException
when no system proxy settings. (#1765, #1768) - Fix
NPE
when reporting metrics toMicrometer
. (#1766, #1769)
📖 Documentation, Tests and Build
- Add test for configuring
H2C
max content length. (13d65cd) - Reference documentation:
- Update build/test dependencies versions: