Skip to content

Releases: vmhomelab/printbuddy

v0.2.4.8

24 Jun 16:06

Choose a tag to compare

Printbuddy v0.2.4.8 — Smarter Uploads, Safer Updates

Hey everybody,

So this release is actually a big one! I have spent a lot of time dialing in the support for prusa printers (thanks to my buddy Joe helping me out and providing a prusa printer to test on).
The biggest change in this release: Prusa printer are now supported via PrusaLink! More on that below. Also Klipper-based printers are getting more and more support to. I have tested using printbuddy with the Elegoo Neptune 4 Pro and so far uploading and printing, as well as setting the temperature for the nozzle and bed are working.
However klipper-based printers are still not 'officially' supported. If you guys have printers with an open klipper firmware and want to test printbuddy, please let me know what works and what not. Your help is very much appreciated! :)

This release focuses on safer provider-specific printer workflows, with a major round of PrusaLink improvements, a new optional Docker self-update sidecar, better notification events, and more reliable Docker image metadata.

Highlights

  • Added an optional Docker self-update sidecar for Compose deployments.
  • Improved PrusaLink file upload and start-print workflows.
  • Added provider-aware handling for direct uploads, background dispatch, and library prints.
  • Added “print almost done” notification support.
  • Published multi-arch Docker images for wider platform support.
  • Improved runtime version/source metadata so deployments can report what source revision they are actually running.

PrusaLink improvements

PrusaLink handling received a large cleanup pass in this release. PrusaLink support has been significantly improved: Printbuddy can now detect compatible auth/API modes, expose PrusaLink auth settings in the UI, use discovered file storage, upload files directly, and start prints through the documented PrusaLink API. Unsupported controls are hidden for Prusa printers to avoid misleading actions.

  • Added direct Prusa printer-card upload support.
  • Added Start print after upload handling for Prusa uploads.
  • Added drag/drop choice for Prusa files: print now or upload only.
  • Added provider-neutral file start action for already uploaded printer files.
  • Improved PrusaLink storage discovery so USB paths are resolved correctly.
  • Fixed PrusaLink start-print routing to use the documented file endpoint.
  • Improved PrusaLink auth handling:
    • auto-detects supported auth mode,
    • exposes auth mode selection,
    • allows editing PrusaLink auth settings safely.
  • Fixed PrusaLink upload timeout reconciliation.
  • Fixed zero-byte / placeholder upload detection.
  • Added same-name upload conflict handling.
  • Removed unsupported Prusa UI actions:
    • hidden manual controls where unsupported,
    • hidden file queue action for Prusa file managers,
    • hidden file download action for Prusa USB files,
    • hidden unsupported print speed control.
  • Fixed upload success toast formatting for Prusa uploads.

Provider-aware file handling

Printbuddy now does a better job of keeping provider workflows separate instead of forcing everything through Bambu-style assumptions.

  • Fixed provider-neutral G-code / BGCODE library uploads.
  • Allowed Prusa .bgcode library prints.
  • Fixed provider-aware background dispatch uploads.
  • Prevented Prusa print-start flows from touching Bambu FTP/archive lookup paths.
  • Improved archive filtering around provider-specific file handling.

Notifications

Notification providers can now send “print almost done” alerts, giving users a heads-up before a job finishes.

  • Added Print almost done notification support.
  • Improved PrusaLink completion notification details.
  • Fixed PrusaLink finished-status notification handling.
  • Improved notification template coverage for the new event.

Docker and updates

Printbuddy can now optionally expose an “Update now”-Button in the UI for Docker Compose installations through a dedicated updater sidecar. The main Printbuddy container does not need direct Docker socket access; only the sidecar talks to Docker, using a bearer token and a fixed allowlisted Compose service.

This is disabled by default and documented in docs/self-update-sidecar.md.

  • Added optional Docker self-update sidecar.
  • Added updater package support to the backend test image.
  • Added updater API tests.
  • Published multi-arch Docker images.
  • Improved Docker source revision metadata.
  • Improved update/version API reporting.

Security and maintenance

Updated vulnerable frontend dependencies reported by the automated npm audit:

  • dompurify updated to 3.4.11
  • markdown-it updated to 14.2.0
  • linkify-it updated to 5.0.1

Notes for users

