v0.9.0
Behavior changes
- Mandatory interface pinning (#154–#157): "Auto" network mode is gone. Patch now requires you to pin a network interface in Settings → Network (auto-selected on first run when only one is usable) before dynamic discovery or traffic flows. See ADR-0011.
Fixes
- Messages now sort by local arrival order rather than the sender's clock (#164), so a peer with a skewed system clock can no longer reorder the message list.
Internal
Two rounds of architecture cleanup — no user-visible behavior change: registry/presenter consolidation, a shared OSC-target validation seam, discovery peer-lifecycle and reliability-loop extraction, dead pass-through deletion in the Rust↔Flutter bridge, and a consolidated flash-decision path (#158–#173, #175–#176). Covered by 298 Rust tests and 284 Flutter tests, all green.
Full Changelog: v0.8.0...v0.9.0