Backend: Node 22.23.4 (security release, Node 16 EOL) #19
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
backmeupplz/todorant!19
Loading…
Reference in a new issue
No description provided.
Delete branch "node22-security"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Node.js shipped a security release on Oct 21 2026 and Node 16, 18 and 20 no longer get fixes. The backend was still on Node 16 (
node:16.20.2-bullseye-slim).Changes
backend/Dockerfile: both stages now usenode:22.23.4-bookworm-slim(published on Docker Hub today for amd64 and arm64; this also moves from Debian bullseye to bookworm)backend/.nvmrc:22, which CI readsbackend/README.md: "You need Node 22"No dependency changes were needed. The backend has no native modules (no bcrypt, sharp or node-gyp builds), and passwords use the built-in
crypto.scrypt, which works the same on OpenSSL 3.Verified locally on node:22.23.4-bookworm-slim
yarn install --frozen-lockfile, prettier, eslint,tsc --noEmitandtscall pass with no errorsv2.ts,appleAuthKey.ts): 21/21 passverifyTelegramPayload,docs) fail the same way on Node 16 and are not part of CIdocker build backend/works; the image reports Node v22.23.4, OpenSSL 3.5.9, Debian 12.15mongo:4.4with dummy secrets and loggedHTTP is listening on 1337,Sockets are listening on 3000,Mongo connected,Indexes ready. Requests:GET /docs/→ 200GET /login/generate_uuid→ 200{"uuid":"…"}POST /login/anonymous→ 200, user with a JWTGET /todo/current?date=2026-10-21with that token → 200{"todosCount":0,…}; with a bad token → 403web/Dockerfileusesnode:22-slimonly to build the static files, andweb.ymluses Node 22, so a rebuild picks up 22.23.4 and nothing there needs to change.Deploy: after this is merged,
backend.ymlruns its checks onmainand movesdeploy/backendto the merge commit, and Easypanel then rebuilds backend.todorant.com.🤖 Generated with Claude Code