Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.6.1
SwiftNIO 2.6.0
Semver Minor
- Fixed a crash when a client received an unsolicited HTTP response: now errors instead. (#1084)
Semver Patch
- Fixed an issue where
handlerRemoved
could be called multiple times, leading to crashes inByteToMessageDecoder
s. (#1091) - Enhanced
MultiThreadedEventLoopGroup
to support being shut down multiple times. (#1085, #1089) - Prevented
ByteBuffer.viewBytes
from crashing when passing it a negative length. (#1082) - Testing improvements. (#1086, #1090)
- New WebSocket client example. (#1064, #1087)
SwiftNIO 2.5.1
SemVer Patch
- Make pipeline handler behave better when removed (#1080)
SwiftNIO 2.5.0
Semver Minor
- Deprecated and replaced
ByteBuffer.set(buffer:at:)
withByteBuffer.setBuffer(_:at:)
. (#1078)
Semver Patch
- Enforced that shutting down
EventLoopGroup
s not directly created by you is illegal. (#1055) - Improved performance of
EventLoopFuture.reduce
. (#1069, #1070) - Fixed an issue when subtracting two
NIODeadline
structures could lead to a crash. (#1074) - Miscellaneous testing improvements. (#1062, #1067, #1068, #1076, #1077, #1079)
SwiftNIO 2.4.0
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)