August 29, 2026 - stable
Neo Angband v1.2.0
Neo Angband 1.2.0
What you can download
| Platform | File |
|---|---|
| Windows (installer) | Neo Angband Setup 1.2.0.exe |
| Windows (portable, one file) | Neo Angband-1.2.0-portable.exe |
| macOS | .dmg, or the .zip if you prefer to unpack it yourself |
| Linux | .AppImage (no install), .deb, or .tar.gz |
| Self-hosting | neo-angband-web-1.2.0.zip - static files, any web server |
The portable Windows build and the AppImage need no installer: download, run, and the game keeps its saves in a folder beside itself.
These builds are not code-signed
There is no Apple Developer identity or Windows certificate behind this project yet, so your OS blocks the first launch.
Windows is one click: SmartScreen says “Windows protected your PC”, choose More info then Run anyway.
macOS is not one click, and the dialog it shows you does not contain the way through - it offers only Done and Move to Trash. Do this:
- Drag the app out of the
.dmg, then double-click it and press Done on the refusal. This step is required: it is what makes the permission below appear, and it expires about an hour later. - Open System Settings -> Privacy & Security and scroll to Security, near the bottom.
- Press Open Anyway on the line naming Neo Angband, authenticate, and launch it again.
Or, the same decision in one command:
xattr -d com.apple.quarantine "/Applications/Neo Angband.app"
The old right-click -> Open trick does NOT work: Apple removed that bypass in macOS 15 Sequoia.
On Apple Silicon take the arm64 build. The x64 one is for Intel Macs, not a fallback - Apple is withdrawing Rosetta 2, so on a current Mac it is likelier to refuse to launch than to run slowly.
If that trade is not one you want to make, build it yourself -
docs/INSTALL.md - or play in the browser, which needs no trust decision.
Your save
Saves survive an update. Every save-format change ships the conversion that reads the version before it, and a save this build cannot open is left untouched rather than replaced.
Added
- A
patches-scoped section’s resolved flag now also reaches the mod it patches, not only its own mod (neo-angband#32). Acompat: [{claim: "patches", with: X, scope}]claim already meant “this section only makes sense when X is present” - handing its resolved value to X’s own ctx.flags is the same declaration read one step further, not a new one, and it stays narrow: only a flag apatchesclaim already names, never a whole mod’s flags wholesale. The Bug Fixes mod’s new “Borg Fixes” section is the first user of this - a toggle that lives in Bug Fixes’ own menu but gates code in the Borg mod.
Fixed
- A mod id retired by
RENAMED_MOD_IDS(mod-store.ts) stayed installed forever once its successor was also installed: the settings migration already moved the player’s enabled choice and rule choices to the new id, but nothing removed the old id’s own installed files, so Mod options kept a permanent, greyed-out, unusable row for it.installedMods()now removes an old id’s install the moment its successor is also found installed (#153). - The autoplayer decline message (Ctrl-Z, “not now”) still told the player to turn its autoplay rule back off from Mods - a setting that no longer exists now that activation is Ctrl-Z-only. It now describes what actually happens: the player is asked again next time (#133).
- The README glossed ToME as “Troubles of Middle-Earth” instead of its real name, Tales of Middle-earth.
- The game’s combat text, status messages and yes/no prompts were still
written as hardcoded English in the web front end’s main module, so a
mod-supplied locale could not reach any of them: every melee hit, miss,
crit and kill line, the targeting and item-picker status messages, the
spell, study and browse refusals, the save, retire, quit and death
confirmations, the screen-dump and pref-command reports, and the borg and
autoplayer notices. All of it now routes through
t(), with variable text carried as named placeholders so a translation can put the count, the monster or the verb where its own grammar needs it. The bundleddemo-resourcesmod’sen-XApseudo-locale catalog grew to match, and also picked up the entries the mods, mod-browse and options screens had been missing since they were routed (neostryder/neo-angband#95).
Found something that does not match Angband 4.2.6? Open an issue or come and say so in the Discord.