Skip to content

Releases: reactor/reactor-netty

v0.8.11.RELEASE

04 Sep 05:13
Compare
Choose a tag to compare

This is the 12th release of Reactor Netty 0.8, part of Californium-SR11 Release Train.

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

✨ New features and improvements

  • Depending on Reactor Core v3.2.12.RELEASE, see release notes (98443cb)
  • Depending on Netty 4.1.39.Final (#793, db90c6d)
  • Deprecate FutureMono#deferFutureWithContext (#799)
  • Do not force NIO transport if JdkSslContext detected (#803, 9a74a01)

🪲 Bug fixes

  • PrematureCloseException should not be used as a singleton (#802, 4d65dc3)
  • Ensure there is no proxy LoggingHandler when wiretap is off (#804, #805)
  • Safely call removeListener on MonoSendMany terminal signal (#807, #808)
  • Abort the send operation if the channel is not active (#821, #823)
  • When invoking SendManyInner#unvoid, propagate the success/failure from the new promise to SendManyInner (#820, #824)
  • Close the connection: (#825, #826)
    • when the compression predicate throws RuntimeException
    • when the follow redirect predicate throws RuntimeException
    • when ByteBuf#release fails in FluxReceive#drainReceiver

📖 Documentation, Tests and Build

  • Do not run docsZip/asciidoc with install on local builds (60a5fc0)
  • Fix javadoc of HttpClient#followRedirect (#816, #817)

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

@nictas

v0.9.0.M3

30 Jul 12:12
Compare
Choose a tag to compare
v0.9.0.M3 Pre-release
Pre-release

This is the 3st milestone of Reactor Netty 0.9, part of Dysprosium-M3 Release Train.

This milestone includes all features, improvements and fixes from v0.8.10.RELEASE

✨ New features and improvements

  • Remove deprecated NettyPipeline.SendOptions. (#766, #767, 3e0acd9)
  • Add NettyOutbound.send/sendObject API with a predicate for enforcing flush operation. (#769, 7f9e328, 0325828)
  • Use publisherOrScalarMap in ByteBufFlux. (97df685)
  • Remove deprecated FutureMono.deferFutureWithContext/disposableWriteAndFlush methods. (15a4933)
  • Switch from Netty Connection Pool to Reactor Pool (#717, #723)
  • API for configuring pooled connection idle time. (#612, #792)
  • Add TCP/HTTP Metrics. (#157, #721, #790, e7f9378, f202f7a)

📖 Documentation, Tests and Build

  • Documentation fix for error: "neither SslContextBuilder nor SslContext is specified". (#787)
  • If a handler is added with Connection.addHandler*, events prior channel active state are not available. (#783, 6a98e38)

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

@IsmailMarmoush

v0.8.10.RELEASE

30 Jul 11:43
Compare
Choose a tag to compare

This is the 11th release of Reactor Netty 0.8, part of Californium-SR10 Release Train.

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

✨ New features and improvements

  • Deprecate NettyOutbound.options and NettyPipeline.SendOptions. (#791)

🪲 Bug fixes

  • Extend EventLoop from Netty's FastThreadLocalThread. (#765)
  • Use the correct address when cannot extract the port from forwarded headers. (#625, #770)
  • Remove the Bootstrap option/attribute only if it exists. (cbc1113)
  • Do not remove the reactive bridge in case of a close frame. (#768, #776)
  • Clean resources of long living connections to reduce gc pressure. (#775, e2a234d)
  • Fixed file leak in ByteBufFlux.fromPath. (#784, 6192fd5)
  • Defer close subscription cancellation for HTTP server. (#741, a79f8d7, 30d663d)

📖 Documentation, Tests and Build

  • ByteBufMono.asInputStream add to javadoc the memory release requirements. (#771)

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

@bsideup, @aftersss

v0.9.0.M2

10 Jun 21:44
Compare
Choose a tag to compare
v0.9.0.M2 Pre-release
Pre-release

This is the 2st milestone of Reactor Netty 0.9, part of Dysprosium-M2 Release Train.

This milestone includes all features, improvements and fixes from v0.8.9.RELEASE

✨ New features and improvements

v0.8.9.RELEASE

10 Jun 21:44
Compare
Choose a tag to compare

This is the 10th release of Reactor Netty 0.8, part of Californium-SR9 Release Train.

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

✨ New features and improvements

🪲 Bug fixes

  • Avoid pipeline lookup for each ConnectionInfo and MonoSendMany (a89231d)
  • Return a new promise on MonoSendMany#unvoid (#736, #751)
  • Switch to ChannelOption.valueOf instead of ChannelOption.newInstance (abd706e)
  • Clean the receiver on terminal signal (331e784)
  • Unvoid promise since MonoSend doesn't directly allow for listeners (ad7e545)
  • Check queue if premature cancel (could be null) (d7267e1)
  • Fix unintended stack trace suppression despite DEBUG level being enabled (#755)
  • Dispose the PooledConnectionProvider in a separate thread (#758)
  • MonoSendMany#unvoid needs to be linked back to MonoSend promise (#749)
  • Use the default port when cannot extract the port from forwarded headers (#759, 1a84c91)
  • Filter out unused h2 frames (#744)
  • Revert "Use an adaptation of Spring Framework UriTemplate for resolving path params" (#754)

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

@ginkel, @dave-fl, Spring community (gateway, framework) and the many realtime reports from our Gitter channel !

v0.9.0.M1

10 May 14:03
Compare
Choose a tag to compare
v0.9.0.M1 Pre-release
Pre-release

This is the 1st milestone of Reactor Netty 0.9, part of Dysprosium-M1 Release Train.

This milestone includes all features, improvements and fixes from v0.8.6.RELEASE, v0.8.7.RELEASE and v0.8.8.RELEASE

✨ New features and improvements

  • Depending on Reactor Core v3.3.0.M1, see release notes (5d8ab7a)
  • Remove the deprecated wiretap() in favour wiretap(boolean). (#480, 55c4804)
  • Remove the deprecated TcpClient(Server)#secure(SslContext). (#481, a49beda)
  • Remove the deprecated HttpClient#chunkedTransfer. (#553, #620, 34e644c)
  • Do not create aggregated ByteBuf when the publisher is empty or the first element is empty. (#574)
  • Declare an Java9 JPMS Automatic-Module-Name for Reactor Netty. (#731)

📖 Documentation, Tests and Build

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

@Buzzardo

v0.8.8.RELEASE

10 May 14:01
Compare
Choose a tag to compare

This is the 9th release of Reactor Netty 0.8, part of Californium-SR8 Release Train.

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

❗ With HTTP, chaining multiple send operations is discouraged and will not work as expected when send involves scalar or mono publishers. For instance send(flux).send(mono) or send(flux).sendObject(message) will ignore send(flux). This is an anticipation of an API simplification moving forward 0.9.x version where send will not return NettyOutbound anymore.

✨ New features and improvements

  • Depending on Reactor Core v3.2.9.RELEASE, see release notes (060f6b1)
  • Updated Netty version to 4.1.36.Final (#632, a81b4b1)
  • Add API for passing HttpHeaders to the proxy configuration. (#702)
  • Add API for configuring the HTTP response decoder used by the HttpClient. (#531, #704, #709)
  • Add proxy protocol support. (#697, #716, 396525e)
  • Performance improvements (#457, #572, #654):
    • When possible obtain the connection once from the channel attributes. (#705)
    • When creating HttpServerOperations directly set a header Transfer-Encoding: chunked, there is no need to check whether the headers were sent. (#707, b67c63d)
    • Use an adaptation of Spring Framework UriTemplate for resolving path parameters. (#708)
    • Reduce ChannelOperations#get invocations. (#713)
    • Revisit write/flush operations. (#725)
    • Change default server/client ChannelOption values. (#725)
    • Add fusion support to send(Publisher). (#725)
    • Filter the empty buffers emitted by the Publisher. (#719, #720, #725)
    • Defer mark as sent to the subscribe time for the single HTTP send operation. (dac270c)
    • HTTPOperations send fallback to simple channel.write when the headers have been already sent. (8b33b6d)
    • Remove Transfer-Encoding header when the size is known (in case of FullHttpRequest). (e56c2b0)
    • Fix regression with MonoSendManyInner:isVoid:true and send(Publisher). (#735, a55c667)

🪲 Bug fixes

  • Ensure DISCONNECTING event (in case of TCP/HTTP server) is sent when the channel is closed. (#688, #690)
  • Ensure PooledConnectionProvider.Pool#inactiveConnections is correct when TimeoutException occurs (in case of fixed ConnectionProvider). (#673, #691)
  • When a channel is acquired and closed immediately, attempt to acquire again. If the second attempt also fails, return an error and let the user decide to retry
    or not. (#653, #692)
  • Ensure HttpClientOperations#send(Publisher) does not leak when GET request. (#694, #695)
  • Do not attempt any writing if the connection is closed. (#698)
  • Introduce a cleanup mechanism for messages that are dropped (when using sendObject(Object)). (#585, #699, #711)
  • Fix NullPointerException in BootstrapHandlers#removeConfiguration(ServerBootstrap, String). (#703)
  • Ensure HttpClient#doOnRequest is invoked before the actual request. (#558, #701)
  • Apply TcpServer#selectorOption as ServerBootstrap#option. (#706)
  • Correctly calculate ProxyProvider#equals/hashCode when nonProxyHosts is specified. (#728, #729)
  • HttpClient should ignore malformed cookies. (#726)
  • Use collectList instead of collect for aggregating client GET/HEAD. (#700, 8e80029, c6aa625, 6ebb133)
  • Fix to not log instead bubbling fatal exceptions. Wrap possible singleton ClosedChannelException. (d850804)
  • Internal Netty errors wrapping. (5059f86, 5ee6151)

📖 Documentation, Tests and Build

  • Upgrade Gradle version to 5.4. (#725)

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

@yuusaku-t, @aftersss, @shrykull, @fred84, @dave-fl, Spring community (gateway, framework) and the many realtime reports from our Gitter channel !

v0.8.7.RELEASE

09 May 13:19
Compare
Choose a tag to compare
v0.8.7.RELEASE Pre-release
Pre-release

This release contains a regression, v0.8.8.RELEASE was released immediately after.
Prefer using the later.

v0.8.6.RELEASE

26 Mar 16:33
Compare
Choose a tag to compare

This is the 7th release of Reactor Netty 0.8, part of Californium-SR6 Release Train.

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

✨ New features and improvements

  • Depending on Reactor Core v3.2.8.RELEASE, see release notes (#603)
  • Updated Netty version to 4.1.34.Final (#628)
  • Deprecate HttpClient#chunkedTransfer (#553)

🪲 Bug fixes

  • Update PooledConnectionProvider.Pool#inactiveConnections when channel closed (ef4b60c)
  • Do not send Transfer-Encoding when there is Content-Length (#614, #616)
  • Ensure the logging for RedirectClientException is with DEBUG level (#618)
  • Handle correctly the Connection header with a comma separated list as value (#621, #632, #634)
  • Update parseAddress behavior to handle ipv6 addresses without bracket notation and add parseAddress tests to verify (#625, #626)
  • Fix possible memory leak when channel inactive event is sent on the server and the transport is native (#630, #631)
  • Handle IllegalReferenceCountException when a cancel signal is received to ByteBufFlux#aggregate (#636, #637)
  • When obtaining the ConnectionObserver remove the Bootstrap option only if it exists (b133b78)
  • Do not release the channel twice (#665)
  • Ensure context is available when HttpClient#doAfterResponse (#651, #664)

📖 Documentation, Tests and Build

  • Fix HttpServer javadoc (#623)

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

@flyinprogrammer, @gasches, @RayJSeth, @dave-fl, Spring community (gateway, framework) and the many realtime reports from our Gitter channel !

v0.7.15.RELEASE

26 Mar 15:14
Compare
Choose a tag to compare

This is the 16th release of Reactor Netty 0.7, part of Bismuth-SR17 Release Train.

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

✨ New features and improvements

  • Depending on Reactor Core v3.1.16.RELEASE see release notes (db1e290)
  • Updated Netty version to 4.1.34.Final (#628)
  • Switch the connection pool to use the oldest Channel (#601)

🪲 Bug fixes

  • Fix sending an explicit empty body for GET and HEAD when using SSL (#576)
  • Fix possible memory leak when channel inactive event is sent on the server and the transport is native (#630, #631)
  • Handle correctly the Connection header with a comma separated list as value (#632, #634)
  • Handle IllegalReferenceCountException when a cancel signal is received to ByteBufFlux#aggregate (#636, #637)