If you use PrusaLink printers, this update is strongly recommended.

PrusaLink file operations are now treated as PrusaLink USB-file operations, not as Bambu FTP or Moonraker gcodes paths. Some actions remain intentionally hidden for Prusa printers when the underlying PrusaLink API does not safely support them yet.

For Docker Compose users, the self-update sidecar is optional. Existing deployments continue to work without enabling it. Review the updated compose example before enabling the updater sidecar. Read about it here: docs/self-update-sidecar.md


Upgrade notes

  • Pull the latest image or update from the release tag as usual.
  • If using the Home Assistant add-on, the add-on repository still needs its own version bump before Home Assistant will show this app version as an add-on update.

Full Changelog: v0.2.4.7...v0.2.4.8

v0.2.4.7

19 Jun 16:55

Choose a tag to compare

Summary

  • Corrects the internal Printbuddy app version to 0.2.4.7 so Docker images built from this release no longer report 0.2.4.3.
  • Adds initial BIQU Panda Breath Mod support through MQTT.
  • Adds clearer Bambu-only labels/tags in Settings so options that only apply to Bambu Lab printers are easier to identify.

Panda Breath support

Printbuddy can now listen to native Panda Breath MQTT telemetry and expose the detected accessories in the UI.

How it works:

  • Configure the shared MQTT broker details in Printbuddy settings.
  • Panda Breath devices publish their native state payloads to the broker.
  • Printbuddy reads those payloads, normalizes device state, and lets you assign detected Panda Breath device IDs to Printbuddy printers.
  • Once assigned, Panda Breath controls/status can appear with the related printer instead of being managed as a disconnected accessory.

This is accessory-level MQTT support. It does not turn Panda Breath into a printer provider and it does not replace Bambu/Klipper/Prusa printer connectivity.

Settings clarity

Bambu-specific options in Settings are now marked as Bambu-only where relevant. This is intended to avoid confusion when using non-Bambu or mixed-provider setups, especially around print options and firmware/update-related settings.

Current provider status

  • Bambu Lab support is inherited from the original foundation.
  • Klipper/Moonraker support is in progress.
  • Prusa-compatible environments are planned/in progress and should still be treated as early work.

Verification

  • python -m pytest backend/tests/integration/test_updates_api.py
  • ruff check backend
  • ruff format --check backend
  • npm test -- SettingsPage.test.tsx --run

v0.2.4.6

13 Jun 16:39
246bdd7

Choose a tag to compare

Printbuddy v0.2.4.6 — first Printbuddy-branded preview

This is the first Printbuddy-branded preview release from the main branch.

Printbuddy is still under active development and is intended for testing, development, and homelab tinkering rather than public production use.

Highlights

  • Rebranded the project identity to Printbuddy across the repository, documentation, configuration, tooling, workflows, tests, and committed frontend assets.
  • Added prominent source-code links in the authenticated and unauthenticated UI surfaces to support AGPL-3.0 network-use requirements.
  • Added NOTICE-modifications.md with Printbuddy modification notices for the inherited AGPL-3.0 codebase.
  • Cleaned up stale upstream and SpoolBuddy references from issue templates, docs, scripts, and metadata.
  • Updated the README with Printbuddy wiki, demo, Home Assistant add-on, and Home Assistant integration links.
  • Added demo login documentation for the public demo instance.
  • Updated Docker/image naming and publishing references for Printbuddy.
  • Improved Home Assistant ingress handling for camera and logout routes.
  • Fixed camera window routing behind Home Assistant ingress.
  • Fixed external camera actions so configured external camera URLs open through the normal Printbuddy camera viewer.
  • Restored camera cleanup startup handling.
  • Updated new-install theme defaults to the dark turquoise Printbuddy look.
  • Documented the current provider direction for Bambu Lab, Klipper/Moonraker, and planned Prusa-compatible environments.
  • added Telegram topic support

Current provider status

  • Bambu Lab support is inherited from the original foundation.
  • Klipper/Moonraker support is in progress.
  • Prusa-compatible environments are planned/in progress and should still be treated as early work.

Notes

This release intentionally only contains work available on main.

Not included in this release:

  • Panda Breath MQTT integration
  • New Panda Breath native payload parsing
  • Any work currently only present on dev

Source

Repository: https://github.com/vmhomelab/Printbuddy