swift-nio-http2

1.36.0

HTTP/2 support for SwiftNIO
apple/swift-nio-http2

What's New

SwiftNIO HTTP/2 1.36.0

2025-04-23T09:28:07Z

What's Changed

SemVer Minor

  • Better handle new streams when server is quiescing by @glbrntt in #481
  • Allow max reset stream frames to be configured by @glbrntt in #494
  • Strict concurrency for NIOHPACK by @glbrntt in #502
  • Strict concurrency for pipeline helpers by @glbrntt in #503
  • Add explicit Sendable annotations by @glbrntt in #505
  • Provide a senable view over the stream multiplexer by @glbrntt in #506

SemVer Patch

Other Changes

  • Update release.yml by @FranzBusch in #489
  • update benchmark thresholds to nightly 6.1 by @rnro in #491
  • CI use 6.1 nightlies by @rnro in #490
  • Rename nightly_6_1 params to nightly_next by @rnro in #495
  • move nightly-next thresholds and add legacy symlink by @rnro in #496
  • Delete Thresholds/nightly-6.1.json symlink by @rnro in #497
  • Only apply standard swift settings on valid targets by @rnro in #498
  • Update main.yml integration tests to use swift_test_matrix by @rnro in #499
  • Enable macOS CI on merge to main and daily timer by @rnro in #504
  • Strict concurrency for perf tests and the h2 server by @glbrntt in #509
  • Strict concurrency for tests by @glbrntt in #507
  • Enable macOS CI on pull requests by @rnro in #510
  • Switch h2Spec tests to newer Swift test matrix by @rnro in #511
  • Enable Swift 6.1 jobs in CI by @rnro in #512
  • update thresholds by @rnro in #513

Full Changelog: 1.35.0...1.36.0

SwiftNIO HTTP/2

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

Building

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

$ swift build
$ swift test

Versions

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.7 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 ..< 1.27.0 5.5.2
1.27.0 ..< 1.29.0 5.6
1.29.0 ..< 1.31.0 5.7
1.31.0 ... 5.8

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.

Description

  • Swift Tools 5.9.0
View More Packages from this Author

Dependencies

Last updated: Thu May 15 2025 04:53:13 GMT-0900 (Hawaii-Aleutian Daylight Time)