Skip to content

Releases: apple/swift-nio

SwiftNIO 2.10.0

07 Nov 19:12
Compare
Choose a tag to compare

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 the ByteBuffer._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

23 Oct 18:18
Compare
Choose a tag to compare

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

10 Sep 15:06
Compare
Choose a tag to compare

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

27 Aug 13:32
32760ea
Compare
Choose a tag to compare

SemVer Patch

  • BaseSocketChannel: accept immediately closed socket (#1121)
  • codestyle: apply suggestions from #1117 (#1118)
  • Fix dead link to process_test_files.rb in NOTICE.txt (#1119)
  • update conduct email group (#1120)

SwiftNIO 2.7.0

15 Aug 15:07
Compare
Choose a tag to compare

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 to BOOLIFY (#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

09 Aug 11:07
Compare
Choose a tag to compare

SemVer Patch

  • Deliver HTTPServerUpgradeHandler data on removal. (#1092)
  • HTTPDecoder: don't deliver unsolicited responses (#1093)
  • really no double handlerRemoved calls (#1094)
  • Fail promise in MessageToByteHandler write error cases (#1096)

SwiftNIO 2.6.0

02 Aug 07:56
Compare
Choose a tag to compare

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 in ByteToMessageDecoders. (#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

24 Jul 18:58
Compare
Choose a tag to compare

SemVer Patch

  • Make pipeline handler behave better when removed (#1080)

SwiftNIO 2.5.0

22 Jul 16:43
Compare
Choose a tag to compare

Semver Minor

  • Deprecated and replaced ByteBuffer.set(buffer:at:) with ByteBuffer.setBuffer(_:at:). (#1078)

Semver Patch

  • Enforced that shutting down EventLoopGroups 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)

SwiftNIO 2.4.0

11 Jul 19:53
Compare
Choose a tag to compare

SemVer Minor

  • Add a WebSocket client upgrader. (#1038)
  • EventLoopPromise.completeWith(Future), mirroring ELF.cascade(to:) (#1053)

SemVer Patch

  • HTTPDecoder: Don't invoke left overs strategy on EOF (#1061)
  • check breakages: fail loudly when unable to checkout tag (#1060)
  • Check jq is available before checking API breakages (#1058)
  • various patches (#1063, #1051, #1050)