Skip to content

Releases: apple/swift-nio

SwiftNIO 2.32.2

08 Sep 16:00
f2705f9
Compare
Choose a tag to compare

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

02 Sep 15:58
4d8b27e
Compare
Choose a tag to compare

SemVer Patch

  • Add missing implementation of subscript(_ bounds:) to StaticString (#1947, patch credit to @baarde)

SwiftNIO 2.32.1

19 Aug 10:09
94f41c4
Compare
Choose a tag to compare

SemVer Patch

  • [Concurrency] completeWithTask expects to receive a @Sendable closure (#1943)

SwiftNIO 2.32.0

17 Aug 16:49
0f6a62a
Compare
Choose a tag to compare

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

  • Extract PriorityQueue to its own module. (#1932)
  • Our readme should be clearer about our products. (#1934, #1940)
  • Clean up dependencies and imports. (#1935)
  • Re-add NIO as a dependency of our library targets. (#1937)

SwiftNIO 2.31.1

05 Aug 08:23
9a992ee
Compare
Choose a tag to compare

SemVer Patch

  • Add setters to complete implementations of MutableCollection (#1925) (#1926) (patch credit to @glessard)

SwiftNIO 2.31.0

04 Aug 09:54
87c5323
Compare
Choose a tag to compare

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

  • Make ByteBuffer unconditionally use zero-copy for JSON Decoding (#1889) (patch credit to @pejato)
  • Remove deprecated NIO1APIShims (#1893, #1897) (patch credit to @glessard)

SwiftNIO 2.30.0

23 Jun 11:57
d79e333
Compare
Choose a tag to compare

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

07 May 11:36
d161bf6
Compare
Choose a tag to compare

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

27 Apr 11:17
21782f3
Compare
Choose a tag to compare

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 CInts 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

15 Mar 10:32
3be4e09
Compare
Choose a tag to compare

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)