Warning
Using alpha builds can cause instability, corruption and permanent loss of data. We strongly recommend making backups of the database, resources, assets and games library before upgrading to any alpha release. Always closely follow the upgrade instructions when switching to an alpha release.
Biggest changes in this release:
- Use Launchbox GamesDB as a local-only metadata source
- Use Hasheous to find metadata matches using game hashes (MD5, SHA1)
- Will populate game info using IGDB metadata without setting up IGDB keys (IGDB proxy)
- Use Playmatch to find IGDB IDs only using game hashes
- Still requires setting up IGDB to fetch metadata
- A missing file will now mark a game as "missing" instead of deleting the entry and notes
- Readded stats summary as a display option in the home page
- Dockerfile for developers now provided for 1-step development setup using
devcontainers
Six new environment variables were added in this release (default):
LAUNCHBOX_API_ENABLED
(false): Download and use the Launchbox database when scanningPLAYMATCH_API_ENABLED
(false): Compare hashes against Hasheous to populate IGDB dataHASHEOUS_API_ENABLED
(false): Compare hashes against Playmatch to populate IGDB IDsSESSION_MAX_AGE_SECONDS
(1209600): Length of time until browser session expires, in secondsENABLE_SCHEDULED_UPDATE_LAUNCHBOX_METADATA
(false): Update local Launchbox database nightlySCHEDULED_UPDATE_LAUNCHBOX_METADATA_CRON
(0 5 * * *): How often to run the Launhbox database update
What's Changed
- feat: Mark missed files from filesystem as "missing" by @zurdi15 in #1977
- feat: Add custom cookie session max age by @zurdi15 in #1982
- feat: Readded stats summary as a display option in the home page by @zurdi15 in #1983
- Add platform icons for Amiga CD32, Arduboy, and Commodore CDTV by @milktoastrat in #1980
- [ROMM-403] Import metadata from Launchbox database by @gantoine in #1515
- Calculate hashes before fetching metadata by @gantoine in #1981
- Add playmatch hash-based integration by @DevYukine in #1931
- fix: Added form rules - Allow ASCII only on create user form by @zurdi15 in #1991
- Hasheous matching by @gantoine in #1990
- Add TheGamesDB handler for platforms by @gantoine in #1994
- Fix Retroachievements URL in README by @Azelphur in #1998
- Added Platform Icons by @milktoastrat in #2000
- misc: Random fixes and improvements by @zurdi15 in #1999
- Provide Dockerfile for devs by @gantoine in #1960
- misc: Remove support for deprecated GUNICORN_WORKERS variable by @adamantike in #2003
- misc: Create ScreenScraper service adapter by @adamantike in #2002
- misc: Remove deprecated boolean parameters from get_roms endpoint by @adamantike in #2004
- Add and update platform icons (SVG + ICO) by @milktoastrat in #2007
- misc: Remove _request method from RAHandler by @adamantike in #2005
- Update DEVELOPER_SETUP.md by @Konscription in #2016
- fix: Use request body for user creation and update endpoints by @adamantike in #2012
- misc: Create SteamGridDB service adapter by @adamantike in #2018
- misc: Remove unused methods from Roms handler by @adamantike in #2017
- misc: Create MobyGames service adapter by @adamantike in #2023
- Add and Update Platform Icons by @milktoastrat in #2021
- misc: Specify English language for all Markdown blocks by @adamantike in #2029
- fix: Add debounce to RomUser changes by @adamantike in #2028
- misc: Upgrade RALibretro to v1.8.1 by @adamantike in #2027
- misc: Improve API docs and annotations for rom endpoints by @adamantike in #2033
- misc: Apply pyupgrade changes for Python 3.12 compatibility by @adamantike in #2034
- misc: Upgrade nginx to v1.29.0 by @adamantike in #2035
- misc: Improve API docs and annotations for platform endpoints by @adamantike in #2036
- Fix for setting the correct forward proto when behind ssl proxy by @starkmapper in #2043
- misc: Upgrade to Python 3.13 by @adamantike in #2048
- Switch from poetry to uv by @gantoine in #2049
- misc: Remove Python dependencies not being directly used by @adamantike in #2051
- Use URL to store and load search params by @gantoine in #2045
- fix: Require threads for dosbox_pure core by @adamantike in #2054
- misc: Replace deprecated uvicorn.workers with uvicorn-worker by @adamantike in #2053
- Add code coverage for backend tests by @gantoine in #2056
- Use hasheous as igdb proxy by @gantoine in #1997
- fix: Correctly use Python 3.13 in Docker image by @adamantike in #2059
- fix: watchdog: Only subscribe to relevant filesystem events by @adamantike in #2060
New Contributors
- @milktoastrat made their first contribution in #1980
- @DevYukine made their first contribution in #1931
- @Azelphur made their first contribution in #1998
- @starkmapper made their first contribution in #2043
Full Changelog: 3.10.2...4.0.0-alpha.1