Releases: TheBlackBush/bambulab_metrics_exporter
Release list
v0.1.40
What's New
Added
bambulab_xcam_halt_print_sensitivity_infometric: exposes theprint.xcam.halt_print_sensitivityMQTT field as a labeled Prometheus gauge.- The
levellabel takes one of three values:low,medium, orhigh, set to1for the currently active level. - Cleared on each update cycle; missing or invalid MQTT values produce no metric.
- New
xcam_halt_print_sensitivityproperty onPrinterSnapshot(normalises to lowercase; returnsNonefor missing/invalid values). - 17 new unit tests across
test_models.pyandtest_metrics.py. - Existing
bambulab_xcam_feature_enabledmetric is unchanged.
- The
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.40
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.39
Added
- Automatic cloud token refresh (
cloud_auth.py,startup.py): When the cloud access token is invalid at startup, the exporter now silently refreshes it viaBAMBULAB_CLOUD_REFRESH_TOKENbefore falling back to email/2FA re-authentication.refresh_access_token()uses the existing multi-base request pattern and returns an updatedLoginResultwith newaccess_token+refresh_token.CloudAuthInvalidError— credentials definitively rejected (HTTP 401/403 or error body); triggers 2FA fallback.CloudAuthTransientError— network/server issue (connection error, 5xx); does not force 2FA, surfaces a clear transient error instead.- On successful refresh, updated credentials are persisted to the encrypted store (when
BAMBULAB_SECRET_KEYis set) and synced to.env.
Tests
- 9 new unit tests covering the full refresh-token decision tree: happy-path bypass, invalid refresh → 2FA fallback, transient error → no forced 2FA, credential persistence, and HTTP 4xx/5xx classification.
- Coverage raised to 97.22% (401 tests, threshold: 90%).
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.39
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.38
Fixed
- Unraid template WebUI URL now opens the exporter landing page root () instead of .
Changed
- Simplified and clarified Unraid template Overview copy for faster setup/operations.
- Centered landing page status-card health/readiness content for cleaner visual alignment.
- Added landing page footer credit: Created by TheBlackBush.
- removed from repository tracking and kept local-only.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.38
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.37
What's Changed
Wiki & Documentation
- Added
Quick-Start.mdandPrometheus-Setup.mdfor faster operator onboarding - Removed
Release-Process.mdfrom wiki (internal process, not operator-facing) - Updated
_Sidebar.mdnavigation order for logical operator flow (install → configure → metrics → dashboards → troubleshoot) - Improved
BAMBULAB_SECRET_KEYdocs: generation command (openssl rand -hex 32), purpose explanation, and safety notes - Removed pip/venv install paths — Docker is the only supported deployment method
- Updated cloud auth guidance to use Docker-based
bambulab-cloud-authCLI (no local Python tooling required) - GHCR pre-built image is now the recommended first installation option
Automation
- Automated wiki sync via
.github/workflows/wiki-sync.yml(triggers on push tomainfordocs/wiki/**changes, plusworkflow_dispatch) - Sync uses
rsync --checksumfor markdown files only — no-ops gracefully when nothing changed - Validates target remote ends with
.wiki.gitbefore proceeding - Commit messages include short source SHA for traceability
README
- Updated to reflect Docker-only deployment model
No breaking changes. Existing configuration, metrics, and dashboard content is preserved and extended.
Post-merge action: Trigger
workflow_dispatchonwiki-sync.ymlonce to seed the GitHub Wiki with the new docs.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.37
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.36
What's Changed
✨ Improvements
- Refreshed Grafana sample dashboard with updated layout and panels for improved visibility and usability.
Full Changelog: v0.1.35...v0.1.36
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.36
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.35
[0.1.35] - 2026-03-20
Fixed
bambulab_ams_status_namelabel now correctly decodes the firmware-encodedams_statusfield.
The raw value packs the status category in bits 15–8; decoding now extracts(raw >> 8) & 0xFF
before mapping. Single-byte map keys (0x00–0xFF) replace the previous multi-byte keys.bambulab_ams_rfid_status_namemapping extended with code6 → reading_stop.
Added
AMS_DRY_HEATER_STATE_NAMESandAMS_DRY_SUB_STATUS_NAMESreference tables inmodels.py
for human-readable AMS Gen2 drying state and sub-status codes.
Migration note
Any Grafana/PromQL queries filtering on status="filament_change" etc. that relied on the old single-digit raw values (e.g., ams_status=1) will now correctly decode multi-byte firmware values. Verify your actual printer firmware sends multi-byte values (expected) or single-byte values.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.35
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.34
See CHANGELOG.md for full details.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.34
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.33
See CHANGELOG.md for full details.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.33
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.32
What's Changed
Fixed
tray_colorlabel values inbambulab_ams_slot_tray_infoandbambulab_external_spool_infonow include a#prefix, making them valid CSS hex color codes (e.g.#F98C36FF). Empty or missing values remain"unknown".
Internal
- Added shared
_format_color()static helper method used by both metrics.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.32
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest
v0.1.31
What's Changed
Breaking Changes
- Merged
bambulab_ams_slot_tray_type_infoandbambulab_ams_slot_tray_color_infointo a singlebambulab_ams_slot_tray_infometric with bothtray_typeandtray_colorlabels.
Users with custom Grafana dashboards referencing the old metric names will need to update their queries to use bambulab_ams_slot_tray_info with both labels.
Docker image
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:0.1.31
- ghcr.io/TheBlackBush/bambulab_metrics_exporter:latest