From c2cf041af2b427bf6c184e11ce17b045908c5b7d Mon Sep 17 00:00:00 2001 From: maziggy Date: Fri, 13 Mar 2026 15:34:22 +0100 Subject: [PATCH] Update CI Node.js version from 20 to 22 LTS Node 20 is being deprecated on GitHub Actions runners. Bump to Node 22 (Active LTS) in ci.yml and security.yml. --- .github/workflows/ci.yml | 2 +- .github/workflows/security.yml | 2 +- CHANGELOG.md | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56df79dd5..ba25a2620 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ on: env: PYTHON_VERSION: '3.11' - NODE_VERSION: '20' + NODE_VERSION: '22' # Cancel in-progress runs for the same branch concurrency: diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 0c2f859fd..ba893aa7b 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -27,7 +27,7 @@ on: env: PYTHON_VERSION: '3.11' - NODE_VERSION: '20' + NODE_VERSION: '22' # Default permissions for all jobs permissions: diff --git a/CHANGELOG.md b/CHANGELOG.md index 466487274..782b9fc67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ All notable changes to Bambuddy will be documented in this file. - **Ethernet Badge Shown on WiFi Printers / MQTT Disconnecting** ([#585](https://github.com/maziggy/bambuddy/issues/585)) — Three bugs in the ethernet badge feature: (1) `home_flag` bit 18 is set on all printers regardless of connection type, so every ethernet-capable model showed the ethernet badge even when connected via WiFi. Replaced bit 18 detection with wifi_signal-based heuristic: printers on ethernet with WiFi disabled report a hardcoded `-90 dBm` sentinel, while real WiFi signals vary. (2) The lazy import used `from app.utils.printer_models` which crashes with `ModuleNotFoundError` in paho-mqtt's background thread (correct path is `backend.app.utils.printer_models`). This killed the MQTT thread entirely, causing all printers to go stale after 60s and repeatedly disconnect/reconnect. (3) WiFi-only models (A1, P1P, etc.) that don't have an ethernet port are excluded via model-based gating. Reported by @cadtoolbox. - **Inventory Usage Tracker Missing External Spool Mapping** ([#677](https://github.com/maziggy/bambuddy/issues/677)) — When all higher-priority slot-to-tray mapping methods failed (MQTT mapping, print command mapping, queue mapping, color matching), the internal inventory usage tracker fell back to `slot_id - 1` which can never reach external spool IDs (254/255) or AMS-HT IDs (128+). Added position-based resolution using sorted available tray IDs from the printer's AMS state, matching the fix applied to Spoolman tracking in #686. Contributed by @shrunbr. +### Changed +- **CI: Node.js 20 → 22** — Updated GitHub Actions workflows (`ci.yml`, `security.yml`) from Node.js 20 to Node.js 22 LTS ahead of [GitHub's Node 20 deprecation](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/). + ## [0.2.2b3] - 2026-03-12