Skip to content

Releases: apple/swift-nio

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)

SwiftNIO 2.3.0

19 Jun 17:16
Compare
Choose a tag to compare

Semver Minor

  • Enable TCP_NODELAY by default on all TCP channels. (#1020)
  • Enabled heuristic to control whether NIO will copy data from ByteBuffer to Data or whether it will share the buffer, as well as APIs to explicitly control that choice. (#1046)
  • Fixed issue where fcntl failing to set an accepted socket into non-blocking mode would cause the closure of the entire listening socket. (#1041)
  • Add a HTTP client upgrade handler. (#1001)
  • Made EmbeddedChannel.isWritable mutable. (#1023)
  • Added CircularBuffer.modify. (#1009)

Semver Patch

  • Returned a NIOFileHandle(path:) constructor that was accidentally removed. (#1045)
  • Fixed an issue where setting a socket to non-blocking mode could clobber any other flags on that socket. (#1040)
  • Fixed an issue where IPv6 tests would incorrectly run on a system without appropriate IPv6 support. (#1028)
  • Improved AcceptHandler to prevent it swallowing errors when attempting to quiesce channels. (#1015)
  • Added optimisation tips document. (#1024)
  • Extra EmbeddedChannel testing. (#1033)
  • Added continuous performance reporting. (#1044)
  • Miscellaneous testing & documentation cleanups and improvements. (#1043, #1034, #1032, #1026, #1025, #1022, #1021, #1019, #1016, #1013)

SwiftNIO 2.2.0

22 May 17:21
ed50f8a
Compare
Choose a tag to compare

Semver Minor

  • Added EventLoopFuture.always. (#981)
  • Added HTTPHeaders.add(contentsOf:). (#1004)
  • Added new ByteToMessageDecoder verifier test utility. (#939)
  • Added EventCounterHandler test utility. (#1005)

Semver Patch

  • Removed some hardcoded features of the allocation counter script. (#999)
  • Improved the temporary directory management of the allocation counter script. (#1000)
  • Cleaned up misleading code comment. (#1012)
  • Cleaned up docker files. (#1007, #1010)

SwiftNIO 2.1.1

17 May 16:18
Compare
Choose a tag to compare

SemVer Patch (repair accidental SemVer Major)

  • undo tiny public API breakage #1008

SwiftNIO 2.1.0

09 May 14:30
Compare
Choose a tag to compare

Semver Minor

  • Added an API to construct a ByteBuffer from a ByteBufferView. (#958)
  • Added an API to limit the maximum buffer size of a ByteToMessageDecoder. (#957, #998)
  • Extended NonBlockingFileIO to allow opening a file for writing. (#975, #990)
  • Added NIOCloseOnErrorHandler. (#967)
  • Conformed HTTPMethod to RawRepresentable with a raw type of String. (#976)
  • Added an API to get a ChannelHandler from the pipeline. (#974)
  • Made ChannelOptions.Storage initializer public. (#988)
  • Renamed WebSocketUpgrader to NIOWebSocketServerUpgrader and deprecated the old name. (#983)

Semver Patch

  • Improved performance by rewriting internal Heap implementation. (#960)
  • Fixed example HTTP server to avoid crashing when serving an empty file. (#962)
  • Removed invalid assert in CircularBuffer that caused crashes on 32 bit architectures. (#978)
  • Fixed a bug where HTTPDecoder would incorrectly retain too many bytes, and replay them on handler removal in some cases. (#984)
  • Made MarkedCircularBuffer implementation @inlineable. (#993)
  • Improved the performance of constructing HTTPHeaders from an array of tuples. (#994)
  • Fixed an issue where HTTPDecoder would crash if it received a response without headers. (#997)
  • Added a link to GitHub implementation in documentation. (#977)
  • Started testing on Swift 5.1. (#991, #995)
  • Various documentation cleanups. (#979, #989)
  • Removed some warnings in the tests. (#982)
  • Started using new allocation test framework. (#996)

SwiftNIO 2.0.2

30 Apr 10:33
Compare
Choose a tag to compare

SemVer Patch

  • Add 'Show on GitHub' link to API docs (#977)
  • CircularBuffer.Index: remove bogus assert (#978)
  • Remove unnecessary warnings in HeapTests (#982)
  • Avoid keeping hold of partial bytes forever. (#984)

SwiftNIO 2.0.1

12 Apr 15:45
Compare
Choose a tag to compare

Semver Patch

  • Simplified our internal Heap implementation, improving performance. (#960)
  • Prevent internal ByteToMessageDecoder errors by entering the final state twice on error. (#948)
  • Significantly improved performance of EventLoopFuture.andAllSucceed and EventLoopFuture.whenAllSucceed. (#943)
  • Cleanups in examples. (#941, #953)
  • Improved testing. (#956)
  • Documentation improvements. (#932, #940, #949, #959)

SwiftNIO 1.14.1

11 Apr 08:17
Compare
Choose a tag to compare

Semver Patch

  • Fixed an issue introduced in 1.14.0 that led to EventLoopFuture.hopTo(_:) accidentally being made internal. (#963)

SwiftNIO 1.14.0

10 Apr 17:18
Compare
Choose a tag to compare

SemVer Minor

  • Backport whenAll[Succeed] to NIO 1 (#947)

SemVer Patch

  • Simplify Heap implementation. patch-version-bump-only (#961)
  • alloc tests: hook posix_memalign & reallocf (#954)