You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Semver Minor
Improved HTTPServerProtocolErrorHandler and HTTPServerPipelineHandler to interact better together. HTTPServerPipelineHandler now also buffers protocol errors, preventing the ChannelPipeline from seeing those errors until the correct sequence point. HTTPServerProtocolErrorHandler now avoids emitting 400 errors if a partial response is already in flight. (#314)
Enhanced WebSocketUpgrader to allow overriding the default maximum websocket frame size. (#315)
Made IdleStateHandler.IdleStateEvent public: it had accidentally been made internal. (#319)
Enhanced the ChannelCore protocol with unwrapData, allowing external ChannelCore implementers to unwrap NIOAny wrappers. (#321)
Enhanced BlockingIOThreadPool with a runWithActive method that automatically fails submitted tasks if the pool has been shut down. (#256)
Enhanced NonBlockingFileIO struct with a non-blocking openFile method, allowing users to avoid making blocking open syscalls. (#256)
Made HTTPResponseHead and HTTPRequestHead mutable. (#324)
Enhanced all NIO core channels with support for registering already-active sockets (that is, sockets that have had connect, listen, or bind called on them already) with NIO event loops, preventing the need to double-call some of these syscalls, an operation that is not always safe. (#285)
Enhanced the ServerBootstrap and DatagramBootstrap with a withBoundSocket(descriptor:) method that can take an already-bound socket and use it as the basis for a channel. (#285)
Enhanced the ClientBootstrap with a withConnectedSocket(descriptor:) method that can take an already-connected socket and use it as the basis for a channel. (#285)
Semver Patch
Fixed issues in HTTP/1 framing where some requests and methods that never have bodies would not parse correctly if they were missing transport headers. (#298)
Fixed issues in HTTP/1 framing where EOF was not being passed to the parser to help it decode request/response bodies that are terminated by EOF. (#298)
Improved the performance of writing the HTTP/1 request-line and response-line in most cases. (#300)
Reduced the number of heap allocations required to manage the state of pending stream writes. (#308)
Started processing EOF and socket reset eagerly, rather than attempting to buffer it. This resolved a number of issues with hot-looping on epoll_wait. (#286, #325)
Vastly reduced the number of allocations required to write/read integers to/from ByteBuffers. (#316)
Improved error handling when connect fails synchronously, preventing the FD from being registered with the selector. (#329)
Started failing pending connect promises before notifying the pipeline of changechannelInactive, instead of after. (#330)