chore(release): v4.2.3 #518

Merged
claude-bot merged 1 commit from chore/release-v4.2.3 into main 2026-09-06 02:19:51 +00:00
Contributor

Cuts v4.2.3: phase 1 of the v4.3.0 build order (#514), shipped early because three of these are things the bot was telling players that were not true.

  • #372 failed transcriptions no longer announced as "Session Summary Ready" (PR #517)
  • #391 a deep link in every Discord notification embed (PR #517)
  • #394 the unused privileged Message Content intent is gone; no more crash-loop (PR #517)
  • #479 archived campaigns stop materialising sessions and go quiet (PR #516)
  • #384 orphaned CampaignNotes page deleted, #383 players set their own character (already fixed by #330; tests), #376 wiki readable at phone width (PR #515)

APP_VERSION and BOT_EXPECTED_APP_VERSION → 4.2.3; make check-versions passes. No migration (e9fa0b1c2d3e stays the head), bot contract v1 unchanged (the notification payload's link field is additive), no new settings. Operators may turn the Message Content toggle off in the Developer Portal. [Unreleased] is empty.

After merge: tag v4.2.3, deploy dev → validate → deploy prod → validate (bot startup with the reduced intents, handshake).

🤖 Generated with Claude Code

Cuts v4.2.3: phase 1 of the v4.3.0 build order (#514), shipped early because three of these are things the bot was telling players that were not true. - #372 failed transcriptions no longer announced as "Session Summary Ready" (PR #517) - #391 a deep link in every Discord notification embed (PR #517) - #394 the unused privileged Message Content intent is gone; no more crash-loop (PR #517) - #479 archived campaigns stop materialising sessions and go quiet (PR #516) - #384 orphaned CampaignNotes page deleted, #383 players set their own character (already fixed by #330; tests), #376 wiki readable at phone width (PR #515) `APP_VERSION` and `BOT_EXPECTED_APP_VERSION` → 4.2.3; `make check-versions` passes. No migration (`e9fa0b1c2d3e` stays the head), bot contract v1 unchanged (the notification payload's link field is additive), no new settings. Operators may turn the Message Content toggle off in the Developer Portal. `[Unreleased]` is empty. After merge: tag `v4.2.3`, deploy dev → validate → deploy prod → validate (bot startup with the reduced intents, handshake). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chore(release): v4.2.3
All checks were successful
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 53s
CI / Frontend tests, audit, and build (pull_request) Successful in 1m54s
CI / Backend lint (ruff) (pull_request) Successful in 32s
CI / Bot/backend version sync (pull_request) Successful in 37s
CI / Bot tests and audit (pull_request) Successful in 2m27s
CI / Docker image build (pull_request) Successful in 4m21s
CI / Backend migration, tests, and audit (pull_request) Successful in 9m12s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 14m59s
e6d63f4926
Phase 1 of v4.3.0, shipped early: the bot stops announcing failed summaries
as ready, every notification links back to Quest Board, the unused privileged
intent is gone, archived campaigns go quiet, and three small web fixes
(#372, #391, #394, #479, #384, #383, #376). No migration, bot contract v1
unchanged, no new settings.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude-bot scheduled this pull request to auto merge when all checks succeed 2026-09-06 02:03:33 +00:00
claude-bot deleted branch chore/release-v4.2.3 2026-09-06 02:19:51 +00:00
Author
Contributor

Deployed.

dev (docker-test) prod (docker-host-mcp)
deployed 02:21 UTC at 64b5e15 02:23 UTC at 64b5e15
version 4.2.3 4.2.3
alembic e9fa0b1c2d3e (head), no upgrades run same
containers 7/7 healthy, migrate exit 0 7/7 healthy, migrate exit 0
bot disabled (no Discord token on dev) Version handshake OK: backend 4.2.3, bot API contract v1, logged in, commands synced
errors after start none from this release (dev's two startup lines are its pre-existing undecryptable Discord setting, see below) none in backend, worker or bot

Two observations, neither a regression:

  • Prod bot log now shows discord.py's generic Privileged message content intent is missing, commands may not work as expected. at startup. It is emitted because commands.Bot is constructed with command_prefix="!" while no prefix command exists; harmless (every command is a slash command), but noise a self-hoster will read as a problem. Fix is one line (command_prefix=commands.when_mentioned), handed to the phase 5 bot lane.
  • Dev backend logs 1 encrypted setting(s) cannot be decrypted with this SECRET_KEY ... discord_… at startup: a setting saved under a different SECRET_KEY on the dev box. Dev-box configuration, not the release.
**Deployed.** | | dev (`docker-test`) | prod (`docker-host-mcp`) | |---|---|---| | deployed | 02:21 UTC at `64b5e15` | 02:23 UTC at `64b5e15` | | version | 4.2.3 | 4.2.3 | | alembic | `e9fa0b1c2d3e (head)`, no upgrades run | same | | containers | 7/7 healthy, migrate exit 0 | 7/7 healthy, migrate exit 0 | | bot | disabled (no Discord token on dev) | `Version handshake OK: backend 4.2.3, bot API contract v1`, logged in, commands synced | | errors after start | none from this release (dev's two startup lines are its pre-existing undecryptable Discord setting, see below) | none in backend, worker or bot | Two observations, neither a regression: - **Prod bot log** now shows discord.py's generic `Privileged message content intent is missing, commands may not work as expected.` at startup. It is emitted because `commands.Bot` is constructed with `command_prefix="!"` while no prefix command exists; harmless (every command is a slash command), but noise a self-hoster will read as a problem. Fix is one line (`command_prefix=commands.when_mentioned`), handed to the phase 5 bot lane. - **Dev backend** logs `1 encrypted setting(s) cannot be decrypted with this SECRET_KEY ... discord_…` at startup: a setting saved under a different `SECRET_KEY` on the dev box. Dev-box configuration, not the release.
Sign in to join this conversation.
No description provided.