v0.9.2
Maintenance release: two behavior fixes riding on a large internal refactor series (#177–#188).
Fixed
- Settings → Behavior → Reset now resets every setting. The old reset silently skipped Flash whole screen, leaving a stale value after a reset. Factory defaults are now owned by the engine, so the Reset button can't drift from them. (#179, #180)
- An unresolved network pin is now fully inert outbound. The presence heartbeat could unicast to dynamically-discovered peers even before an interface was pinned, contradicting the mandatory-pinning confinement rules. While unresolved, presence now goes to configured Static Peers only. (code-review follow-up to #178)
Internal
- Three rounds of architecture deepening (#177–#188): the UI command surface is a single test-enforced bridge seam, config mutations flow through one
ConfigPatchcommand, macro saves travel as one typed object end-to-end, the peer-import flows share one request/offer gate, and ~1,300 lines of pass-through and duplicated code were deleted. Test suites grew from 313+291 to 321+299 (Rust+Flutter).
Full Changelog: v0.9.1...v0.9.2