Skip to content

release: v0.8.1 - #39

Merged
genmon merged 3 commits into
mainfrom
genmon/courier-pr26-example-builds
Sep 2, 2026
Merged

genmon merged 3 commits into
mainfrom
genmon/courier-pr26-example-builds

Conversation

@genmon

@genmon genmon commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the Courier floor to ^0.7.0 and cuts Resident 0.8.1. No Resident source changes — this is the dependency bump plus the build verification behind it.

This branch started as the courier#26 pre-merge check (see the earlier comments and the first two commits); courier 0.7.0 has since shipped to both registries, so those temporary pins come back out in release: v0.8.1 and the floor moves to the released version. The net diff is library.json, idf_component.yml, examples/espidf-basic/main/idf_component.yml and the changelog.

The pin

Resident calls none of Courier 0.7.0's new surface (MQTT binary publish, topic-scoped binary receive, a client-lifetime lock). The bump isn't optional anyway: a caret range on a 0.x version excludes the next minor, so while Resident pinned ^0.6.0 a consumer could not depend on Resident and Courier 0.7.0 at the same time.

It cuts the other way too — ^0.7.0 no longer admits 0.6.x, so 0.8.1 forces consumers up. Called out in the changelog.

Verification

./tools/publish-preflight.py — passes (local 0.8.1 > 0.8.0 published on both registries).

./tools/run-tests.py all — static analysis clean, 221/221 unit tests, 7/7 PlatformIO envs. PIO resolved courier@0.7.0+sha.f21ddb3 from git main.

env
m5stick-demo m5stick SUCCESS
m5stick-demo m5stick-lvgl SUCCESS
adafruit-esp32-s2-feather device SUCCESS
adafruit-esp32-s2-feather device-minimal-resident SUCCESS
adafruit-esp32-s2-feather device-no-resident SUCCESS
m5stick-voice m5stick SUCCESS
m5stick-voice m5sticks3 SUCCESS

espidf-basic under ESP-IDF v5.5.3 locally (not covered by CI's matrix in the same way): builds, resolving inanimate/courier (0.7.0) from the registry, 54% of the app partition free.

On hardware

m5stick-voice m5sticks3 flashed to an M5StickS3, device a079db1d. Clean boot, no crash or reboot loop:

[resident] Device: stick (a079db1d)
Resident::Sandbox initialized
*wm:AutoConnect: SUCCESS
[courier] WiFi connected!
[courier] Time synced via NTP

Drivers register, Wi-Fi joins from saved credentials, NTP syncs, and Courier's reconnect state machine backs off as before. The WebSocket does not connect because SERVER_HOST is still the tracked YOUR-CF-ACCOUNT placeholder, which exercises the DNS-failure path rather than hiding it.

After merge

git tag -a v0.8.1 origin/main && git push origin v0.8.1 to trigger publish.yml.

🤖 Generated with Claude Code

genmon and others added 3 commits September 2, 2026 15:25
courier#26 reworks MqttTransport (binary publish, topic-scoped binary
receive, a client-lifetime lock) and bumps courier to 0.7.0-dev. Resident
does not call any of that surface yet, so the question this pin answers is
narrow: does the existing example matrix still compile and run against it.

Every example that pulls courier is repointed at the PR head. This is
deliberately temporary — the bare URL (or a 0.7.0 tag once courier
publishes) goes back in when the PR lands, along with the `^0.7.0`
constraint bump in library.json and idf_component.yml that the new
courier minor will require.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A `git:` source on `inanimate/courier` in main/idf_component.yml is a trap:
resident's own manifest also requires inanimate/courier, the solver resolves
that to the registry 0.6.0, and the build goes green against a courier that
is not the one under test. Verified by reading `source.type: service` out of
dependencies.lock after a passing build.

A local component under components/inanimate__courier overrides both the
managed dependency and resident's transitive constraint, so fetch-deps.sh
clones the PR branch there instead. courier ships a root CMakeLists.txt, so
it drops in unmodified — no shim, unlike Esp32Lua.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Courier 0.7.0 is on both registries, so the temporary PR-branch pins from the
two preceding commits come out and the floor moves to ^0.7.0 in library.json,
idf_component.yml and examples/espidf-basic.

Resident calls none of courier 0.7.0's new surface. The bump is not optional
anyway: a caret range on a 0.x version excludes the next minor, so while
Resident pinned ^0.6.0 a consumer could not depend on Resident and courier
0.7.0 at once. It cuts the other way too — ^0.7.0 no longer admits 0.6.x, so
this release forces consumers up. Called out in the changelog.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@genmon genmon changed the title build: verify the example matrix against courier PR #26 release: v0.8.1 Sep 2, 2026
@genmon
genmon merged commit 4e678db into main Sep 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant