Skip to content

Releases: apple/swift-nio

SwiftNIO 1.5.2

27 Jun 17:38
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.4.3

27 Jun 17:38
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.3.2

27 Jun 17:38
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.2.2

27 Jun 17:38
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.1.1

27 Jun 17:37
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.0.1

27 Jun 17:37
Compare
Choose a tag to compare

Semver Patch

SwiftNIO 1.8.0

31 May 14:42
695afc5
Compare
Choose a tag to compare

Semver Minor

  • Added new ByteBufferView type, exposing portions of a ByteBuffer as a Collection<UInt8>. Added ByteBuffer.readableBytesView and ByteBuffer.viewBytes(at:length:) to obtain ByteBufferView objects. (#411)
  • Renamed MultiThreadedEventLoopGroup.init(numThreads:) to MultiThreadedEventLoopGroup.init(numberOfThreads:). Deprecated the old name. (#443)
  • Made HTTPRequestDecoder.init(leftOverBytesStrategy:) and enum RemoveAfterUpgradeStrategy public, which allows users creating custom HTTP pipelines to ensure that removing HTTPRequestDecoder after an upgrade was attempted does not cause unexpected bytes delivery. (#438)

Semver Patch

  • Conformed internal _UInt24 and _UInt56 structures to CustomStringConvertible. (#445)
  • Prevented crashes on macOS/iOS when under heavy load and remote peers close connections before we realise they connected. (#453)
  • Miscellaneous code cleanups and testing improvements. (#412, #441, #442, #447, #454)

SwiftNIO 1.7.2

24 May 13:07
Compare
Choose a tag to compare

Semver Patch

  • Removed some unnecessary EventLoopPromise allocations. (#437)
  • Fixed issues where removing a HTTPDecoder could lead to the pipeline consuming raw ByteBuffers, rather than decoded HTTP components. (#430)
  • Fixed an issue where datagram writes would be counted incorrectly, potentially leading to precondition failure. (#431)
  • Resolved a number of re-entrancy issues with HTTPDecoder. (#427)

SwiftNIO 1.7.1

22 May 16:24
Compare
Choose a tag to compare

Semver Patch

  • Fixed an issue where the bootstraps may not correctly invoke the channel initialisers on the event loop for the channel being initialised, causing substantial overhead when configuring the channel. (#424)
  • Fixed issues where Channel objects and their associated sockets created by the bootstraps may be leaked if channel registration failed for any reason. (#413)
  • Fixed issues where the Channel may be deallocated before the ChannelPipeline is cleaned up, causing crashes. (#415)
  • Fixed an issue where write promises were satisfied too early on EmbeddedChannel objects. (#421)
  • Fixed an issue where the WebSocketFrameDecoder would write a connection close frame but not flush it when a protocol error was encountered. (#421)
  • Worked around a compiler crash with type aliases in 4.2 snapshots. (#420)
  • Testing and documentation improvements. (#416, #419, #423, #425)

SwiftNIO 1.7.0

18 May 11:19
Compare
Choose a tag to compare

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)