Drop the plugin-type Status column, which had one value in every row
It once separated wired hook specs from reserved ones. Nothing is reserved
any more, so the column told the reader nothing that the row's presence in
the table did not. The template's HOOKS.md, the fuller reference for the same
audience, never carried it. The sentence under the table still states that
every spec is callable.
State what the software does, not what it used to do
Twelve lines across eight pages read as release notes rather than as a
manual: behaviour defined against the version it replaced (now, previously,
in place of, the historical behaviour), limitations pinned to a release (in
this version), implementation rationale aimed at a maintainer (which all
drive these actions through one shared API, twice), and announcement
register (flagship, first-class, every hook is wired).
The reader is on the current version and has no earlier one to compare
against, so each of these is now a plain statement of present behaviour.
Document Vapor Customize, the loading screen and the cover reshaping
- Themes: new section for arranging a Vapor page in place, covering the edit
bar, dragging, hiding, the big-card side and what Reset layout clears.
Corrects the claim that home sections are only arranged from Settings, and
the stale note that Vapor shows checkboxes without arrows: under Vapor the
Settings block is not rendered at all.
- ROMs: a screenshot of the artwork loading screen and the resume notice, the
7/6 jewel-case ratio, and the fact that replacing a cover by hand now
reshapes its tile instead of keeping the old frame.
- Plugin Development: the homeSections writes and managedSettings.
Document the Dashboard, emulator saves, home play rails, and the media proxy
- New Dashboard page (admin Server overview + user Your activity, the live
admin-only feed, the __GD__.dashboard theme API) + sidebar entry.
- ROMs & Emulation: the Game Saves panel (nine-slot rail, battery tile, play
from a save, upload/download, ZIP export and restore, quota); saves now live
under data/saves, not data/resources.
- Themes: Continue playing / Recently played rails on the home page, toggled
and reordered under Settings > Libraries; Plugin Development + the home
sections API gain orderable and per-option defaults.
- Installation/Configuration: the required data/saves volume with an upgrade
note, GD_SAVES_PATH and GD_SKIP_SAVE_DEDUPE, and the moved save paths.
- Network & Security: ScreenScraper cover art is proxied credential-free.
Plugin docs: link the full HOOKS.md hook and __GD__ reference
Document the v1.0.23 GOG library sync and clear-metadata plugin API
Document v1.0.20: plugin hooks now live + recently-added notifications
docs(packaging): note extras/DLC packaging and the core Package button
The on-demand packaging (Package button + __GD__.library.package) now also
bundles a game's extras and DLC folders into their own archives, alongside
the per-platform installers.
docs(packaging): document packaging as a plugin API for any library game
Per-platform packaging is now callable for any game (GOG, custom, or an
admin custom library) via __GD__.library.package(gameId). Automatic
packaging on download stays GOG-only.
docs(audit): correct v1.0.18 inaccuracies and document Game Requests
Second deep wiki-vs-code audit. Marks unwired plugin hooks as reserved;
corrects notifications (event emails configured-but-not-delivered, webhook
events, admin-requirement, report timing, SMTP), packaging GOG-only,
LaunchBox background init, GOG checksum codes, per-type view persistence,
brute-force vs rate-limit, CORS, audit-log, trusted-proxies, path-traversal
guard scope, RetroAchievements. Adds a Game Requests page and a
Profile/Account section.
docs: unified library add-content API and per-library targeting (v1.0.17)
docs: add screenshots (img/) across pages, theme galleries, fix wizard steps
docs: add all feature, plugin, security and reverse-proxy pages (wiki complete)