diff --git a/docs/changelog.md b/docs/changelog.md index 307575f..e56945f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,25 @@ # Changelog +## v0.8.1 + +Courier 0.7.0 support. No Resident source changes — this is the dependency +bump and the build verification behind it. + +- The Courier floor moves to `^0.7.0` in `library.json` and + `idf_component.yml`. Resident calls none of Courier 0.7.0's new surface + (MQTT binary publish, topic-scoped binary receive, a client-lifetime lock), + but a caret range on a `0.x` version excludes the next minor: while Resident + pinned `^0.6.0`, a consumer could not depend on Resident and Courier 0.7.0 + at the same time. **This forces consumers to Courier 0.7.0** — `^0.7.0` no + longer admits 0.6.x. +- `examples/espidf-basic` follows the same bump. +- Verified against Courier 0.7.0 ahead of its release: the full example matrix + (7 PlatformIO envs plus `espidf-basic` under ESP-IDF 5.5.3) builds, and + `m5stick-voice` runs on an M5StickS3 — drivers register, Wi-Fi joins, NTP + syncs, and the reconnect state machine backs off as before. + +--- + ## v0.8.0 Theme: the device speaks first. A device hello announces protocol, limits and diff --git a/examples/espidf-basic/main/idf_component.yml b/examples/espidf-basic/main/idf_component.yml index d14df3d..e7c66c5 100644 --- a/examples/espidf-basic/main/idf_component.yml +++ b/examples/espidf-basic/main/idf_component.yml @@ -12,10 +12,11 @@ dependencies: espressif/arduino-esp32: version: "^3.0.0" - # Courier 0.6.0+ (receive parallels send: Client::onMessage delivers the - # default transport only — required by resident's channel routing). + # Courier 0.7.0+ (MQTT binary publish and topic-scoped binary receive; the + # 0.6.0 floor was receive-parallels-send, which resident's channel routing + # requires). inanimate/courier: - version: "^0.6.0" + version: "^0.7.0" bblanchon/arduinojson: version: "^7.0.0" diff --git a/idf_component.yml b/idf_component.yml index 4c685d9..723dded 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,4 +1,4 @@ -version: "0.8.0" +version: "0.8.1" description: "Sandbox with hardware IO and hot reload for ESP32 devices" url: "https://github.com/inanimate-tech/resident" @@ -11,12 +11,17 @@ dependencies: # sync (robust HTTPS-Date fallback), larger receivable payloads on no-PSRAM # boards, and per-transport endpoint state (Resident sets the WS endpoint via # _ws.setEndpoint() inside onTransportsWillConnect(), which requires that - # surface). Pinned to ^0.6.0, which makes Client::onMessage deliver the - # default transport only (receive parallels send) — required so channel - # routing (Resident's `channel` envelope field) sees one coherent message - # stream per transport instead of everything funnelled through onMessage. + # surface) — and 0.6.0 made Client::onMessage deliver the default transport + # only (receive parallels send), so channel routing (Resident's `channel` + # envelope field) sees one coherent message stream per transport instead of + # everything funnelled through onMessage. + # + # The floor is ^0.7.0 because a caret range on 0.x excludes the next minor: + # while Resident pinned ^0.6.0, a consumer that wanted courier 0.7.0 (MQTT + # binary publish, topic-scoped binary receive) could not have both. Resident + # calls none of that new surface itself. inanimate/courier: - version: "^0.6.0" + version: "^0.7.0" bblanchon/arduinojson: version: "^7.0.0" # Esp32Lua is not on the ESP component registry. Consumers must provide it diff --git a/library.json b/library.json index b2ef0e9..1408246 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "resident", - "version": "0.8.0", + "version": "0.8.1", "description": "Sandbox with hardware IO and hot reload for ESP32 devices", "keywords": "esp32, sandbox, iot, hot-reload", "repository": { @@ -17,7 +17,7 @@ "frameworks": ["arduino", "espidf"], "platforms": "espressif32", "dependencies": { - "inanimate/courier": "^0.6.0", + "inanimate/courier": "^0.7.0", "bblanchon/ArduinoJson": "^7.4.2", "fischer-simon/Esp32Lua": "^5.4.7" },