Skip to content

v0.2.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 May 22:01
f12697b

Fixed

  • GitHub now detects the license as Apache-2.0. LICENSE was
    byte-for-byte the canonical Apache-2.0 template except the appendix
    placeholders had been filled in (2026 Naanya Biz) and the closing
    paragraph re-wrapped, which is enough to flip GitHub's licensee
    matcher to NOASSERTION. Replaced LICENSE with the verbatim
    template from https://www.apache.org/licenses/LICENSE-2.0.txt and
    moved the copyright attribution to a sibling NOTICE file (Apache-2.0
    § 4(d)). Verify with
    gh api repos/NaanyaBiz/haggle/license --jq '.license.spdx_id'
    Apache-2.0. Closes #54.
  • MONETARY sensors no longer log a state-class warning on every poll.
    HA rejects state_class=MEASUREMENT on device_class=MONETARY; drop
    the invalid state_class from bill_projection, unit_rate, and
    supply_charge. Closes #49.
  • Backfill loop now sleeps between per-day fetches and halts on 429.
    First-install backfill no longer fires up to 7 GETs in <1 s; on
    rate-limit the loop stops so the next 24 h cycle resumes from the
    gap rather than silently dropping post-429 days. Closes #34.
  • Removing the integration now purges its entity-registry rows.
    async_remove_entry walks the registry and deletes orphans for the
    config entry, preventing _2-suffixed re-installs. Closes #50.

Changed

  • Coordinator overlaps recorder reads. Both get_last_statistics
    lookups (consumption + cost) now run via asyncio.gather, halving
    the wall time of the resume-point computation. Closes #35.
  • Code cleanup. Drop unused SCAN_INTERVAL_DAILY,
    SCAN_INTERVAL_PLAN, TOKEN_REFRESH_MARGIN_SECONDS constants; drop
    the __all__ re-export block from agl/client.py; correct the
    agl/__init__.py docstring to reference agl-api-explorer. Remove
    defensive NotImplementedError catches in the coordinator and the
    dict-fallback branch in HaggleEnergySensor.native_value — neither
    path is reachable from production code. Closes #37, #38.