Skip to content

Releases: reactor/reactor-netty

v1.0.0-M2

10 Aug 17:50
Compare
Choose a tag to compare
v1.0.0-M2 Pre-release
Pre-release

Reactor Netty 1.0.0-M2 is part of 2020.0.0-M2 Release Train.

Reactor Netty 1.0.0-M2 inherits all changes from the 0.8.x and 0.9.x maintenance releases.

⚠️ Update considerations and deprecations

  • Separate Reactor Netty on modules. (#739, #1236, #1249, 12a43a4)
    • reactor-netty-core contains the core functionality, TCP and UDP
    • reactor-netty-http contains the HTTP functionality and has a dependency on reactor-netty-core
    • reactor-netty-examples contains general examples and the examples used in the reference documentation
    • reactor-netty is kept as a migration path for the previous versions, it has dependencies to reactor-netty-core and reactor-netty-http
  • Use resolution nanoseconds instead of milliseconds for bindNow/connectNow/disposeNow. (#1233, #1244)
  • Deprecate HttpClientInfos#currentContext in favour of HttpClientInfos#currentContextView. (#1250)

✨ New features and improvements

📖 Documentation, Tests and Build

  • Update javadoc with the version when the deprecated functionality will be removed. (#1176)
  • Update com.jfrog.artifactory to version 4.16.1. (#1237)
  • Upgrade gradle to 6.5.1, gradle metadata and test fixtures are not published. (#1238)
  • Move the documentation examples to the reactor-netty-examples submodule. (#1241)

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

@anshlykov

v0.9.11.RELEASE

10 Aug 15:56
Compare
Choose a tag to compare

Reactor Netty 0.9.11.RELEASE is part of Dysprosium-SR11 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.9.RELEASE, see release notes (8090568)
  • Make PooledConnectionProvider metrics configurable. (#1155, #1218)
  • Expose responseTimeout setting on HttpClient/HttpClientRequest level. (#1159, #1216, #1246)
  • ConnectionProvider: Add a system property for the life timeout, similar to idle timeout and acquire timeout. (#1232, #1234)
  • Adapt to Reactor Pool idleResourceReuseLruOrder/idleResourceReuseMruOrder. (edd0c4c)

📖 Documentation, Tests and Build

  • Fix example code by setting the SSL context of the SslContextSpec. (#1225, #1226)
  • Update how to use BOM with gradle section in the reference documentation. (#1223, #1229)
  • Update javadoc. (#1227, #1228, 8161afb)
  • Test TLSv1.3 on the server and on the client. (#1231)
  • Update test dependencies versions:
    • jackson-databind to version 2.11.2. (#1242)

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

@sephiroth-j, @angcap

v0.9.10.RELEASE

20 Jul 10:30
Compare
Choose a tag to compare

❗ This release contains a regression - in some cases Reactor Netty hangs when reading the incoming data, v0.9.14.RELEASE was released with a fix addressing this issue. Prefer using the later.

Reactor Netty 0.9.10.RELEASE is part of Dysprosium-SR10 Release Train.

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

See also release notes from 0.8.20 for changes that were inherited from the 0.8.x maintenance release.

⚠️ Update considerations and deprecations

  • Deprecate (Tcp|Udp)Client/Server#bootstrap method in favour of methods exposed on client/server level. (#1175)

✨ New features and improvements

  • Depends on Reactor Core v3.3.8.RELEASE, see release notes (cc37976)
  • Request headers are available now from both HttpClientRequest and HttpClientResponse. (#1031, #1192)
  • ProxyProvider changes:
    • Add proxy connectTimeoutMillis. (#1186)
    • Evaluate nonProxyHosts as a predicate. (#1190, #1193)
    • ProxyProvider cleanup. (#1212)

🪲 Bug fixes

  • Enhance internal implementation taking into account no concurrency in eventLoop. (#503, #1185)
  • Ensure change to the state CONFIGURED is done after notifying that the connection is acquired successfully. Cancel the subscription when disposing ChannelOperations (#1165, #1198)
  • Fix memory leaks when send operation races with cancellation signal. (#1172, #1208, #1211)
  • Ensure that the custom status code phrase is preserved when creating a FullHttpResponse. (#1180, #1181)
  • Retry the request once if the connection was closed before sending the actual request. (#1183)
  • Fix HttpClientOperations so that it doesn't offload onSubscribe(subscription). (#1189)
  • Revert Use resourceUrl for resolving the websocketUrl (#1047). (#1194)
  • Use log level DEBUG for Connection reset by peer post termination inbound exception. (#1203)

📖 Documentation, Tests and Build

  • Document how client binds on a local address. (#1164, #1173)
  • Update build dependencies versions:

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

@lfmunoz, @lee-jjs, @OlegDokuka, @nhomble

v0.8.20.RELEASE

20 Jul 10:29
Compare
Choose a tag to compare

Reactor Netty 0.8.20.RELEASE is part of Californium-SR20 Release Train.

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

✨ New features and improvements

🪲 Bug fixes

  • Ensure only Content-Length is set when creating full response. (#1153, #1156)

📖 Documentation, Tests and Build

  • Update test dependencies versions:
    • netty-tcnative-boringssl-static to version 2.0.31.Final. (#1145, 996199d)
    • jackson-databind to version 2.11.1. (#1182, b643ad3)
    • Apache Tomcat to version 9.0.37. (7490237)
    • hoverfly-java to version 0.13.1. (#1206, 815e3c8)

v0.9.9.RELEASE

24 Jun 11:36
Compare
Choose a tag to compare

Reactor Netty 0.9.9.RELEASE is part of Dysprosium-SR9 Release Train.

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

✨ New features and improvements

🪲 Bug fixes

  • Fix file descriptor leak. (#1152, #1154, #1163)
  • Ensure only Content-Length is set when creating full response. (#1153, #1156)

📖 Documentation, Tests and Build

  • Fix the example for configuring TLS on the TcpServer. (4c0452d)
  • Update the reference documentation. (92bd1cc)
  • Update test dependencies versions:
    • Apache Tomcat to version 9.0.36. (#1142, 9e71562)
    • netty-tcnative-boringssl-static to version 2.0.31.Final. (#1145, 996199d)

v1.0.0-M1

23 Jun 08:02
Compare
Choose a tag to compare
v1.0.0-M1 Pre-release
Pre-release

Reactor Netty 1.0.0-M1 is part of 2020.0.0-M1 Release Train.

Reactor Netty 1.0.0-M1 inherits all changes from the 0.8.x and 0.9.x maintenance releases.

⚠️ Update considerations and deprecations

  • The deprecated APIs are removed

  • ConnectionProvider: the default max pending acquire count was changed from unbounded to 1000. (97a09c9, d554876)

  • Websocket compression should be specified only via WebsocketServerSpec/WebsocketClientSpec. (6804ed3, 488f0e9, 06edafe, 8c30887)

  • Changes in the configuration API (#1046):

    • reactor.netty.tcp.InetSocketAddressUtil was renamed and moved to transport package: reactor.netty.transport.AddressUtils.
    • reactor.netty.tcp.ProxyProvider was moved to transport package: reactor.netty.transport.ProxyProvider.
    • HttpServer#observe is renamed to HttpServer#childObserve.
    • TcpServer#observe is renamed to TcpServer#childObserve.
    • TcpServer#attr is renamed to TcpServer#childAttr.
    • TcpServer#option is renamed to TcpServer#childOption.
    • TcpServer#selectorAttr is renamed to TcpServer#attr.
    • TcpServer#selectorOption is renamed to TcpServer#option.
    • TcpServer: #isSecure and #sslProvider methods are moved to TcpServerConfig.
    • TcpClient: #isSecure, #sslProvider, #hasProxy and #proxyProvider methods are moved to TcpClientConfig.
    • HttpClient#mapConnect(BiFunction) changed to HttpClient#mapConnect(Function).
    • reactor.netty.channel.BootstrapHandlers is removed.
    • UdpClient#bootstrap method is removed.
    • UdpServer: #bind and #bootstrap methods are removed.
    • TcpServer: #bind, #bootstrap and #configure methods are removed.
    • TcpClient: #connect, #bootstrap and #configure methods are removed.
    • SslProvider: #findSslSupport, #removeSslSupport and #setBootstrap methods are removed.
  • Changes related to UDS support:

    • DisposableChannel#address returns SocketAddress. (#1081)

✨ New features and improvements

📖 Documentation, Tests and Build

  • TcpResources revised comments. (#1126)
  • Officially use new versioning scheme for 1.0.0. (#1084)
  • Remove OSGI support following new versioning scheme. (#1084)
  • Enable japicmp to track the changes between 0.9.x and 1.0.0. (#1131)
  • Update the reference documentation. (1607a3d)

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

@IndiraFinish

v0.9.8.RELEASE

09 Jun 04:49
Compare
Choose a tag to compare

❗ This release contains a regression related to opened file descriptors, v0.9.9.RELEASE was released immediately after. Prefer using the later.

Reactor Netty 0.9.8.RELEASE is part of Dysprosium-SR8 Release Train.

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

See also release notes from 0.8.19 for changes that were inherited from the 0.8.x maintenance release.

⚠️ Update considerations and deprecations

  • Deprecate LoopResources#onChannel/onServerChannel/onDatagramChannel in favour of LoopResources#onChannel(Class, EventLoopGroup). (#453, #1078, 82d98b1)
  • Deprecate NettyPipeline#HttpInitializer and NettyPipeline#SslMetricsHandler. (#1128)

✨ New features and improvements

🪲 Bug fixes

  • Fix deprecation warnings. (#1082, c39404f)
  • When executing graceful shutdown, wait only for the opened channels with ChannelOperations bound as attribute. (#1093, #1103)
  • When HttpServer in H2 mode, check the parent channel for SslHandler presence. (#1094, 2eaf6c4)
  • Propagate the incoming message only in case the content is not empty. (16a05cc)
  • Fix exception message. (#1101)
  • Add serialVersionUID to the exceptions. (64467aa)

📖 Documentation, Tests and Build

v0.8.19.RELEASE

08 Jun 13:48
Compare
Choose a tag to compare

Reactor Netty 0.8.19.RELEASE is part of Californium-SR19 Release Train.

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

✨ New features and improvements

🪲 Bug fixes

  • Revise when trowing AbortedException, PrematureCloseException and InternalNettyException. (#1039, #1106)
  • Bind WebsocketServerOperations immediately after the handshake while still in the event loop. (#1089, #1096)

📖 Documentation, Tests and Build

  • Switch to a fixed version instead of latest version for GitHub Actions VMs. (7ff139f, 0a9ed4b)
  • Update Github Actions checkout to version 2. (f2a72ec)
  • Enable Gradle wrapper validation for GitHub Actions. (5047763)
  • Update test/build dependencies versions:

v0.9.7.RELEASE

27 Apr 12:35
Compare
Choose a tag to compare

Reactor Netty 0.9.7.RELEASE is part of Dysprosium-SR7 Release Train.

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

See also release notes from 0.8.18 for changes that were inherited from the 0.8.x maintenance release.

⚠️ Update considerations and deprecations

  • Metrics
    • REMOTE_ADDRESS tag is removed from the metrics reported by MicrometerHttpServerMetricsRecorder. (#1075, #1076)
    • Deprecate HttpServer/HttpClient#metrics(boolean) in favour of HttpServer/HttpClient#metrics(boolean, Function<String, String>). (#1010, #1066, a21eaec)
    • Deprecate server/client #metrics(boolean, ChannelMetricsRecorder) in favour of #metrics(boolean, Supplier). (#1048)
  • WebsocketClientSpec is the new way for configuring websocket on the client. The old methods for configuration are deprecated, they use the new functionality in a backwards compatible way. (#935, #1070)
  • Deprecate ChannelBindException#fail(AbstractBootstrap<?,?>, Throwable) in favour of ChannelBindException#fail(SocketAddress, Throwable). (#1045)
  • Deprecate server/client #doOnLifecycle method in favour of #doOn* methods. (#1053)
  • Deprecate ProxyProvider/SslProvider #asSimpleString/asDetailedString methods in favour of #toString. (b0007ec)
  • Deprecate #addressSupplier(Supplier) in favour of server#localAddress(Supplier)/client#remoteAddress(Supplier). (#1055)

✨ New features and improvements

  • Depending on Reactor Core v3.3.5.RELEASE, see release notes (2c17174)
  • Add separate builder for Websocket client configuration. (#935, #1070)
  • Add support for graceful shutdown for TcpServer (#1042, #1049, #1051, 638df40)
  • Add HttpServer configuration for specifying the max content length of the H2C upgrade request. (#1071, #1072)

🪲 Bug fixes

  • Ensure re-acquire in case of channel was active when acquiring but closed when PooledConnectionProvider.DisposableAcquire#onNext. (#782, #981, #1065)
  • Metrics
    • Do not cache NoopMeter (#1010, #1067)
    • Ensure one and the same MicrometerChannelMetricsRecorder instance is used when enabling metrics. (#1041, #1043)
    • Remove REMOTE_ADDRESS tag from the metrics reported by MicrometerHttpServerMetricsRecorder. (#1075, #1076)
  • Use HttpClientInfos#resourceUrl for resolving the websocket url. (#1047)
  • Use the ConnectionProvider.Builder when creating the global ConnectionProvider. (#1059, c6a4f79)
  • Ensure FluxReceive#receiverFastpath is enabled before enabling auto-read option. (#1050, #1052)
  • Ensure HttpClient#doAfterResponseSuccess is sent after the inbound is completed. (#1056)

📖 Documentation, Tests and Build

  • Fix minor documentation typos. (#1073)
  • Add reference documentation for metrics. (#1069)

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

@Unthrottled, @rstoyanchev, @ericbottard

v0.8.18.RELEASE

27 Apr 12:32
Compare
Choose a tag to compare

Reactor Netty 0.8.18.RELEASE is part of Californium-SR18 Release Train.

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

✨ New features and improvements

🪲 Bug fixes

  • Ensure the exceptions received while reading the incoming data, are propagated. (#1016, #1063)

📖 Documentation, Tests and Build

  • [build] Backport releaser.gradle additional tasks. (#1040)