• v4.6.2-rc2 04371566ea

    v4.6.2-rc2
    All checks were successful
    CI / Which journeys does this change need? (push) Successful in 11s
    CI / Does this change touch the recording path? (push) Successful in 13s
    CI / Bot/backend version sync (push) Successful in 26s
    CI / Backend lint (ruff) (push) Successful in 31s
    Release / Create Forgejo release (push) Successful in 25s
    CI / Feedback site tests (push) Successful in 47s
    CI / Summarisation accuracy eval harness (stub provider) (push) Successful in 58s
    CI / Bot tests and audit (push) Successful in 2m7s
    CI / Docker image build (push) Successful in 2m19s
    CI / Synthetic session harness (no GPU, no LLM) (push) Successful in 9m12s
    Release / Build and push versioned images (push) Successful in 9m49s
    CI / Frontend (shard 2/2) (push) Successful in 13m22s
    CI / Frontend (shard 1/2) (push) Successful in 15m37s
    CI / End-to-end journeys (keyboard) (push) Successful in 10m53s
    CI / End-to-end journeys (desktop) (push) Successful in 12m1s
    CI / End-to-end journeys (phone) (push) Successful in 10m35s
    CI / Backend migration, tests, and audit (push) Successful in 50m16s
    Pre-release

    claude-bot released this 2026-10-29 21:57:58 +00:00 | 314 commits to main since this release

    Prerelease of 4.6.2 for testing on the dev server; not for production.

    Added

    • [repo] The feedback site has a name-rating page at /names. Testers draw
      names from the built-in generator (no AI), mark each up or down, and leave
      notes per style; the admin readout tallies them (#1257).
    • [webapp] A map marker can be edited: its label, line, kind, page, map, holding, position and who sees it (#1260).
      PATCH /api/campaigns/{id}/markers/{marker_id}. A GM edits any marker; a player edits only her own, as a note, place or danger, with no links. A marker's page can no longer be one in the wiki's bin, on create or edit.
    • [webapp] Maps and atlases can be renamed, changed and deleted into a bin, and travel links and trail stops can be removed (#1263).
      PATCH and DELETE for maps and atlases (GM only), GET /api/campaigns/{id}/maps-bin with restore routes, and a daily purge that removes the rows, pictures and tiles after the same grace period as the wiki bin. DELETE for a travel link and for a trail stop; a travel link can be GM-only. Migration f1263a0b1c2d.
    • [webapp] A map has a thumbnail, at most 1024 px on its longest side (#1263).
      The worker writes it when it cuts the map's tiles, and GET /api/campaigns/{id}/maps/{map_id}/thumb serves it with the same audience check as a tile. A daily task writes it for maps cut before this release.
    • [webapp] The map, planned parts that were missing (#1263). ![[Map: X]] in
      a page now shows a small picture of that map, linking to it. Place and
      travel-link labels that would sit on top of each other no longer do: the
      more important one keeps its label and the other shows on hover or focus.
      A marker that opens a map of its own wears a "+" and says so in its name. A
      group's page says "Holdings on the map" for the markers that name it as
      holder. The party page shows where the party is and its trail, for the party
      being viewed.
    • [webapp] The map, the rest of what was planned (#1263, #1260). A GM or a
      marker's author can Edit a marker (what is here, kind, a line, who sees
      it) and Move it; a GM also links it to a page ("The page it's about"),
      a holder ("Held by", for a holding) and a map it opens. A travel-link
      marker has Link to another map…, with a note and "Everyone at the
      table" or "GMs only", and each link can be removed. Every marker a player
      added says whose it is and who sees it, whatever its kind. A GM gets a
      Maps in this atlas list with rename, level name, who sees it, Replace
      the picture
      and delete for each map, atlas settings, and a Bin with
      Restore. Each trail stop links to its session and a GM can remove one or
      end the trail at a spot on the map; a campaign with two parties has a party
      switcher; a party on a map below shows on the map above; the trail is drawn
      across travel links; the party's own marker opens a small panel; the kind
      chips are remembered. Every removal asks first, and every failure shows the
      server's sentence with Try again.
    • [webapp] A trail stop reached by portal or magic has no line to it (#1273).
      After a stop at a portal, "Add a stop" asks where the party came out: a
      marker on any map (that portal's linked exits first), a spot, or nothing
      yet, so a session can end with the party mid-portal. "No line to it: they
      went by portal or magic" marks any stop the same way. The trail is drawn
      broken there, and also where it changes map with no link to show the way.
      Two portals on the same map can now be linked, such as the ways in and out
      of somewhere with no map of its own.
    • [webapp] The party's trail: "Add a stop…", stops in an order a GM can change, and a shorter list (#1275).
      "Where the party ended…" is now "Add a stop…". A GM moves a stop earlier or
      later within its session. The list under the map is grouped by session,
      newest first, with only the latest open.
      POST /api/campaigns/{id}/parties/{party_id}/trail/{stop_id}/move.

    Changed

    • [repo] The feedback site's readout is tabbed (#1257). The name sampler
      opens first, with a sub-tab per generator style holding its marks and notes;
      the finished redesign rounds sit under "Completed: redesign".
    • [webapp] "On this map" stays short (#1276). The markers under the map
      are grouped by kind, folded, with a "Find a marker" search that opens every
      kind with a match.
    • [webapp] A "travel link" marker is now called a portal. The map's legend
      says "Portals", a marker's kind is "A portal", and a marker made at the far
      end of a link is "Portal to …". Any marker can still open a map of its own.

    Fixed

    • [webapp] The wiki editor's [[ link menu opens under the line you are
      typing (#1261).
      It stood near the top of the text box whatever line you
      were on, so on a page with text it covered the first lines and the link
      being written. It now opens under the cursor's line, stays inside the
      editor, and opens above the line when there is no room below.
    • [webapp] A map whose picture is refused is no longer made twice (#1263).
      "Add a map" makes the map (and its atlas) once. If the picture is refused,
      Try again sends only the picture; or the map is left without one and its
      page offers "Add the picture". The ![[Map: X]] embed loads the map's
      thumbnail, falling back to the whole picture.
    • [webapp] Removing a marker that a trail stop uses no longer fails with a server error (#1263).
      A stop made from a marker now keeps the marker's map and position, so it stays on the trail when the marker goes. The migration fills them in for existing stops.
    • [webapp] Choosing a page in the article picker is clicking its name (#1268).
      The separate "Choose" link is gone, and on the map's marker form the name and
      the link no longer run together as one word.
    • [webapp] The party's trail runs in session order (#1269). Stops were
      ordered by when they were entered, so filling in earlier sessions after the
      latest one moved "The party is here" back to the last one entered. A stop
      made between sessions comes after the last session played when it was
      entered. Migration a1269b0c1d2e places the stops already recorded.
    • [webapp] "Where did the party end up?" finds a marker by searching its
      name, and offers every kind (#1271).
      Dangers and notes were missing from
      the list, and a dropdown of every marker would not have scaled to a long
      campaign's map. With no marker chosen, it goes on to choose a spot.
    • [webapp] Embedding a map in a wiki page: the [[ menu finds maps, and the preview draws them (#1277).
      After Map: the menu offers the campaign's maps by name, not "Create" a
      page; a map whose name starts with what is typed is offered among the
      pages. The editor's preview showed the embed as a page still to be written.
    Downloads