Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.56.0
SwiftNIO 2.55.0
SemVer Minor
- Make
NIO[Throwing]AsyncSequenceProducer.Source
Sendable
(#2459)
SemVer Patch
- Add support for Musl libc (#2449)
- Close Channel when input & output are closed (#2450)
- Correct a few Musl additions from #2449 for Android, plus error if libc not found (#2451, patch credit to @finagolfin)
- Use #if canImport(Darwin) where possible (#2446)
Other Changes
- Update RediStack URL in README.md (#2445)
- Allow opt-out of PII in CONTRIBUTORS.txt (#2453, patch credit to @therealbnut)
- Update mailmap to unify Gwynne's email addresses (#2454, patch credit to @gwynne)
- Fix several minor typos in comments found in various files (#2455, patch credit to @gwynne)
- Fix last remaining test on Android (#2457, patch credit to @finagolfin)
- Adopt the Swift CoC (#2440)
- Updated allocation counters in 5.9 (#2456)
SPI(AsyncChannel) changes
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)