Skip to content

deps: update ngtcp2 to 1.26.0 - #67257

Open
nodejs-github-bot wants to merge 4 commits into
mainfrom
actions/tools-update-ngtcp2
Open

nodejs-github-bot wants to merge 4 commits into
mainfrom
actions/tools-update-ngtcp2

Conversation

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

This is an automated update of ngtcp2 to 1.26.0.

@nodejs-github-bot nodejs-github-bot added the dependencies PRs that add, update, or configure Node.js dependencies. label Nov 4, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator Author

Review requested:

  • @nodejs/quic
  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. quic Issues and PRs related to the QUIC transport implementation. labels Nov 4, 2026
@martenrichter

martenrichter commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

@pimterry Ok, it fails on an expected point, the new callback. This is covered in:
#65306
where the new callback is used to fix a bug?
Should I rebase this PR on this PR and we merge the other PR? Or what is the best way to do it?

@aduh95

aduh95 commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Ideally your PR would make Node.js compatible with both ngtcp2 ≤1.25 and ngtcp2 ≥1.26 if that makes sense. If so, your PR can land first, then this PR can land

@martenrichter

Copy link
Copy Markdown
Contributor

I can do it. But the problem is the test introduced with the PR, as it tests the problem that needs the new version from ngtcp2.

@pimterry

pimterry commented Nov 5, 2026

Copy link
Copy Markdown
Member

@martenrichter I'll fix up this PR. The build break is easy, but it looks like there's quite a few tests that fail, presumably due to other ngtcp2 changes. I'll push fixes here soon and then can merge this when that's resolved.

Fix build failure due to new callback
Fix test failure: in the first test, we wait for stream then destroy it
immediately. It looks like this ngtcp2 version fixes a bug where the
error was never delivered to the remote peer in that case, but it now
is, so the test needs to handle it.
ngtcp2 path validation timeouts now trigger retries in
ngtcp2_conn_handle_expiry, which breaks tests where this happens while
draining (when we shouldn't be sending anything at all - no retries). We
can safely skip all expired timer handling once draining starts, which
neatly guards against this and any other similar timers. OnTimeout here
is firing for the drain timeout itself, managed by Node not ngtcp2,
which we handle separately.
@pimterry

pimterry commented Nov 5, 2026

Copy link
Copy Markdown
Member

3 separate fixes here, I've added them as separate fixups with explanations in the message for easier review. I think that covers everything, works for me, hopefully this'll pass the CI check 🤞

@aduh95 aduh95 added author ready PRs with CI started, the required approvals, and no outstanding review comments. request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. commit-queue-squash PRs the Commit Queue should land as one squashed commit. labels Nov 5, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 5, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator Author

@codecov

codecov Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.69%. Comparing base (3b209b2) to head (a86669f).
⚠️ Report is 20 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #67257      +/-   ##
==========================================
+ Coverage   90.68%   90.69%   +0.01%     
==========================================
  Files         797      797              
  Lines      279367   279491     +124     
  Branches    53737    53766      +29     
==========================================
+ Hits       253344   253487     +143     
+ Misses      16319    16300      -19     
  Partials     9704     9704              

see 39 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. commit-queue-squash PRs the Commit Queue should land as one squashed commit. dependencies PRs that add, update, or configure Node.js dependencies. needs-ci PRs that need a full CI run. quic Issues and PRs related to the QUIC transport implementation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants