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
NIOAsyncSequenceProducertests to rely less on timings (#2386) - Work around the SwiftPM layout change. (#2389)
- Always populate utsname (#2391)