Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 11:37
2e1fe30

Added

  • Camera, printer and monitor registries — printers (OctoPrint, Klipper, Bambu Lab) are
    now registered once in their own registry, exactly like cameras, then picked from a list;
    the registry is the only place to create or delete one. A monitor binds a registered
    camera and an optional registered printer and carries the inference thresholds and
    defect-response policy, so one printer connection can back several monitors and its
    connection details are entered once instead of re-typed per printer.
  • Bambu Lab printers — link a printer over its local MQTT API alongside the existing
    OctoPrint and Klipper services, with the same pause/cancel-on-defect response, job and
    progress reporting, and inference gating. Enable LAN Only Mode and Developer Mode
    on the printer, then link it with its IP, serial number and access code — the form links
    Bambu's official setup guide. The protocol is MQTT over TLS, which needs a raw socket the
    browser sandbox forbids, so Bambu Lab is offered in hub mode only — the same
    constraint that already makes some notifiers hub-only.
  • Printer-exposed cameras — when a registered printer's service exposes a webcam,
    PrintGuard registers it as a camera automatically (no stream URL to copy). A camera
    attached to the printer later is picked up from the camera registry's new Printer
    cameras
    tab with a Refresh button. Covers OctoPrint and Klipper (Moonraker) webcam
    streams and the Bambu Lab chamber camera — RTSP on the X1/H2 series and the proprietary
    port-6000 JPEG protocol on the A1/P1 series (hub mode). These cameras are managed by their
    printer: they cannot be removed on their own and are dropped with it, and the REST and MCP
    read surface strips the access codes their sources carry.
  • Setup guides in config forms — each printer service and notification channel now
    shows a one-line setup hint and a link to its official setup docs, so steps taken
    outside PrintGuard (API keys, CORS, bot tokens, webhooks, LAN mode) are spelled out
    where you configure them.
  • Experimental tag — a reusable badge that flags new, not-yet-battle-tested features
    and links to the issue tracker for reports. Bambu Lab carries it.
  • MCP server and REST API for hub mode — agents and developers can now drive the
    same engine protocol the dashboard speaks. The Model Context Protocol server
    (Streamable HTTP, at /mcp/) lets an agent read monitor, printer and camera status, fetch
    the current camera frame as an image, and pause, resume or cancel a print; the versioned
    REST API at /api/v1 exposes the same operations to any HTTP client, with the frame
    served as image/jpeg. Both are thin transports over the existing engine commands, so
    they never drift from the UI. See
    docs/api.md.
  • Scoped access tokens, managed from the UI — capability is configurable per token
    through cumulative readcontrolmanage scopes. Issue, name and revoke tokens
    from the dashboard (Settings → API & MCP access); each secret (a pg_… string) is
    shown once and stored only as a SHA-256 hash, and tokens are managed over the dashboard's
    own protocol, never over the API itself. With no token issued the surface is read-only
    behind your existing auth proxy; issuing scoped tokens unlocks control and management, and
    MCP hides any tool a token cannot use.
  • Update notifications — the hub checks the public GitHub releases once a day for a newer
    version and flags it in the header. A dialog shows the changelog for every version above
    the one you run and the docker compose pull && docker compose up -d command to upgrade.
    The check runs server-side with no telemetry and can be switched off in Settings →
    Software updates
    ; local mode, which is always the latest deployed build, never calls out.

Changed

  • The dashboard entity is now a "monitor". What 2.0 called a printer — a camera bound
    to a service with thresholds — is a monitor; the printer is the registered service
    connection it points at. Upgrading from 2.0 preserves registered cameras, but printers
    must be re-registered and their monitors re-created.

Fixed

  • Klipper's API-reference link pointed at Moonraker's old /web_api/ page, which now
    404s; repointed to the current reference.