Public Changelog

What changed.

User-facing release notes for the Plotbun platform. Implementation history lives in the spec status file; this is the human-readable summary.

2026-05-10
featureimprovement

GDPR data export now downloads as CSV bundle

Add `?format=csv` to /api/gdpr/export to receive a JSON envelope of CSV files (one per data class — acceptance log, erasure requests, follows, orders, refunds, disputes). The legacy JSON download still works without the param.

2026-05-10
feature

GDPR export now includes lawful-basis declarations

Every GDPR data export now contains a `legalBasis` section listing — for each data class the platform stores — which Article 6 lawful basis covers it (consent / contract / legitimate interest / legal obligation) plus a short rationale. Closes the Article 5(2) accountability requirement.

2026-05-10
improvement

Set-your-handle prompt for new accounts

Users landing on /profile without a display name now see a prominent banner with a deep-link to the handle picker, so new accounts have a clear next step instead of appearing as Anonymous.

2026-05-10
improvement

Keyboard focus restored when overlays close

Closing the pause or backlog overlay in the player now returns keyboard focus to the element that opened it, matching standard a11y dialog patterns.

2026-05-09
featureimprovement

AI usage quota counter in the editor

The editor now surfaces a daily AI usage counter next to the AI Image controls so creators can see how many image / text generations remain before they need to slow down. Tied to the existing per-user `/api/llm/quota`.

2026-05-09
securityimprovement

Listing takedown notice now hides title/synopsis

When an admin removes a community listing, both the listing-detail page and its OpenGraph metadata now render a generic "Listing Removed" notice instead of leaking the title or synopsis. Owners signed in on the same browser see an additional appeal CTA.

2026-05-09
feature

Per-listing OpenGraph share images

Sharing a community listing now renders a custom OG image with the listing cover, title, author, monetization label, and genre. Creator pages also get a profile-styled OG image.

2026-05-09
security

Authoring-time AI moderation pre-pass

All authoring-time LLM and image generation requests now run through a local moderation classifier before forwarding to the provider. Obviously harmful prompts are rejected with a clear error.

2026-05-09
feature

Email verification + password recovery (local stub)

Profile now includes an Email Verification card, and /forgot + /reset are wired for password recovery. Tokens are surfaced in-product today; a future cloud build will deliver them via email.

2026-05-09
featuresecurity

Account deletion (local-first wipe)

Profile now exposes a Danger Zone for one-click account deletion. We submit a GDPR erasure intent server-side and clear every personal-namespace `godengine:*` key from local storage on the device.

2026-05-08
featuresecurity

Admin listing moderation + audit log

Admins can now take down or restore community listings from /admin/listings. Every admin mutation appends to a persisted audit log readable at /admin/audit.

2026-05-08
feature

AI-Assisted disclosure on listings

Community listing detail now shows an "AI-Assisted" badge when the underlying project uses AI-generated assets. Provenance metadata (provider, model, prompt digest, generated-at) is recorded on each AI-generated asset.

2026-05-08
feature

First-class user handle + identity editing

Accounts now have a canonical `@handle` you can edit on /profile. The platform no longer leaks internal user IDs into UI surfaces — community routes, reviews, and analytics all bind to the handle.

2026-05-08
securityimprovement

In-product GDPR pages

Acceptance log, erasure requests, and data export now have dedicated UI pages under /account/gdpr/ instead of returning raw JSON to the user.