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