1.8 KiB
1.8 KiB
title, date, version, summary
| title | date | version | summary |
|---|---|---|---|
| R2 Storage, Profile Photos, Dashboard, and UX Overhaul | 2026-05-09 | 2026.0.98 | Cloudflare R2 storage with daily cleanup cron, profile photo uploads, public data dashboard, game details UX improvements, advanced search filters, and static sitemaps. |
Added
- Cloudflare R2 Storage: Full R2 integration for file uploads with storage tracking, orphan detection, and daily cleanup cron
- Profile Photos: Upload, customize, and delete custom profile photos (stored in R2)
- Daily Cron System: Modular
/api/cron/dailyendpoint with task registry for storage cleanup, sitemap regeneration, and future tasks - Public Dashboard: New
/dashboardpage with trending games, best new releases, and most tested/reported visualizations - Advanced Search Filters: Full filter panel on search page (device, FPS range, FSR, Proton/Native, anti-cheat, playability) with saved filter presets
- Admin Sitemap Regeneration:
POST /api/sitemap/regeneratefor on-demand sitemap updates
Changed
- Game Details Page: Restructured layout — metadata now inline with hero section, system requirements expanded by default, improved controller navigation and mobile responsiveness
- Static Sitemaps: Replaced dynamic per-request sitemap generation with build-time static XML files for zero-latency serving
- Search Page: Added collapsible filter panel with save/load filter presets
Technical
- Added
storage_objectsdatabase table for R2 object tracking - Added
@aws-sdk/client-s3R2 integration (S3-compatible API) - Added
CRON_SECRET,R2_ACCOUNT_ID,R2_ACCESS_KEY_ID,R2_SECRET_ACCESS_KEY,R2_BUCKET_NAME,R2_PUBLIC_URLenvironment variables - Deprecated
S3_*environment variables (replaced byR2_*) - Removed dynamic sitemap generation in favor of
npm run build:sitemap