@weissi weissi released this Nov 6, 2018 · 5 commits to master since this release

Assets 2

Semver Minor

  • introduce EventLoop.assertInEventLoop and preconditionInEventLoop (#644)
  • dynamically verify (in debug mode) that IOThreadPools get shut down by the user (#635)

Semver Patch

  • fix Swift 5 warnings (mostly redundant modifiers) (#642)
  • ByteBuffer: small & medium sized string copies over 10% faster (#640)
  • String decoding: go through URBP directly instead of Slice (#639)
  • CONNECT method should not have request body (#637)

@Lukasa Lukasa released this Oct 29, 2018 · 12 commits to master since this release

Assets 2

Semver Minor

  • Added support for UDP multicast. (#618)
  • Improved detection of users calling EventLoopFuture.wait() on some EventLoo p types. (#553)
  • Added diagnostics to EventLoopFuture.wait() to ensure users can locate the c
    all on error. (#578)
  • Added SocketOptionProvider protocol to provide nicer API for setting socket options. (#589)
  • Conformed Slice, UnsafeBufferPointer, and UnsafeMutableBufferPointer to ContiguousCollection to improve write speeds. (#586)
  • Add @discardableResult to ByteBuffer.readWith* methods. (#549)
  • Improved HTTPHeaders.isKeepAlive to check all values in Connection header. (#414)
  • Made HTTPHeaderIndex & HTTPHeader structures public, as well as HTTPHeade rs.createHeaderBlock(buffer:headers:) and HTTPHeaders.withUnsafeBufferAndIndices. (#525)
  • Improved style around memory bindings. (#541)

Semver Patch

  • Fixed potential deadlock in BlockingIOThreadPool. (#634)
  • Fixed compilation errors on Android. Android is not covered by CI at this time, so this may regress. (#609)
  • Fixed IdleStateHandler to propagate channelActive. (#615)
  • Emit IP address in SocketAddress.description. (#601)
  • Improved error reporting so that hitting blacklisted errno values will print
    strerror rather than a string pointer. (#610)
  • Updated HTTP parser. (#627)
  • Correctly use umbrella headers for our C modules, reducing compiler errors. (#636)
  • Clean up some warnings and future compiler errors. (#605, #623)
  • Documentation improvements. (#613, #619)
  • Testing improvements. (#611, #616, #621, #625)

@weissi weissi released this Sep 12, 2018 · 73 commits to master since this release

Assets 2

This release contains no code changes, and is exists purely for administrative purposes.

@weissi weissi released this Aug 29, 2018 · 73 commits to master since this release

Assets 2

SemVer patch

  • fixed Swift 4.0 compilation, apologies

@weissi weissi released this Aug 29, 2018 · 73 commits to master since this release

Assets 2

Semver Patch

  • allow two distinct ChannelOptions of one type (#597)
  • don't crash when Channel goes inactive in read triggered by write error (#594)
  • pipeline handler: fix error state tracking (#595)
  • warn that ChannelHandlers should be instantiated within initializer closures (#590)
  • Fix readme erroneous statement regarding channel pipeline (#592)
  • fix limits on 32-bit systems to values that work (#580)
  • better documentation for MultiThreadedEventLoopGroup (#582)
  • Enhanced the output of the NIOEchoClient Example (#585)
  • Typo in EchoServer example (#583)
  • unify dead pointer dummy values (#579)
  • Make tests work on 32-bit (#486)
  • output a hint if we get a reset connection w/o error set (#573)
  • run a netstat if there's a socket leak in integration tests (#576)
  • make ByteBuffer._Storage.fullSlice a computed property (#560)
  • add forgotten selfs (#574)
  • Add Cocoapods podspec generation. (#568)
  • fix Posix.fcntl return type (#575)
  • fix no leak tests for RepeatedTask (#569)
  • put the compare perf script into the repo (#564)
  • script to list the topsorted dependencies (#562)
  • advertise NIOTS a bit more (#557)
  • Make withUnsafeMutable{Readable,Writable}Bytes inlinable. (#558)
  • Added links to documentation in README.md (#532)
  • fix races in RepeatedTasks and its tests (#555)
  • tests hygiene: a lot fewer naked trys (#552)
  • Make bad websocket parser states unrepresentable. (#547)
  • switch Socket API to Unsafe(Mutable)RawBufferPointers (#540)
  • more debugging for flaky tests (#545)
  • Simplify C string to String conversion in IOError.reasonForError (#544)

@Lukasa Lukasa released this Aug 10, 2018 · 73 commits to master since this release

Assets 2

This release contains no code changes, and is exists purely for administrative purposes.

@Lukasa Lukasa released this Aug 10, 2018 · 73 commits to master since this release

Assets 2

Semver Patch

  • Removed an unnecessary import in CNIOAtomics that could cause clang to error out when compiled in strict warnings modes. (#561)
  • Removed an implicit integer conversion in CNIODarwin that could cause clang to error out when compiled in strict warnings modes. (#566)

@Lukasa Lukasa released this Aug 1, 2018 · 73 commits to master since this release

Assets 2

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)

@weissi weissi released this Jun 27, 2018 · 117 commits to master since this release

Assets 2

Semver Patch

@weissi weissi released this Jun 27, 2018 · 150 commits to master since this release

Assets 2

Semver Patch