Releases: reactor/reactor-netty
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)
📖 Documentation, Tests and Build
👍 Thanks to the following contributors that also participated to this release
v0.8.8.RELEASE
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 to4.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 theHttpClient
. (#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 headerTransfer-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 simplechannel.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
andsend(Publisher)
. (#735, a55c667)
🪲 Bug fixes
- Ensure
DISCONNECTING
event (in case ofTCP
/HTTP
server) is sent when the channel is closed. (#688, #690) - Ensure
PooledConnectionProvider.Pool#inactiveConnections
is correct whenTimeoutException
occurs (in case offixed
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 whenGET
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
inBootstrapHandlers#removeConfiguration(ServerBootstrap, String)
. (#703) - Ensure
HttpClient#doOnRequest
is invoked before the actual request. (#558, #701) - Apply
TcpServer#selectorOption
asServerBootstrap#option
. (#706) - Correctly calculate
ProxyProvider#equals/hashCode
whennonProxyHosts
is specified. (#728, #729) HttpClient
should ignore malformed cookies. (#726)- Use
collectList
instead ofcollect
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
This release contains a regression, v0.8.8.RELEASE was released immediately after.
Prefer using the later.
v0.8.6.RELEASE
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 to4.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 isContent-Length
(#614, #616) - Ensure the logging for
RedirectClientException
is withDEBUG
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 addparseAddress
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 acancel
signal is received toByteBufFlux#aggregate
(#636, #637) - When obtaining the
ConnectionObserver
remove theBootstrap
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
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 to4.1.34.Final
(#628) - Switch the connection pool to use the oldest
Channel
(#601)
🪲 Bug fixes
- Fix sending an explicit empty body for
GET
andHEAD
when usingSSL
(#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 acancel
signal is received to ByteBufFlux#aggregate (#636, #637)