Skip to content

release: 0.19.0 (tree-complete affordance + four follow-up fixes) - #45

Merged
dcj merged 1 commit into
mainfrom
release-0.19.0
Aug 7, 2026
Merged

dcj merged 1 commit into
mainfrom
release-0.19.0

Conversation

@dcj

@dcj dcj commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

MINOR, not PATCH: #37 adds public Controller API. Every MINOR in this changelog carries new public surface; every Fixed-only release is a patch.

Closes out all five follow-ups surfaced by the #31 / #32 review. Zero open issues at the time of this release.

Contents

Added Controller.is_tree_complete(root_id) + set_on_tree_ready_callback() (#37)
Changed refresh_tree() explicitly best-effort (#36); ruff selection pinned, CI on 0.16.1 (#39); remove_node/delete_node cross-refs (#38)
Fixed Node.delete_property() republishes $description (#35)

The through-line is the one #31 exposed: $state=ready is a per-device claim, and this SDK had neither documented that nor given consumers anything better to gate on. 0.18.1 documented it; 0.19.0 supplies the affordance.

Verification

  • 560 passed (up from 548 at 0.18.1)
  • ruff check and ruff format --check clean on the new 0.16.1 pin
  • __version__ single source of truth; the publish workflow fails the run if the tag disagrees

MINOR rather than PATCH: adds public Controller API.

Added
- Controller.is_tree_complete(root_id) and set_on_tree_ready_callback(), the
  reconciling answer to "has the declared tree fully described itself?" (#37)

Changed
- refresh_tree() is explicitly best-effort; one raising device no longer takes
  out the whole tree's reconnect (#36)
- ruff rule selection declared explicitly, CI pin moved to 0.16.1 (#39)
- remove_node()/delete_node() cross-reference each other (#38)

Fixed
- Node.delete_property() republishes $description, as add_property() always
  has (#35)

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
@dcj
dcj merged commit 31f8376 into main Aug 7, 2026
5 checks passed
@dcj
dcj deleted the release-0.19.0 branch August 7, 2026 14:41
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