Releases: digdat0/HaulNX
Release list
HaulNX 2.1.23
HaulNX 2.1.23
New: in-app Help hub + first-run guided tour — now fully translated into all 24 supported languages.
The last published release was 2.1.12, so this one bundles the whole
Help/guided-tour feature build-out (2.1.13 → 2.1.23) plus a couple of
unrelated fixes, in one drop.
Help hub (Settings → Help)
- Replaces the old "Getting Started" stub with three sections: Getting
Started (essentials for a fresh install), How-To (24 short guides —
adding a repo, downloading, box art, DAT verification, 1G1R, updating
emulators, USB/Wi-Fi transfer, custom install folders, download
speed/concurrency, and more), and Troubleshooting (18 common problems
with fixes). - In-Help keyword search — press X from the Help hub, type one or more
keywords, and every article whose title or body matches is listed.
Guided tour
- Runs automatically the first time HaulNX has no repos configured anywhere,
walking through Library, Collections, Queue, Install Folders, Storage, and
PC transfers — each step opens the actual screen it's describing (with a
mocked-up Queue card and console cards on a totally fresh install, since
there's nothing real to point at yet). Shows once ever; replay any time
from Help → Getting Started → "Replay the guided tour." - Ends in the same "add your first repo / send from a computer" prompt as
before.
Translation
- All 130 Help/tour strings — the Help UI chrome, every tour step, and every
Getting Started/How-To/Troubleshooting article — are now fully translated
into all 24 non-English languages. Previously this entire section silently
fell back to English everywhere but the source language.
Also in this release
- Fix: backing out of the tour (or choosing "Not now" at the end) before
adding a repo could strand you on whatever screen the tour's last step
happened to be showing (Storage, Transfers, ...). Now sends you back to
the Library tab instead. - Fix: archive.org subfolder-scoped repos whose folder name contained a
space or other percent-encoded character could silently fall back to
matching the collection's root instead of the actual subfolder, producing
wrong download URLs.
HaulNX 2.1.12
HaulNX 2.1.12
Desktop companion: manual update check + startup toggle.
- New Settings → General → App Utility updates panel: a Check for
updates now button (with status text) and a Check for updates on
startup toggle, on by default. Turning the toggle off stops the silent
on-launch check; the ⬆ Update pill only appears after you check manually. - Note for anyone testing self-update from 2.1.10: that build's update check
can never find a release — the bug fixed in 2.1.11 is baked into the 2.1.10
binary itself and can't be patched after the fact. 2.1.11 onward checks
correctly.
HaulNX 2.1.11
HaulNX 2.1.11
Desktop companion: real self-update.
self_update_checkwas matching release tags against an"app-utility-v"
prefix thatrelease.shnever actually uses (it tags the bare version, e.g.
2.1.10) — the update check could never find a release. Fixed.self_update_runused to download the update and hand it toexplorer.exe
as if it were an installer; for our actual asset (a portable.exe, no
installer) that just opened a second copy and replaced nothing. It now
replaces the running exe in place — rename aside, copy the new build over,
relaunch, exit — with rollback on any failure.- Applying an update now warns first if you have unsaved Archive Collection
edits (same Export / Discard / Cancel prompt as closing the app), since
updating relaunches it the same way.
HaulNX 2.1.10
HaulNX 2.1.10
Desktop companion hardening + standalone App Utility HTML retired.
- Desktop:
open_urland the self-update installer launch now useexplorer.exe
instead ofcmd /C start, closing a shell-metacharacter injection path in any
clicked link or URL. - Desktop:
esc()now does a full HTML-entity encode (&,<,>,",')
instead of just"/<, in bothindex.htmlandlocal-ext.js. - Desktop: fixed a version-comparison bug, SD Card tab mtime/exact-size display,
.repo-namewrapping, and moved the emulator-card version onto the header. - The old standalone
tools/app-utility/appUtility-<version>.htmlbrowser
companion is retired — no longer built, released, or committed. The native
desktop app (HaulNX-AppUtility.exe) is the only PC companion going forward.
HaulNX 2.1.6
HaulNX 2.1.6
SD Card tab (desktop companion) — browse, add, rename and delete anywhere on the card.
- New Settings → PC Sync → Full SD card access toggle (off by default,
confirmed on enable): once on, the desktop app's new SD Card tab can browse,
upload, download, rename, move and delete any file or folder on the SD
card — not just HaulNX's own managed folders — over both Wi-Fi and USB,
the same reach as mounting the card in Windows Explorer over MTP. - Backed by a new
fs_*route family on the Wi-Fi inventory server and a
matching top-level "SD Card" object on the embedded MTP responder; large
folder deletes run in the background so they can't freeze the connection
for anyone else. - The Downloads tab on the desktop companion now also mirrors the console's
own Queue (live progress, history) via a new queue-status endpoint. - Desktop companion stability: fixed a race where navigating the SD Card tab
right after an upload could show a stale folder instead of the one you'd
clicked into; fixed failed transfers sometimes logging twice in Download
History; fixed a stuck "downloading…" row with no error if a download task
died outright; fixed a small memory leak from dismissing finished/failed
transfers; and fixed the same stale-overwrite race in the background
device-inventory poll (could otherwise flip "Connected" back to
"Disconnected" on its own, or show an outdated file listing).
HaulNX 2.1.0
HaulNX 2.1.0
Box art, a customizable accent color, and a lot more solid downloads.
Box art
- Card view can now show real cover art instead of a plain tile — fetched and
cached automatically, with an optional SteamGridDB API key (Settings) for
better hit rates.
Accent color
- Settings → Appearance → Accent Color: pick from 6 presets and the whole app
follows — tabs, dialogs, the side menu, progress bars, and every other fill
and outline that used to be a fixed blue.
Downloads — reliability
- Fixed a real bug where two queued items with the same name could corrupt
each other's download by writing to the same temporary file; the queue also
no longer lets you double-enqueue the same item. - A stalled connection (weak signal, an archive.org node hiccup) is now
correctly retried with backoff and resume instead of sometimes failing
outright with a confusing error. - The Queue tab shows "Reconnecting…" during that kind of retry instead of
a blank speed field that looked like a dead download. - Failed downloads now log the server's actual error response, so a repeated
failure is diagnosable instead of just "http=500".
Library maintenance
- The DAT/hash/verify caches now clean out entries for files you've since
deleted, moved, or renamed, instead of holding onto them indefinitely.
HaulNX 2.0.0
HaulNX 2.0.0
Verify your library against No-Intro/Redump DATs, native RAR3 support, full 25-language coverage, and a relicense to GPLv3.
Verify & tidy the library
- New Verify against DATs — checks each ROM's size and hash against
No-Intro / Redump DAT files (auto-downloaded, or sent from your PC).
Byte-order and header quirks are normalized, and single-file archives are
hashed inside the zip, so a good dump matches whether loose or zipped.
Verify status is persisted and shown as badges in the Library. - Have-vs-missing view — see what a set is missing and jump straight to
an archive.org search to acquire it. - Tidy library — finds misfiled files (wrong console folder) and exact
duplicates; report-only, confirm each — nothing moves or deletes without
your say-so. - Reduce to 1G1R — flag clone/region duplicates down to one game per
title, with a configurable Region Priority order. - Multi-disc/multi-part sets are detected and rolled up as a group across
verify results, delete, move, rename, and info.
Native RAR3 support
- A from-scratch RAR3 filter-decoder, ported from the LGPLv3-licensed unarr
project, kicks in as a fallback wherever libarchive can't unpack an older
RAR3 archive.
Embedded MTP, rebuilt
- The USB MTP responder was rewritten from scratch against libnx's own
usbdsAPI, replacing the previous GPLv2-only implementation. Faster
GetObject (pull) throughput, and a Diagnostics toggle to turn the
responder off entirely if you don't use USB transfers.
License
- HaulNX moves to GPLv3 (from GPLv2). The RAR3/unarr port requires it
(LGPLv3), and it's also what lets the rewritten MTP responder's
Apache-2.0-inspired protocol layer combine cleanly. Full detail in
THIRD-PARTY-NOTICES.md.
Settings reorganized
- Data Files section (DAT files + metadata cache), a Manage Inbox folder
screen, multi-select delete for emulator/app backups, a flattened PC Sync
menu, and pushing the emulator/app update-source list to your PC now live
under Data Files. - Every button-press footer hint is touch-tappable.
Storage
- New Scan for large files on SD Card finder.
Languages
- All 25 shipped languages now have full, format-string-verified coverage —
no more strings silently falling back to English.
Also in this release
- Install a game straight from your PC over Wi-Fi (from 1.1.2, if you
haven't updated recently): a small on-console upload page streams the
file to the SD card with a live progress bar, launched from either the
Installed tab's per-console Options menu or Settings › Install from PC.
The bundled App Utility is now appUtility-v2.0.0.html.
HaulNX 1.1.2
HaulNX 1.1.2
Install a game straight from your PC, plus a live verify progress bar.
Install from PC
- You can now push a game file from a browser on your PC straight onto the
console over Wi-Fi — no USB cable, no re-downloading. The console runs a small
upload page that streams the file directly to the SD card (in bounded slices,
so the UI keeps rendering and shows a progress bar even for multi-gigabyte
transfers). - Two ways in:
- On the Installed tab, press X on a console for an Options menu —
Receive from PC, Pin/Unpin, and Sort. The same menu is available in
both list and card view, so the controls no longer differ between the two. - Settings › Install from PC lets you pick the target console first, then
opens the receive screen with on-device instructions.
- On the Installed tab, press X on a console for an Options menu —
- The Y button on a console is now purely Install folder — receiving a
game is its own separate action, so neither is buried inside the other. - New Settings section icon for Install from PC.
Verify progress
- MD5 verification now shows a moving progress bar instead of sitting on
"vrfy". A large uncompressed ISO (which has no unzip step after it) used to
look hung while it hashed; the bar now tracks the hash from 0–100%.
Other
- Footer button hints on the Installed tab were refreshed to match the new
layout, and re-translated across all 24 supported languages. - The bundled App Utility is now
appUtility-v1.1.2.html.
HaulNX 1.1.1
HaulNX 1.1.1
Speed-test reliability on slower connections.
- The Diagnostics speed test now transfers a 50 MB download sample
instead of 90 MB. The larger sample made no measurable difference to the
reading but pushed the minimum link speed that could finish inside the test's
time limit up to ~6 Mbps — so a genuinely slow-but-working connection could
time out and report a spurious failure. 50 MB drops that floor back to
~3.3 Mbps while still running long enough to measure accurately. - Documentation: the README now calls out custom install folders (global
and per-console), with a link to the new Custom Folders wiki page.
HaulNX 1.1.0
HaulNX 1.1.0
A redesigned Settings, per-console install folders, a live speed test, and a
much wider console list.
Settings, rebuilt
- Settings is now a set of single-concern sections — Appearance, Downloads,
Filters, Storage, Collection Management, Account & Network, Updates, Logs,
Diagnostics and About — each with its own icon, instead of one long list. - Logs is a top-level section, and Diagnostics gains a speed test, a
self-test, and an exportable debug bundle for troubleshooting.
Per-console install folders
- Storage → per-console folders lets you send each console's downloads to a
folder you choose, instead of everything landing under one ROM root. The
Installed tab follows those custom folders, so browsing and managing what you
have keeps working wherever the files live. - Each console row now reads as icon, full name, (short name) for clarity.
More consoles
- Added a large batch of systems: Famicom Disk System, Virtual Boy, Pokémon
Mini, Game & Watch, SG-1000, Sega 32X, the PC Engine family (incl. SuperGrafx
and PC-FX), the Neo Geo family (incl. CD and Pocket), the Atari line
(2600/5200/7800/Lynx/Jaguar), WonderSwan (+ Color), ColecoVision,
Intellivision, Odyssey², Vectrex, Channel F, 3DO, CD-i, Supervision, and
arcade (Arcade / FinalBurn Neo). Existing installs pick them up on update. - The original launch console set keeps its previous defaults; the newly
added systems ship disabled by default in both the Browse and Installed
console filters, so they're opt-in and don't clutter your lists.
Speed test
- The Diagnostics speed test reports live upload and download rates with a
progress bar and ETA, rather than a single number at the end.
Queue
- You can now cancel or retry an item while it's verifying or unpacking,
not only while it's downloading.
Tidier on-disk layout
- App data and logs are now organised into
config/andlogs/
subfolders undersdmc:/switch/HaulNX, instead of sitting loose in the app
folder. On update, existing files (including rotated logs) are moved into
the new folders automatically — nothing to do by hand.
App Utility
- Bumped to
appUtility-v1.1.0.html.
Fixes
- Speed test no longer fails against Cloudflare. The download leg was
requesting a payload at the size Cloudflare rejects with HTTP 403, which
surfaced as a failed test ("failed, cloudflare"). It now uses a size that
stays under that ceiling. - Removed the ROM-folder line from the foot of the main Settings page — the ROM
folder is managed under Storage now, so it's no longer duplicated there.