5.0.0
Recommended Gamevault App Version: v1.5.0
Breaking Changes & Migration
Issue #157: Optional User Information
- Email, First Name, and Last Name are no longer mandatory by default for new registrations. You can regain the previous functionality by configuring these options:
USERS_REQUIRE_EMAIL= trueUSERS_REQUIRE_FIRST_NAME= trueUSERS_REQUIRE_LAST_NAME= true
Removed Image Fields from Registration
- Removed all images from registration: To prevent spam attacks, we can't allow people to save images on your server without your permission. Therefore, we removed all image fields from registration.
Changes
Runtime
- Updated to Node 20.6
Progress and Game Display
- Progress calls now include soft-deleted games, making it possible to display them correctly even after a game has been deleted.
Image Upload API
- Added a new API for Image Upload. See Issue #173.
- Introduced an option to set Images by their ID in the Update User and Update Game APIs.
- Implemented an API for updating Game Background Images.
- Added a configurable maximum image upload size,
IMAGE_MAX_SIZE_IN_KB(default is 10,000 KB, which is 10MB). - Enhanced file upload security with Magic Bytes Checking for images.
- Modified the Game Release Date to be nullable. Now, filenames can consist only of the game title, see Issue #180.
- Improved RAWG Matching Algorithm to use fewer calls to Rawg and work without Release Dates.
- Made Image Source URLs nullable and unique.
- Images are now saved with their correct file extensions.
- Limited image format support to bmp, jpeg, png, tiff, gif, and ico to ensure compatibility with WPF.
- Added
IMAGE_SUPPORTED_IMAGE_FORMATS, you can change the supported Content-Type Headers for images with this parameter if you have a non WPF Client. - Removed unused Image Garbage Collector configurations (
IMAGE_GC_INTERVAL_MINUTES&IMAGE_GC_KEEP_DAYS).
API Specification
- Added
@ApiBasicAuth()to all APIs except Health API #186
Bandwidth Control
- Implemented server-side bandwidth limit configuration
SERVER_MAX_DOWNLOAD_BANDWIDTH_IN_KBPSto control the server's maximum bandwidth. See Issue #10. - Added client-side bandwidth limit configuration through the
X-Download-Speed-LimitHeader in Download Requests.
Admin Features
- Admins now have the ability to delete the progress of other users by using the Progress ID.
RAWG Cache
- Changed the default RAWG Cache retention period from 7 days to 30 days since game data doesn't change frequently.
Database Changes
- Migrated Email, First Name, and Last Name as nullable fields in the database.
- Implemented Conditional Validators to ensure that only registrations matching the required user information configuration are accepted, denying registrations that don't meet the configuration criteria.
- Refactored the Configuration Class for improved organization and readability.
- First And Last Name fields now support German Umlauts (like ä,ö,ü, etc.).
- Added
RAWG_API_EXCLUDE_STORESConfig Parameter for Itch.io Indie-Game Lovers. - Set RAWG API Calls to look for games on all Platforms & Consoles and not just PC.
- Fixed a bug where Boxarts couldn't be found for certain games because the search effort was insufficient.
- Added nullable uploader field to Image Enity and uploaded_images field to User Entity for traceability.