Releases: reactor/reactor-netty
v0.7.5.RELEASE
This is the 6th release of Reactor Netty
0.7
, part of Bismuth-SR7
Release Train.
This is a recommended update for all Reactor Netty
users.
✨ New features and improvements
- Depending on
Reactor Core
v3.1.5.RELEASE
see release notes (90390d7) - Depending on
Netty
v4.1.22
(cc44e71) - Support expect 100-continue (#293, #295)
- HttpServerBuilder now exposes a
compression(BiPredicate<Req,Res>)
.
The predicate is evaluated before committing response header/status.
If the predicate is true, compression is enabled for the given response.
The minimum compression threshold now usescontent-length
predicate. (#218, #292, #298, #299)
🪲 Bug fixes
- Set the channel
closeFuture
to release to the pool only once and if aChannel
was successfully acquired (#289, #290) - Fix
Context
transferring for implicitly connected streams (#288) - Polish when to mark an HTTP connection persistent (85e5614)
- Refinements related to http request/response lifecycle (95b22e0)
- Optimize scalar map transformations and polish
PublisherContext
(4960c0f)
👍 Thanks to the following contributors that also participated to this release
v0.7.4.RELEASE
This is the 5th release of Reactor Netty
0.7
, part of Bismuth-SR6
Release Train.
This is a recommended update for all Reactor Netty
users.
✨ New features and improvements
- Depending on
Reactor Core
v3.1.4.RELEASE
see release notes (d22208f) - Depending on
Netty
v4.1.21
(6e73dfe)
🪲 Bug fixes
- Fixed
IllegalArgumentException: Channel [...] was not acquired from this ChannelPool
(#266, #280) - On
channelInactive
event, do not fire error when the inbound has been already cancelled/disposed (#267, #281) - Ensure server will send a response in case websocket upgrade failure (#268, #269)
- On inbound cancelled event do not close the connection if the inbound's been disposed (d8e9ca1)
- When
HttpClient
receivesAbortedException
/IOException
, it will retry once
and then will return the exception so that the user can decide how many
retries to do and with what delay (#257, #270, #272) - Enable hostname verification in client SSL config (#222, #275)
- Extended key for the connection pool cache (#276)
- Resolve the relative location when redirecting (#278, #279)
- Connection close should always be bridged to pool release (#285, #286)
- Fix a possible reference count leak for empty WS client upgrade body (101) (b6adfec, 9dfc8e4)
- Ensure
ChannelPromise
objects are updated when filtering the messages (#282, #287)
👍 Thanks to the following contributors that also participated to this release
v0.7.3.RELEASE
This is the 4th release of Reactor Netty
0.7
, part of Bismuth-SR5
Release Train.
This is a recommended update for all Reactor Netty
users.
✨ New features and improvements
- Depending on
Reactor Core
v3.1.3.RELEASE
see release notes (b37a31b) - Depending on
Netty
v4.1.20
(877d852) - Depending on
Reactive Streams
1.0.2
(7249011) - Add support for
KQueue
(#212) - Expose Netty
HttpServerCodec
options inHttpServer
(#150)
🪲 Bug fixes
- Emit error signal when the connection is closed prematurely (#224)
- Remove the special handling of status code 205 (#216)
- When the writing Publisher completes with an error, ensure the error signal is propagated to the subscriber. (#231)
- Fixed a race issue in
HttpServerOperations#onOutboundComplete
(17ada56) - On outbound error
HttpServer
will not sendEmptyLastContent
, but will close the connection (#239) - Ensure
HttpClient
will emit an error when connection is closed from the server side (#237) - Ensure write chunks are always in a correct order (#232)
- Ensure code 301 can be controlled by
HttpClientRequest#followRedirect
(#253) HttpServer
outbound complete refinements (#264, #248)- Try detecting outbound complete with
autoRead
only if non keep alive - Leave
HttpServerOperations#onOutboundComplete
to take precedence for the terminal event - Clear
ChannelOperations
before writing the response - Try deferring for all flow the state cleaning inside handler
- Fix
HttpServerHandler#shouldKeepAlive
- Try detecting outbound complete with
v0.7.2.RELEASE
This is the third release of Reactor Netty
0.7
, part of Bismuth-SR4
Release Train.
This is a recommended update for all Reactor Netty
users.
✨ New features and improvements
- Depending on
Reactor Core
v3.1.2.RELEASE
see release notes (3b6fa6a) - Depending on
Netty
v4.1.17
(73b7945) - Introduce flush on each with event loop option (#203)
🪲 Bug fixes
- Omit filling stack trace for
RedirectClientException
(#193) - Fix possible
ByteBuf
leaks (f7a2df4) - Create default
UDP LoopResource
on demand (#192) - Tweak
FluxReceive
and reduce preemptive read on server (#194) - Correct exception message in case selector threads number is not positive (#200)
- Prefer
ReferenceCountUtil#release
instead ofReferenceCountUtil#safeRelease
(#201) - Improve
OSGI Import-Package
(#209) - Improvements in a flush implementation (#206, #207, 8c19d46)
- Handle
DatagramChannel
inNettyContext#address
(#210) - Premature response commit drops last request http packet (#213)
ByteBufFlux#fromPath
: Release the buffer only on completion or on error (#215)
📖 Documentation, Tests and Build
- Fixed javadoc (#190, #191, #197, 9897a7c)
- Fix test builder when
DNS
resolving (f600a9c) - Fix timeout in a test (f34911c)
- Clear some memory leaks in tests (0e2ff98)
- Fix encoding problems in javadoc when using Java 8 (507d29d)
👍 Thanks to the following contributors that also participated to this release
v0.7.1.RELEASE
This is the second release of Reactor-Netty 0.7, part of Bismuth-SR3
Release Train.
This is a recommended update for all Reactor Netty users.
✨ New features and improvements
- Use HttpClientCodec/HttpServerCodec (cce4d57)
- Increase the default timeout, introduce a new method with timeout (#179)
- Separate UdpClient/UdpServer (#137)
🪲 Bug fixes
- Fixed a memory leak with keep-alive connections (#176, 21fd7a9)
- Prevent unwanted reverse DNS lookup calls (1bf036a)
- Leave connection gracefully finishes on http 40x, 50x, 301/302 (9eb3a10)
- Fix possible ByteBuf leaks (f1d8576)
- Release buffers at fromPath level (6269251, f34df23)
- Drop out of sequence http client frames when server close (#186)
- Remove the special handling of status codes 204/304 (116466f)
- Do not replace the HttpServerCodec (ea736c5)
- Do not set content length when HEAD request (#171)
📖 Documentation, Tests and Build
- Migrate to Gradle 4.2 (50196f3)
👍 Thanks to the following contributors that also participated to this release
v0.6.6.RELEASE
This is the 6th release of Reactor Netty 0.6.
This is a maintenance update for all 0.6 Reactor Netty users. This release rollback netty version used to 4.1.13.Final until netty/netty#7309 unbounded SSL issue is fixed.
✨ New features and improvements
- Expose
NettyOutbound#sendFileChunked
API and fallback to this operator whensendFile
is used with ssl enabled (backport from 0.7). - emit error on premature http close (#138)
- lazily create loop/pool resources if there's no custom ones set by user
🪲 Bug fixes
- Fully consume http server or client error (50x, 40x) or redirect (301 and 302)
- Close channel on cancel
- Check http response keepAlive status for releasing
- Close before release to pool
- Safe ByteBuf release in fromPath
v0.7.0.RELEASE
This is the first release of Reactor Netty 0.7, part of Bismuth-RELEASE
Release Train.
This is a recommended update for all Reactor Netty users which fixes a few blockers and some user experience issues.
⚠️ Update considerations and deprecations
- Depending on
Reactor Core
v3.1.0.RELEASE
(see release notes for API changes) - Depending on
Netty
v4.1.15
✨ New features and improvements
- Options and configuration have been reworked
- TCP/HTTP Client and Server expose a copy of the options for information purposes (#66)
- The proxy can be configured to let some hosts bypass it (#125)
- Add
NettyContext
config callback, reworkChannel
config options (#80) - Introduce a step builder for
ClientProxyOptions
(#139) - Expose API for configuring
SslHandler
'scloseNotifyFlushTimeoutMillis
andcloseNotifyReadTimeoutMillis
(b463fc1) - Use the Builder pattern to configure Client/Server and their Options (#120)
- Shutdown and cleanup improvements
- There is now a simple blocking alternative API for client/server that simply need to run from a
main
(#61, #144, #161) - Default configuration changes
- Allow to send files through SSL, expose chunked alternative (#102)
🪲 Bug fixes
- Take
HttpServerOptions#compression(int)
threshold into account (#106) - Make
HttpClient
SSL work on relativeGET
(#109) - Update
pendingResponses
in the event for termination (#89) - Propagate
clientError
/serverError
configurations whenHttpClientRequest#sendWebsocket
is used (#113) - Correctly use base hostname in
HttpClientOptions
even if proxy is configured (#126) - Ensure accept gzip is applied when there is no handler provided (#131)
- Resolve the proxy host and port (#140)
- Make
sendFile
work withZipFileSystem
, useFileChannel
(#146) - Correct handling of pending writes while in parallel completing to send the outbound data. (#134)
- Dispose
ContextHandler
when receive callback signal for cancel (#119) - Emit error signal when the connection is closed prematurely (#138)
- Close before release to avoid acquiring closed connection (723718a)
- Don't send chunked transfer for
DELETE
requests (d44250c) - Create
LoopResources
/PoolResources
only in case the user does not specify their own (336a4c1) - Minor polishes and fixed starving client by http server (cc13744)
- Response codes
204
/205
/304
should specifycontent-length:0
(1f80ca0)
👍 Thanks to the following contributors that also participated to this release
v0.6.5.RELEASE
This is the 5th release of Reactor Netty 0.6.
This is a recommended update for all Reactor Netty users which fixes a few blockers and some user experience issues.
✨ New features and improvements
- Expose API for configuring
SslHandler
'scloseNotifyFlushTimeoutMillis
andcloseNotifyReadTimeoutMillis
. (b463fc1) Netty
is updated to version4.1.15.Final
(cee1eb0)
🪲 Bug fixes
v0.6.4.RELEASE
This is the 4th release of Reactor Netty 0.6.
This is a recommended update for all Reactor Netty users which fixes a few blockers and some user experience issues.
v0.6.3.RELEASE
This is the 3rd release of Reactor Netty 0.6.
This is a recommended update for all Reactor Netty users which fixes a few blockers and some user experience issues.
⚠️ Update considerations
- Cancelling/disposing an HttpClientResponse will now close prematurely the connection since there is no deterministic way to release it if it was persistent (default). See #57.
- Immediate failure to write onto a newly acquired persistent connection by HttpClient will result in automatic close/re-acquire.
- Reactor Netty does now depend on the exploded netty dependencies instead of netty-all for better transitive control, see #28.
✨ New features and improvements
- HttpClient now closes on cancel/dispose #57
- HttpClient will now present a 'user-agent' by default (#55)
- HttpClient auto-retries immediately stale connection (96daef2)
- Safely release bytebuf when exceptions are raised up to ChannelOperationHandler (#51)
🪲 Bug fixes
WebsocketInbound#aggregateFrames()
is now properly working (#52)- Decorate binary message with websocket frames #54
- Proxy resolution now lazily resolve unresolved address #53
👍 Thanks @nebhale @rstoyanchev for the reactive feedbacks