v0.2.0-beta.2
Pre-release
Pre-release
Fixed
- GitHub now detects the license as Apache-2.0.
LICENSEwas
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'slicensee
matcher toNOASSERTION. ReplacedLICENSEwith the verbatim
template from https://www.apache.org/licenses/LICENSE-2.0.txt and
moved the copyright attribution to a siblingNOTICEfile (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 rejectsstate_class=MEASUREMENTondevice_class=MONETARY; drop
the invalidstate_classfrombill_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_entrywalks 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 viaasyncio.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_SECONDSconstants; drop
the__all__re-export block fromagl/client.py; correct the
agl/__init__.pydocstring to referenceagl-api-explorer. Remove
defensiveNotImplementedErrorcatches in the coordinator and the
dict-fallback branch inHaggleEnergySensor.native_value— neither
path is reachable from production code. Closes #37, #38.