Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.3.0
Semver Minor
- Enable
TCP_NODELAY
by default on all TCP channels. (#1020) - Enabled heuristic to control whether NIO will copy data from
ByteBuffer
toData
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
SwiftNIO 2.1.1
SemVer Patch (repair accidental SemVer Major)
- undo tiny public API breakage #1008
SwiftNIO 2.1.0
Semver Minor
- Added an API to construct a
ByteBuffer
from aByteBufferView
. (#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
toRawRepresentable
with a raw type ofString
. (#976) - Added an API to get a
ChannelHandler
from the pipeline. (#974) - Made
ChannelOptions.Storage
initializer public. (#988) - Renamed
WebSocketUpgrader
toNIOWebSocketServerUpgrader
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
inCircularBuffer
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
SwiftNIO 2.0.1
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
andEventLoopFuture.whenAllSucceed
. (#943) - Cleanups in examples. (#941, #953)
- Improved testing. (#956)
- Documentation improvements. (#932, #940, #949, #959)
SwiftNIO 1.14.1
Semver Patch
- Fixed an issue introduced in 1.14.0 that led to
EventLoopFuture.hopTo(_:)
accidentally being madeinternal
. (#963)
SwiftNIO 1.14.0
SwiftNIO 2.0.0
See our blog post announcing the release of SwiftNIO 2.0.0.