chore: bump ebus-sdk to 0.19.0 - #5
Open
cayossarian wants to merge 1 commit into
Open
Conversation
0.18.1 corrects refresh_tree()'s publish order so a device's own $state follows the content it vouches for, and 0.19.0 adds Controller.is_tree_complete() and set_on_tree_ready_callback(), a first-class whole-tree gate that a consumer would otherwise hand-roll -- which is how one ends up with a barrier that stops reconciling and misses a device commissioned later. 0.19.0 also makes refresh_tree() best-effort per child, so one raising device can no longer abort a whole tree's reconnect. The exact pin's documented bump procedure is to re-check the homie logger premise in __main__.py. Done: setLevel and pformat are both still absent from homie.py at 0.19.0 and the logger is still NOTSET at import, so the noise filter remains a guard rather than a live need. Comment updated to record the re-check rather than leaving the next reader to repeat it. No output change: 432 tests pass, and all 35 conformance tests including the byte-exact golden report comparison. The ordering fix moves when $state is published, not what ends up retained, so the captures are untouched.
cayossarian
force-pushed
the
chore/bump-ebus-sdk-0.19
branch
from
August 8, 2026 18:53
5f5aaa7 to
2633c68
Compare
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.
The pin was
==0.18.0, which predates two relevant upstream changes.0.18.1 corrects
refresh_tree()'s publish order so a device's own$statefollows the content it vouches for, rather than being announced before its children have published anything.0.19.0 adds
Controller.is_tree_complete(root_id)andset_on_tree_ready_callback()— a first-class whole-tree gate, built as reconciling predicates rather than barriers. It also makesrefresh_tree()best-effort per child, so one device raising can no longer abort an entire tree's reconnect.The documented bump check
The exact pin carries a procedure: "On any bump, re-check the
homielogger premise documented in__main__.py." Through 0.17.0 that logger pinned itself to INFO at import and dumped every node's property table viapformat, regardless of--log-level.Re-checked at 0.19.0:
setLevelinhomie.pypformatinhomie.pyhomielogger level at importNOTSETSo the noise filter stays a guard rather than a live need. The comment now records the re-check so the next reader doesn't repeat it.
No output change
432 passed, including all 35 conformance tests — the byte-exactgolden_reportcomparison and the wire-capture shape check among them.That is the expected result and worth stating explicitly: the ordering fix changes when
$stateis published, not what ends up retained, so neither capture moves.