Skip to content

Move the blog CMS from Node 22 to Node 26 #34

Open

Description

@ecv

The blog CMS runs on Node 22, and Node 22 support ends in April 2027, two years before Node 26's. Node 26 is on Strapi's supported list, but the CMS cannot install on it today, because better-sqlite3 11.3.0 ships no binary past Node 22 and fails to compile on 24 and 26. A trial on a branch for #32 installed, linted and built cleanly on Node 26.12.1 after better-sqlite3 moved to 13.0.3 and the engines range to 22 through 26.

Acceptance criteria

  • better-sqlite3 and the engines range allow Node 26, in a PR whose CI runs on Node 26
  • Strapi Cloud deploys the CMS on Node 26, read from the dashboard's General tab
  • The CI Node version and the Strapi Cloud setting match after the change

Related to #30

Activity

  1. ecv commented on Nov 1, 2026

    @ecv
    ContributorAuthor

    Current Node pins on the default branch, read 2026-11-01: .nvmrc 22, which CI reads, and engines.node >=22.19.0 <=24.x.x.

    Moved in #39. Results in the official Debian trixie images, main on Node 22.23.4 against the pull request on Node 26.13.0:

    Step main, Node 22 main, Node 26 PR, Node 26
    npm ci pass fails pass
    npm run lint pass not reached pass
    strapi build, production pass not reached pass
    started server: /_health, /admin 204, 200 not reached 204, 200
    /api/users-permissions/roles, /graphql 403, 400 not reached 403, 400
    • On main, npm ci fails on Node 26 because better-sqlite3 11.3.0 compiles from source and Node 26's V8 dropped Object::GetPrototype. The pull request moves it to 12.11.1, which ships a Node 26 prebuild. The pull request also passes on Node 22.
    • Strapi 5.59 declares Node 20 through 26.
    • Source search for APIs removed between Node 22 and 26 found none.
    • The CMS deploys to Strapi Cloud, which picks its Node line from the project settings, not from this repo. The engines range keeps its Node 22 floor so a deploy still on 22 or 24 does not break. Moving the hosted runtime to 26 is a settings change that should follow, once Strapi Cloud offers Node 26. Until then this issue stays open.
  2. ecv commented on Nov 1, 2026

    @ecv
    ContributorAuthor

    #39 merged on 1 Nov at 12:05Z, which meets the first criterion. The Strapi Cloud runtime setting is the one item left, once Strapi Cloud offers Node 26.

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions