-
v3.11.2
StableAll checks were successfulCI / Backend lint (ruff) (push) Successful in 30sCI / Bot/backend version sync (push) Successful in 23sCI / Docker image build (push) Successful in 10sCI / Bot tests and audit (push) Successful in 1m20sRelease / Create Forgejo release (push) Successful in 12sRelease / Build and push versioned images (push) Successful in 52sCI / Frontend tests, audit, and build (push) Successful in 2m48sCI / Backend migration, tests, and audit (push) Successful in 7m52sreleased this
2026-08-06 01:00:07 +00:00 | 525 commits to main since this releaseThe rest of the LLM trigger audit, and a test suite that stops waiting on a
broker that was never there.Follow-ups to the audit that produced v3.11.1: five features that were wired to
the wrong event, or to no event at all. No migrations, and
BOT_CONTRACT_VERSIONstays 1 — nothing touches/api/bot/*, so images can be
upgraded independently.Fixed
- [webapp] The session prep sheet only saw the opening of the last session.
Every recent summary was truncated to a flat 800 characters, against real
summaries of 1700-2900 — so prep was drafted from roughly the first third and
never saw where the party ended up. Truncation also kept the beginning,
discarding the ending, which for prep is the most useful part of a summary.
The most recent session now gets a near-full budget and, if it ever exceeds
it, keeps both its opening and its closing. (#271) - [webapp] Lore generation could hang forever. If a phase of the multi-pass
lore pipeline ran out of retries, nothing cleared the session'sextractingor
matchingstatus — the UI showed "generating…" indefinitely, with no error.
A brief network blip to the LLM host was enough to trigger it. A missing LLM
endpoint now also fails immediately instead of burning several minutes of
backoff on a condition that cannot resolve itself. (#287) - [webapp] Wiki entries never got their one-line summary. The generator had a
single caller — the manual "regenerate summary" button — so every entry created
by approving a bot proposal, promoting a shelf card, or picking a canonical
name had an empty summary permanently. Summaries are now generated whenever an
entry becomes canon. (#285) - [webapp] Relationship suggestions never saw the session that just happened.
They were generated the moment the lore pipeline finished, but only consider
approved entries — and everything just produced was still an unapproved
proposal. They now run when you approve entries, debounced so working through a
batch produces one pass rather than one per click. (#286) - [webapp] Some GM Workbench generations were missing from history. Three
paths ran tools without recording them, so those generations never appeared in
Workbench history and their token usage went uncounted. All inline tool runs are
now recorded, including failed ones. Caches are unchanged. (#288) - [webapp] A queued background job could stall a request. With an
unreachable Redis, a single enqueue took about two minutes to fail, which
presented as a hung request rather than a degraded background job. Now bounded
to under 15 seconds.
Changed
- [dev] The backend test suite runs in 36 seconds instead of 16 minutes for
the same 880 tests. Most of that time was never work — with no broker in the
test environment, every queued job waited for a connection that could not
happen. Applies to CI too, which runs Postgres but no Redis.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [webapp] The session prep sheet only saw the opening of the last session.