Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.10.0
SemVer Minor
- Add ApplicationProtocolNegotiationHandler init that takes a closure that receives the Channel (#1196, patch credit to @2bjake)
- added a public var to extract the IP address of the SocketAddress (#1194, patch credit to @Lupurus)
- Make SocketAddress.port mutable (#1200, patch credit to @siemensikkema)
- Add function preconditionIsNotBlacklistedErrno (#1201, patch credit to @heidipuk)
- Add an option to ByteBuffer.clear() to specify minimumCapacity (#1204, patch credit to @cweinberger and @Keno42)
SemVer Patch
- Allow single test to be specified as an argument to run-nio-alloc-counter-tests.sh. (#1214, patch credit to @marlimox)
- Use self as the decoder when decoding a ByteBuffer (#1221, patch credit to @gwynne)
- Add inlinability to ByteBuffer getters. (#1220)
ByteBuffer.clear
should reset theByteBuffer._slice
. (#1212, patch credit to @kam800)- Added an allocation benchmark for WebSocketFrameDecoder. (#1210, patch credit to @marlimox)
- Add an benchmark for WebSocket frame decoder (#1203, patch credit to @emarashliev)
- add socketpair to the POSIX wrappers (#1198)
- Make future builders and scheduled tasks inlinable (#1193)
- improve docs (#1191, #1206, patch credit to @Davidde94)
- make use of EventLoop.flatSubmit (#1179)
SwiftNIO 2.9.0
SemVer Minor
- Add option to reserve writable capacity to writeWithUnsafeMutableBytes (#1175, patch credit to @2bjake)
- Add flatSubmit method to EventLoop (#1174, patch credit to @2bjake)
- namespace ChannelOptions types (#1176, patch credit to @2bjake)
- Add API for modifying ByteBuffer without CoW (#1173)
- ByteBuffer: add direct Codable support (#1153)
- add PipeChannel (#1138)
- NIOHTTP1TestServer (#1152, patch credit to @mariosangiorgio)
- assert EventLoopGroup::syncShutdownGracefully is not called on the event loop (#1151, patch credit to @tomerd)
SemVer Patch
- fix tests in iOS Simulator (#1171)
- Reduce allocations in WebSocketFrameEncoder. (#1161)
- Add some websocket encode benchmarks. (#1159)
- Prefer handlerAdded/handlerRemoved in websocket example (#1158, patch credit to @ktoso)
- swift 5.1 docker setup (#1146, patch credit to @tomerd)
- fix thread-safety of BaseSocketChannel's description (#1142, bug report credit to @drexin)
- fix one EventLoopGroup leak in tests (#1143)
- Fix creating HTTPResponseStatus from 418 (#1140)
- various small readme, benchmarks, code, and docs improvements (#1137, #1172, #1170, #1178, #1164, #1163, #1162, #1145)
SwiftNIO 2.8.0
SemVer Minor
- Allow promises to be completed with a
Result<Value, Error>
(#1124, patch credit to @glbrntt) - ChannelPipeline: fail double removal of handler (#1133, reported by @vlm)
SemVer Patch
- fix NIODeadline/TimeAmount maths (#1136, reported by @mariosangiorgio)
- HTTPServerUpgradeHandler: Tolerate futures from other ELs (#1134, reported by @vlm)
- Lock: guarantee crash instead of undefined behaviour (#1131, reported by @kevints)
- Avoid having
cascade
be title of all methods in jazzy docs (#1129, patch credit to @ktoso) - Fix doc typo: before possible -> are possible (#1122, patch credit to @tamc)
SwiftNIO 2.7.1
SwiftNIO 2.7.0
SemVer Minor
- Add conditional conformances of CircularBuffer to Equatable and Hashable (#1101)
- Conform CircularBuffer to ExpressibleByArrayLiteral (#1102)
SemVer Patch
- NIOThreadPool: backed by NIOThreads (pthreads) instead of DispatchQueues (#1100)
- docs: EmbeddedChannel isn't as broken as it claims (#1103)
- Remove unused wrapper functions for atomic_flag (#1106)
- Rename
BOOL
toBOOLIFY
(#1107) - bootstraps: tolerate random EventLoops (#1108)
- MTELG: Add EventLoopGroup identifier (#1109)
- more compatibility with other platforms (#1110)
- Remove
cpp_magic.h
import and ancient Clang compatibility hack from CNIOAtomics.h (#1111)
SwiftNIO 2.6.1
SwiftNIO 2.6.0
Semver Minor
- Fixed a crash when a client received an unsolicited HTTP response: now errors instead. (#1084)
Semver Patch
- Fixed an issue where
handlerRemoved
could be called multiple times, leading to crashes inByteToMessageDecoder
s. (#1091) - Enhanced
MultiThreadedEventLoopGroup
to support being shut down multiple times. (#1085, #1089) - Prevented
ByteBuffer.viewBytes
from crashing when passing it a negative length. (#1082) - Testing improvements. (#1086, #1090)
- New WebSocket client example. (#1064, #1087)
SwiftNIO 2.5.1
SemVer Patch
- Make pipeline handler behave better when removed (#1080)
SwiftNIO 2.5.0
Semver Minor
- Deprecated and replaced
ByteBuffer.set(buffer:at:)
withByteBuffer.setBuffer(_:at:)
. (#1078)
Semver Patch
- Enforced that shutting down
EventLoopGroup
s not directly created by you is illegal. (#1055) - Improved performance of
EventLoopFuture.reduce
. (#1069, #1070) - Fixed an issue when subtracting two
NIODeadline
structures could lead to a crash. (#1074) - Miscellaneous testing improvements. (#1062, #1067, #1068, #1076, #1077, #1079)