Skip to content

docs: document the 5.4 release - #168

Merged
gantoine merged 20 commits into
mainfrom
docs/5.4-release
Oct 5, 2026
Merged

gantoine merged 20 commits into
mainfrom
docs/5.4-release

Conversation

@gantoine

@gantoine gantoine commented Oct 5, 2026

Copy link
Copy Markdown
Member

Docs for the upcoming 5.4 release (5.4.0-alpha.1 changelog). Every page was checked against rommapp/romm at 9ae2cd0e1, the commit that ends at #5142.

New pages

  • install/upgrading.md: general upgrade steps, then a 5.3 to 5.4 section with the three release warnings (migrations, CORS, FORWARDED_ALLOW_IPS), the Viewer/Editor rename and a table of breaking API changes
  • using/notifications.md: the inbox, channels (webhook with HMAC verification, email, Apprise) and the API
  • administration/email.md: SMTP_* setup, and what email powers
  • administration/audit-log.md: what's recorded, who can read it, retention and GET /api/audit-events
  • administration/parental-controls.md: age limits, hiding unrated games, how a game's age is computed, with a rating mapping table
  • administration/library-conversion.md: rom-converto, the converto config block, the Convert library task and ?format= downloads
  • using/in-browser-play/easyrpg.md: RPG Maker 2000/2003 in the browser
  • using/devices.md: browser profiles as devices, and installing games on a device
  • ecosystem/retroarch-cloud-sync.md: RetroArch Cloud Sync over WebDAV

Updated pages

  • Reverse proxy, environment variables, image variants, WebSockets (rewritten), device sync protocol, API authentication, the API reference (POST /api/tasks/scan), OIDC and authentication troubleshooting, netplay, saves and states, downloads, users and roles, scheduled tasks, search, languages, jukebox, metadata providers, the configuration file, the glossary and the nav.

Generators

  • sources.toml is pinned to 9ae2cd0e1 because the 5.4.0-alpha.1 tag doesn't exist yet. Bump it to the tag before merging.
  • gen_scheduled_tasks.py now reads the TaskSpec(...) entries that backend/tasks/registry.py declares inline. The old import-based parser failed against the new registry.

Where the docs differ from the changelog

The changelog doesn't match the source in a few places, and the docs follow the source:

  • EasyRPG (and its RTP) ships only in the full image. Slim has no CDN fallback for it.
  • FORWARDED_ALLOW_IPS had no effect before 5.4, because * was hard-coded.
  • A hand-set "Alternative titles" list replaces the providers' titles for that game rather than adding to them.
  • RetroArch is only offered saves that have no slot. States do cross over.
  • "Download as" can offer lossy targets such as xiso. Only library formats are lossless-only.
  • Failed sign-ins aren't rate limited per IP.

Checks

  • trunk check is clean.
  • mkdocs build has no link or anchor warnings.
  • All redirect targets exist.

No screenshots yet. The changelog's screenshot placeholders weren't carried over.

🤖 Generated with Claude Code

gantoine and others added 2 commits October 5, 2026 08:49
New pages for notifications, email, the audit log, parental controls,
library conversion, EasyRPG, devices, RetroArch Cloud Sync and upgrading,
plus updates across install, administration, using and developer pages
for the CORS and FORWARDED_ALLOW_IPS defaults, sync and socket changes.

Regenerates the env var, scheduled task and platform snippets against
rommapp/romm 9ae2cd0e1, and teaches gen_scheduled_tasks to read the
TaskSpec entries the task registry now declares inline.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gantoine
gantoine marked this pull request as ready for review October 5, 2026 12:54
gantoine and others added 14 commits October 5, 2026 09:00
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gantoine and others added 4 commits October 5, 2026 15:29
- Correct converto startup exit, polling fallback, netplay visibility,
  CORS wildcard credentials, OIDC redirect scope, CHD sources, reset
  link hosts, curl filename and HMAC byte comparison
- Generator: show disabled tasks as off, spell out comparison gates,
  fail on splat/positional TaskSpec args and duplicate specs
- Restore SSH Sync link
- Document kiosk browsing of roms/ over WebDAV and the full dev proxy
  path list
- Drop the 401 challenge sentence from the RetroArch page

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…agraph

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gantoine
gantoine merged commit b2bf849 into main Oct 5, 2026
4 checks passed
@gantoine
gantoine deleted the docs/5.4-release branch October 5, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant