Changelog
2026-03-20
CDN & capture upload fixes
- New
/cdn/* route serves uploaded thumbnails and splash images from R2 with proper content types and caching
POST /api/capture/upload now accepts deploy tokens (Authorization: Bearer ll_...) in addition to session cookies — external games can upload images using the same token they deploy with
- Upload responses now return absolute URLs (e.g.
https://api.looploop.dev/cdn/thumbnails/...) instead of relative paths, so images resolve correctly from any origin
- All image formats (PNG, JPEG, WebP, GIF) are now accepted for thumbnails, animated previews, and splash images — format is detected from the uploaded file
Splash images & dynamic hero
- New
type=splash option for POST /api/capture/upload — upload wide landscape hero backgrounds (max 5 MB)
GET /api/games and GET /api/games/:id now return splashUrl and lastDeployedAt
GET /api/games accepts ?orderBy=last_deployed to sort by most recent deploy
- New SDK method:
LoopLoop.capture.uploadSplash(gameId, blob)
- The looploop.gg hero section now dynamically showcases the most recently deployed game