v0.7.8.RELEASE

@violetagg violetagg released this Jun 11, 2018 · 11 commits to 0.7.x since this release

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

This is a recommended update for all Reactor Netty users.

New features and improvements

🐞 Bug fixes

  • Ensure completion event is sent for HttpClientWSOperations#onClose (#345 #346)
  • Suppress unchecked warnings in DefaultLoopResources#disposeLater method (#347)
  • Add the missing @Override (#350)
  • Use Objects#equals for HttpMethod and HttpResponseStatus comparison (#350)
  • Use grouping parenthesis to make the operator precedence explicit (#350)
  • Improved ws condition support (#354)
  • Add options and head to HttpServerRoutes (#363)
  • Force channel close, when an error happens while sending the request body, but the headers were sent already (#361 #371)

📖 Documentation, Tests and Build

  • Fix warning in asciidoc rendering (#347)
  • Fix unchecked warnings in tests (#347)
  • Enable rawtypes linting and resolve or suppress warnings (#347)
  • Improve asciidoctor configuration in build (#348)
  • Enable errorprone compiler plugin (#349)
  • Express the duration time more clear in the tests (#350)
  • Explicitly specify the charset that will be used (#350)
  • Use StringBuilder instead of String Buffer (#350)
  • Make the inner class static (#350)
  • Log the exception instead of calling printStackTrace (#350)

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

@lhotari, @lerouxrgd, @segabriel

v0.7.7.RELEASE

@violetagg violetagg released this May 3, 2018 · 190 commits to master since this release

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

This is a recommended update for all Reactor Netty users.

New features and improvements

  • Depending on Reactor Core v3.1.7.RELEASE see release notes (1561042)
  • Depending on Netty v4.1.24 (#328)
  • Change the dependency to netty-transport-native-epoll to the one with linux-x86_64 classifier (#329, #338)

🐞 Bug fixes

  • Do not share pipeline state in fields of the FileChunkedStrategy instance (#319)
  • Add handling of offset and length to FileChunkedStrategy (#320)
  • Handle the delayed writes when onComplete/onError event is sent (#321, #326)
  • Take in account the delayed writes when calculating the requested
    and produced items when onComplete/onError event is sent. (#316, #327)
  • Fix log messages (#336)
  • Ensure CloseWebSocketFrame will be sent by the Server/Client (#332, #334)
  • Forward user-facing cancel to send(Publisher) cancel (#317, #335)
  • Remove the additional logging when the error is propagated (#339)
  • When received the last HTTP packet but still sending the request, force the channel close (#323, #342, #343, #177)
  • ChannelOperations#isDisposed should check for channel active (51b33c3)
  • When compression is enabled do not send file with zero copy instead
    use chunking (#340, #341)

📖 Documentation, Tests and Build

  • Fix minor inconsistency in javadoc (#318)
  • Update Gradle version to 4.6 (65b29d7)
  • Refactor http send file tests to also run with SSL (#320)
  • Update javadoc overview (#325)
  • Test websocket connection alive when transformation errors (23bd118)

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

@lhotari, @sdeleuze

v0.7.6.RELEASE

@violetagg violetagg released this Apr 10, 2018 · 218 commits to master since this release

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

This is a recommended update for all Reactor Netty users.

New features and improvements

  • Depending on Reactor Core v3.1.6.RELEASE see release notes (10ae803)
  • Add Reactor Core v3.1.6.RELEASE non blocking thread marker support (#312, #314)

🐞 Bug fixes

  • Ensure StackOverflowError is not thrown on the client when sending the request body as a byte array (#303, #304)
  • When the request decoding failed with TooLongFrameException on the server, 413 Request Entity Too Large will be returned otherwise 400 Bad Request (#309, #310)

v0.7.5.RELEASE

@violetagg violetagg released this Feb 28, 2018 · 225 commits to master since this 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 uses content-length predicate. (#218, #292, #298, #299)

🐞 Bug fixes

  • Set the channel closeFuture to release to the pool only once and if a Channel 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

@OlegDokuka

v0.7.4.RELEASE

@violetagg violetagg released this Feb 16, 2018 · 247 commits to master since this 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

🐞 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 receives AbortedException/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

@bclozel, @hananaharonof

v0.7.3.RELEASE

@violetagg violetagg released this Jan 26, 2018 · 273 commits to master since this 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 in HttpServer (#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 send EmptyLastContent, 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

v0.7.2.RELEASE

@violetagg violetagg released this Nov 16, 2017 · 308 commits to master since this 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 of ReferenceCountUtil#safeRelease (#201)
  • Improve OSGI Import-Package (#209)
  • Improvements in a flush implementation (#206, #207, 8c19d46)
  • Handle DatagramChannel in NettyContext#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

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

@akiraly, @lhotari, @janvdbergh

v0.7.1.RELEASE

@simonbasle simonbasle released this Oct 23, 2017 · 336 commits to master since this 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

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

@lhotari

v0.6.6.RELEASE

@smaldini smaldini released this Oct 16, 2017 · 457 commits to master since this 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 when sendFile 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

@violetagg violetagg released this Sep 27, 2017 · 365 commits to master since this 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, rework Channel config options (#80)
    • Introduce a step builder for ClientProxyOptions (#139)
    • Expose API for configuring SslHandler's closeNotifyFlushTimeoutMillis and closeNotifyReadTimeoutMillis (b463fc1)
    • Use the Builder pattern to configure Client/Server and their Options (#120)
  • Shutdown and cleanup improvements
    • Global TcpResources can now be shutdown (#24)
    • One can now listen for completion of the LoopResource/PoolResources disposal (#25)
  • 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
    • The HttpServer now listens on port 8080 by default (#145)
    • The default connection pool is switched to elastic by default (e97084d)
    • Do not specify SO_LINGER timeout, JVM default will be used (59beb9d)
  • 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 relative GET (#109)
  • Update pendingResponses in the event for termination (#89)
  • Propagate clientError/serverError configurations when HttpClientRequest#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 with ZipFileSystem, use FileChannel (#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 specify content-length:0 (1f80ca0)

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

@nebhale, @bclozel