v1.3.0
Repo-quality pass in preparation for a HACS default-repository submission — no functional/entity changes, everything below is internal.
Added
parsing.py— the BirdNET-Go payload → entity-field mapping extracted into plain functions with nohomeassistantimport, so it's testable without the full HA test harnesstests/test_parsing.py— 19 unit tests (empty payloads, missing keys, the URL percent-encoding regression from 1.2.0, SSE payload shapes)pyproject.toml— Ruff configured with the same ruleset Home Assistant core uses for its own integrations;ruff+pytestCI jobs alongside the existing hassfest/HACS validation- Docstrings on all public methods
Changed
coordinator.pyis now pure async plumbing (HTTP/SSE/coordinator lifecycle) aroundparsing.py— no payload-shaping logic left in itdatetime.utcnow()→dt_util.utcnow()(HA's own helper;utcnow()is deprecated and returns a naive datetime)
Full changelog: CHANGELOG.md