Skip to content

SwiftNIO 1.9.0

Compare
Choose a tag to compare
@Lukasa Lukasa released this 01 Aug 16:10
· 1684 commits to main since this release

Semver Minor

  • Added an API for scheduling repeated tasks on an EventLoop, via EventLoop.scheduleRepeatedTask, as well as a new RepeatedTask type. (#488)
  • Made CircularBuffer conform to BidirectionalCollection, RandomAccessCollection, and RangeReplaceableCollection, substantially increasing its utility. (#466)
  • Split error-handling for WebSocketFrameDecoder out to a new ChannelHandler, WebSocketProtocolErrorHandler. Allowed users to disable the default error handling to implement their own. (#528)
  • Added support for non-blocking file writes with NonBlockingFileIO.write. (#531)
  • Added support for iterating over all EventLoops in an EventLoopGroup. (#509)
  • Deprecated ByteBuffer.changeCapacity, replaced it with ByteBuffer.reserveCapacity. Improved performance. (#539)
  • Added two typealiases for internal data structures to the public declaration of ByteBuffer, _Index and _Capacity. These are public to work around a limitation of older Swift 4 releases, and should not be used from user code. (#494)

Semver Patch

  • Silenced some warnings. (#456)
  • Prevented 100% CPU hot-looping on macOS when using autoRead false. (#526)
  • Fixed rare crash in example WebSocket server. (#472)
  • Fixed an issue where creating a ByteBufferView over the entire storage of a ByteBuffer would cause a crash. (#482)
  • Fixed the example HTTP server to correctly respond to multiple pipelined dynamic requests on the same connection. (#468)
  • Changed the docker-compose configuration to line-buffer output to the console. (#491)
  • Fixed logical processor enumeration to use faster, cross-platform API. (#496)
  • Improvements to code internals on 32-bit platforms. (#503)
  • Correctly handle ContiguousCollection implementations that provide pointers that are larger than the number of elements they report with .count. (#501)
  • Improved HTTPServerUpgradeHandler to treat protocol upgrade names case-insensitively. (#520)
  • Fixed a bug where we could inadvertently produce no-op events to SelectableEventLoops instead of ignoring them. (#521)
  • Forward debugging information when chaining Futures using mapIfError. (#533)
  • Updated http_parser. (#471)
  • Removed unnecessary memory binding in Thread. (#542)
  • Documentation improvements. (#460, #461, #462, #464, #535)
  • Testing improvements. (#504, #512, #513)
  • Minor code cleanups. (#511, #543)