Stat plans follow the game you have installed. Deploy used to apply every stat plan onto the first vanilla copy it saved. After Steam replaced those tables, the next deploy wrote the old ones back over the verified files, and Helldivers 2 crashed on launch. Ordnance now keeps that backup when the live file is still that copy or the last deploy's output, and replaces it only when Steam has put a new table in its place.
Chef Shared Loader stays above file-swap boots. A multi-resource loader such as Chef was treated as an ordinary boot script, so file-swap installers got merged and deployed above it. The game then ran that merged script instead of Chef. A loader patch now stays the highest boot, and the other boot scripts stay below it.
New
Rename a mod in the library. The name you type is a display override. Entering the manifest's own name clears it.
Browser extension 1.0.3. The Nexus button now reads Ordnance Download, sits in the action bar, and shows up on each file when a mod page lists more than one.
0.4.2 — Automatic downloads, and mods that used to refuse to install
New
Automatic downloading (opt-in) — with automatic update checks on, Ordnance can now download and install updates it can fetch itself — GitHub, GameBanana, and ModWorkshop — right after a check finds them, no per-mod click. Separate toggle in Settings, off by default. Nexus Mods is never touched (still browser-only).
Lenient manifest parsing — mods whose manifest.json uses a non-UUID Guid (a slug) or omits the field entirely now install instead of erroring. A slug becomes a stable UUID (same slug, same identity across reinstalls); a missing Guid gets a local identity.
Fixes
Native file picker finally shipped — the "Add" button now opens the real desktop file dialog on Linux, not the breadcrumb window. (The fix landed after 0.4.1 was tagged, so 0.4.1 didn't have it.)
Deploy errors name the culprit — stat-plan deploy failures now say which mod caused them and offer copy-to-clipboard / report buttons.
Mod source link beside the version tag.
Updating a mod no longer auto-adds it to the active profile.
Toggles align in one column for Legacy mods.
Corrected AyakaMods provider docs.
Auto-download skips ambiguous multi-file updates rather than guessing.
0.4.1 — A clean break from the DDMM era
New
Import from your current mod manager — one-click import from HD2 Arsenal and Echelon, plus the older HD2 mod manager, Vortex, and your Downloads folder. Reads each manager's own records (Arsenal's hd2a_data.json, Echelon's library.json) and brings mods over with names, on/off state, and options intact.
Automatic update checking, one-click downloading — checks every mod against its source: AyakaMods, GitHub, GameBanana, ModWorkshop, and Nexus Mods.
Browser extension — ordnance-extension (Chrome/Firefox) adds an Install with Ordnance button on AyakaMods, Nexus Mods, ModWorkshop, GameBanana, and GitHub mod pages.
One sealed swap — all enabled mods merge into a single, conflict-resolved .dl_bin set with a merged boot script and loader-conflict detection — no loose files, no load-order guessing.
Profiles and categories — switch profiles in the sidebar, group mods into categories, versions visible at a glance.
Changed
Complete rebrand to Ordnance — last ddmm/Democracy Defender remnants gone: crate name, identifiers, data folder, native-messaging host, keyring service, extension namespace and Gecko ID, CSS classes, env vars, docs, and package names. On first launch, existing data migrates automatically to com.cavadus.ordnance — mods, profiles, settings, and images carry over.
Self-describing stat-plans — stat-plan files carry their own layout metadata; table layouts live author-side in hd2-mods/tools/statplan_layout.py.
MIT license, with attribution to the Apache-2.0 upstream projects it derives from.
Sealed-box keys shipped in the build — fresh install works out of the box.
Dependency hygiene — tokio 1.53.3 clears RUSTSEC-2026-0386.
0.4.0 — Import from Echelon, and the rebrand begins
Import from Echelon — reads its open library.json and imports each mod with its name and on/off state.
Fully rebranded internals — the app's own identifiers, data folder, native-messaging host, and packaging now Ordnance; existing data migrates automatically on first launch.
MIT license, attribution retained.
0.3.0 — Categories, profiles in the sidebar, and a cleaner look
Categories — group mods, create/rename/delete them, assign from a mod's three-dot menu; a "Group" toggle collapses the list into expandable sections.
Profiles in the sidebar — moved out of the header into a rail with an avatar per profile; add, rename, delete, and switch there.
Image previews fixed — mod thumbnails (stored in hidden .jpgs folders) now load.
Version shown on every mod row.
Popup menus close on outside click (and Escape).
Smoother theme — softer corners, cleaner fonts, a docked library, slimmer title bar.
Stat-plan edits apply in Rust — .dl_bin field edits no longer need a Python/numpy runtime.
Loader conflict detection — a boot loader that would fight another mod is flagged in the list.
Removed the placeholder "Create" and "Help" pages.