Releases: reactor/reactor-netty
v0.8.13.RELEASE
This is the 14th release of Reactor Netty
0.8
, part of Californium-SR13
Release Train.
This is a recommended update for all Reactor Netty 0.8.x
users.
✨ New features and improvements
🪲 Bug fixes
- HTTP/2
- Use
channelHandlerContext.writeAndFlush
instead ofchannel.writeAndFlush
when appropriate (#331) - Add logging when websocket outbound error happened (155ff95)
- Handle decoding failures with
LastHttpContent
(#875) HttpPredicate$UriPathTemplate
can cause OOM (#866, #873)- Clean up the warnings reported by errorprone (#862, b83cc97, c27f772)
👍 Thanks to the following contributors that also participated to this release
v0.9.0.RELEASE
Reactor Netty
0.9.0.RELEASE
is part of Dysprosium-RELEASE
Release Train.
See also release notes from 0.8.6, 0.8.7, 0.8.8, 0.8.9, 0.8.10, 0.8.11 and 0.8.12 for changes that were inherited from the 0.8.x maintenance release.
🚀 We worked hard to optimize data sending from both client and server side. In HTTP scenarios, we observed up to 40% response time improvement. As a bonus, we have been able to backport this work in 0.8 latest patches as well.
✨ New features and improvements
- Depending on
Reactor Core
v3.3.0.RELEASE
, see release notes (e3ef68c) - Depending on
Netty
v.4.1.39.Final
(46974c0) - 🌟 Metrics
TCP
/HTTP
Metrics (#157, #721, #790, e7f9378, f202f7a)UDP
metrics (#830, #831)Connection pool
metrics (#797, #832)ByteBufAllocator
metrics (#797, #854)AddressResolver
metrics (#797, #856)- Add maximum allowable
URI
tags forHttpServer
/HttpClient
metrics (#794, #857) - Add
TCP
/UDP
client/server#metrics(boolean, ChannelMetricsRecorder)
(#798, #859) - Add
HttpServer#metrics(boolean, HttpServerMetricsRecorder)
(#798, #859) - Add
HttpClient#metrics(boolean, HttpClientMetricsRecorder)
(#798, #859)
- 🌟 Connection Pool
- Switch from
Netty Connection Pool
toReactor Pool
(#717, #723) - Shade
Reactor Pool
(#723) ⚠️ Switch tofixed
connection pool by default forTCP
/HTTP
client (#578, #796, #812)- API for configuring pooled connection idle time (#612, #792)
- Adapt to the new
Reactor Pool
API for min/max connections (173e08a) - Enable
ColocatedEventLoopGroup
for the client (#806) - Parallelise pool disposing (65dc586)
- Remove pool
subscribeOn
use since we now use asynchronous close (#846)
- Switch from
- 🌟 Add
BlockHound
integration (a984c19, a5da0df, 8513dea, 675d8aa, 43fc5bb) - Add
NettyOutbound.send/sendObject
API with a predicate for enforcing flush operation (#769, 7f9e328, 0325828) - Add
WebsocketInbound#receiveCloseStatus
for receiving the close status information (#533, #815) - Declare an Java9 JPMS Automatic-Module-Name for Reactor Netty (#731)
- Extend
EventLoop
from Netty'sFastThreadLocalThread
(#745) - Use
publisherOrScalarMap
inByteBufFlux
(97df685) MonoSendMany
: Resolve context once on cleanup (9c5baf4)- Do not create aggregated
ByteBuf
when the publisher is empty or the first element is empty (#574) - Remove the usage of the deprecated
Http2MultiplexCodecBuilder
(#822) - Use single-quotes char in
lastIndexOf
(#852) - Removal of deprecations
- Remove the deprecated
wiretap()
in favourwiretap(boolean)
(#480, 55c4804) - Remove the deprecated
TcpClient(Server)#secure(SslContext)
(#481, a49beda) - Remove the deprecated
HttpClient#chunkedTransfer
(#553, #620, 34e644c) - Remove the deprecated
FutureMono.deferFutureWithContext/disposableWriteAndFlush
methods (15a4933) - Remove the deprecated
NettyPipeline.SendOptions
(#766, #767, 3e0acd9) - Remove the deprecated
HttpServer#proxyProtocol(boolean)
(d98e8bb)
- Remove the deprecated
📖 Documentation, Tests and Build
- 🌟 Reference documentation and examples. (#155, #627, #635, #642)
- Specify
fire-and-forget
#dispose()
behaviour forLoopResources
,ConnectionProvider
(#850, #851) - Specify
fire-and-forget
#disposeLoopsAndConnections()
behaviour forTcpResources
,HttpResources
(#850, #851) - Specify
fire-and-forget
#shutdown()
behaviour forUdpResources
(#850, #851) - 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
v0.8.12.RELEASE
This is the 13th release of Reactor Netty
0.8
, part of Californium-SR12
Release Train.
This is a recommended update for all Reactor Netty 0.8.x
users.
✨ New features and improvements
- Proxy protocol support
🪲 Bug fixes
HttpClient
fails with SSL after redirect (#843, #845)- Detect whether secure or not when the first http request comes in order to support
SniHandler
added by the user (#841) - Avoid calling
Pool#close()
which will block reactor thread (#848) - Avoid redundant regex compile (#858)
👍 Thanks to the following contributors that also participated to this release
v0.9.0.RC1
This is the 1st release candidate of Reactor Netty
0.9
, part of Dysprosium-RC1
Release Train.
This release candidate includes all features, improvements and fixes from v0.8.11.RELEASE
✨ New features and improvements
- Depending on
Reactor Core
v3.3.0.RC1
, see release notes (87d792a) - Adapt to the new Reactor Pool API for min/max connections (173e08a)
- Enable
ColocatedEventLoopGroup
for the client (#806) - Switch
fixed
connection pool by default forTCP
/HTTP
client (#578, #796, #812) - Remove the usage of the deprecated
Http2MultiplexCodecBuilder
(#822) - Add
WebsocketInbound#receiveCloseStatus
for receiving the close status information (#533, #815)
👍 Thanks to the following contributors that also participated to this release
v0.8.11.RELEASE
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 ifJdkSslContext
detected (#803, 9a74a01)
🪲 Bug fixes
PrematureCloseException
should not be used as a singleton (#802, 4d65dc3)- Ensure there is no proxy
LoggingHandler
whenwiretap
is off (#804, #805) - Safely call
removeListener
onMonoSendMany
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 toSendManyInner
(#820, #824) - Close the connection: (#825, #826)
- when the compression predicate throws
RuntimeException
- when the follow redirect predicate throws
RuntimeException
- when
ByteBuf#release
fails inFluxReceive#drainReceiver
- when the compression predicate throws
📖 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
v0.9.0.M3
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
inByteBufFlux
. (97df685) - Remove deprecated
FutureMono.deferFutureWithContext/disposableWriteAndFlush
methods. (15a4933) - Switch from
Netty Connection Pool
toReactor 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
v0.8.10.RELEASE
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
andNettyPipeline.SendOptions
. (#791)
🪲 Bug fixes
- Extend
EventLoop
from Netty'sFastThreadLocalThread
. (#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
v0.9.0.M2
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
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
- Depending on
Reactor Core
v3.2.10.RELEASE
, see release notes (30a4b61) - Support fuseable in
ByteBufFlux
/ByteBufMono
(d5f3a6b)
🪲 Bug fixes
- Avoid pipeline lookup for each
ConnectionInfo
andMonoSendMany
(a89231d) - Return a new promise on
MonoSendMany#unvoid
(#736, #751) - Switch to
ChannelOption.valueOf
instead ofChannelOption.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 toMonoSend
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
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 favourwiretap(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)