Her er 14 versioner af SwitchHosts, fra 30. marts 2021 til den aktuelle 5.0.3. Hver version linker til udgiverens egne installationsfiler.
14 versioner på 6 år · cirka 2,5 om året
| Version | Dato | Størrelse | Filer |
|---|---|---|---|
| 5.0.3Nyeste | 20. oktober 2026 | — | 64-bit EXE (NSIS)ARM64 EXE (NSIS)32-bit EXE (NSIS) UdgivelsesnoterThis release adds batch domain resolution, import previews, and history management, improves the editor and localization, and fixes issues with hosts switching, data handling, and macOS compatibility.
New Features
- Domain resolution: Resolve domains into hosts entries via DNS over HTTPS (DoH), with batch input, concurrent lookups, per-domain results, and cached-IP fallback when resolution fails.
- Import previews: Preview configurations imported from files or URLs, then selectively append entries or replace all configurations. Folder structures and configuration references are preserved, and replacement requires confirmation.
- History management: Enable or disable system hosts history, configure retention limits, view saved-record counts, and clear history.
- Custom API ports: Change the HTTP API listening port without restarting. Service status and port-conflict messages are now available, and the Alfred workflow also supports custom ports.
- Links in comments: Open HTTP(S) links in hosts comments with Cmd + Click on macOS or Ctrl + Click on Windows/Linux.
Editor and Interface
- Highlight the boundaries of content managed by SwitchHosts, with labels that remain visible during horizontal scrolling.
- Refine syntax highlighting and colors for line numbers, selected text, and read-only content, and improve visual consistency across themes and controls.
- Adjust sidebar action placement and simplify the trash indicator.
- Improve the tray popup layout and adjust its initial height based on visible entries.
- Improve the language selector with theme support and a multi-column layout.
Bug Fixes and Stability
- Fix inconsistencies between hosts toggle states and applied content, and improve state synchronization during HTTP API switching, failed saves, and recovery.
- Fix sibling folders unexpectedly collapsing when interacting with folders.
- Restore Alt + Drag column selection and correct comment toggling across multiple selections.
- Improve handling of BOM, UTF-16, and legacy Windows ANSI encodings; back up original content before conversion, restore it accurately during rollback, and validate content before writing.
- Strengthen backup and import validation, preserve imported metadata, and improve retries after import failures.
- Fix errors not being properly reported when loading the configuration index or trash fails.
- Fix history settings being reverted after recovery failures, and improve history refresh and retry behavior.
- Improve error messages for invalid remote URLs, certificate errors, request timeouts, and connection failures.
- Improve batch domain refresh stability, limit the size and duration of each refresh, and prevent stale responses from overwriting the latest state.
macOS and Window Behavior
- Fix tray popups not displaying properly over full-screen applications.
- Fix tray popups not responding to clicks on macOS 27.
- Adjust the vertical alignment of macOS window controls.
- Fix titlebar dragging being unavailable while a dialog is open.
Localization
- Add Spanish, Italian, Dutch, Portuguese, Vietnamese, Russian, and Thai.
- Refine Traditional Chinese UI text.
Development and Maintenance
- Update frontend, Rust, and build dependencies.
- Update CI and release workflows, and upgrade the build environment to Node.js 24.
- Add a Tauri development debugging configuration and expand regression test coverage.
- Update the project homepage to switchhosts.app.
Acknowledgements
Thanks to everyone who contributed code, testing, translations, and issue reports! Welcome to our first-time code contributors: @beyond-infra, @nrps9909, @ziji-wu, @cuishuang, and @Jarvis636431.
Full Changelog: v5.0.2 → v5.0.3
本次更新新增批量域名解析、导入预览和历史记录管理,改进编辑器与多语言体验,并修复多项配置切换、数据读写和 macOS 兼容性问题。
新增功能
- 域名解析:支持通过 DNS over HTTPS(DoH)将域名解析为 hosts 条目;支持批量输入、并发查询、逐项查看结果,以及解析失败时回退使用缓存 IP。
- 导入预览:从文件或 URL 导入配置时,可先预览内容,再选择部分配置追加导入或替换全部配置;保留文件夹结构及配置引用关系,替换前需确认。
- 历史记录管理:支持开启或关闭系统 hosts 历史记录、设置保留数量、查看记录数及清空历史记录。
- 自定义 API 端口:HTTP API 支持修改监听端口并即时生效,无需重启 |
| 5.0.2 | 10. august 2026 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)ARM64 EXE (NSIS)ARM64 EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) UdgivelsesnoterWhat's Changed
- chore(deps-dev): bump react-router from 7.15.0 to 7.15.1 by @dependabot[bot] in #1008
- chore(deps-dev): bump vite from 8.0.10 to 8.0.16 by @dependabot[bot] in #1007
- chore(deps): bump undici from 7.25.0 to 7.28.0 by @dependabot[bot] in #1011 |
| 5.0.1 | 18. juni 2026 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) UdgivelsesnoterNew Features
- Added “Lightweight Mode”: closing the main window can now release WebView memory, useful for users who want lower background resource usage.
- Restored custom data storage location: choose a data directory, migrate existing data, and reset back to the default location.
- Added a privileged background Helper on macOS to reduce repeated admin password prompts when writing to /etc/hosts. (If the Helper has issues, you can open macOS “Login Items” settings directly to approve or re-enable it.)
- Added a “Quit app when closing the main window” option, better matching Windows users’ expectations.
Experience Improvements
- Optimized tray window creation and destruction to reduce resource usage while running in the background.
- Long update changelogs are now scrollable instead of being truncated.
- Added a title to the Import URL dialog; modal titles are now bold globally for better readability.
- Added a default path tooltip to the data directory recovery dialog to help avoid accidental actions.
- Reordered items in General settings and improved multilingual copy.
Bug Fixes
- Fixed an issue where the Windows/Linux title-bar close button did not correctly trigger Lightweight Mode memory release.
- Fixed an issue where the tray mini window could close immediately after opening on Windows/Linux.
- Fixed an issue where the main window could still appear on macOS login even when “Hide at launch” was enabled.
- Strengthened the recovery flow for custom data directories when they are damaged, missing, or referenced by an invalid pointer.
- Fixed a brief flash of default data that could appear during data directory recovery.
- Fixed a release workflow race condition where multiple build jobs could create the draft Release concurrently.
Dependencies and Internal Improvements
- Updated multiple frontend, backend, and Rust dependencies, including Electron, Vite, Hono, Axios, Lodash, React, Mantine, Vitest, Sass, and more.
- Updated security-related indirect dependencies, including picomatch, @xmldom/xmldom, follow-redirects, rustls-webpki, tar, and more.
- Added test coverage for window lifecycle, Lightweight Mode, tray behavior, data directory recovery, and configuration update failure paths.
- Improved macOS Helper diagnostic logging, making background component issues easier to inspect through system logs.
新增功能
- 新增“轻量模式”:关闭主窗口时可释放 WebView 内存,适合希望降低后台占用的用户。
- 恢复自定义数据存储位置:可选择数据目录、迁移现有数据,并支持重置回默认位置。
- macOS 新增后台提权 Helper:写入 /etc/hosts 时减少反复弹出管理员密码的情况。(Helper 异常时可直接打开 macOS “登录项”设置,便于批准或重新启用后台组件。)
- 新增“关闭主窗口时退出应用”选项,兼顾 Windows 用户的使用习惯。
改进体验
- 优化托盘窗口创建与销毁逻辑,减少隐藏运行时的资源占用。
- 长更新日志弹窗现在可滚动查看,不再被截断。
- 导入 URL 弹窗新增标题;全局弹窗标题加粗,更易识别。
- 数据目录恢复弹窗增加默认路径提示,避免误操作。
- 调整“通用设置”项目顺序,并完善多语言文案。
修复问题
- 修复 Windows/Linux 标题栏关闭按钮未正确触发轻量模式释放内存的问题。
- 修复托盘迷你窗口在 Windows/Linux 上刚打开就关闭的问题。
- 修复 macOS 登录启动时,在“启动时隐藏”开启后主窗口仍可能显示的问题。
- 加强自定义数据目录损坏、丢失、无效指针等场景的恢复流程。
- 修复恢复数据目录时可能短暂显示默认数据的问题。
- 修复发布流程中多个构建任务并发创建草稿 Release 的竞态问题。
依赖与内部改进
- 更新多项前端、后端与 Rust 依赖,包括 Electron、Vite、Hono、Axios、Lodash、React、Mantine、Vitest、Sass 等。
- 更新安全相关间接依赖,包括 picomatch、@xmldom/xmldom、follow-redirects、rustls-webpki、tar 等。
- 增加窗口生命周期、轻量模式、托盘行为、数据目录恢复、配置更新失败路径等测试覆盖。
- 改进 macOS Helper 诊断日志,现在可通过系统日志排查后台组件问题。
Full Changelog: v5.0.0...v5.0.1 |
| 5.0.0 | 17. maj 2026 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) UdgivelsesnoterUpdate List
- Core Architecture Migrated to Tauri 2: Migrated from an Electron main process to a Rust/Tauri backend, added the complete src-tauri implementation, and removed the old Electron main process code, packaging scripts, and electron-builder workflow.
- New v5 Data Structure: Data is now stored in separate layers: manifest.json, entries/, trashcan.json, internal/config.json, and internal/histories/. README backup instructions were updated accordingly.
- Compatible Migration, Import, and Export: Supports first-run migration from legacy PotDb data; manual import now supports v3, v4, and v5 backups; exports now use the v5 backup JSON format with timestamped filenames.
- System Hosts Writing Reworked: Switched to native system privilege flows: Security.framework on macOS, pkexec on Linux, and UAC self-elevation on Windows. The in-app sudo password input was removed.
- New/Reworked Auto Update System: Integrated Tauri updater, with background update checks, manual download/install, proxy support for update requests, and generated/published latest.json.
- Rebuilt CI and Release Pipeline: Added GitHub Actions CI and Release workflows. Releases now run the full test suite before publishing and support signed/validated builds for macOS universal/arm64/x64, Windows x64/x86/arm64, and Linux x64/arm64.
- Editor Upgraded to CodeMirror 6: Improved large-file performance, syntax highlighting, line numbers, read-only mode, history snapshot rendering, and cursor/display stability.
- Enhanced Remote Hosts Refresh: Added startup refresh support, response size limits, and CRLF/LF normalization.
- Improved System Tray Behavior: Fixed macOS focus handling, multi-monitor positioning, rounded corners, and interaction issues.
- Major Main UI Redesign: Added a left activity bar, Hosts/Trashcan view switching, resizable left and right panels, a right-side details panel, centered title bar, frameless window, and cross-platform window controls.
- Right Details Panel: Shows the current hosts type, rule count, remote URL, refresh interval, last refresh time, group contents, and folder selection mode; trashcan items can be restored or permanently deleted from the panel.
- Unified Trashcan Experience: Moved the trashcan entry to the left sidebar, with item count display, restore, permanent delete, clear, and details panel operations.
- Preferences Reworked: Split preferences into General, Commands, Proxy, and Advanced tabs. General and Advanced settings auto-save, while Commands and Proxy keep manual save status feedback.
- New Preference Options: Added system theme by default, launch at login, and refresh remote hosts on startup.
- Enhanced Proxy Support: Added socks5 proxy protocol support, and both remote hosts refresh and app updates can now use proxy settings.
- Local HTTP API Preserved and Migrated: Reimplemented the 50761 API with Rust/Axum, supporting /api/list and /api/toggle; when port binding fails, the setting is rolled back and the user is notified.
- Localization and Copy Updates: Organized and sorted locale keys, fixed language preference fallback display, localized menus and find window text, and updated multilingual README screenshots and v5 documentation.
- Stability Fixes: Fixed concurrent config writes, HTTP API startup failure state, invisible window after hiding the Dock icon, stuck hover state after drag, titlebar/tray switch synchronization, long title truncation, loading screen lockups, and more.
- Expanded Test Coverage: Added Playwright e2e tests, Rust tests, and frontend component/model unit tests covering preferences, import/export, remote hosts, local hosts, trashcan, title bar, tree operations, find/replace, and more.
- Toolchain Upgrades: Upgraded to Vite 8, TypeScript 6, Mantine 9, Vitest 4, and Tauri 2.11, and introduced ESLint 10 with naming convention rules.
- Development and Build Command Changes: Development now uses npm run tauri:dev; production builds use npm run tauri:build; build artifacts are now located unde |
| 4.3.0 | 13. marts 2026 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) UdgivelsesnoterWhat's Changed
- Updated dependencies
- Migrated UI components from Chakra UI to Mantine
- Switched to CodeJar for hosts content editing
- Replaced Express with Hono.js for API implementation
- Miscellaneous improvements and fixes
New Contributors
- @1411430556 made their first contribution in #931
- @Piteriuz made their first contribution in #948
Full Changelog: v4.2.0...v4.3.0 |
| 4.2.0 | 7. august 2024 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) |
| 4.1.2 | 8. juni 2022 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS)32-bit EXE (NSIS)32-bit EXE (NSIS) |
| 4.1.1 | 7. marts 2022 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS) |
| 4.1.0 | 20. december 2021 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS) |
| 4.0.3 | 22. august 2021 | — | 64-bit EXE (NSIS)64-bit EXE (NSIS) |
| 4.0.2 | 16. juni 2021 | — | 64-bit EXE (NSIS) |
| 4.0.1 | 22. maj 2021 | — | 64-bit EXE (NSIS) |
| 3.5.8 | 5. april 2021 | — | 64-bit EXE (NSIS) |
| 3.5.7 | 30. marts 2021 | — | 64-bit EXE (NSIS) |