Skip to content

chore: bump ebus-sdk to 0.19.0 - #5

Open
cayossarian wants to merge 1 commit into
mainfrom
chore/bump-ebus-sdk-0.19
Open

chore: bump ebus-sdk to 0.19.0#5
cayossarian wants to merge 1 commit into
mainfrom
chore/bump-ebus-sdk-0.19

Conversation

@cayossarian

Copy link
Copy Markdown
Member

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 $state follows 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) and set_on_tree_ready_callback() — a first-class whole-tree gate, built as reconciling predicates rather than barriers. It also makes refresh_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 homie logger premise documented in __main__.py." Through 0.17.0 that logger pinned itself to INFO at import and dumped every node's property table via pformat, regardless of --log-level.

Re-checked at 0.19.0:

0.19.0
setLevel in homie.py absent
pformat in homie.py absent
homie logger level at import NOTSET

So 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-exact golden_report comparison and the wire-capture shape check among them.

That is the expected result and worth stating explicitly: the ordering fix changes when $state is published, not what ends up retained, so neither capture moves.

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
cayossarian force-pushed the chore/bump-ebus-sdk-0.19 branch from 5f5aaa7 to 2633c68 Compare August 8, 2026 18:53
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