Skip to content

Releases: apple/swift-nio

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)

SwiftNIO 2.39.0

23 Mar 12:03
d6e3762
Compare
Choose a tag to compare

SemVer Minor

  • EventLoopFuture add flatMapWithEventLoop and friends (#1996) (#2049)

SemVer Patch

  • SelectableEventLoop save allocations when appending task (#2046)
  • atomics: make add/sub @discardableResult (#2048)
  • Make all ByteBuffer methods inlinable (#2050)
  • Reduce memory binding operations (#2055)

Other Changes

  • Fixed some typos (#2051, patch credit to @BenedictSt)
  • Use SPM breaking changes checker (#2019)
  • Add an allocation test for executing which needs to hop threads. (#2047)
  • Add benchmarks for copying CircularBuffer to Array (#2058)
  • Add limits for the new test (#2060)
  • Remove unnecessary extra swift file. (#2062)
  • Wait a little longer for our repeated task (#2064)
  • ci update (#2066)

SwiftNIO 2.38.0

10 Feb 10:21
154f1d3
Compare
Choose a tag to compare

SemVer Minor

  • Implement ByteBufferView custom contains function to improve performance. (#2044, patch credit to @SeJV)
  • Improve the performance of copying ByteBufferView (#2039)
  • Add collect(upTo:into:) to AsyncSequence (#2038)

SemVer Patch

  • Improve ByteBuffer.setSubstring(_:at:) performance (#1975, patch credit to @gwynne)
  • Fix the double encoding issue in encodeAsByteBuffer (#2043, patch credit to @stepan-ulyanin)

Other Changes

  • Allow NIOEchoClient to receive fragmented echo responses. (#2041, patch credit to @SeJV)
  • Add 5.6 nightly CI (#2032)
  • Add benchmarks for copying ByteBufferView to Array. (#2037)
  • Add benchmark for ByteBufferView contains. (#1385) (#2042, patch credit to @SeJV)