Skip to content

Releases: apple/swift-nio

2.73.0

25 Sep 11:50
1b33db2
Compare
Choose a tag to compare

What's Changed

SemVer Minor

  • Make ByteBuffer's description more useful by @supersonicbyte in #2864
  • Expose UDP_MAX_SEGMENTS via System by @rnro in #2891
  • Add new ChannelOption to get the amount of buffered outbound data in the Channel by @johnnzhou in #2849
  • Add an AcceptBackoffHandler to the async server bootstraps by @FranzBusch in #2782

SemVer Patch

Other Changes

New Contributors

Full Changelog: 2.72.0...2.73.0

2.72.0

03 Sep 18:15
9746cf8
Compare
Choose a tag to compare

What's Changed

SemVer Minor

SemVer Patch

  • Make assumeIsolated work with SerialExecutors that are backed by EventLoops by @fabianfett in #2865

New Contributors

Full Changelog: 2.71.0...2.72.0

2.71.0

02 Sep 13:03
30df855
Compare
Choose a tag to compare

What's Changed

SemVer Minor

  • Adopt strict concurrency and Sendable in NIOConcurrencyHelpers by @Lukasa in #2832
  • Adopt strict concurrency in _NIODataStructures by @Lukasa in #2835
  • Provide documentation and context information for NIOTooManyBytesError by @cmcgee1024 in #2831

SemVer Patch

Other Changes

New Contributors

Full Changelog: 2.70.0...2.71.0

SwiftNIO 2.70.0

05 Aug 15:28
4c4453b
Compare
Choose a tag to compare

What's Changed

SemVer Minor

SemVer Patch

Other Changes

New Contributors

Full Changelog: 2.69.0...2.70.0

SwiftNIO 2.69.0

25 Jul 07:20
e4abde8
Compare
Choose a tag to compare

What's Changed

SemVer Minor

  • Add manual control to NIOLockedValueBox by @glbrntt in #2786
  • ChannelHandler: provide static (un)wrap(In|Out)bound(In|Out) by @weissi in #2791

SemVer Patch

Other Changes

Full Changelog: 2.68.0...2.69.0

SwiftNIO 2.68.0

01 Jul 13:13
fc79798
Compare
Choose a tag to compare

SemVer Minor

  • NIOSendableBox: allow off-loop initialisation iff Value is Sendable (#2753)

SemVer Patch

  • Throw an appropriate error from the writer when the channel closed (#2744)

Other Changes

  • Convert the NIOFileSystem example code to a Snippet (#2746, #2750 patch credit to @tayloraswift)
  • Fix link to NIOFileSystem from NIO index page (#2747)

SwiftNIO 2.67.0

17 Jun 14:11
e5a216b
Compare
Choose a tag to compare

SemVer Minor

  • Add API for setting last accessed and last modified file times (#2735)

SemVer Patch

  • 304 Not Modified Broken with Response Compression Enabled (#2737, patch credit to @dimitribouniol)
  • Silence warning about missing include in macOS builds (#2741, patch credit to @gwynne)

Other Changes

  • Update availability guard on tests (#2739)

SwiftNIO 2.66.0

03 Jun 15:25
9428f62
Compare
Choose a tag to compare

SemVer Minor

  • Add ByteBuffer support to BufferedWriter (#2707)
  • Add withTemporaryDirectory (#2708)
  • Replace R with ReturnType (#2709)
  • Add a version of 'write' for ByteBuffer to WritableFileHandleProtocol (#2730)

SemVer Patch

  • Remove surplus Sendable requirements from FileSystem with methods (#2706)
  • concurrency takeover safe for 6.0 (#2710)
  • Release file handles back to caller on failure to take ownership (#2715)
  • clean up @retroactive conformances (#2719)
  • Remove storage indirection for FileSystemError (#2726)
  • Improve rename error (#2731)
  • Add a fallback path if renameat2 fails (#2733)

Other Changes

  • Fix race in TCPThroughputBenchmark (#2724, patch credit to @ser-0xff)
  • Exclude unused privacy manifests. (#2716)
  • No longer need test discovery command line. (#2717)
  • Update PosixSingletons+ConcurrencyTakeOver.swift (#2721)
  • Add slack to rst allocation tests (#2722)
  • testSimpleMPTCP should not fail for ENOPROTOOPT (#2725)

SwiftNIO 2.65.0

22 Apr 12:37
359c461
Compare
Choose a tag to compare

Important changes to the NIOFileSystem module

The NIOFileSystem module has been renamed _NIOFileSystem to make it more
obvious that it isn't yet stable API.

The existing NIOFileSystem module currently re-exports _NIOFileSystem and will
be removed in the next minor release. You should update your imports accordingly
to avoid being broken by the next release.

SemVer Minor

  • Add NIOBSDSocket.Option for SO_BROADCAST (#2678)
  • Add delegate for collecting EventLoop tick metrics (#2608)
  • Raise minimum Swift version to 5.8 (#2675)
  • Expose NIOThreadPool.numberOfThreads publicly. (#2676)
  • Prevent BufferedWriter from producing empty files (#2677)
  • Change BufferedReader.read(while:) signature (#2688)
  • Added file and line to NIOAsyncWriterError description (#2693)
  • Add a helper for setting or cascading optional promises (#2697)
  • Underscore the NIOFileSystem module (#2683, #2689)

SemVer Patch

  • Add cancellation to NIOThreadPool's async runIfActive (#2679)
  • Handle 'atomically' created files more gracefully when detached (#2682)
  • Remove DispatchGroup and replace with condvar (#2687)
  • Use NIOThreadPool in NIOFileSystem (#2692)
  • Add privacy manifest (#2695)
  • Retain a ref to NIOAsyncWriter until channel active (#2703)

Other Changes

  • Clarify Client/Server column headers (#2691, patch credit to @davedelong)
  • Add support for SWIFTCI_USE_LOCAL_DEPS convention (#2699)
  • Update issue template link in SECURITY.md (#2680)
  • Remove temp directories after tests (#2690)
  • Tolerate IPv6 address resolution failure (#2704)

SwiftNIO 2.64.0

06 Mar 16:45
fc63f0c
Compare
Choose a tag to compare

Strict Concurrency Checks

The SwiftNIO team are currently in the process of making SwiftNIO warning free
under strict concurrency checking.

If you experience new Sendable related warnings that you can't work around
then please file an issue.

SemVer Minor

  • Track execute() and enqueue() tasks separately from scheduled tasks. (#2645)
  • Conform NIOIPProtocol to Sendable (#2655)
  • Add some more Sendable annotations to NIOCore (#2656)
  • Migrate to syncOperations in more places (#2661)

SemVer Patch

  • Conditionally define RENAME_* macros (#2643, patch credit to @Austinpayne)
  • Build the new FileSystem module for Android (#2660, patch credit to @finagolfin)
  • Only compile FileSystem on some platforms (#2636)
  • Remove @unchecked Sendable conformance from ChannelOptions.Storage (#2638)
  • Pass initial offset to BufferedReader.init (#2642)
  • Don't drop bytes from the buffered reader when reading short (#2646)
  • Introduce assumeIsolated() methods on EventLoop, EventLoopPromise and EventLoopFuture (#2657)
  • Fix CoW performance bug in NIOThreadPool work queue (#2669)

Other Changes

  • Remove unreliable SchedulingBenchmark (#2650)
  • Fix up the markdown output generated by scripts/analyze_performance_results.rb (#2651)
  • Remove large temp file after FileSystem tests (#2658)
  • Fix memory allocations counters on macOS. (#2673)