Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.32.2
SemVer Patch
- Add safer abstraction for kqueue filter set. (#1951)
Other Changes
- Minor rewording to clarify the location of the NIO 1 to NIO 2 migration guide (#1945, patch credit to @tonyarnold)
- Update NIOAsyncAwaitDemo to use correct @available checks (post WWDC '21) (#1941)
- Add compiler setting for __APPLE_USE_RFC_3542 for CNIODarwin (#1942)
- Clarify the support status of NIO1 (#1949)
- Fix doc generation and jazzy version (#1950)
SwiftNIO 1.14.3
SwiftNIO 2.32.1
SemVer Patch
- [Concurrency]
completeWithTask
expects to receive a@Sendable
closure (#1943)
SwiftNIO 2.32.0
This version splits the NIO
module into three new submodules: NIOCore
, NIOPosix
and NIOEmbedded
. The NIO module remains as an empty shell, importing and reexporting the new submodules. Learn more about the different modules and their purposes in the Repository organization section in our Readme.
SemVer Minor
- Move generic NIO implementations to NIOCore (#1927, #1929, #1930, #1931)
- Move EmbeddedChannel to its own library. (#1933)
- Move NIO to NIOPosix, make NIO a shell. (#1936)
Other Changes
SwiftNIO 2.31.1
SwiftNIO 2.31.0
SemVer Minor
- Add support for inspecting ingress UDP packet info (#1888) (patch credit to @Austinpayne)
- Adds Equatable and ExpressibleByArrayLiteral conformance to ByteBufferView (#1886) (patch credit to @mcomisso)
SemVer Patch
SwiftNIO 2.30.0
SemVer Minor
- Add method to generate a random mask (#1824, patch credit to @dnadoba)
- Random WebSocket Request Key (#1855, patch credit to @dnadoba)
- Make Swift 5.2 the minimum requirement (#1860)
SemVer Patch
- Improving performance of base64 encoding by about 10% (#1862, patch credit to @mzaks)
- Made the extern to const in CNIODarwin (#1868, patch credit to @BastianInuk)
- Made the externs const in CNIOLinux (#1869, patch credit to @BastianInuk)
- Fix tests for 32-bit platforms, tested for Android armv7 (#1877, patch credit to @buttaface)
- http_parser: update vendored copy (#1822)
- Work around awkward SO_TIMESTAMP definition. (#1866)
Other Changes
- Add performance test for web socket client random request key (#1863, patch credit to @mzaks)
- Update _NIOConcurrency for Swift 5.5 latest changes (#1872, patch credit to @0xTim)
- #1714 Update Codec.swift (#1873, patch credit to @akash-55)
- Add async implementation of EventLoopGroup.shutdownGracefully to _NIOConcurrency (#1879)
- docs: formatting comments with double slash (#1881, patch credit to @Coeur)
- add Swift 5.5 job (#1845)
- Add alloc counter benchmark for result erasing maps. (#1858)
- Fix spelling of detach (#1865)
- Concurrency features are runtime-specific. (#1876)
SwiftNIO 2.29.0
SemVer Minor
- Added second implementation of liburing as discussed in #1761. (#1804, patch credit to @hassila)
- WebSocket Frame Aggregator (#1823, patch credit to @dnadoba)
SemVer Patch
- Reduce selector wakeups. (#1820)
- Rewrite RecvByteBufferAllocator. (#1850)
- Tests should tolerate cpusets. (#1853)
Other Changes
- CI: print out version info (#1821)
- Stop measuring alloc counts on 5.0 (#1826)
- Bring back accidental commented benchmark (#1833)
- ByteBufferTests: some extra tests around withUnsafeMutableReadableBytes (#1835, #1837)
- Update version support (new floor: Ubuntu 18.04) (#1838)
- Fev/lldb-smoker: LLDB smoke test using NIO (#1840)
- Use Swift 5.4 release docker image (#1843, #1851)
- Alloc limit updater: allow other repos (#1844)
- Dev/scripts: add missing license headers (#1852)
SwiftNIO 2.28.0
SemVer Minor
- Better error type for inactive thread pools (#1787)
- Add 'promise' versions of
EventLoopFuture.{and,when}All{succeed,complete}
(#1794) - Create
EmbeddedChannel
with multiple handlers (#1798)
SemVer Patch
- Add custom cleanup hook to allow PipeChannel to properly deregister during halfclose (#1793, patch credit to @hassila)
- Split Selector into separate files per backend. (#1795, patch credit to @hassila)
- Fix bug in
eventfd(initval: Int32, flags: Int32)
(#1797, patch credit to @hassila) - Add sequenceIdentifier to Registrations to handle outdated events (#1799, patch credit to @hassila)
- Make ChannelHandler removal cheaper. (#1784)
- Sometimes
@escaping
is a lie. (#1786) - refactor registration IDs (#1801)
- Change redundant 'public' access modifiers (#1803)
- generic integer bit packing (#1807)
- fix compilation on Ubuntu 14.04 and other old Linuxes (#1810)
- Fix crash: Create ByteBuffer Slice from ByteBuffer Slice after 16MB (#1813)
- implement
CircularBuffer.first
: to prevent allocs (#1814) - Selectors: make file descriptors
CInt
s everywhere (#1815) - Fewer allocations in
EventLoopFuture
chains (#1816, #1818) - Implement reserveCapacity for CircularBuffer. (#1819)
Other Changes
- add experimental async/await support in
_NIOConcurrency
(#1701, #1791, #1802) - Wrap concurrency code with
@available(macOS 9999, etc)
(#1809, patch credit to @adam-fowler) - Update documentation related to allocation troubleshooting on Linux and the ability to run unit tests in parallel (#1796, patch credit to @hassila)
- docker setup for main nightlies (#1752)
- Support multiple shared files in the allocation counter test framework (#1782)
- Update NIOSSH version in README (#1783)
- Add allocation counter tests handler add/remove (#1785)
- normalise alloc counter slack (#1789)
- disable tests on Swift
main
branch CI runs (#1790) - support qemu: qemu returns ENOPROTOOPT for unknown socket opts (#1806)
- alloc-limits-from-test-output: support more formats (#1812)
- script to download & apply alloc limits from Jenkins (#1817)
SwiftNIO 2.27.0
SemVer Minor
- Add synchronous channel options (#1755)
- Add assertion helpers for NIOHTTP1TestServer (#1760)
- Add synchronous helpers for HTTP1 pipeline setup (#1762)
- Use the pre-succeeded void future when possible for async pipeline operations (#1766)
SemVer Patch
- Decrease overhead of internal size table used in AdaptiveRecvByteBufferAllocator (#1775, patch credit to @hassila)
- Make HTTP Parser import implementationOnly (#1776)
Other Changes
- Add a security policy (#1736, #1777)
- Update contributors (#1754)
- README updates (#1757, #1774)
- Swift 5.4 docker setup (#1750)
- HTTP server upgrade tests: cosmetic improvements (#1763)
- 5.4 fixes: TSan still broken, assertion format change, alloc changes (#1764)
- Fix tests in release mode (#1769)
- Make stackdiff-dtrace.py a little more tolerant (#1771)
- Fix doc generation script (#1773)