Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.22.1
SwiftNIO 2.22.0
SwiftNIO 2.21.0
Semver Minor
- Define
EventLoopGroupProvider
type for third-party libraries to use the common pattern of asking users forEventLoopGroup
s. (#1609) (patch credit to @pokryfka) - Deprecated
ByteBuffer.clear(minimumCapacity:)
which used a typealias for anInt32
as an argument to one that uses anInt
instead. (#1610) - Enhanced
NIOFoundationCompat
to provide fast-path for writingDataProtocol
andContiguousBytes
conforming types intoByteBuffer
s. (#1615) - Fixed an issue where server channels would be closed due to
EINVAL
firing unexpectedly on Apple platforms, and changed the error reporting in these cases. (#1598) (patch credit to @cyberdelia)
Semver Patch
- Improved performance of task scheduling by reducing refcounting in our
Heap
implementation. (#1614) - Made the
epoll
implementation available on Android. (#1621) (patch credit to @compnerd)
Other
SwiftNIO 2.20.2
Semver Patch
- Fixed error including non-modularised header when compiling SwiftNIO from SwiftPM-generated Xcode project. (#1605)
SwiftNIO 2.20.1
SemVer Patch
- Don't use 0xdeadbeef for dead pointers as it breaks some iOS builds. (#1604)
SwiftNIO 2.20.0
SemVer Minor
- Define NIOBSDSocket namespace (#1471, patch credit to @compnerd)
- Explicit Congestion Notification for UDP (#1473, #1587, #1590, #1591, #1593, #1594, #1596)
SemVer Patch
- Improve performance when removing the last element of a CircularBuffer (#1584, patch credit to @luoxiu)
- Improve pointer hygeine in SocketAddresses.swift (#1588)
Other Changes
- Don't install Jazzy on Xenial (#1597)
SwiftNIO 2.19.0
SemVer Minor
- ClientBootstrap: allow binding sockets (#1490)
- Shorthand way of setting options in universal bootstrap (#1547)
- Allow EmbeddedEventLoop to advanceTime(to:) a deadline (#1557)
- Make
TimeAmount
Hashable
(#1571) - Make array ByteBuffer initialiser public (#1573)
SemVer Patch
- Add synchronous option to Trunk push (#1551, patch credit to @Jake-Prickett)
- Fix RepeatedTask scheduling logic to run on the correct EL (#1567)
- Fix a couple of small cosmetic issues (#1582, patch credit to @gwynne)
- Update supported version in README (#1517)
- Execute tasks scheduled at the same time in order on EmbeddedEventLoop (#1540)
- Fix inappropriate language in NIO (#1554)
- HTTP: assert that user doesn't set CL & TE:chunked (#1556)
- Properly allow ThreadPool to be started multiple times. (#1572)
- Various small issues (#1560)
- Various small testing improvements (#1583, #1581, #1578, #1569, #1566, #1565, #1562, #1549)
SwiftNIO 2.18.0
SemVer Minor
- ClientBootstrap: allow binding sockets (#1490)
- ByteBuffer: add convenience initialisers (#1533)
- PipeBootstrap: fix file type change & accept 1 fd (#1543)
- Channel option to enable ECN reporting (#1506)
- Make SocketAddress Hashable. (#1532)
SemVer Patch
- fix cores count in containers (#1518, patch credit to @gautierdelorme)
- don't blow up if schedule happens during EL shutdown (#1530)
- workaround SR-12939 (#1546)
- remove fullFilePath() hack (#1544)
- remove XCTest expectations with timeouts (#1539)
- silence the #file used instead of #filepath warning (#1526)
- crash tester test suite (#1536)
- Fine grained UDP allocation tests (#1534)
- Finer grained allocation tests (#1531)
- thread takeover: test it unsets current EL (#1529)
- HTTPEncoder: fix 0 length chunks (#1524)
- Supply allocation limits for UDP allocation tests (#1523)
- Detail the best way to request a re-review (#1522)
- Extra information to contributors (#1491)
- fix linker check test (#1519)
- Add a note about failing child channel initializers (#1516)
- survive having disableSIGPIPE fail (#1515)
SwiftNIO 2.17.0
Semver Minor
- Added a new
BSDSocket
namespace, containingBSDSocket.OptionLevel
andBSDSocket.Option
for use when configuring socket options. (#1461, #1467, #1470, #1510) (Patch credit to @compnerd) - Added
BSDSocket.ProtocolFamily
andBSDSocket.AddressFamily
to replace the libc spelling for socket address families. (#1468, #1469) (Patch credit to @compnerd) - Added ECN metadata to
AddressedEnvelope
. This functionality is currently unused, but will be enabled in a future release. (#1502) - Added
ByteBuffer.writeRepeatingByte
method to provide a fastmemset
-like operation. (#1500) - Added
EventLoop.preconditionNotInEventLoop
andEventLoop.assertNotInEventLoop
to match existingEventLoop.preconditionInEventLoop
andEventLoop.assertInEventLoop
. (#1508) (Patch credit to @gwynne) - Added
MultithreadedEventLoopGroup.withCurrentThreadAsEventLoop
to support taking over an existing thread and turning it into a NIO event loop. This allows NIO programs to now be single-threaded. (#1499) - Added
EventLoop.flatScheduleTask
to provide a cleaner way to support a scheduled task that returns a future. (#1497) (Patch credit to @gwynne)
Semver Patch
- Fixed an error in the UDP echo client example where the socket would not be closed after receiving the response. (#1501)
- Cleaned up uniqueness checking in NIOHTTP1. (#1507) (Patch credit to @shekhar-rajak)
- New UDP allocation tests. (#1496)
- Improved allocation counter tests. (#1476)
- Improved allocation diffing script. (#1513)
- Removed warnings. (#1481, #1493)
- Documentation improvements. (#1474, #1482, #1483, #1505)
- Added Swift 5.3 CI. (#1498)