v1.1.1
Provisioning, recovery, and the setup surface move into dragon-core; DragonBreath
keeps a thin product adapter. No changes to NVS keys, API v2 routes, or OTA/recovery
behavior — an in-place OTA from 1.1.0.
Changed
- Provisioning and recovery moved to
dragon-core(dc_portal). The shared
component now owns the HTTP server, captive DNS, AP/STA setup SPA, Wi-Fi scan and
fallback-AP routes, logs, OTA upload, and factory-reset transport. DragonBreath's
localdb_portalis only a product adapter: it registers API v2, describes the
printer/controller fields, preserves configured secrets on blank submissions,
enforces the existing heater-off maintenance guard, restricts OTA images to
DragonBreath or stock Panda Breath, and erases the unchangedapp_nvsnamespace.
/setup,/fw,/console,/update, and the API v2 routes remain compatible. - Filament chamber zones are edited from the dashboard, not
/setup. The shared
setup surface describes the Bambu connection only (host, serial, access code); the
built-in and custom zone editors live in the dashboard's Filament zones and
Custom profiles cards, applying live throughGET/POST /api/v2/zones. The
1.1.0 note that zones apply only in AUTO during an active Bambu print now travels
with those cards indc_ui. - Inactive source configuration remains intact in shared setup.
dragon-core
v0.5.4makes Bambu and Moonraker configuration readable and editable before
their clients start, so the shared portal preserves every saved field when a
different control source is active. Product-local HA and Klipper-MQTT adapters
provide the same cold-boot behavior. - Shared setup UI reliability. Provisioning reads now use the same control-token
authentication and retry flow as mutations, so Wi-Fi scan results and saved setup
fields load correctly. The setup surface is fully opaque, product-defined setup
cards carry the same spacing as the built-in ones, and maintenance identity is
populated before optional product/capability handling. - Guarded ESP-IDF build entrypoint.
tools/idf-build.shpreflights the target
compiler and quarantines stale component-manager lock/cache state before build.
Install (no USB — recommended): on the stock Panda web UI ("Firmware Update"), upload dragonbreath-v1.1.1.bin. It installs as an app through the stock firmware's own OTA — the stock bootloader/partitions stay in place, so you can revert to Panda later over WiFi.
Update / revert (already on DragonBreath): upload dragonbreath-v1.1.1.bin via /fw; to return to Panda, upload your stock backup's app image via /fw.
Recovery only (USB): from a source checkout, python3 tools/flash.py (backs up stock first). The full/factory image is not published — build it locally if you need it.
Alpha/beta testers: if your unit was USB-flashed, restore your stock backup first, then install this via the stock updater — a stock-layout install can't be reached by OTA from a native-layout one.
| asset | purpose |
|---|---|
dragonbreath-v1.1.1.bin |
application image — install via stock's OTA, or update/revert via /fw |
manifest.json |
provenance (source SHA, ESP-IDF, vendored-core) + per-artifact SHA-256 |
SHA256SUMS.txt |
sha256sum -c SHA256SUMS.txt |