Skip to content

Releases: apple/swift-nio

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)

SwiftNIO 2.37.0

12 Jan 16:00
51c3fc2
Compare
Choose a tag to compare

SemVer Minor

  • Conditionally conform AddressedEnvelope to Hashable & Equatable (#2017)

SemVer Patch

  • Get Android constants used by Channel from Bionic instead (#2026, patch credit to @buttaface)
  • Reduce allocations when scheduling tasks (#2010, #2011)
  • Add canImport(_Concurrency) for Xcode 13.0 (#2015)
  • Guarantee ordering of scheduleTask with same deadline (#2020)
  • Precondition that read doesn't return EINVAL (#2022)

Other Changes

  • Correct spelling of foreseeable in README.md (#2024, patch credit to @bobychaudhary)
  • Update docs generation script to match latest source-kitten (#2013)
  • Update soundness script for 2022 (#2027)
  • nio-diagnose: list all thread names (#2030)

SwiftNIO 2.36.0

14 Dec 11:05
213eb68
Compare
Choose a tag to compare

SemVer Minor

  • Adds Swift Concurrency Availability to macOS 10.15, iOS 13, tvOS 13, and watchOS 6 (#2004, patch credit to @PSchmiedmayer)
  • remove/deprecate the file:line: parameters from flatMap and friends (#1998)
  • provide EventLoopGroup.any() which is sticky to the current EventLoop (#2003)

SemVer Patch

  • Relax precondition on EBADF on embedded Apple platforms (#1999, patch credit to @John-Connolly)
  • disable PTHREAD_MUTEX_ERRORCHECK in release mode (#1995)
  • Don't tolerate EBADF on close. (#2002)
  • Enable io_uring builds with newer liburing (#2006)

Other Changes

  • Add baseline performance and allocation tests for scheduleTask and execute (#2009)
  • benchmarks: lock performance for 1, 2, 4, 8 threads wanting lock (#1994)
  • nio-diagnose script (#2008)

SwiftNIO 2.35.0

26 Nov 09:32
37e7a33
Compare
Choose a tag to compare

SemVer Minor

  • ByteBuffer: provide multi read/write int methods (#1987)
  • ByteBuffer: Read and write null terminated strings (#1990)

SemVer Patch

  • ByteBuffer: reduce unnecessary bounds & under/overflow checks (#1988)

Other Changes

  • Fix testSchedulingTaskOnSleepingLoopWakesUpOnce (#1992)

SwiftNIO 2.34.0

10 Nov 10:36
addf69c
Compare
Choose a tag to compare

SemVer Minor

  • Conform EventLoopFuture/Promise to Sendable (#1982, patch credit to @adam-fowler)
  • HTTPDecoder: Decode informational http response head correctly (#1984)
  • Allow HTTP Server to send multiple informational heads before actual response head (#1985)

SemVer Patch

  • Remove not on eventLoop precondition for NIOPipeBootstrap (#1977, patch credit to @jabwd)
  • ByteBuffer: Reduce ARC traffic when reading (#1978, #1979)
  • ByteBuffer: shrink getSlice (#1980)
  • ByteBuffer: force getSlice to be inlined into readSlice (#1981)

Other Changes

  • Update workarounds list with our recent ones (#1962)
  • Add perf hooks for testing substring path. (#1976)

SwiftNIO 2.33.0

23 Sep 17:18
6aa9347
Compare
Choose a tag to compare

SemVer Minor

  • Move AsyncAwait helpers into NIOCore (#1969)

SemVer Patch

  • NIOSingleStepByteToMessageProcessor: Only reclaim once at the end of the decode loop (#1958)
  • NIOSingleStepByteToMessageProcessor: Inline process methods (#1959)
  • Get unit tests running again on nightly builds. (#1961)
  • Only include concurrency features on new OSes (#1966)
  • Readd module _NIOConcurrency to not break adopters (#1970)

Other updates

  • Fix HttpPart description comment typo (#1963) (patch credit to @wplong11)
  • Migrate to Swift 5.5 release in CI. (#1967)

SwiftNIO 2.31.2

23 Sep 10:19
1d425b0
Compare
Choose a tag to compare

Semver Patch

  • Backport of #1956 "Work around Xcode 13 GM SDK issues." (#1968)

SwiftNIO 1.14.4

21 Sep 15:15
546610d
Compare
Choose a tag to compare

Semver Patch

  • Work around Xcode 13 GM SDK issues. (#1964) (patch credit to @baarde)

Other changes

  • NIO1 Fix Ruby version in CI (#1965) (patch credit to @baarde)

SwiftNIO 2.32.3

16 Sep 12:15
fb48bdd
Compare
Choose a tag to compare

SemVer Patch

  • Improve performance of HTTPHeaders.subscript(canonicalForm:) (#1952)
  • Add performance and allocation tests for canonical form headers (#1953)
  • Don't count CR or LF as whitespace when trimming canonical header values (#1954)
  • Work around Xcode 13 GM SDK issues. (#1956)