github hunter-read/grimoire v1.11.0

47 minutes ago

What's Changed

v1.11.0 is a big one: the wargamers have joined the party. Books for wargames get a shelf of their own in the new Armory, filed by faction the way you'd file them anyway. Import a BattleScribe or New Recruit roster and every unit arrives with its points, upgrades, stat lines and rules, and once the publications it cites are linked to your books, a unit's rules open at the right page. GMs and admins can run Leagues, with standings, units that earn experience and honours as the season goes on, and guest invites for the friend from the club who doesn't need the rest of your library.

TTRPGs haven't been left out. Every group campaign now has a GM screen: a board of tools you drag into place, with the party's stats, a Fear or Malice counter, clocks, an initiative tracker, a rules reference and random tables, and End scene, End session and Rest buttons that clear what should clear. Start from a community preset for your game, or copy the board from another campaign you run. The campaign wiki gets map pages: drop pins on a map from your library that link to other pages, so clicking Waterdeep on the Sword Coast takes you to the Waterdeep page. The GM can hide pins for places the party hasn't found yet. Wiki pages also draw ```mermaid blocks as diagrams, so the family tree of the noble houses finally fits on one page.

Big libraries are easier to get around too. Every browse page gets an A-Z rail beside a long list, folders open on pages of their own, and you can pin the folders and systems you keep going back to. A book can sit on two systems' shelves without a second copy, books shared by a whole container go in a shared-library folder, and a folder can be restricted to GMs or admins so the GM's guide stays out of the players' hands. Admins can now run Grimoire on PostgreSQL 15+, rescans of a large library take seconds instead of minutes when nothing has changed, and the Docker images are about 70 MB lighter. Thanks to @Nickramone for their first contribution, which stops a ruleset entry's edit dialog from wiping the entry.

Before You Upgrade

  • Back up DATA_PATH: this release migrates the database for armies, leagues, the GM screen, map pages, pins and folder restrictions. Going back to 1.10.x means restoring that backup
  • The first start takes longer on a large library: Grimoire reorganises its search index once - a few minutes on a very large library, logged as it goes and safe to interrupt - and needs about twice the index's disk space while it runs. Books already indexed stay searchable afterwards without being re-read
  • shared-library folders: if you already have a folder named shared-library inside a container, it used to be a system of its own. The next rescan moves its books onto the container and keeps their access settings
  • Wiki page titles: a title can no longer contain |, [, ] or a line break. Imported titles, and ones made by a link or map pin, have them replaced with a space

New Features

  • A GM screen for every group campaign, with community presets (Beta)
  • Map pages in the campaign wiki, with pins that link to pages
  • Mermaid diagrams in wiki pages
  • The Armory: a shelf of its own for wargame books, laid out by faction
  • Armies: import BattleScribe and New Recruit rosters, or build a list by hand (Beta)
  • Leagues with standings, unit records, shared books and guest invites (Beta)
  • The Codex theme, with Codex Red in the community themes
  • An A-Z letter rail on every browse page
  • Gallery folders on pages of their own, with a path bar
  • Pin folders and systems to the top of the page
  • Shared books in a container, in a shared-library folder
  • Link a book onto a second system's shelf
  • Restrict a folder to GMs or admins
  • Run on PostgreSQL 15 or newer, with a command that copies an existing SQLite database across

Enhancements

  • The address bar keeps the open folder, sort, search and filters, and / jumps to the search box
  • Hide the Library from the sidebar for a wargames-only Grimoire
  • Character sheet list columns can be worked out per row (default_from), and tabs named from a field (title_from)
  • on_conflict=replace uploads work for maps, tokens, audio and 3D models, keeping their tags and links
  • Rescanning a large library is much faster, and thumbnails of huge maps take a fraction of the memory
  • Reading a book's page text, re-indexing and deleting books are much faster
  • The Docker images are about 70 MB smaller

Bug Fixes

  • Single sign-on works again with providers that put a certificate chain in the ID token header
  • Grimoire stops promptly on Linux and in Docker
  • Slow downloads no longer stall the rest of the app
  • A campaign can be deleted again when it has a resource in a custom category or campaigns under it
  • A GM changing a player's availability changes that player's row
  • \|| in campaign notes no longer pairs with a GM secret further down the page
  • Code blocks and inline code in wiki pages show exactly what was typed
  • Renaming a wiki page no longer changes how the pages linking to it read
  • Searching for % or _ finds that text instead of nearly everything
  • Characters whose sheet works out a list choice open again, and typed text survives a field turning into a pick
  • Editing a ruleset entry no longer opens empty and blanks the entry with @Nickramone in #836
  • Bookmarking a selection on the page a book opened at records the right page
  • OpenID Connect settings keep what you typed while another one saves
  • Scheduled-rescan settings that fail to load offer Retry instead of defaults
  • A broken add-on folder is warned about once, not on every lookup
  • Lots of malformed input gets a clear error instead of a server error

New Contributors

Full Changelog: v1.10.2...v1.11.0

Don't miss a new grimoire release

NewReleases is sending notifications on new releases.