Skip to content

Releases: apple/swift-nio

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)

SwiftNIO 2.0.0

01 Apr 16:02
b8368b6
Compare
Choose a tag to compare

See our blog post announcing the release of SwiftNIO 2.0.0.

SwiftNIO 1.13.2

13 Mar 11:52
Compare
Choose a tag to compare

Semver Patch

  • Selector: make sure timerfd is level triggered (#881)
  • Make NIOAny log the contents of its storage when encountering fatal unwrapping errors. (#879)