v1.4.0
A performance-focused release: smaller installs, a responsive async load, a ~3× faster parser, and — the headline — every editing operation stays responsive on very large hosts files (~400K entries) in both editions.
Classic 1.3.2 → 1.4.0, modern 1.0.2 → 1.1.0.
Performance
- Smaller installs — classic ~124 MB → ~53 MB; modern ~47 MB → ~29 MB.
- Responsive load (#27) — the file is parsed off-thread behind a loading indicator, so a large hosts file no longer freezes the UI on startup (also on reload / archive-load).
- ~3× faster parsing — a new allocation-light span parser replaces the regex at runtime (400K entries: 727 ms → 224 ms, ~6× fewer allocations). The regex is kept as a differential-test oracle.
- Responsive editing at ~400K rows — Cut, Paste, Delete, Duplicate, Insert, Move, Enable/Disable-all, Select-All, Undo/Redo, and sorting no longer hang for minutes. Operations that previously froze the UI for 1–2 minutes now complete in milliseconds.
Classic (WinForms)
- Fixed: clicking a column header (or editing with a sort active, or the archive list's startup sort) threw
BadImageFormatExceptionon .NET 10 — sorting now works (#67). - Fixed data loss: "Select-All → deselect one row → Delete" removed the excluded row (#68).
- Column-header sort now preserves your row selection and current row.
Modern (WinUI 3)
- New status bar showing line count and host-entry count, matching the classic edition (#71).
- No more column flicker while a large file loads or on add/remove (#70).
- Your row selection is preserved across Check/Uncheck and Duplicate.
- Fixed rows bleeding past the bottom edge on very large lists (#72).
Both editions
- Trailing-dot FQDN hostnames (e.g. Tailscale MagicDNS
host.tailnet.ts.net.) now parse as entries instead of comments (#65 / #66). - Paste fixes: a lingering row clipboard no longer hijacks classic cell paste; the modern edition no longer inserts at the top of the file when nothing is selected (#69).
- Assorted correctness hardening: unsaved-changes prompts after history-capped undo, stale checkbox visuals after undo, and cross-thread ping notifications.
Classic (portable, signed): download a zip below, unzip, and run — self-contained (no runtime to install), runs as a standard user, elevates on demand (one UAC prompt) only when saving. Modern installs and auto-updates from the Microsoft Store.