miloco v2026.7.3
Since v2026.6.18: 120 commits, 26 PRs, 160 files changed (+12,732 / β3,218).
π― New Features
- Event-feedback packaging (@Molly-3000): one-click feedback on a perception event that locally packages its trace + gallery assets. The post-feedback view shows the package path, offers an "Open folder" action, and links to a Feishu survey. Backed by fail-closed PII redaction, a 2 GB disk-quota fallback, the real Mi Home uid, and full EN/ZH i18n.
- Conversational first-run setup (
miloco-onboarding) (@LeonJoeeee): on a fresh install the backend proactively sends a setup invitation, delivered straight to the user's IM chat via the owner channel. It guides the user through seven segments (members, device nicknames, usage habits, timezone, β¦) to register family members and the home profile β writing each entry only after user confirmation β and hooks into system events.
π§ Perception / Omni Stability
no_personfalse-detection guarding (@ExWang): misdetected objects are no longer treated as people; adds a self-healing path so it can't get permanently stuck, and only lifts suppression on a genuine multimodal verdict.- OmniEventArtifacts container + omni-trace persistence (@Zirconi): removes the legacy
omni_logmodule. - observe: unidentified subjects now uniformly display "Unidentified"; prevents duplicate candidate entries and fabricated identities (@idootop).
- omni no longer misuses injected home-profile names; refreshes
profile.mdafter a member is added/registered (@ExWang). - perception gate hold default 360sβ90s, now surfaced explicitly in
settings.yaml(@Zirconi); event text time aligned to the agent prompt's window start (@Molly-3000). - identity: pet
class_idmapped toObjectType.PET(@zackzmai).
π· Camera / Codec
- Streaming and perception feeding now share the same selection criterion, converging over-quota cameras; camera native sessions are stopped when perception is disabled or the home is removed (@Ada-xia).
- Fixed a race between H264LiveEncoder
close()and_encode_sync(@zackzmai); added G711A/G711U audio decoders (@chliny). - Upgraded onnxruntime to 1.27.0, fixing a KleidiAI convolution workspace memory leak (@ExWang).
- Normalized
sub_devicesso devices with sub-devices no longer crash CameraInfo validation (@Ada-xia); added "Xiaomi Smart Home Screen Pro 8" to the wifispeaker allowlist (@chliny). - Fixed duration overcounting when multiple cameras exit simultaneously (@sqliu07).
βοΈ Improvements: Web / Rules / Patrol / Notify / Devices
- In-dashboard model-config management (@chliny, @ExWang): the Models page now supports editing / enabling / disabling / deleting model configs on top of its previous read-only view, with a two-stage real connectivity check.
- CLI
doctorcommand rework (@Zirconi): split into probe/assess layers with active connectivity probing (UDP exposes the real egress interface; ping sends 3 packets), plus i18n, streaming output, backend-version display, and macOSlo0compatibility. - New
/api/admin/versionendpoint (@Zirconi), with a wheel-deployment fallback. - home-patrol redesigned as a ledger + fixed-lookback (@idootop); rule runner state consolidated into a
RuleRuntimeStatedataclass (@Zirconi). - notify: 60s dedup fallback for identical messages (@idootop).
- MIPS subscribes to device cloud online/offline state (@zackzmai); settings gains a
server.url/ host+port consistency validator (@chliny).
π Network / CI / Supply Chain
- LAN: skip down interfaces instead of aborting socket init (@HCl8).
- All GitHub Actions pinned to commit SHAs; dependency-guard supports
/allow-dependencies-changecomment approval; hardened PR review + fork support (@HCl8). - Backend minimum Python raised to 3.11 (docs + install scripts, @ExWang).
π Acknowledgements
Thanks to everyone who contributed to this release: @Molly-3000, @LeonJoeeee, @ExWang, @Zirconi, @chliny, @Ada-xia, @zackzmai, @idootop, @HCl8, @sqliu07