Repository navigation
NH Desktop v0.4.0
NH Desktop v0.4.0
Release date: 2026-09-30
✨ Highlights
NH Desktop v0.4.0 introduces a dedicated uninstaller executable (uninstall.exe on Windows) that eliminates file-locking issues during uninstallation, aligns publisher attribution to HELIX Origin in system settings, and debuts a streamlined 100% drop-in hand-rolled localization architecture. This release also resolves gallery download failures with a direct in-app archive pipeline and fixes favorite button state synchronization so gallery detail views update immediately.
🚀 Key Improvements & Features
- Dedicated uninstaller executable — Deploys an independent
uninstall.exe(Windows) anduninstall(Linux) alongsideNH Desktop.exe. When launched, the uninstaller relocates to a temporary directory before execution so neither binary holds a file lock on the installation directory, allowingremove_dir_allto cleanly remove all application files without permission or sharing errors. - Reliable in-app gallery downloads — Replaced the external API-key download requirement with a direct in-app pipeline that streams gallery pages and packages them locally into clean
.zipor.cbzarchives with live per-page progress reporting. - Instant favorites synchronization — Fixed the favorites button on gallery detail pages to reactively reflect and update its state ("Favorite" vs "Saved") immediately upon clicking.
- Publisher attribution to HELIX Origin — Windows Add/Remove Programs (installed apps) now displays the correct publisher,
HELIX Origin, matching the GitHub organization owning the repository. - 100% drop-in localization architecture — Replaced the fluent dependency tree with a zero-dependency, high-performance
LocaleCatalogclass using Vite dynamic glob imports. Hand-rolled English (en.json) is the default source of truth, with automatic fallback to your operating system locale. - Effortless community translations — Adding a language requires no code modifications or registry edits. Simply drop
<locale>.jsonintosrc/lib/i18n/and validate withnpm run i18n:check. - Comprehensive translation contribution guide — Added full documentation and complete 78-key JSON schema reference with field explanations in
CONTRIBUTING.md. - Hardened SQLite concurrency — Added mutex poison recovery to database connection handling in
db.rs(lock_conn()), preventing application panics if a mutex lock is poisoned.
✅ Changed
- Bumped project version to
0.4.0acrosspackage.json,Cargo.toml,tauri.conf.json,Cargo.lock, and sidebar UI. - Updated Windows registry uninstaller registration to point
UninstallStringdirectly touninstall.exewith publisherHELIX Origin. - Aligned documentation across
README.md,CONTRIBUTING.md,ROADMAP.md,TODO.md, and allwiki/pages.
🐛 Fixed
- Uninstaller file locking on Windows — Previously, running the uninstaller from
NH Desktop.exe --installer --maintenancecaused Windows to lock the running executable, preventingstd::fs::remove_dir_allfrom deleting program files. The new dedicateduninstall.exeexecutes from temp and cleanly removes the install directory. - Gallery download failures — Fixed background download failures by fetching pages directly from image hosts and compiling
.zip/.cbzarchives locally without requiring an API key. - Favorites button state desync — Fixed the favorite button so toggling immediately updates its visual state and label between "Favorite" and "Saved".
📦 Install & Upgrading
Download the installer for your platform from the Assets section below:
- Windows:
NH Desktop-Setup-0.4.0-win-x64.exe - macOS:
NH Desktop-Setup-0.4.0-macos-arm64(ormacos-x64if available) - Linux:
NH Desktop-Setup-0.4.0-linux-x64
Upgrade in place: run the new installer over your existing installation. The unified installer will replace files, place the dedicated uninstall.exe, and update shortcuts and registry entries.
Verification
cargo check+cargo test(src-tauri) — passed (10/10)npm run check(svelte-check) — 0 errors, 0 warningsnpm run build— adapter-static site generated successfullynpm run i18n:check— 78/78 keys validatednode scripts/check-agents.mjs --all— whole tree compliant (61 source files)npm run build:installer— producesNH Desktop-Setup-0.4.0-win-x64.exeanduninstall.exe
📄 Changes & Commits
chore(release): bump version to 0.3.0 and prepare release notesfeat(i18n): add localization, language packs, and system-locale default (M9)fix(installer): defer launch until Finish click; feat(ui): context-aware titlebar searchdocs: remove Status column from CHANGELOG.md summary tabledocs: expand CHANGELOG.md with detailed sub-bulletsdocs: update CHANGELOG.md bullet format to match templatedocs: update CHANGELOG.md to latest template formatdocs: update CHANGELOG.md commit-link format to match templatedocs(templates): update changelog template to match actual CHANGELOG.md formatdocs: add CHANGELOG.md following project templatedocs(templates): fix changelog template to custom format
Full commit history: git log --oneline v0.2.1..v0.3.0