Skip to content

Late November/december 2026: toolchain and library updates #10

Closed

Description

@Nawid3333

@Nawid3333 Batched toolchain and library updates, planned for November 2026. Everything here was assessed on 2026-09-25; the tests named ran the full pnpm run verify.

1. Node.js in CI: 22 → 26

  • Node 26 becomes LTS in late October; switch then. node-version: 22 in the workflows (ci, release, patched-libraries, amo-signing-failsafe, toolchain-updates) and .nvmrc.
  • Your machine already runs Node 26, and every local verify on 2026-09-25 passed on it. None of the 937 installed packages excludes Node 22, 24 or 26.
  • Nothing changes for users: Node only builds and tests the extension. Node 22 is supported until April 2027, so this is not urgent.
  • The weekly Toolchain updates workflow opens a pull request when 26 is LTS (since ci: update PRs merge themselves when they ship nothing, and report the rest #60 it changes .nvmrc only; every workflow reads it).

2. pnpm: 11.22.0 → latest 11.x (done)

  • 11.27.1 tested: clean. Frozen install OK, re-resolving leaves pnpm-lock.yaml byte-identical (still one document), full verify green.
  • Done: 11.27.1 is pinned (Toolchain update: pnpm 11.27.1 #62). Newer 11.x releases now come as pull requests that merge themselves.

3. pnpm 12: only once Dependabot supports it

  • 12.6.0 tested: works - install, lockfile (no dependency changed, Coloris untouched) and full verify all green.
  • Blocked: pnpm 12 writes pnpm-lock.yaml as two YAML documents, and GitHub's dependency graph reads only the first (pnpm's own binaries), so it would see none of FastStream's dependencies - Dependabot alerts, security updates and the dependency review would go quiet. dependabot/dependabot-core#15904.
  • The weekly Toolchain updates workflow opens a pull request once that is fixed.

4. Patched libraries (own issues from the Patched libraries workflow)

        - **dash.js 5.1.0 → 5.2.1** (minor): re-cut the patch, verify.(already done)
        - **mp4box 0.5.3 → 2.4.1** (major, a rewrite): decide whether to take it; close its issue to skip. (already done)

5. More updates that merge themselves (todo, added 2026-09-30)

You decided to do these later, yourself. Each one is a small change in .github/workflows/update-prs.yml, in its list "Why this one waits for the owner".

  • Node.js majors (branches toolchain/node-*). Today every one waits: "a new Node.js major is your decision". Let them merge themselves once CI is green and the extension build is unchanged. Node only builds and tests the extension; nothing it does reaches Firefox. Do this after the Node 26 pull request from item 1, so that one still gets your look.
  • Dev-tool majors from Dependabot (vitest 6, eslint 11 and the like). Today a pull request that holds a major waits: "it holds a major version: read its release notes". Riskier than Node: a new major of a test runner or linter can change what the tests check without CI going red. If you do it, keep Dependabot's 5-day cooldown.

Both run on your PC after pnpm install, so the supply-chain guards matter for them as for the minor updates: the 5-day cooldown, pnpm running no install scripts except esbuild's and geckodriver's, and pnpm's minimum release age.

Not needed

How

One PR for all of it, pnpm run verify locally, CI green, merge - one release.

The Reminders workflow comments here on November 1 (label reminder: november).

Activity

  1. added this to the November 2026 milestone on Sep 25, 2026
  2. self-assigned this
    on Sep 25, 2026
  3. changed the title [-]November 2026: toolchain and library updates[/-] [+]Late November 2026: toolchain and library updates[/+] on Sep 25, 2026
  4. Nawid3333 commented on Sep 25, 2026

    @Nawid3333
    OwnerAuthor

    @Nawid3333 Where this stands after 2026-09-25, and the checklist for the November PR.

    Done since this issue was written

    Dates

    • ubuntu-latest moves to 26.04 between Oct 19 and Nov 19. During that window a CI job can land on either version. 26.04 already passes, locally and in runner-images.yml.
    • Node 26 becomes LTS in late October. Node 22 is supported until April 2027.

    The November PR, in order

    1. Node 22 → 26: node-version in every workflow and in .nvmrc. WSL follows ci.yml automatically. This closes Toolchain update: Node.js 24 #11 and the Node 26 issue that will replace it.
    2. pnpm → the newest 11.x (11.28.0 on 2026-09-25).
    3. pnpm 12, only if pnpm v12 env lockfile document is parsed as an empty dependency graph dependabot/dependabot-core#15904 is fixed.
    4. A fresh check of everything: pnpm outdated, open Dependabot PRs, the Patched libraries workflow, Firefox stable and beta.
    5. Run pnpm run verify (Windows) and pnpm run verify:linux (24.04 and 26.04). Then open the PR, wait for CI, merge.
  5. modified the milestone: November 2026 on Sep 26, 2026
  6. changed the title [-]Late November 2026: toolchain and library updates[/-] [+]Late November/december 2026: toolchain and library updates[/+] on Sep 26, 2026
  7. Nawid3333 commented on Sep 29, 2026

    @Nawid3333
    OwnerAuthor

    actions/runner-images#14748

    Ubuntu runner change

  8. Nawid3333 commented on Sep 29, 2026

    @Nawid3333
    OwnerAuthor

    @Nawid3333 Since #60, most of this batch arrives by itself as pull requests. CI tests each one.

    1. Node.js 22 → 26:

    • .nvmrc is now the only place that names the Node major. Every workflow reads it.
    • The weekly Toolchain updates run (Mondays) opens a PR that changes .nvmrc once 26 is LTS, in late October.
    • That PR waits for you. Its CI result reaches you as an @mention email.
    • Early look, 2026-09-29: CI passed on Node 26.10.0, covering lint, 618 unit tests, the build, and every e2e suite on Linux and Windows (run).

    2. pnpm → latest 11.x:

    • The same weekly run opens a PR that changes only packageManager.
    • update-prs.yml merges it when all of these hold:
      • CI is green on the unchanged lockfile (--frozen-lockfile);
      • the built extension is identical to the last release, so nothing is released.
    • If it fails, it waits for you and you get an email.

    3. pnpm 12: the weekly run opens its PR only once dependabot/dependabot-core#15904 is closed, and that PR waits for you.

    4. Patched libraries: unchanged. There is one PR or issue per library, and a newer version now closes the older one.

    Other npm updates (Dependabot):

    • A tooling minor or patch update merges itself when CI is green and the build is identical.
    • A shipped library or a major update waits for you.

    All update sources are listed in docs/maintenance.md.

    This issue stays open as your November reminder. What's left for you by hand is merging the Node 26 PR, and later pnpm 12.

  9. Nawid3333 commented on Oct 1, 2026

    @Nawid3333
    OwnerAuthor

    All four PRs that make this issue's batch are merged (squashed, each CI-green):

    Items 1 (#119, Node 26 in CI), 2 (pnpm 11.27.1+, merged updates since) and 4 (dash.js 5.2.1, mp4box decision) were done earlier. Item 3 (pnpm 12) still waits on dependabot/dependabot-core#15904, and item 5's Node/dev-tool majors wait for your November go-ahead — that is what the Reminders comment on November 1 is for.

    Closing this issue as planned: the batch is in, the November reminders carry it on.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions