Useful code around SwiftNIO.

What's New

SwiftNIO Extras 1.21.0


SemVer Minor

  • HTTPType channel handlers RemovableChannelHandler conformance (#213, patch credit to @adam-fowler)

SemVer Patch

  • Changes for Musl support. (#211, patch credit to @al45tair)
  • Don't reserve capacity for NIOPCAPRingBuffer (#209)

Other Changes

  • Add retroactive marker to test conformances (#212)
  • Add missing availability guards in tests (#214)


NIOExtras is a good place for code that is related to NIO but not core. It can also be used to incubate APIs for tasks that are possible with core-NIO but are cumbersome today.

What makes a good contribution to NIOExtras?

  • a protocol encoder/decoder pair (also called "codec") that is often used but is small enough so it doesn't need its own repository
  • a helper to achieve a task that is harder-than-necessary to achieve with core-NIO

Code Quality / Stability

All code will go through code review like in the other repositories related to the SwiftNIO project.

swift-nio-extras part of the SwiftNIO 2 family of repositories and depends on the following:

  • swift-nio, version 2.30.0 or better.
  • Swift 5.7.1
  • zlib and its development headers installed on the system. But don't worry, you'll find zlib on pretty much any UNIX system that can compile any sort of code.

To depend on swift-nio-extras, put the following in the dependencies of your Package.swift:

.package(url: "https://github.com/apple/swift-nio-extras.git", from: "1.0.0"),

Support for older Swift versions

The most recent versions of SwiftNIO Extras support Swift 5.7.1 and newer. The minimum Swift version supported by SwiftNIO Extras releases are detailed below:

SwiftNIO Extras Minimum Swift Version
1.0.0 ..< 1.10.0 5.0
1.10.0 ..< 1.11.0 5.2
1.11.0 ..< 1.14.0 5.4
1.14.0 ..< 1.19.0 5.5.2
1.19.0 ..< 1.20.0 5.6
1.20.0 ... 5.7.1

On the nio-extras-0.1 branch, you can find the swift-nio-extras version for the SwiftNIO 1 family. It requires Swift 4.1 or better.

Current Contents


  • Swift Tools 5.7.1
View More Packages from this Author


Last updated: Fri Mar 01 2024 09:13:02 GMT-1000 (Hawaii-Aleutian Standard Time)