Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.54.0
SemVer Minor
EmbeddedChannel
:getOption(ChannelOptions.allowRemoteHalfClosure)
should notfatalError
(#2429)
SemVer Patch
- Pooled control message storage. (#2422, patch credit to @ser-0xff)
- NIOPOSIX happy eyeballs now hops to the connection event loop when using a custom resolver to avoid data races (#2436)
Other Changes
SwiftNIO 2.53.0
SwiftNIO 2.52.0
SwiftNIO 2.51.1
SwiftNIO 2.51.0
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)