release: v0.8.1 - #39
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the Courier floor to
^0.7.0and 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.1and the floor moves to the released version. The net diff islibrary.json,idf_component.yml,examples/espidf-basic/main/idf_component.ymland 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.xversion excludes the next minor, so while Resident pinned^0.6.0a consumer could not depend on Resident and Courier 0.7.0 at the same time.It cuts the other way too —
^0.7.0no 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 resolvedcourier@0.7.0+sha.f21ddb3from git main.m5stickm5stick-lvgldevicedevice-minimal-residentdevice-no-residentm5stickm5sticks3espidf-basicunder ESP-IDF v5.5.3 locally (not covered by CI's matrix in the same way): builds, resolvinginanimate/courier (0.7.0)from the registry, 54% of the app partition free.On hardware
m5stick-voicem5sticks3flashed to an M5StickS3, devicea079db1d. Clean boot, no crash or reboot loop: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_HOSTis still the trackedYOUR-CF-ACCOUNTplaceholder, 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.1to triggerpublish.yml.🤖 Generated with Claude Code