The Ledger

September 6, 2026

Neo Angband v1.9.0

Added

  • VisibleUI Touch controls follow successive item, direction and target prompts. A collapsible control sheet provides full-label choices, menu navigation, a command drawer and native text entry. Touch and desktop keymaps persist independently. Map taps resolve on release, while a hold opens the existing context menu without first moving; a second finger cancels the single-finger gesture (#145).

  • VisibleModding-API Mods can replace each named HUD region through the presentation owner seam. hud() independently owns the message area, vitals, and status line with core fallback, frozen frame data, and per-region fault recovery; the accompanying design records the menu and screen presentation contracts and code-derived surface inventory (#12).

  • VisibleModding-API Mods can manage their own keyboard bindings through the consented keymap facade. keymap:write now lets a mod enumerate, rebind, and remove only bindings it owns; player edits take ownership back and mod teardown removes remaining claims (#93).

  • VisibleModding-API neo-angband-mod-check now refuses a manifest whose capability strings the game would reject at load. The check calls CapabilitySet.fromManifest, so a typo’d capability or a capability on a content pack fails in the author’s own folder instead of in a player’s install (#79).

  • VisibleUIModding-API Items and creatures set aside by a missing mod are now visible, explained, and reclaimable. Uninstalling a content mod has always frozen its entities in the save rather than deleting them, but nothing said so: they simply disappeared from the pack. Mods now has a “Set aside by a missing mod” row carrying the count, and its screen lists everything held, grouped by the mod that owned it, with what each thing was, why it is inert, and what would bring it back. A load that newly freezes something says so on the message line, naming what it was, and a character with something set aside is asked once whether to keep it frozen (the default) or throw it away permanently. Nothing held takes a pack slot, weight or a home slot while it waits, and reinstalling the mod returns a worn item to the slot it came off and a carried one to the pack (#76).

Changed

  • VisibleUI The title screen centres its project information under the art. The block of links and credits was painted from column 0, which left it hanging off the left edge of a centred screen.

  • VisibleUI Player-facing text names Angband rather than a specific upstream release. The title screen, help, accessibility notes, the mods screen and the bug-report form named a specific version, which is a moving target and had to be re-edited on every upstream bump.

  • VisibleModding-API The mod compatibility promise now covers a named subset of ctx.core. Twenty-three runtime exports that first-party plugins actually call are guaranteed to remain, and a test fails if any of them disappears or changes typeof. The rest of the namespace stays an escape hatch (#81).

Fixed

  • VisibleUI The title screen no longer cuts its closing line off mid-word. The thank-you line ran 39 columns past the 80-column grid and was silently clipped, so it ended partway through a word. Every painted row is now width-checked (#174).

  • VisibleUI Panels follow the visible viewport on phones. The game canvas and host-owned panel container now resize together when a virtual keyboard changes the visual viewport, keeping a modal panel’s usable area above the keyboard.

Downloads