Skip to content

Releases: apple/swift-nio

SwiftNIO 2.50.0

12 Apr 09:29
e0cc6dd
Compare
Choose a tag to compare

SemVer Minor

  • Add NIOAsyncChannel as SPI (@_spi(AsyncChannel)) (#2397)
  • Throw CancellationError if NIOThrowingAsyncSequenceProducer.AsyncIterator.next() is cancelled instead of returning nil. The user defined generic Failure type of NIOThrowingAsyncSequenceProducer is also deprecated and must now always be any Swift.Error. (#2399, #2401)

SemVer Patch

  • Mildly rework the NIOLock storage (#2395)

Other Changes

  • Update links in NIO docs index (#2396)
  • Clean up and regression check the docs. (#2400)

SwiftNIO 2.49.0

20 Mar 10:52
9b2848d
Compare
Choose a tag to compare

SemVer Minor

  • Mark EventLoop.syncShutdownGracefully and EventLoopGroup.syncShutdownGracefully noasync (#2381)
  • Add a pooled recv buffer allocator (#2362)
  • NIOAsyncWriter: Provide a fast path for single element writes (#2365)
  • Provide OnLoopSendable: Sendable containers that bind a value to a specific EventLoop (#2370)
  • Add support for UDP_SEGMENT (#2372)
  • Add support for UDP_GRO (#2385)

SemVer Patch

  • Pool buffers for ivecs and storage refs in the event loop. (#2358, patch credit to @ser-0xff)
  • Fix memory binding. (#2376, patch credit to @ser-0xff)
  • Fix an upcoming compiler warning on implicit raw pointer casts. (#2377, patch credit to @atrick)
  • Buffer pool for message headers and addresses. (#2378, patch credit to @ser-0xff)
  • Remove unused array (#2361)
  • Make PooledBuffer safer. (#2363)
  • Fix swift-nio iOS builds. (#2369)
  • Don't retain a task when all we want is a time (#2373)
  • Make our time types transparent (#2374)
  • Allow UDP GRO tests to fail in some circumstances (#2387)

Other Changes

  • TCP channel throughput benchmark. (#2367, patch credit to @ser-0xff)
  • Add UDP performance tests (#2360)
  • Clarify on EL semantics (#2366)
  • Add availability requirements to TCPThroughputBenchmark (#2368)
  • Not Holding OnToRunClosure() test updates (#2375)
  • Remove redundant availability guards (#2379)
  • Lower the max segment count in tests (#2382)
  • Rebuild the channel when retrying testWriteBufferAtGSOSegmentCountLimit (#2383)
  • Rework the NIOAsyncSequenceProducer tests to rely less on timings (#2386)
  • Work around the SwiftPM layout change. (#2389)
  • Always populate utsname (#2391)

SwiftNIO 2.48.0

26 Jan 13:19
45167b8
Compare
Choose a tag to compare

SemVer Minor

  • Special case EventLoopPromise.succeed() when Value is Void (#2311, patch credit to @mob-connection)

SemVer Patch

  • Tail allocate mutex and a generic value using ManagedBuffer (#2349, patch credit to @asdf-bro)

Other Changes

  • Add Swift 5.8 CI and update nightly CI to Ubuntu 22.04 (#2350)
  • Lift alloc counter Package.swift to 5.1 and add platforms (#2352)
  • Point docs to Swift Package Index (#2353)
  • Fix flaky testTaskCancel_whenStreaming_andNotSuspended (#2355)

SwiftNIO 2.47.0

16 Jan 17:32
4ad2c37
Compare
Choose a tag to compare

SemVer Patch

  • Remove useless instance variables in the SelectableEventLoop (#2338, patch credit to @thomas-gill-0xff)
  • Repair the Windows build of NIOCore (#2339, patch credit to @compnerd)
  • Allow writing and reading empty datagrams (#2341, patch credit to @hashemi)
  • Prepare mmsghdr structure properly. (#2346, patch credit to @ser-0xff)
  • Implement remoteAddress0 and localAddress0 on EmbeddedChannel (#2345)

Other Changes

  • Fix main nightly CI (#2337)
  • 2023 is real, we should support it (#2342)
  • Avoid actually allocating a giant buffer (#2347)
  • Avoid integer literals that won't fit. (#2348)

SwiftNIO 2.46.0

20 Dec 15:19
7e3b50b
Compare
Choose a tag to compare

SemVer Minor

  • Add NIORawSocketBootstrap (#2320, #2317)
  • Make EventLoopFuture.wait() unavailable from async (#2331)
  • Add easier async to future conversion (#2334)

SemVer Patch

  • Cap read+pread POSIX read sizes at Int32.max (#2323)
  • Fix non Darwin/Linux builds (#2328)
  • Remove implicit ByteBuffer copy in copyMemory (#2330)

Other Changes

  • Remove _NIOBeta product (#2319)
  • Remove obsolete information from the README (#2321)
  • Add .spi.yml for Swift Package Index DocC support (#2324, #2329)
  • Measure allocations applying WS mask (#2333)
  • Improve performance of tests (#2336)

SwiftNIO 2.45.0

21 Nov 13:27
e855380
Compare
Choose a tag to compare

SemVer Minor

  • Add missing Sendable requirements (#2305)
  • Add NIOAsyncTestingChannel.waitForOut/InboundWrite() (#2307)
  • MPTCP support on Linux (#2308)
  • Make NIOHTTP1TestServer Sendable (#2318)

SemVer Patch

  • add witnesses for ByteBufferView.reserveCapacity(_:), append(_:), and append(contentsOf:) (#2309, patch credit to @Kelvin13)
  • Use #fileID/#filePath instead of #file (#2306)
  • Correctly include netinet/in.h (#2315)

Other Changes

  • Fix failing build on MacOS (#2313)
  • Fix testTaskCancel_whenStreaming_andNotSuspended flakiness (#2314)

SwiftNIO 2.44.0

02 Nov 11:58
edfceec
Compare
Choose a tag to compare

SemVer Minor

  • Add utilties for reading and writing UUIDs (#2045)
  • Implement additional file operation in NonBlockingFileIO (#2244)
  • Mark types explicitly non sendable (#2290)
  • Replace NIOSendable with Sendable (#2291)
  • Add create directory method (#2296)
  • Add support for removing channel options (#2297)
  • Move 5.7 beta APIs to NIOCore (#2300)
  • Make NIOWebSocketServerUpgrader Sendable (#2304)

SemVer Patch

  • Improve diagnostics for deprecated Lock. (#2285, patch credit to @ffried)
  • Add correct C directory function declarations for Android (#2302, patch credit to @buttaface)
  • Don't unconditionally remove the HTTPServerUpgradeHandler (#2303)

Other Changes

  • Improve NIOAsyncSequenceProducer docs (#2287)
  • Fix Nightly Build to work with new Swift versions (#2288)
  • Remove #if compiler(>=5.5) (#2292)
  • Clarify version support in README (#2293)
  • Add benchmarks for NIOAsyncWriter and NIOAsyncSequenceProducer (#2301)

SwiftNIO 2.42.1

13 Oct 10:17
110992e
Compare
Choose a tag to compare

SemVer Patch

  • Correctly manage Content-Length on HEAD responses (#2289)

SwiftNIO 2.43.1

07 Oct 10:48
bc4c55b
Compare
Choose a tag to compare

SemVer Patch

  • Ensure fatalError for the NIOAsyncSequenceProducer when finished (#2282)
  • Get NIO compiling with GM Xcode (#2284)

SwiftNIO 2.43.0

06 Oct 12:22
cdeffe8
Compare
Choose a tag to compare

SemVer Minor

  • Add withLockVoid(_:) to NIOLock (#2276, patch credit to @MahdiBM)
  • Raise minimum supported Swift version from 5.4 to 5.5 (#2267)

SemVer Patch

  • Fixed compile errors on windows (#2278, patch credit to @toluRV)
  • Correctly manage Content-Length on HEAD responses (#2277)

Other Changes

  • Remove wrong comment about performance (#2281)
  • Update allocation limits (#2272)
  • Move ISSUE_TEMPLATE.md to ISSUE_TEMPLATE/bug-report.md (#2273)