Skip to content

v1.0.1 - 2026-07-21

Choose a tag to compare

@dale-sharp dale-sharp released this 20 Jul 22:44
44ce164

[1.0.1] - 2026-07-21

Changed

  • Upgraded the dev/test dependency chain off the old homeassistant==2024.11.0b7 beta pin
    to homeassistant==2025.2.5 / pytest-homeassistant-custom-component==0.13.215 /
    aiohttp==3.11.12 — the latest stable pairing available before homeassistant started
    unconditionally depending on pymicro-vad/pyspeex-noise, which have no published Windows
    wheels. Raised requires-python to >=3.13,<3.14 to match the new test harness's floor. No
    runtime/functional change to the integration itself.
  • Worked around an upstream Windows incompatibility in
    pytest-homeassistant-custom-component's mock_zeroconf_resolver fixture (present in every
    release from 0.13.181 through the latest 0.13.346): it eagerly constructs a real
    aiodns.DNSResolver, which requires a SelectorEventLoop on Windows, but the harness also
    installs homeassistant.runner.HassEventLoopPolicy and neuters
    asyncio.set_event_loop_policy, so the usual pytest-asyncio override has no effect. Patched
    HassEventLoopPolicy._loop_factory directly in tests/conftest.py instead.
  • Grouped homeassistant, pytest-homeassistant-custom-component, aiohttp,
    pytest-asyncio, pytest, and josepy in .github/dependabot.yml so future Dependabot
    updates propose one resolvable bump instead of several that each fail independently (#58,
    #55) — pytest-homeassistant-custom-component pins exact versions of the first four, and
    homeassistant transitively requires josepy>=1.13.0,<2 via hass-nabucasa/acme, so
    isolated single-package bumps are structurally unsatisfiable.
  • Capped requires-python to <3.14 after a Dependabot run failed resolving a
    python_full_version >= '3.14.2' split: an open-ended floor forces uv lock to also find a
    resolution valid for hypothetical future Python versions, and for 3.14+ that meant jumping to
    homeassistant==2026.2.3 (which reintroduces the pymicro-vad Windows problem and pulls in
    hass-nabucasa==1.12.0's josepy>=2,<3, conflicting with our josepy<2.0.0 pin). Capping
    the floor to the Python version we actually pin (.python-version = 3.13) removes the
    multi-version fork at the root instead of chasing each conflict it produces.
  • Added constraint-dependencies = ["homeassistant<2025.4.0"] under [tool.uv] after a
    Dependabot "uv group" bump (#62) crossed the pymicro-vad/pyspeex-noise boundary anyway,
    breaking uv sync on Windows on main — the Dependabot grouping only bundles PRs together,
    it doesn't constrain what the resolver picks. A follow-up single-package security PR (#65,
    targeting a zeroconf mDNS cache-poisoning fix, GHSA-qc2x-6f54-m6h9) then swung the other
    way, resolving an older pytest-homeassistant-custom-component==0.13.195 than our intended
    pin and silently dropping zeroconf from the graph entirely rather than patching it — because
    homeassistant==2025.2.5 pins zeroconf==0.144.1 exactly, that CVE can't be fixed
    independently while under the Windows ceiling; it's dev/test-only exposure, since zeroconf
    isn't a runtime dependency of the shipped integration (manifest.json only requires
    beautifulsoup4/lxml). The explicit ceiling makes future resolutions land back on the
    known-good pin (pytest-homeassistant-custom-component==0.13.215 /
    homeassistant==2025.2.5) deterministically instead of wherever an unconstrained resolver
    happens to swing. Revisit alongside #64.
  • Moved local dev/test onto a devcontainer (.devcontainer/) and dropped the homeassistant<2025.4.0
    constraint and requires-python upper-bound history above — both turned out to be about native Windows
    being unable to import homeassistant.runner's unconditional, unguarded fcntl/resource stdlib usage
    (no Windows equivalent, present in every current release), not about the pinned dependency versions
    themselves. pyproject.toml now only pins requires-python to the Python line the devcontainer's base
    image actually provides (>=3.13.2,<3.14) for resolution stability, with no Windows-specific constraint at
    all. Dev/test now tracks current homeassistant (2026.2.3 as of this change) again. Native Windows
    uv sync/pytest is no longer a supported path — see CONTRIBUTING.md.