Skip to content

Releases: reactor/reactor-netty

v1.1.0-M2

26 Apr 06:19
Compare
Choose a tag to compare
v1.1.0-M2 Pre-release
Pre-release

Reactor Netty 1.1.0-M2 is part of 2022.0.0-M2 Release Train.

Reactor Netty 1.1.0-M2 inherits all changes from the 1.0.x maintenance branch at the point this release was cut.

What's Changed

✨ New features and improvements

📖 Documentation, Tests and Build

  • Documentation
  • Tests

Full Changelog: v1.1.0-M1...v1.1.0-M2

v1.0.18

12 Apr 10:32
Compare
Choose a tag to compare

Reactor Netty 1.0.18 is part of 2020.0.18 Release Train.

This is a recommended update for all Reactor Netty 1.0.x users.

What's Changed

✨ New features and improvements

🐞 Bug fixes

  • Avoid NoSuchElementException when an acquiring connection is closing by @pderop in #2110
  • Ensure channel promises support listeners when SOCKS proxy handler is used by @pderop in #2120
  • Do not return the connection to the pool in case SSLEngine has been closed by @violetagg in #2140
  • Ensure 4xx responses are reported by HttpServer metrics by @violetagg in #2149

📖 Documentation, Tests and Build

🆙 Dependency Upgrades

Full Changelog: v1.0.17...v1.0.18

v1.1.0-M1

23 Mar 09:34
Compare
Choose a tag to compare
v1.1.0-M1 Pre-release
Pre-release

Reactor Netty 1.1.0-M1 is part of 2022.0.0-M1 Release Train.

Reactor Netty 1.1.0-M1 inherits all changes from the 1.0.x maintenance branch at the point this release was cut.

What's Changed

✨ New features and improvements

  • Depend on Reactor Core v3.5.0-M1 by @simonbasle in 04ba78c, see release notes.
  • Integration with the Micrometer 2.0.x and Micrometer Tracing 1.0.x
    • Depend on Micrometer version 2.0.0-M3 by @violetagg in #2103
    • Depend on Micrometer Tracing version 1.0.0-M3 by @violetagg in #2103
    • Depend on Micrometer Docs Generator version 1.0.0-M2 by @violetagg in #2103
    • Depend on Micrometer Context Propagation version 1.0.0-M1 by @violetagg in #2051
    • Use MeterRegistryAssert for checking Timers existence by @violetagg in #2040
    • Integrate with Micrometer Docs Generator by @violetagg in #2041
    • Update reactor-netty-core timers to use the new Observation API by @violetagg in #2043
    • Update reactor-netty-http timers to use the new Observation API by @violetagg in #2045
    • Add context propagation from caller thread/reactor context by @violetagg in #2051
    • Do not override the contextual name for HttpClientContext/HttpServerContext by @violetagg in #2053
    • Reduce memory overhead when creating Micrometer timers by @pderop in #2057

📖 Documentation, Tests and Build

  • Ensure the Pool implementation for the test class implements the new abstract method config() by @violetagg in #2098

Full Changelog: v1.0.17...v1.1.0-M1

v1.0.17

15 Mar 13:24
Compare
Choose a tag to compare

Reactor Netty 1.0.17 is part of 2020.0.17 Release Train.

This is a recommended update for all Reactor Netty 1.0.x users.

What's Changed

⚠️ Update considerations and deprecations

✨ New features and improvements

🐞 Bug fixes

  • Ensure the provided event loop is not null by @violetagg in #2047
  • Ensure server connections metrics are not reported for the client by @violetagg in #2063
  • When request decoding fails on HttpContent different than HttpRequest, obtain the request from the channel attributes by @violetagg in #2077
  • Wrong metric value for TLS handshake time by @pderop in #2078
  • Prevent NPE when adding IdleTimeoutHandler by @raycoarana in #2084
  • Ensure all cases, when Http2FrameCodec is not available, are handled properly by @violetagg in #2093

📖 Documentation, Tests and Build

  • Documentation:
    • Add javadoc for the method param isDomainSocket in TransportConnector#bind(...) by @violetagg in #2050
    • Provide more clarity of maxConnections usage by @PyAntony in #2059
    • Extend the example for disabling the connection pool by @violetagg in #2082
  • Tests:
  • Build:

🆙 Dependency Upgrades

Full Changelog: v1.0.16...v1.0.17

v1.0.16

15 Feb 11:50
Compare
Choose a tag to compare

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

🐞 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 to ContextAwareHttpServerMetricsRecorder 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 new ConnectionProvider after HttpResources#reset by @violetagg in #2020
  • Propagate the client thread in the connection pool subscription context by @pderop in #2029

