Skip to content

NH Reader v0.7.4

Choose a tag to compare

@PhantomNimbi PhantomNimbi released this 06 Oct 22:04
· 26 commits to main since this release

NH Reader v0.7.4

Release date: 2026-10-06

✨ Highlights

NH Reader v0.7.4 is a stability and installer polish release. Browsing with the blacklist set to "Hide" now always produces full grids: unblocked galleries are backfilled from upstream pages so filtered pages never render empty slots, and edits to your blacklist instantly re-fill the view.

Windows users get a cleaner setup experience too — the installer's finish page is readable again in dark mode, upgrading now fully removes the previous version before installing (no more leftover-file races), and the Korean installer language no longer emits build warnings. This is a source-only release; build and sign locally as always.

🚀 Key Improvements & Features

  • Full grids with blacklist Hide mode — streamBackfilledList keeps pulling upstream pages until every 28-item server page is filled with non-blacklisted galleries, with surplus buffered for seamless forward/backward navigation. Changing blacklist tags or modes re-streams the grid immediately.
  • Readable installer finish page — Finish and welcome page titles, body text, and checkboxes are explicitly colored light-on-dark instead of Windows default black-on-dark.
  • Clean upgrades — The installer now terminates lingering processes and runs the previous uninstaller synchronously (NSIS_HOOK_PREINSTALL) so old files are fully purged before the new version writes.
  • Korean installer localization — Full MULTIUSER_INSTALLMODEPAGE Korean strings eliminate NSIS build warnings during npm run build:app.

✅ Changed

  • Bumped project version to 0.7.4 across package.json, src-tauri/Cargo.toml, src-tauri/tauri.conf.json, and src-tauri/Cargo.lock.
  • .github/workflows/pages.yml now authenticates with secrets.PAT_TOKEN for GitHub Pages deployments.
  • Root tracking files (ROADMAP.md, TODO.md, BUGS.md) realigned to their canonical templates, with a new PLAN.md sprint ledger; release notes moved out of version control into a local-only scratch area.

🐛 Fixed

  • Partially empty grids in blacklist Hide mode — Blacklisting many tags/languages/artists/categories no longer leaves pages with only a handful of cards; pages stay full (28 items) as you paginate.
  • Illegible NSIS finish page text — Dark installer backgrounds no longer render black text on dark surfaces.
  • Leftover files after upgrading — The previous version's uninstaller now runs to completion before the new install begins, instead of racing it from %TEMP%.
  • Korean NSIS build warnings — Missing MULTIUSER_INSTALLMODEPAGE strings are now translated.

🛠️ Manual Build & Signing

There are no prebuilt release assets. Build on the target platform and sign using credentials you control:

  • Windows: npm run build:app, then npm run sign:windows. Place your PFX at certificates/nh-reader-codesign.pfx; the script can generate a local self-signed certificate if none exists, but self-signed certificates are not trusted publisher identities.
  • macOS: npm run build:app, then npm run sign:macos -- "<Developer ID Application identity>" "src-tauri/target/release/bundle/macos/NH Reader.app". Notarization is a separate Apple distribution step.
  • Linux: npm run build:app, then npm run sign:linux -- path/to/package; verify with gpg --verify path/to/package.asc path/to/package.
  • Android: npm run mobile:android:init, npm run mobile:android:build, then npm run sign:android -- path/to/release.keystore --ks-key-alias <alias> path/to/app.apk.
  • iOS: On macOS with Xcode and a valid Apple signing identity/provisioning profile, run npm run mobile:ios:init, then npm run sign:ios -- CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM=<team-id> CODE_SIGN_IDENTITY="Apple Distribution" PROVISIONING_PROFILE_SPECIFIER=<profile-name>.

Do not commit private keys, keystores, certificates, or provisioning profiles.

Verification

  • cargo check + cargo test (src-tauri) — passed (7/7 tests, 0 failed)
  • npm run check (svelte-check) — 0 errors, 0 warnings
  • npm run i18n:check — 279/279 keys validated across all 17 community packs
  • npm run check:agents — 13 rules, 6 skills, 12 templates, 4 primaries; all gates passed
  • npm run build:app — not run for this tag; under the manual distribution model every user builds and signs from source on their own platform (no prebuilt bundles are attached to this source-only release)

📄 Changes & Commits

  • 3874d2e docs: set status legend emoji and standardize severity indicators in BUGS.md
  • 171a480 fix: backfill unblocked galleries, fix NSIS finish page text & uninstaller, add Korean strings, and bump to v0.7.4
  • 894939d docs: track blacklist page filling and dynamic scaling issue in BUGS.md
  • 405c7e4 fix(docs): add mermaid diagram rendering, rouge syntax highlighting, and responsive table and list typography
  • 1841dfa chore(distribution): remove WinGet manifests
  • Release source: annotated tag v0.7.4 (source only; no application assets)

Full commit history: git log --oneline v0.7.3..v0.7.4