Repository navigation
release: 0.18.0 (soc capability fix + ebus-mqtt-client 0.4.0 floor) - #30
Merged
Merged
Conversation
…nsport
The bring-your-own-transport seam answers WHICH connection a producer
publishes through, but paho's network loop still has to be pumped somewhere,
and by default that is a background thread: the exact thing the seam's
motivating host forbids. README.md named that constraint ("a host like Home
Assistant ... forbids background threads") without being able to point at an
answer.
ebus-mqtt-client 0.4.0 adds one: MqttClient.asyncio_driver() pumps the network
loop on the caller's asyncio loop (paho socket hooks plus a periodic
loop_misc) instead of paho's thread, mutually exclusive with start() per
client. Document it in the bring-your-own-transport section with a worked
snippet, and raise the floor accordingly.
The SDK does not import the driver and needs nothing from 0.4.0 at runtime:
the full suite passes unchanged against it (verified in an isolated venv). The
floor rises because a consumer following the documented guidance needs it
present, not because the SDK's own code does. The driver module loads lazily
and imports only the standard library plus paho, so a thread-mode consumer or
a constrained build never loads it.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Promote the Unreleased entries under 0.18.0 and bump __version__. Minor rather than patch: the release changes what the HA discovery bridge puts on the wire for existing publishers (soc/soe metadata, four meter registers gaining a state_class), removes the invented `battery` customizer key rather than aliasing it, and raises the ebus-mqtt-client floor to 0.4.0. Also tidy the changelog's link references, which had drifted across six releases: 0.12.0 through 0.17.0 had no reference at all (so their headings rendered as literal brackets) and [Unreleased] still compared from v0.11.0. All 22 version headings now resolve, every GitHub reference points at a tag that exists, and the 0.1.2 reference is repointed at PyPI: it predates this repo's tagging convention (earliest tag v0.1.4), so the tag it named has never existed, and the section's advice to read `git log v0.1.2` was unfollowable. Two missing blank lines before headings are fixed, so markdownlint is clean. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
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.
Two commits: the
ebus-mqtt-client0.4.0 floor + loop-native transport docs, and the 0.18.0 release itself.Why the transport commit is here and not in #29
#29 was merged into
ha-customizer-soc-capability, not intomain. It was stacked on #28, and merging it into its stacked base rather than intomainleft its content stranded on that branch:mainstill hadebus-mqtt-client>=0.3.0. This cherry-picks that commit (unchanged, same message) ontomainso the change actually ships. Nothing is lost;GitHub/ha-customizer-soc-capabilitycan be deleted once this lands.Version
Minor rather than patch. The release changes what the HA discovery bridge puts on the wire for existing publishers (
soc/soemetadata, four meter registers gaining astate_class), removes the inventedbatterycustomizer key rather than aliasing it, and raises a dependency floor.Changelog link-reference tidy (included)
The references had drifted across six releases: 0.12.0 through 0.17.0 had none at all, so their headings rendered as literal brackets, and
[Unreleased]still compared fromv0.11.0. Now:[0.1.2]is repointed at PyPI. It predates this repo's tagging convention (earliest tag isv0.1.4), sov0.1.2has never existed, and the section's advice to readgit log v0.1.2was unfollowable. The prose is corrected to say so.markdownlintis now clean on this file.Verification
547 tests pass locally,
ruff checkandruff format --checkclean,markdownlintclean on CHANGELOG.md and README.md, andimport ebus_sdkreports0.18.0.After merge: tag
v0.18.0and push it, which runs the publish workflow (it verifies tag ==__version__before publishing via Trusted Publishing).🤖 Generated with Claude Code