Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.50.0
SemVer Minor
- Add
NIOAsyncChannel
as SPI (@_spi(AsyncChannel)
) (#2397) - Throw
CancellationError
ifNIOThrowingAsyncSequenceProducer.AsyncIterator.next()
is cancelled instead of returningnil
. The user defined genericFailure
type ofNIOThrowingAsyncSequenceProducer
is also deprecated and must now always beany Swift.Error
. (#2399, #2401)
SemVer Patch
- Mildly rework the NIOLock storage (#2395)
Other Changes
SwiftNIO 2.49.0
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
SemVer Minor
- Special case EventLoopPromise.succeed() when Value is Void (#2311, patch credit to @mob-connection)
SemVer Patch
Other Changes
SwiftNIO 2.47.0
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
andlocalAddress0
onEmbeddedChannel
(#2345)
Other Changes
SwiftNIO 2.46.0
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
SwiftNIO 2.45.0
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(_:)
, andappend(contentsOf:)
(#2309, patch credit to @Kelvin13) - Use
#fileID
/#filePath
instead of#file
(#2306) - Correctly include netinet/in.h (#2315)
Other Changes
SwiftNIO 2.44.0
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
withSendable
(#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
SwiftNIO 2.42.1
SemVer Patch
- Correctly manage Content-Length on HEAD responses (#2289)