Skip to content

SwiftNIO 2.28.0

Compare
Choose a tag to compare
@weissi weissi released this 27 Apr 11:17
· 880 commits to main since this release
21782f3

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)