The Ledger

August 29, 2026 - stable

Neo Angband v1.2.0

Neo Angband 1.2.0

View this release on GitHub

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:

  1. 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.
  2. Open System Settings -> Privacy & Security and scroll to Security, near the bottom.
  3. 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). A compat: [{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 a patches claim 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 bundled demo-resources mod’s en-XA pseudo-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.