📖 Documentation, Tests and Build

🆙 Dependency Upgrades

New Contributors

Full Changelog: v1.0.15...v1.0.16

v1.0.15

11 Jan 16:14
Compare
Choose a tag to compare

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 requests
      • reactor.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 inside computeIfAbsent. (#1930)
  • Ensure HttpConnectionProvider exposes correct maxConnections/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 to temurin as used java distribution for the build. (#1949)
  • Update build/test dependencies versions:
    • mockito-core to version 4.2.0. (#1938)
    • jackson-databind to version 2.13.1. (#1946)
    • gradle to version 7.3.3. (92a5786)
    • logback-classic to version 1.2.10. (#1958)
    • com.github.johnrengelman.shadow to version 7.1.2. (#1961)
    • brave to version 5.13.7. (#1964)
    • assertj-core to version 3.22.0. (#1965)
    • com.diffplug.spotless to version 6.1.2. (#1970)
    • build-info-extractor-gradle to version 4.26.1. (#1971)

👍 Thanks to the following contributors that also participated to this release

@zimatars

v1.0.14

14 Dec 13:20
Compare
Choose a tag to compare

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)
    • Depend on Netty QUIC Codec v0.0.24.Final. (#1895, 01b9348)
  • Switch from PlatformDependent#newConcurrentHashMap to ConcurrentHashMap. (#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 in ProxyProvider. (#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 to PooledConnectionProvider. (#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 to org.bouncycastle:bcpkix-jdk15on. (#1880, #1911)
  • Update actions/setup-java to version 2. (2c36882, 0d54705)
  • Update build/test dependencies versions:
    • com.github.johnrengelman.shadow to version 7.1.0. (#1838)
    • errorprone gradle plugin to version 2.0.2. (#1881)
    • logback-classic to version 1.2.7. (#1883)
    • mockito-core to version 4.1.0. (#1888)
    • biz.aQute.bnd.builder to version 6.1.0. (#1890)
    • junit to version 5.8.2. (#1901)
    • junit-platform-launcher to version 1.8.2. (#1902)
    • com.diffplug.spotless to version 6.0.4. (#1924)
    • build-info-extractor-gradle to version 4.25.2. (#1925)
    • Apache Tomcat to version 9.0.56. (#1926)
    • netty-tcnative-boringssl-static to version 2.0.46.Final. (92eb0b1)

👍 Thanks to the following contributors that also participated to this release

@SanderKleykens, @ShijunDeng

v1.0.13

09 Nov 14:52
Compare
Choose a tag to compare

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)
    • Depend on Netty QUIC Codec v0.0.20.Final. (cd59ab8)
    • Depend on Netty io_uring v0.0.10.Final. (17d5f4e)
  • Add HttpServer#maxKeepAliveRequests for specifying maximum number of keep-alive requests. (#1865, #1867)

📖 Documentation, Tests and Build

  • Add NoMicrometer test set for reactor-netty-http module. (#1850)
  • Consider qualifyVersionGha only when reactor-netty module. (#1852)
  • Polish tests logging. (#1860)
  • Extend SNI test for QUIC. (bef40ba)
  • Update build/test dependencies versions:
    • awaitility to version 4.1.1. (#1864)
    • com.diffplug.spotless to version 5.17.1. (#1866)
    • build-info-extractor-gradle to version 4.24.21. (#1871)
    • netty-tcnative-boringssl-static to version 2.0.45.Final. (7cfb9cd)

v0.9.25.RELEASE

09 Nov 11:56
Compare
Choose a tag to compare

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

📖 Documentation, Tests and Build

  • Update netty-tcnative-boringssl-static to version 2.0.45.Final. (f302fc3)

v1.0.12

12 Oct 13:30
Compare
Choose a tag to compare

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 the Netty 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 experimental Netty 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 for NIO transport. These socket options are available with Java 11. (#1823)
  • Update build/test dependencies versions:
    • me.champeau.gradle.japicmp to version 0.3.0. (#1810)
    • assertj-core to version 3.21.0. (#1812)
    • junit to version 5.8.1. (#1819)
    • junit-platform-launcher to version 1.8.1. (#1820)
    • jackson-databind to version 2.13.0. (#1832)
    • build-info-extractor-gradle to version 4.24.20. (#1834)
    • com.diffplug.spotless to version 5.16.0. (#1835)
    • Apache Tomcat to version 9.0.54. (#1836)
    • biz.aQute.bnd.builder to version 6.0.0. (#1839)
    • netty-tcnative-boringssl-static to version 2.0.44.Final. (f43e7c1)
    • mockito-core to version 4.0.0. (#1845)

👍 Thanks to the following contributors that also participated to this release

@matyasberry