Releases: drndos/openspoolman
v0.3.0
v0.3.0
This release focuses on more accurate filament accounting, higher-fidelity print history, and better Bambu Lab / AMS integration — backed by a significantly expanded test suite.
🚀 New Features
-
Optional per-layer filament usage tracking (
TRACK_LAYER_USAGE) for more accurate consumption updates (works only whenAUTO_SPEND=True). (#62, @jQubz) -
MQTT log replay test harness (fixtures + expected JSON snapshots) to validate parsing and tray detection deterministically. (#69, @Xento)
-
Improved 3MF handling to support more real-world project file variants (including multi-color and G-code-in-3MF cases) used by the replay tests. (#69, @Xento)
-
Extended print history details, including layer/progress information and the original slicer color for better traceability. (#69, @Xento)
-
FAILED print detection in the processing pipeline so history and downstream logic can reflect failed outcomes reliably. (#69, @Xento)
-
** Show the detected AMS type/model (and improved handling for multi-AMS setups). (#70, @Xento)
-
** Link unknown Bambu Lab spools to SpoolMan entries and expose the assigned spool id in the tray view. (#70, @Xento)
-
** Optional auto-clear: clear assignment when a tray becomes empty (
CLEAR_ASSIGNMENT_WHEN_EMPTY=True). (#70, @Xento)
🛠️ Improvements
- Reworked filament mismatch detection and added a dedicated mismatch-report issue template to streamline troubleshooting. (#65, @Xento)
- Better config/env parsing, especially for booleans, to reduce surprises across Docker/runtime environments. (#69, @Xento)
- Timelier logs by flushing console output directly (useful for containerized deployments). (#69, @Xento)
- CI and developer experience
🐛 Bug Fixes
- Fix G-code filament-change detection. (#69, @Xento)
- Fix the start behavior of layer tracking when a local print begins. (#69, @Xento)
- Multiple test and stability fixes to keep the new replay suite reliable in CI. (#69, @Xento)
- UI/UX edge cases around filament detection (including clearer feedback when no filament is assigned in AMS). (#65, @Xento)
🔄 Changes
- New configuration options:
TRACK_LAYER_USAGE(default:False)CLEAR_ASSIGNMENT_WHEN_EMPTY(default:False)
- Note: Per-layer tracking is only active when
AUTO_SPEND=True; otherwise filament tracking remains disabled.
🧑💻 New Contributors
Full Changelog: v0.2.0...main
v0.2.0
🚀 New Features
- Add detailed tray/spool mismatch detection based on filament material, vendor/sub-brand and AMS data, with per-tray warnings instead of a single global banner. (#52, @Xento)
- Add tray color mismatch indication (icon + popover) when the tray color differs from the assigned filament color. (#52, @Xento)
- Add material filters to the fill and assign-tag pages to quickly narrow down compatible spools by material. (#52, @Xento)
- Add material-aware print spool selection so only compatible spools are shown when assigning or reassigning a print. (#52, #17, @Xento)
- Add the ability to change the spool assignment of an existing print from the print history, including reassigning or clearing the assignment. (#52, #16, #18, @Xento)
- Add pagination to the print history view, including page navigation and metadata (page, per_page, total_pages) for large histories. (#52, @Xento)
- Add Spoolman URL support for spools, including a dedicated
spoolman/showroute used by spool detail links. (#54, #25, @Xento)
##🛠️ Improvements
- Improve how tray and spool metadata are augmented and used so mismatch warnings are more informative and localized to the affected tray. (#52, @Xento)
- Refine tray color handling and mismatch logic, and improve popover text, triggers and touch support for clearer, more accessible warnings. (#52, @Xento)
- Refactor the fill, spool info, print history and spool selection templates for better readability and to surface the new mismatch, filter and reassignment capabilities. (#52, @Xento)
- Improve spool list layout and responsiveness: viewport-based height, stable minimum height and better behaviour on desktop resize without inline scrolling. (#52, #19, @Xento)
- Improve mobile spool list usability by reducing element size and stacking spool actions vertically on small screens. (#19, @Xento)
- Visualize AMS humidity with droplet icons and show numeric humidity in percent when supported, with refined droplet placement. (#20, @Xento)
- Extend and refactor the printer model mapping to include new Bambu Lab printer models and simplify device identification logic. (#52, @Xento)
- Add a VS Code launch configuration for debugging the Flask application directly from the repository. (#52, @Xento)
- Add
static/prints/anddata/directories to.gitignoreto keep generated artifacts out of version control. (#52, @Xento)
Changes
- Normalize
PRINTER_IDby converting it to uppercase to ensure consistent printer matching across configuration and runtime usage. (#52, @Xento)
🐛 Bug Fixes
- Fix AMS/tray lookup by comparing AMS and tray IDs as strings, preventing missed matches when IDs differ in type (string vs. integer). (#52, @Xento)
- Correct material and sub-brand comparison logic so filament mismatch detection no longer reports false positives or negatives. (#52, @Xento)
- Fix spool consumption updates when reassigning a print to a different spool in print history by using an
old_spool_idparameter and adjusting usage on the old and new spool correctly. (#52, #16, #18, @Xento) - Fix visual issues with filtered spool lists (borders and scroll behaviour) so the list renders correctly when filters are applied. (#52, @Xento)
- Fix handling of the
ADHOC_SSLenvironment variable so SSL can reliably be enabled/disabled via configuration. (#49, @Zeron)
🧑💻 New Contributors
Full Changelog: v0.1.9...HEAD
v0.1.9
🚀 New Features
-
Assign spool to filament after print
When a spool is not correctly detected during printing the spool can now be assigned afterwards. -
Multi-Platform Docker Build
Added support for building Docker images compatible with multiple architectures, including ARM. -
Make the sorting of the spools customizable
New environment variable: SPOOL_SORTING=filament.material:asc,filament.vendor.name:asc,filament.name:asc
See https://donkie.github.io/Spoolman/#tag/spool/operation/Find_spool_spool_get for available fields -
Docker images for arm64
Thanks @piontec
🛠️ Improvements
-
Design Enhancements
Made design changes to improve the user interface and user experience. -
Updated Documentation
Updated the README.md file to reflect recent changes and improvements. -
Timezone
Added environment variable for timezone
🐛 Bug Fixes
- Compatibility with BambuStudio 2.x
Fixed issues to ensure compatibility with BambuStudio version 2.x.
🧑💻 New Contributors
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
NEW:
- Filament ID is used from filament in SpoolMan when defined
You have to add a new custom field for filaments: "filament_id","Filament ID", "Text"
The filament id can be found in the json files in C:\Users\USERNAME\AppData\Roaming\BambuStudio\user\USERID\filament\base
It is the same for each printer and nozzle.
v0.1.7
What's Changed
NEW:
- implemented show of the costs per print and filament
- the printer model and ID is shown in the header. A custom name can be set via env-variable
CHANGES:
- SPA is now only enabled when opened via Homescreen
FIXES:
- fixed color assignment on printer
- tracking of local prints should work now on X1C, too. Thanks @an0Nym0us63
- added 15 second delay when connection try fails
- fixed external spool