HTTP/2 support for SwiftNIO

What's New

SwiftNIO HTTP/2 1.26.0


SemVer Minor

SemVer Patch

  • Avoid an allocation in the outbound frame buffer (#385)
  • Replace estimatedFrameSize with flowControlledSize and only count DATA frames (#387, #388)

Other Changes

  • Make soundness check aware of 2023 (#378)
  • Add regression testing for docs and fix the issues. (#389)
  • Add docker-compose file for Swift 5.9 (#390)


This project contains HTTP/2 support for Swift projects using SwiftNIO. To get started, check the API docs.


swift-nio-http2 is a SwiftPM project and can be built and tested very simply:

$ swift build
$ swift test


Just like the rest of the SwiftNIO family, swift-nio-http2 follows SemVer 2.0.0 with a separate document declaring SwiftNIO's Public API.

swift-nio-http2 1.x

swift-nio-http2 versions 1.x are a pure-Swift implementation of the HTTP/2 protocol for SwiftNIO. It's part of the SwiftNIO 2 family of repositories and does not have any dependencies besides swift-nio and Swift 5. As the latest version, it lives on the main branch.

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

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

The most recent versions of SwiftNIO HTTP/2 support Swift 5.5.2 and newer. The minimum Swift version supported for SwiftNIO HTTP/2 releases are detailed below:

SwiftNIO HTTP/2 Minimum Swift Version
1.0.0 ..< 1.18.0 5.0
1.18.0 ..< 1.21.0 5.2
1.21.0 ..< 1.23.0 5.4
1.24.0 ... 5.5.2

swift-nio-http2 0.x

The legacy swift-nio-http 0.x is part of the SwiftNIO 1 family of repositories and works on Swift 4.1 and newer but requires nghttp2 to be installed on your system. The source code can be found on the nghttp2-support-branch.

Developing SwiftNIO HTTP/2

For the most part, SwiftNIO development is as straightforward as any other SwiftPM project. With that said, we do have a few processes that are worth understanding before you contribute. For details, please see CONTRIBUTING.md in this repository.


  • Swift Tools 5.6.0
View More Packages from this Author


Last updated: Thu Jun 01 2023 00:04:11 GMT-0500 (GMT-05:00)