Skip to content

SwiftNIO 1.7.0

Compare
Choose a tag to compare
@Lukasa Lukasa released this 18 May 11:19
· 1678 commits to main since this release

Semver Minor

  • Added ChannelCore.removeHandlers to help implementers building custom channels do correct channel shutdown. (#408)
  • Added initial support for sending quiescing signals to Channels, and support for these signals to AcceptHandler and HTTPServerPipelineHandler. (#399)
  • Added executable product NIOPerformanceTester to run standardised NIO performance tests. (#396)
  • Made EventLoopFuture.hopTo(eventLoop:) public: while it was introduced in 1.3.0 it was accidentally left internal.

Semver Patch

  • Improved the resilience of ByteToMessageDecoder against re-entrant calls to decode. (#370)
  • Improved performance of writingSequences to ByteBuffer objects in cases where the standard library has fast-path access. (#391, #392)
  • Fixed an issue where we could accidentally corrupt headers or URIs when parsing HTTP/1 messages due to re-entrant calls to decode. (#385)
  • Enhanced SocketChannel objects to register themselves with the Selector lazily, allowing them to more easily be used without needing to handle their registration and binding/connection very carefully. (#388)
  • Removed some warnings when compiling in Swift 4.2 mode. (#407)
  • Removed a String allocation when reading Connection headers to determine keep-alive state for HTTP/1. (#402)
  • Attempted to use http_parser's detected keep-alive status as much as possible in server applications, reducing the computation overhead of checking keep-alive status in most cases. (#299)
  • Removed some reliance on implicit importing of header files on Linux. (#400)
  • Fixed minor invalid pointer type assumption. (#397)
  • Fixed broken 32-bit support. (#383)
  • Miscellaneous tooling and code quality improvements. (#390, #394, #398, #403)