Skip to content

Releases: apple/swift-nio

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)

SwiftNIO 2.42.0

27 Sep 12:18
a16e2f5
Compare
Choose a tag to compare

Security

  • This update fixes CVE-2022-3215: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . For more details please see the security advisory. Please update to 2.42.0 as rapidly as possible.

SemVer Minor

  • Implement a back-pressure aware AsyncSequence source (#2230)
  • Add throwing version of NIOAsyncSequenceProducer (#2237)
  • Conform NIOTooManyBytesError to Hashable (#2246)
  • Functions passed to non-Sendable ChannelHandlers do not need to conform to Sendable (#2249)
  • Implement a NIOAsyncWriter (#2251)
  • Add EventLoopFuture.makeCompletedFuture(withResultOf:) (#2253)
  • HTTPResponseStatus should print code and reason (#2257)
  • Provide NIOAsyncTestingChannel (#2238)
  • NIOConcurrency: add NIOLockedValueBox (#2265)
  • rename class Lock to struct NIOLock (#2266)

SemVer Patch

  • Small changes for the NIOAsyncSequenceProducer (#2254)
  • Call finish once the Source is deinited (#2258)
  • Add availability requirements to NIOAsyncSequenceProducer extension (#2236)
  • Update HTTP parser to LLHTTP (#2263)
  • Add support for newer LLHTTP status codes (#2269)

Other Changes

  • Define Array element type explicitly to fix nightly CI (#2250)
  • Fix typo in the name of a constant (#2262, patch credit to @heldersrvio)
  • Fixup docs for the NIOAsyncWriter (#2271)
  • initial adoption of DocC based documentaiton (#2235)
  • Update soundness.sh (#2240)
  • Validate missing imports in CI (#2245)
  • Widen the tolerance on testSystemCallWrapperPerformance in debug mode (#2259)
  • helpful error message when compiling without test discovery on >= 5.5 (#2264)
  • address additional NIOLockedValueBox review comments (#2270)

SwiftNIO 2.39.1

27 Sep 12:24
d0f261d
Compare
Choose a tag to compare

Security

  • This update fixes CVE-2022-3215: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . For more details please see the security advisory. Please update to 2.42.0 if possible, otherwise update to 2.39.1 as rapidly as possible.

SwiftNIO 2.29.1

27 Sep 12:24
aa5be1d
Compare
Choose a tag to compare

Security

  • This update fixes CVE-2022-3215: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . For more details please see the security advisory. Please update to 2.42.0 if possible, otherwise update to 2.39.1, otherwise update to 2.29.1 as rapidly as possible.

SwiftNIO 2.41.1

04 Aug 09:55
b4e0a27
Compare
Choose a tag to compare

SemVer Patch

  • Fix compilation with Swift 5.5.0 and 5.5.1 (#2234)

SwiftNIO 2.41.0

02 Aug 14:14
ece5057
Compare
Choose a tag to compare

Highlights

This release fully adopts Sendable in all libraries. In minimal concurrency checking mode (i.e. without -warn-concurrency) this should not produce any Sendable errors in your code as we have used @preconccurency to give adopters time to comply to the sendability rules. Many conformances are only available in Swift 5.7 though. Note that swift-nio itself currently does not compile successfully with strict concurrency checking turned on (with -warn-concurrency).

Please file an issue if your code no longer compiles because of Sendable errors.

SemVer Minor

SemVer Patch

Other Changes

  • Added test for BufferView custom contains function (#2227, patch credit to @anishagg17)
  • Move tests of NIOCore types from NIOPosixTests to NIOCoreTests (#2093)
  • Reduce the alloc limits for main (#2095)
  • Reduce the alloc limits of 1000_tcpconnections for main (#2116)
  • NIOPerformanceTester: Add DeadlineNowBenchmark for NIODeadline.now() (#2117)
  • Reduce the alloc limits for main (#2118)
  • NIOPerformanceTester: Increase operations used in lock benchmarks from 1M to 10M (#2121)
  • DatagramChannelTests: Handle receiving datagrams out-of-order in ECN tests (#2123)
  • readme: Fix API docs link following NIOCore refactoring (#2126)
  • Fix flake AsyncTestingEventLoopTest (#2147)
  • Use 5.7 nightlies (#2186)
  • Use correct alloc limits for 5.7 (#2193)

SwiftNIO 2.40.0

27 Apr 16:33
124119f
Compare
Choose a tag to compare

SemVer Minor

  • Drop support for Swift 5.2 and 5.3 (#2080)
  • Add Hashable conformance to HTTPResponseStatus (#2069)

SemVer Patch

  • Improve the performance of copying CircularBuffer (#2059)
  • Use unbuffered IO for stdout in NIOPerformanceTester (#2072)
  • Remove invalid math in ByteBuffer slice slow path (#2075)
  • http_parser uses "main" as the main branch (#2078)
  • BaseSocket: Remove dead code in BaseSocket.bind(to:) (#2086)

Other Changes

  • Fix doc comment formatting in SingleStepByteToMessageDecoder.swift (#2076, patch credit to @MaxDesiatov)
  • Increase runtime of performance tests to O(10 ms) to increase SNR (#2063)
  • Update alloc limits for nightly. (#2071)
  • update contributors (#2077)
  • Script to list transitive dependencies (#2082)
  • Fix warnings, that appeared after requiring Swift 5.4 (#2085)