Skip to content
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)
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)
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

Compare
Choose a tag to compare

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

📖 Documentation, Tests and Build

  • Update build/test dependencies versions:
Compare
Choose a tag to compare

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 is POST and has Content-Type with value application/x-www-form-urlencoded or multipart/form-data, the API returns a Flux<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 version 4.24.16. (#1778)
    • hoverfly-java-junit5 to version 0.14.1. (#1785)
    • mockito-core to version 3.12.4. (#1786)
    • jackson-databind to version 2.12.5. (#1788)
    • com.diffplug.spotless to version 5.15.0. (#1794)
    • netty-tcnative-boringssl-static to version 2.0.42.Final. (0d33eeb)
    • logback-classic to version 1.2.6. (#1798)
    • junit to version 5.8.0. (#1802)
    • Apache Tomcat to version 9.0.53. (#1803)
    • junit-platform-launcher to version 1.8.0. (#1804)
    • io.spring.nohttp to version 0.0.10. (#1805)

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

@ctlove0523

Compare
Choose a tag to compare

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

📖 Documentation, Tests and Build

  • Update build/test dependencies versions:
Compare
Choose a tag to compare

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 to Micrometer. (#1766, #1769)

📖 Documentation, Tests and Build

  • Add test for configuring H2C max content length. (13d65cd)
  • Reference documentation:
    • BOM snippets use version from gradle.properties. (#1743, #1745)
    • Add documentation/snippets for Tcp|HttpServers with same configuration but different bind addresses. (#1760)
  • Update build/test dependencies versions:
    • build-info-extractor-gradle to version 4.24.14. (#1747)
    • slf4j to version 1.7.32. (#1749)
    • com.diffplug.spotless to version 5.14.2. (#1750)
    • logback-classic to version 1.2.5. (#1756)
    • Apache Tomcat to version 9.0.52. (#1767)

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

@dnagarajan89, @JamesChenX

Compare
Choose a tag to compare

Reactor-Netty 0.9.22.RELEASE is part of Dysprosium-SR22 Release Train.

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

New features and improvements

📖 Documentation, Tests and Build

  • Update date range in copyright header. (#1687, #1740)
  • Harmonise license URL indentation in headers. (#1688)
  • Update developers list in the generated pom.xml file. (#1689)
  • Switch to Spotless plugin for license check. (#1705, bdb9923, 1c4c1d1)
  • Update build/test dependencies versions:
Compare
Choose a tag to compare

Reactor Netty 1.0.9 is part of 2020.0.9 Release Train.

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

New features and improvements

🪲 Bug fixes

  • When initialising ColocatedEventLoopGroup and the operation is in an event loop, there is no need to submit an additional task. (#1679, #1686, 863ab78)
  • FutureMono: Ensure no compete on onSubscribe and onComplete calls. This fix also ensures that if there is addListener racing with cancel, all elements will be cleaned from the listeners list. (#1684, #1696)
  • Ensure HttpClient#responseTimeout can be reset. (#1697, #1700)
  • Obtain the metrics resolver on the configuration step when the metrics are enabled. (#1707, #1717)
  • Share the name resolver when the NameResolverProvider and the default LoopResources are the same. (#1713)
  • Ensure SimpleCompressionHandler#decode can handle FullHttpRequest with freed content. (#1729)
  • SslProvider#updateDefaultConfiguration(SslProvider, DefaultConfigurationType): add the missing deprecated tag. (#1730, #1731)

📖 Documentation, Tests and Build

  • Update developers list in the generated pom.xml file. (#1689, efaa312)
  • Update date range in copyright header. (#1690, #1720, #1721, #1722, #1723, #1727, #1728)
  • Harmonise license URL indentation in headers. (#1691)
  • Switch to Spotless plugin for license check. (#1705, #1724, 0581595)
  • Remove reactor.netty.bytebuf.allocator.used.tiny.cache.size from the documentation. (#1710, #1711)
  • Update javadoc for HttpServerRequest#params. (#1716, #1718)
  • Update build/test dependencies versions:
    • org.gradle.test-retry to version 1.3.1. (#1699)
    • de.undercouch.download to version 4.1.2. (#1708)
    • Apache Tomcat to version 9.0.50. (#1709)
    • jackson-databind to version 2.12.4. (#1725)
    • netty-incubator-transport-native-io_uring to version 0.0.8.Final. (#1726)
    • netty-tcnative-boringssl-static to version 2.0.40.Final. (cde98ad)
    • build-info-extractor-gradle to version 4.24.11. (#1733)
Compare
Choose a tag to compare

Reactor Netty 1.0.8 is part of 2020.0.8 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.7, see release notes. (12f98ea)
  • Depend on Netty v4.1.65.Final. (95ee002)
  • Add ClientTransport#proxyWithSystemProperties() to configure proxy from system properties. (#887, #1661)
  • Expose new abstract classes so that the custom metrics recorder can access the ContextView associated with the Mono/Flux: (#1628, #1646)
    • ContextAwareChannelMetricsRecorder
    • ContextAwareHttpClientMetricsRecorder
    • ContextAwareHttpServerMetricsRecorder
  • Add HttpDecoderSpec#allowDuplicateContentLengths(boolean)
    • API for configuring whether or not to allow duplicate Content-Length headers with the same value. By default this is not allowed and such messages are rejected. When this is configured to allow duplicate Content-Length headers, they have to have the same value, otherwise such messages are rejected. The duplicated Content-Length headers are replaced with a single valid Content-Length header. (#1636, #1638)
  • Add system property reactor.netty.http.server.forwarded.strictValidation for disabling strict Forwarded header validation. (#1637, #1640)
  • Add HttpServerInfos#allCookies() for obtaining all cookies with one and the same name. (#1641, #1662)

🪲 Bug fixes

  • Ensure the connection is closed when websocket handshake fails. (#1635)
  • Common log format must contain only the IP address of the client (remote host) which made the request to the server. Response duration must be without ms. (#1642)
  • Ensure TraceContext is available when executing the flush operation. (#1649)
  • OSGi metadata: reactor.netty.internal is no longer excluded from Export-Package. (#1650, #1651)
  • Ensure Connection#addHandlerLast adds the handler before the first Reactor Netty RIGHT handler. (#1652)
  • Ensure custom AddressResolverGroup is preserved when changing LoopResources and there is no NameResolverProvider. (#1655, #1659)
  • When a handler is added to the pipeline with Connection#addHandler on doOnChannelInit callback, it must stay until channel close. (#1656)
  • Fix StringIndexOutOfBoundsException when using directory route. (#1665, #1666)
  • Ensure bind() exception message is handled correctly when using native transport and OS LANGUAGE is not EN. (#1668, #1670)

📖 Documentation, Tests and Build

  • Reference documentation:
    • Add sample for long-living TCP client connection. In this sample, the Connection#outbound and Connection#inbound are used as an alternative of I/O handler. (#59, #532, #1647)
    • Metrics sample: Custom HTTP recorder must implement HttpClientMetricsRecorder/HttpServerMetricsRecorder. (#1643)
    • Extend the connection pool documentation. Add samples for HttpClient. (#1648)
  • Tests:
    • Add test for verifying that handlers added with Connection#addHandler* on doOnConnected callback are available on every request. (#1663)
    • Use non locale specific test conditions. (#1673, #1674)
  • Update build/test dependencies versions:
    • io.spring.nohttp to version 0.0.8. (#1632)
    • junit to version 5.7.2. (#1633)
    • junit-platform-launcher to version 1.7.2. (#1634)
    • gradle to version 6.9. (#1644)
    • Apache Tomcat to version 9.0.48. (#1671)
    • slf4j to version 1.7.31. (#1680)
    • assertj-core to version 3.20.2. (#1681)
    • mockito-core to version 3.11.2. (#1683)
    • artifactory plugin to version 4.24.5. (750667c)

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

@simondaudin, @roggenbrot, @angry-cellophane