Skip to content

Bump h2 from 4.3.0 to 4.4.1 - #1251

Merged
Sean Pollock (seanavery) merged 3 commits into
mainfrom
dependabot/uv/h2-4.4.1
Aug 12, 2026
Merged

Bump h2 from 4.3.0 to 4.4.1#1251
Sean Pollock (seanavery) merged 3 commits into
mainfrom
dependabot/uv/h2-4.4.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 8, 2026

Copy link
Copy Markdown
Contributor

Bumps h2 from 4.3.0 to 4.4.1.

Changelog

Sourced from h2's changelog.

4.4.1 (2026-08-03)

Bugfixes

  • Performance improvement: remove consumed frames in-place from data buffer.
  • Reject duplicate Host headers in request headers. Thanks to Sunand Mohan for the report.

4.4.0 (2026-07-23)

API Changes (Backward Incompatible)

  • Support for Python 3.9 has been removed.
  • Support for PyPy 3.9 has been removed.
  • Stream.end_stream() now raises NoSuchStreamError or StreamClosedError exceptions, instead of a generic KeyError.
  • Duplicate content-length headers with different values now raise ProtocolError. Previously, the first content-length header was accepted and later conflicting values were ignored. Thanks to Harshal Parekh for the report.
  • Parse content-length headers according to RFC9110 grammar for numbers (1*DIGIT). Thanks to Arkadiusz Marta for the report.
  • backfill from v4.3.0 Convert emitted events into Python dataclass, which introduces new constructors with required arguments. Instantiating these events without arguments, as previously commonly used API pattern, will no longer work.

API Changes (Backward Compatible)

  • Support for Python 3.14 has been added.
  • H2Connection.receive_data now accepts any byte-like object that implements the buffer protocol, such as bytes, bytearray, and memoryview. Existing bytes callers are unaffected.
  • Align CONNECT pseudo-header validation with RFC 9113 s8.3 and RFC 8441 s4. Ordinary CONNECT now requires :method=CONNECT and :authority, and forbids :scheme/:path. Extended CONNECT (e.g., WebSocket) requires :scheme, :path, :authority plus :protocol. (PR #1309)
  • Fix incorrect substring matching of secure header in cookie and :method.

Bugfixes

  • Fix to allow sending 0 bytes on a stream even if the flow control window is negative.
  • Reject non-zero SETTINGS_ENABLE_PUSH values received from servers.
Commits
  • bc239af v4.4.1
  • 92b925e add test for duplicate host headers
  • 292a408 reject duplicate Host headers in request headers
  • 04d3b87 update changelog
  • 439b970 prepare for next release cycle
  • 9a7ff74 performance: remove consumed frames in place from data buffer (#1321)
  • 6cce763 v4.4.0
  • dfafda3 Bump pytest from 8.4.2 to 9.0.3 (#1320)
  • b45207c dependencies and packaging++
  • c40145f parse content-length headers according to RFC9110 grammar for numbers (1*DI...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [h2](https://github.com/python-hyper/h2) from 4.3.0 to 4.4.1.
- [Changelog](https://github.com/python-hyper/h2/blob/master/CHANGELOG.rst)
- [Commits](python-hyper/h2@v4.3.0...v4.4.1)

---
updated-dependencies:
- dependency-name: h2
  dependency-version: 4.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 8, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 8, 2026 08:32
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 8, 2026
h2 4.4.0+ declares its MIT license only via the PEP 639 License-Expression
metadata field, which license_finder cannot read, so it reports the license
as unknown. Unpin the approval so future h2 releases don't break the check.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@seanavery

Copy link
Copy Markdown
Member

Pushed a fix for the failing License Finder check: unpinned the h2 approval in doc/dependency_decisions.yml (was pinned to 4.4.0 only).

Context: h2 is MIT-licensed, but since 4.4.0 it declares this only via the PEP 639 License-Expression metadata field, which license_finder can't read — so it reports the license as "unknown" and the check fails. This was breaking every PR (the workflow does a fresh resolve against PyPI, so it picks up h2 4.4.1 regardless of the lockfile). Approving all versions so future h2 releases don't break the check again.

Note: don't @dependabot rebase this PR — it would discard the fix commit.

CI runs are intermittently failing with curl exit 56 (recv error) or a
corrupt .so (curl -L without -f saves CDN error pages as the library,
causing 'invalid ELF header' in every FFI test). Add -f so HTTP errors
fail the download, and retry transient failures.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread etc/postinstall.sh
curl -sL -o src/viam/rpc/libviam_rust_utils.so https://github.com/viamrobotics/rust-utils/releases/latest/download/libviam_rust_utils-linux_$(uname -m).so
curl -fsSL --retry 5 --retry-all-errors --retry-delay 2 -o src/viam/rpc/libviam_rust_utils.so https://github.com/viamrobotics/rust-utils/releases/latest/download/libviam_rust_utils-linux_$(uname -m).so
elif [ "$(uname)" == "Darwin" ]; then
curl -sL -o src/viam/rpc/libviam_rust_utils.dylib https://github.com/viamrobotics/rust-utils/releases/latest/download/libviam_rust_utils-macosx_$(uname -m).dylib

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curl was failing here often, simple retry loop resilience

@seanavery
Sean Pollock (seanavery) merged commit 4469e11 into main Aug 12, 2026
13 checks passed
@seanavery
Sean Pollock (seanavery) deleted the dependabot/uv/h2-4.4.1 branch August 12, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant