Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 1.10.0
Semver Minor
- Added support for UDP multicast. (#618)
- Improved detection of users calling
EventLoopFuture.wait()
on someEventLoo 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
, andUnsafeMutableBufferPointer
toContiguousCollection
to improve write speeds. (#586) - Add
@discardableResult
toByteBuffer.readWith*
methods. (#549) - Improved
HTTPHeaders.isKeepAlive
to check all values in Connection header. (#414) - Made
HTTPHeaderIndex
&HTTPHeader
structures public, as well asHTTPHeade rs.createHeaderBlock(buffer:headers:)
andHTTPHeaders.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 propagatechannelActive
. (#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)
SwiftNIO 1.9.5
This release contains no code changes, and is exists purely for administrative purposes.
SwiftNIO 1.9.4
SemVer patch
- fixed Swift 4.0 compilation, apologies
SwiftNIO 1.9.3
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
try
s (#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)
SwiftNIO 1.9.2
This release contains no code changes, and is exists purely for administrative purposes.
SwiftNIO 1.9.1
SwiftNIO 1.9.0
Semver Minor
- Added an API for scheduling repeated tasks on an
EventLoop
, viaEventLoop.scheduleRepeatedTask
, as well as a newRepeatedTask
type. (#488) - Made
CircularBuffer
conform toBidirectionalCollection
,RandomAccessCollection
, andRangeReplaceableCollection
, substantially increasing its utility. (#466) - Split error-handling for
WebSocketFrameDecoder
out to a newChannelHandler
,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
EventLoop
s in anEventLoopGroup
. (#509) - Deprecated
ByteBuffer.changeCapacity
, replaced it withByteBuffer.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 aByteBuffer
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
SelectableEventLoop
s instead of ignoring them. (#521) - Forward debugging information when chaining
Future
s usingmapIfError
. (#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)
SwiftNIO 1.7.3
Semver Patch
- Fixed buffer overflow in ByteBuffer (CVE-2018-4281)
SwiftNIO 1.6.2
Semver Patch
- Fixed buffer overflow in ByteBuffer (CVE-2018-4281)
SwiftNIO 1.5.2
Semver Patch
- Fixed buffer overflow in ByteBuffer (CVE-2018-4281)