github maziggy/bambuddy v0.1.8

11 hours ago

v0.1.8

Bambuddy v0.1.8 Release Notes

Highlights

This release focuses on security hardening, FTP reliability, and print accuracy improvements, alongside several community-contributed enhancements.


Enhancements

Per-Filament Spoolman Usage Tracking (PR #277)

  • Reports exact filament consumption per spool to Spoolman after each print
  • Parses G-code from 3MF files for layer-by-layer extrusion data (multi-material support)
  • New settings: "Disable AMS Estimated Weight Sync" and "Report Partial Usage for Failed Prints"
  • Persists tracking data in SQLite for reliability across restarts

3D Model Viewer Improvements (PR #262)

  • Plate selector for multi-plate 3MF files with thumbnail previews
  • Object count display per plate and total
  • Fullscreen toggle with resizable split view
  • Pagination for files with many plates (50+)

Virtual Printer Proxy Mode Improvements

  • SSDP proxy for cross-network setups with slicer network interface selection
  • FTP proxy now listens on port 990 (matching Bambu Studio expectations)
  • Automatic directory permission checking at startup

Pushover Image Attachments (PR #253)

  • Camera finish photo images now attached directly to Pushover notifications

File Manager Print/Schedule Consistency (PR #258)

  • File Manager print and schedule actions now match Archives page behavior

Bug Fixes

  • Authentication Required Error After Initial Setup (#257) — Token clearing on 401 responses is now more selective
  • Filament Hover Card Overlapping Nav Bar (#259) — Hover card positioning accounts for the fixed header
  • Filament Statistics Incorrectly Multiplied by Quantity (#229) — Removed incorrect * quantity multiplication
  • Print Queue Status Does Not Match Printer Status (#249) — Queue shows "Paused" when printer is paused
  • Queue Scheduled Time Wrong Timezone (#233) — Datetime picker now correctly uses local timezone
  • Mobile Layout Issues (#255) — Fixed header buttons overflowing on mobile devices
  • AMS Auto-Matching Selects Wrong Slot (#245) — Uses color as tiebreaker when multiple trays share the same filament type
  • A1/A1 Mini FTP Upload Failures (#271) — Replaced storbinary() with manual chunked transfer
  • P1S/P1P FTP Upload Failures — Restored SSL session reuse for vsFTPd-based printers
  • FTP Auto-Detection for A1 Printers — Tries encrypted data channel first, falls back automatically
  • Queue Print Time for Multi-Plate Files (PR #274) — Shows per-plate time instead of total
  • Safari Camera Stream Failing — Fixed Service Worker scope issue in Safari
  • Virtual Printer Proxy Error (PR #260) — Fixed proxy connection handling
  • Docker Permissions — Added PUID/PGID support to docker-compose.yml

Security

  • CodeQL Zero-Finding Baseline — Reduced findings from 591 to 0 with custom query suites
  • Log Injection Prevention — Converted ~700 f-string log calls to parameterized %s style
  • Exception Handling Hardened — Narrowed ~265 bare except blocks to specific exception types
  • SSRF Mitigations — URL validation for Home Assistant and IP validation for Tasmota integrations
  • Stack Trace Exposure Fixed — Generic error messages in HTTP responses
  • XXE Prevention — Replaced xml.etree with defusedxml across all 3MF parsing
  • Path Injection Fixed — Added path traversal validation to attachment and timelapse endpoints
  • Security Scanning in CI/CD — Added Bandit, Trivy, pip-audit, and npm-audit with GitHub Security integration
  • Hashlib Security Annotations — Added usedforsecurity=False to non-security hashes
  • Unused Code Removal — Removed ~30 redundant imports, variables, and dead code paths

Added

  • Windows Portable Launcher — start_bambuddy.bat for double-click-to-run on Windows, auto-downloads Python and Node.js

Community Contributors

Thank you to everyone who contributed to this release!

  • @MisterBeardy — 3D model viewer plate selector improvements (PR #262) and per-plate print time fix for queue (PR #274)
  • @bambuman — Per-filament Spoolman usage tracking with G-code parsing (PR #277)
  • @sbcrumb — Pushover notification image attachments (PR #253)
  • @cadtoolbox — File Manager print/schedule consistency with Archives page (PR #258)
  • @karaktaka — Virtual printer proxy error fix (PR #260)
  • @nmori — Windows portable launcher (start_bambuddy.bat)

Don't miss a new bambuddy release

NewReleases is sending notifications on new releases.