[PR #324] [MERGED] v0.1.9 #997

Closed
opened 2026-05-06 12:34:24 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/maziggy/bambuddy/pull/324
Author: @maziggy
Created: 2/10/2026
Status: Merged
Merged: 2/10/2026
Merged by: @maziggy

Base: mainHead: 0.1.9


📝 Commits (10+)

  • 600f426 Bumped version
  • f246807 Add mock FTPS server and comprehensive FTP test suite (67 tests)
  • cfd5dd6 Fix filament usage charts inflated by quantity multiplier (fixes #229)
  • 4dc3aae Fix energy cost showing 0.00 in "Total Consumption" mode (fixes #284)
  • 70622e6 Add proxy mode for virtual printer (cross-LAN slicer support)
  • 42fc819 Add proxy mode for virtual printer (cross-LAN slicer support)
  • f1fc8b6 Updated README and CHANGELOG
  • 8944943 Allow hostnames for printers in addition to IPv4 addresses (fixes #290)
  • 8511ce2 Add camera view controls: chamber light toggle & skip objects (fixes #291)
  • eda1f5a Home Assistant: add environment variable configuration support

📊 Changes

126 files changed (+30830 additions, -13172 deletions)

View changed files

📝 .env.example (+6 -0)
📝 CHANGELOG.md (+70 -0)
📝 Dockerfile (+3 -0)
📝 README.md (+18 -12)
📝 backend/app/api/routes/archives.py (+5 -0)
📝 backend/app/api/routes/auth.py (+360 -2)
📝 backend/app/api/routes/cloud.py (+212 -47)
📝 backend/app/api/routes/discovery.py (+4 -0)
backend/app/api/routes/local_presets.py (+200 -0)
📝 backend/app/api/routes/notification_templates.py (+3 -0)
📝 backend/app/api/routes/printers.py (+29 -1)
📝 backend/app/api/routes/settings.py (+62 -0)
📝 backend/app/api/routes/smart_plugs.py (+14 -7)
📝 backend/app/api/routes/spoolman.py (+61 -6)
📝 backend/app/api/routes/support.py (+261 -3)
📝 backend/app/api/routes/users.py (+88 -6)
📝 backend/app/core/auth.py (+32 -4)
📝 backend/app/core/config.py (+1 -1)
📝 backend/app/core/database.py (+16 -0)
📝 backend/app/main.py (+206 -75)

...and 80 more files

📄 Description

v0.1.9

Bambuddy v0.1.9 Release Notes

Highlights

This is the biggest release yet — Advanced Authentication via Email, full H2C/H2D Pro nozzle rack support, OrcaSlicer local profiles, configurable slicer preference, Italian localization, and 50+ bug fixes spanning every printer model.


New Features

Advanced Authentication via Email (https://github.com/maziggy/bambuddy/pull/322)

  • Optional SMTP-based email integration for streamlined user onboarding and self-service password management
  • Admins configure SMTP settings and create users with just a username and email — the system generates a secure random password and emails it directly to the new user
  • One-click admin password resets from User Management
  • Users can reset their own forgotten password from the login screen without contacting an admin
  • Customizable email templates for welcome emails and password resets
  • Username and email login is case-insensitive
  • Can be enabled or disabled independently at any time without affecting existing accounts

Configurable Slicer Preference (https://github.com/maziggy/bambuddy/issues/313)

  • New "Preferred Slicer" setting in General settings to choose between Bambu Studio and OrcaSlicer
  • Controls the protocol used by all "Open in Slicer" buttons across Archives, 3D Preview, and context menus
  • OrcaSlicer uses the orcaslicer://open?file= protocol; default remains Bambu Studio

Local Profiles — OrcaSlicer Import (https://github.com/maziggy/bambuddy/issues/310)

  • Import slicer presets from OrcaSlicer without Bambu Cloud
  • Supports .orca_filament, .bbscfg, .bbsflmt, .zip, and .json exports
  • Resolves OrcaSlicer inheritance chains by fetching base Bambu profiles from GitHub (cached locally with 7-day TTL)
  • New "Local Profiles" tab on the Profiles page with drag-and-drop import, search, and expandable details
  • Local filament presets appear in AMS slot configuration alongside cloud presets

Hostname Support for Printers (https://github.com/maziggy/bambuddy/issues/290)

  • Printers can now be added using hostnames (e.g., printer.local, my-printer.home.lan) in addition to IPv4 addresses

Camera View Controls (https://github.com/maziggy/bambuddy/issues/291)

  • Added chamber light toggle and skip objects buttons to embedded camera viewer and standalone camera page

Extended Support Bundle Diagnostics

  • Collects comprehensive diagnostic data: printer connectivity, integration status, network interfaces, Python packages, database health, Docker details, WebSocket
    connections, and log file info
  • All data properly anonymized — no IPs, names, or serials included

Improved

H2C Nozzle Rack — Full 6-Slot Display (https://github.com/maziggy/bambuddy/issues/300)

  • Always shows all 6 rack positions with filled slots and empty placeholders
  • Compact single-row layout with bottom accent bars (green = mounted, gray = docked)
  • Translates raw nozzle type codes to human-readable names (Hardened Steel, Stainless Steel, Tungsten Carbide, High Flow, Standard)
  • Shows loaded filament material and color in hover card
  • Resolves filament names with 4-tier fallback: Cloud → Local Profiles → built-in lookup table (86 known Bambu codes) → raw ID

H2 Series — L/R Nozzle Hover Card (https://github.com/maziggy/bambuddy/issues/300)

  • New dual-nozzle hover card shows L and R nozzle details side by side (diameter, type, flow, status, wear, max temp, serial)
  • Active nozzle highlighted in amber; single-nozzle H2D/H2S printers show extended nozzle details on hover

Firmware Version Badge on Printer Card (https://github.com/maziggy/bambuddy/issues/311)

  • Green badge with checkmark when up to date, orange with download icon when update available
  • Click opens firmware info modal with release notes; respects firmware:read and firmware:update permissions

Auto-Detect Subnet for Printer Discovery

  • Docker users no longer need to manually enter a subnet — auto-detects available networks with dropdown for multiple subnets

Japanese Locale Complete Overhaul

  • Restructured ja.ts to match EN/DE structure; translated all 2,083 keys for full parity

Italian Localization (https://github.com/maziggy/bambuddy/pull/309)

  • New Italian locale contributed by @Keybored02

Bug Fixes


Testing

  • Mock FTPS Server & FTP Test Suite — 67 automated test cases against a real implicit FTPS mock server covering connection, upload, download, model-specific behavior,
    and failure injection
  • Nozzle Rack Tests — Backend: 7 tests for MQTT nozzle_info parsing; Frontend: 3 tests for rack card rendering
  • Advanced Auth Integration Tests — 27 integration tests covering SMTP config, advanced auth toggle, email login, forgot password, admin password reset, and user
    creation

Documentation

  • Advanced Auth via Email — Updated README, website, and wiki with SMTP setup and self-service password guides
  • Supported Printers — All 12 Bambu Lab models now listed uniformly (X1, X1C, X1E, P1P, P1S, P2S, A1, A1 Mini, H2D, H2D Pro, H2C, H2S)
  • CONTRIBUTING.md — Added i18n conventions and authentication/permissions guide
  • Proxy Mode — FTP data channel security warning, passive port documentation, SSDP discovery limitations table

Community Contributors

Thank you to everyone who contributed to this release!



🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/maziggy/bambuddy/pull/324 **Author:** [@maziggy](https://github.com/maziggy) **Created:** 2/10/2026 **Status:** ✅ Merged **Merged:** 2/10/2026 **Merged by:** [@maziggy](https://github.com/maziggy) **Base:** `main` ← **Head:** `0.1.9` --- ### 📝 Commits (10+) - [`600f426`](https://github.com/maziggy/bambuddy/commit/600f4261fc1d85f41f7f323413abbfc753372de9) Bumped version - [`f246807`](https://github.com/maziggy/bambuddy/commit/f2468077fe3ef8f515f4997c66a46965f949afa2) Add mock FTPS server and comprehensive FTP test suite (67 tests) - [`cfd5dd6`](https://github.com/maziggy/bambuddy/commit/cfd5dd66e582bef0274e548d18ecb62506a90a2e) Fix filament usage charts inflated by quantity multiplier (fixes #229) - [`4dc3aae`](https://github.com/maziggy/bambuddy/commit/4dc3aaea5b707ffdf4d6b1fc9f81e1cc07377153) Fix energy cost showing 0.00 in "Total Consumption" mode (fixes #284) - [`70622e6`](https://github.com/maziggy/bambuddy/commit/70622e6e5310e9bd97adddfb5e03cf00ea336225) Add proxy mode for virtual printer (cross-LAN slicer support) - [`42fc819`](https://github.com/maziggy/bambuddy/commit/42fc819efc2cd97c0bd5628189a1ed71e410ce3c) Add proxy mode for virtual printer (cross-LAN slicer support) - [`f1fc8b6`](https://github.com/maziggy/bambuddy/commit/f1fc8b60ed38bafd79c480f18c5c8903f1c6a39b) Updated README and CHANGELOG - [`8944943`](https://github.com/maziggy/bambuddy/commit/894494398164f0cc375973d603c5a92c133e30c5) Allow hostnames for printers in addition to IPv4 addresses (fixes #290) - [`8511ce2`](https://github.com/maziggy/bambuddy/commit/8511ce2c47c1ad357a100aa1522fbd73806c198d) Add camera view controls: chamber light toggle & skip objects (fixes #291) - [`eda1f5a`](https://github.com/maziggy/bambuddy/commit/eda1f5a9e7cdb396969b63ff981e10ba1e02edd8) Home Assistant: add environment variable configuration support ### 📊 Changes **126 files changed** (+30830 additions, -13172 deletions) <details> <summary>View changed files</summary> 📝 `.env.example` (+6 -0) 📝 `CHANGELOG.md` (+70 -0) 📝 `Dockerfile` (+3 -0) 📝 `README.md` (+18 -12) 📝 `backend/app/api/routes/archives.py` (+5 -0) 📝 `backend/app/api/routes/auth.py` (+360 -2) 📝 `backend/app/api/routes/cloud.py` (+212 -47) 📝 `backend/app/api/routes/discovery.py` (+4 -0) ➕ `backend/app/api/routes/local_presets.py` (+200 -0) 📝 `backend/app/api/routes/notification_templates.py` (+3 -0) 📝 `backend/app/api/routes/printers.py` (+29 -1) 📝 `backend/app/api/routes/settings.py` (+62 -0) 📝 `backend/app/api/routes/smart_plugs.py` (+14 -7) 📝 `backend/app/api/routes/spoolman.py` (+61 -6) 📝 `backend/app/api/routes/support.py` (+261 -3) 📝 `backend/app/api/routes/users.py` (+88 -6) 📝 `backend/app/core/auth.py` (+32 -4) 📝 `backend/app/core/config.py` (+1 -1) 📝 `backend/app/core/database.py` (+16 -0) 📝 `backend/app/main.py` (+206 -75) _...and 80 more files_ </details> ### 📄 Description v0.1.9 Bambuddy v0.1.9 Release Notes **Highlights** This is the biggest release yet — Advanced Authentication via Email, full H2C/H2D Pro nozzle rack support, OrcaSlicer local profiles, configurable slicer preference, Italian localization, and 50+ bug fixes spanning every printer model. --- **New Features** Advanced Authentication via Email (https://github.com/maziggy/bambuddy/pull/322) - Optional SMTP-based email integration for streamlined user onboarding and self-service password management - Admins configure SMTP settings and create users with just a username and email — the system generates a secure random password and emails it directly to the new user - One-click admin password resets from User Management - Users can reset their own forgotten password from the login screen without contacting an admin - Customizable email templates for welcome emails and password resets - Username and email login is case-insensitive - Can be enabled or disabled independently at any time without affecting existing accounts Configurable Slicer Preference (https://github.com/maziggy/bambuddy/issues/313) - New "Preferred Slicer" setting in General settings to choose between Bambu Studio and OrcaSlicer - Controls the protocol used by all "Open in Slicer" buttons across Archives, 3D Preview, and context menus - OrcaSlicer uses the orcaslicer://open?file= protocol; default remains Bambu Studio Local Profiles — OrcaSlicer Import (https://github.com/maziggy/bambuddy/issues/310) - Import slicer presets from OrcaSlicer without Bambu Cloud - Supports .orca_filament, .bbscfg, .bbsflmt, .zip, and .json exports - Resolves OrcaSlicer inheritance chains by fetching base Bambu profiles from GitHub (cached locally with 7-day TTL) - New "Local Profiles" tab on the Profiles page with drag-and-drop import, search, and expandable details - Local filament presets appear in AMS slot configuration alongside cloud presets Hostname Support for Printers (https://github.com/maziggy/bambuddy/issues/290) - Printers can now be added using hostnames (e.g., printer.local, my-printer.home.lan) in addition to IPv4 addresses Camera View Controls (https://github.com/maziggy/bambuddy/issues/291) - Added chamber light toggle and skip objects buttons to embedded camera viewer and standalone camera page Extended Support Bundle Diagnostics - Collects comprehensive diagnostic data: printer connectivity, integration status, network interfaces, Python packages, database health, Docker details, WebSocket connections, and log file info - All data properly anonymized — no IPs, names, or serials included --- **Improved** H2C Nozzle Rack — Full 6-Slot Display (https://github.com/maziggy/bambuddy/issues/300) - Always shows all 6 rack positions with filled slots and empty placeholders - Compact single-row layout with bottom accent bars (green = mounted, gray = docked) - Translates raw nozzle type codes to human-readable names (Hardened Steel, Stainless Steel, Tungsten Carbide, High Flow, Standard) - Shows loaded filament material and color in hover card - Resolves filament names with 4-tier fallback: Cloud → Local Profiles → built-in lookup table (86 known Bambu codes) → raw ID H2 Series — L/R Nozzle Hover Card (https://github.com/maziggy/bambuddy/issues/300) - New dual-nozzle hover card shows L and R nozzle details side by side (diameter, type, flow, status, wear, max temp, serial) - Active nozzle highlighted in amber; single-nozzle H2D/H2S printers show extended nozzle details on hover Firmware Version Badge on Printer Card (https://github.com/maziggy/bambuddy/issues/311) - Green badge with checkmark when up to date, orange with download icon when update available - Click opens firmware info modal with release notes; respects firmware:read and firmware:update permissions Auto-Detect Subnet for Printer Discovery - Docker users no longer need to manually enter a subnet — auto-detects available networks with dropdown for multiple subnets Japanese Locale Complete Overhaul - Restructured ja.ts to match EN/DE structure; translated all 2,083 keys for full parity Italian Localization (https://github.com/maziggy/bambuddy/pull/309) - New Italian locale contributed by @Keybored02 --- **Bug Fixes** - H2C Firmware Downloads Wrong Firmware (https://github.com/maziggy/bambuddy/issues/311) — H2C was mapped to H2D firmware track; added separate h2c API key - H2D Pro L/R Nozzle Hover Card Swapped (https://github.com/maziggy/bambuddy/issues/300) — Left and right nozzles were swapped in the hover card - H2C Printer Card Shows H2D Image (https://github.com/maziggy/bambuddy/issues/300) — Added dedicated H2C printer image - H2C Nozzle Rack Shows Wrong Slots and Missing Colors (https://github.com/maziggy/bambuddy/issues/300) — Fixed mapping by nozzle ID instead of array index; added fallback for H2C MQTT field names - Nozzle Rack Hides 0% Wear (https://github.com/maziggy/bambuddy/issues/300) — Now correctly shows "Wear: 0%" for new nozzles - AMS-HT Mapping Fails for Left Nozzle on H2D Pro (https://github.com/maziggy/bambuddy/issues/318) — Fixed global tray ID calculation for AMS-HT units (ams_id >= 128) - H2D Pro Prints Fail at ~75% With Extrusion Motor Overload (https://github.com/maziggy/bambuddy/issues/245) — Fixed use_ams type from integer to boolean for H2D series - Virtual Printer FTP Transfer Fails With Connection Reset (https://github.com/maziggy/bambuddy/issues/58) — Fixed async handler completing while data connection was still active - Virtual Printer IP Override Ignored in Server Mode (https://github.com/maziggy/bambuddy/issues/52) — Network interface override now applies to all modes (TLS certificate, SSDP, service restart) - Wrong Thumbnail When Reprinting Same Project (https://github.com/maziggy/bambuddy/issues/314) — Cover image cache now cleared on every print start - Wrong Timelapse Attached to Archive (https://github.com/maziggy/bambuddy/issues/315) — Replaced mtime-based selection with snapshot-diff approach for reliable timelapse detection - Calibration Prints Archived (https://github.com/maziggy/bambuddy/issues/315) — Internal printer gcode files under /usr/ now detected and skipped - Sidebar Links Custom Icons Inverted Colors (https://github.com/maziggy/bambuddy/issues/308) — Removed CSS invert() filter from user-uploaded icons - Spoolman Creates Duplicate Spools on Startup (https://github.com/maziggy/bambuddy/pull/295) — Cached spool data prevents redundant API calls; added retry logic - Firmware Badge Shown for Models Without API Data (https://github.com/maziggy/bambuddy/issues/311) — Badge hidden when API returns no firmware data - Support Bundle Shows 0 AMS Units — Now handles both nested dict and flat list formats for AMS data - GitHub Backup Description Misleading — Updated to correctly state "complete database" - Timezone from .env (https://github.com/maziggy/bambuddy/pull/303) — Use TZ from .env instead of hardcoded value - FTP TLS 1.3 Compatibility (https://github.com/maziggy/bambuddy/pull/305) — Limit FTP server TLS to 1.2 max for broader client compatibility --- **Testing** - Mock FTPS Server & FTP Test Suite — 67 automated test cases against a real implicit FTPS mock server covering connection, upload, download, model-specific behavior, and failure injection - Nozzle Rack Tests — Backend: 7 tests for MQTT nozzle_info parsing; Frontend: 3 tests for rack card rendering - Advanced Auth Integration Tests — 27 integration tests covering SMTP config, advanced auth toggle, email login, forgot password, admin password reset, and user creation --- **Documentation** - Advanced Auth via Email — Updated README, website, and wiki with SMTP setup and self-service password guides - Supported Printers — All 12 Bambu Lab models now listed uniformly (X1, X1C, X1E, P1P, P1S, P2S, A1, A1 Mini, H2D, H2D Pro, H2C, H2S) - CONTRIBUTING.md — Added i18n conventions and authentication/permissions guide - Proxy Mode — FTP data channel security warning, passive port documentation, SSDP discovery limitations table --- **Community Contributors** Thank you to everyone who contributed to this release! - @cadtoolbox (Thomas Rambach) — Advanced Authentication via Email (https://github.com/maziggy/bambuddy/pull/322) - @Keybored02 — Italian localization (https://github.com/maziggy/bambuddy/pull/309) - @notti (Gernot Vormayr) — FTP TLS 1.2 version limit (https://github.com/maziggy/bambuddy/pull/305) - @bnap00 (Bharat Parsiya) — Timezone environment variable fix (https://github.com/maziggy/bambuddy/pull/303) - @bambuman — Spoolman duplicate spool fix (https://github.com/maziggy/bambuddy/pull/295) and Home Assistant environment variables (https://github.com/maziggy/bambuddy/pull/294) --- --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 12:34:24 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy#997
No description provided.