Releases: rommapp/romm
3.7.0-alpha.1
What's Changed
- build(deps-dev): Bump vite from 3.2.10 to 3.2.11 in /frontend by @dependabot in #1326
- fix: Speed up scan for matched roms without filesystem changes by @adamantike in #1334
- misc: Retrieve roms by filename from database in bulk during scan by @adamantike in #1336
- build(deps): Bump python-multipart from 0.0.9 to 0.0.18 by @dependabot in #1340
- fix: Crash on new instance from previous installation by @zurdi15 in #1323
- feat: Add platform info drawer + per platform settings by @zurdi15 in #1324
- fix: Handle hash calculation error by @zurdi15 in #1342
- feat: Add collection info drawer by @zurdi15 in #1341
- fix: Update ROM deletion process to remove associated collections by @zurdi15 in #1345
- misc: Fix some typing issues by @adamantike in #1346
- chore: Refactor frontend layouts by @zurdi15 in #1347
- feat: Add support for _FILE suffix in environment variables by @adamantike in #1349
- [ROMM-1348] Log when a user downloads a game by @gantoine in #1350
- Hotfixes for some sqlalchemy models by @gantoine in #1351
- fix: Setup wizard redirection by @zurdi15 in #1355
- [HOTFIX] Lower permission on update user endpoint and check perms internally by @gantoine in #1357
- feat: Multi language support by @zurdi15 in #1353
- misc: Use async cache in IGDB handler by @adamantike in #1358
- misc: Sort roms in get_roms method by @adamantike in #1359
- misc: Remove unneeded Redis key for Twitch token expiration by @adamantike in #1360
- fix: Improve i18n pluralization by @adamantike in #1361
- misc: Remove print leftover in CallbackIO class by @adamantike in #1364
- fix: Typo in parallel_n64 core name by @adamantike in #1365
- [ROMM-540] OIDC Support by @gantoine in #1321
- [HOTFIX] Update emulatorjs to 4.2.0 by @gantoine in #1372
Full Changelog: 3.6.0...3.7.0-alpha.1
v3.6.0
This Thanksgiving, we’re serving up 3.6.0, a hearty update stuffed with QOL improvements and bug fixes that will leave you as satisfied as a plate full of turkey with all the trimmings. 🦃
Progress, completions, and ratings
Track your game progress, completions, and star ratings under the new "Personal" tab, and use them to filter your games by "backlogged", "finished" or "100% completed". We've also moved your (and shared) notes under the same tab.
Major changes
- Display and filter games by age rating (requires a quick sync)
- Use filename without tags or extension when matching unmatched game
- Skip hashing games on desktop platforms for faster scans
- Improved memory usage during 7zip decompression
- New env variable
UPLOAD_TIMEOUT
allows for larger file uploads - Edit file exclusions for config.yml from the UI
All changes
- fix: Correctly update state for cover deletion by @adamantike in #1174
- fix: Use filename without tags or extension when matching unmatched game by @adamantike in #1177
- [ROMM-1181] Skip hashing games on desktop platorms by @gantoine in #1183
- [ROMM-1176] Fetch video ID and place in carousel by @gantoine in #1184
- [ROMM-829] Status fields on rom user by @gantoine in #1137
- chore(README): Update dev instructions for Arch Linux users by @rathmerdominik in #1195
- Bypass nginx proxy buffering when uploading roms by @gantoine in #1201
- [ROMM-1114] Fetch and use age ratings in UI and filters by @gantoine in #1119
- misc: Use bundled Valkey instead of Redis server by @adamantike in #1205
- feat: Add RAHasher and util to calculate RetroAchievements hashes by @adamantike in #1206
- fix: Escape URLs when files are served by nginx by @adamantike in #1224
- fix: Improve memory usage during 7zip decompression by @adamantike in #1226
- fix: Do not set Ruffle's renderer explicitly by @adamantike in #1227
- fix: Improve handling of Redis URL by @adamantike in #1235
- fix: Skip scanning task by checking against the correct function name by @adamantike in #1234
- fix: Correctly resize and save small artwork by @adamantike in #1238
- fix: Avoid image requests for undefined.ico platform icon by @adamantike in #1239
- misc: Upgrade RALibretro to v1.8.0 by @adamantike in #1237
- Add offset parameter to get_roms endpoint by @alisci01 in #1240
- fix: Avoid query during import time to set add_user endpoint scopes by @adamantike in #1241
- Update variables to MariaDB by @drcursor in #1243
- #1228 Configurable upload timeout by @yuri-becker in #1236
- fix: Simplify query that validates new username already exists by @adamantike in #1242
- misc: Create enum for authorization scopes by @adamantike in #1247
- docs: Updated readme preview by @zurdi15 in #1256
- feat: Enable editable exclusions from webUI by @zurdi15 in #1254
- fix: Make tar decompression only consider regular files by @adamantike in #1260
- fix: Broken IGDB age rating image links by @adamantike in #1261
- fix: Download IGDB screenshots with right aspect ratio by @adamantike in #1263
- fix: Show source image on each result for Manual match by @adamantike in #1264
- misc: Initial addition of IGDB typehints by @adamantike in #1265
- misc: Use tini as container entrypoint by @adamantike in #1272
- fix: Personal tab mobile responsive by @zurdi15 in #1271
- Fix #1283 - properly default groupRoms if it doesn't exist in localStorage by @MattTW in #1287
- feat: Add streaming support for 7zip hashing by @adamantike in #1282
- misc: Add MariaDB healthcheck recommendation to Docker Compose config by @adamantike in #1278
- [ROMM-1292] Log when db entries are purged by @gantoine in #1296
- fix: Consider IGDB alternative names when checking for exact match by @adamantike in #1301
- fix: Consider more categories when matching IGDB games by @adamantike in #1300
- [ROMM-1218] Exempt the right path from CSRF protection for tokens by @gantoine in #1303
- Add discord bot + donate btn to readme by @gantoine in #1308
- misc: Add more IGDB typehints by @adamantike in #1310
- Added offline support and configurable logging level by @zurdi15 in #1320
New Contributors
- @rathmerdominik made their first contribution in #1195
- @alisci01 made their first contribution in #1240
- @drcursor made their first contribution in #1243
- @yuri-becker made their first contribution in #1236
Full Changelog: 3.5.1...v3.6.0
v3.6.0-rc.1
What's Changed
- fix: Correctly update state for cover deletion by @adamantike in #1174
- fix: Use filename without tags or extension when matching unmatched game by @adamantike in #1177
- [ROMM-1181] Skip hashing games on desktop platorms by @gantoine in #1183
- [ROMM-1176] Fetch video ID and place in carousel by @gantoine in #1184
- [ROMM-829] Status fields on rom user by @gantoine in #1137
- chore(README): Update dev instructions for Arch Linux users by @rathmerdominik in #1195
- Bypass nginx proxy buffering when uploading roms by @gantoine in #1201
- [ROMM-1114] Fetch and use age ratings in UI and filters by @gantoine in #1119
- misc: Use bundled Valkey instead of Redis server by @adamantike in #1205
- feat: Add RAHasher and util to calculate RetroAchievements hashes by @adamantike in #1206
- fix: Escape URLs when files are served by nginx by @adamantike in #1224
- fix: Improve memory usage during 7zip decompression by @adamantike in #1226
- fix: Do not set Ruffle's renderer explicitly by @adamantike in #1227
- fix: Improve handling of Redis URL by @adamantike in #1235
- fix: Skip scanning task by checking against the correct function name by @adamantike in #1234
- fix: Correctly resize and save small artwork by @adamantike in #1238
- fix: Avoid image requests for undefined.ico platform icon by @adamantike in #1239
- misc: Upgrade RALibretro to v1.8.0 by @adamantike in #1237
- Add offset parameter to get_roms endpoint by @alisci01 in #1240
- fix: Avoid query during import time to set add_user endpoint scopes by @adamantike in #1241
- Update variables to MariaDB by @drcursor in #1243
- #1228 Configurable upload timeout by @yuri-becker in #1236
- fix: Simplify query that validates new username already exists by @adamantike in #1242
New Contributors
- @rathmerdominik made their first contribution in #1195
- @alisci01 made their first contribution in #1240
- @drcursor made their first contribution in #1243
- @yuri-becker made their first contribution in #1236
Full Changelog: 3.5.1...3.6.0-rc.1
v3.5.1
What's Changed
- Hack to get emujs working in dev mode by @gantoine in #1139
- Microfixes to game cards UI by @zurdi15 in #1144
- [ROMM-1150] Fix multi select in table view by @gantoine in #1151
- [ROMM-1123] Limit returned roms to 2500 by @gantoine in #1149
- [ROMM-1155] Patch zipfil + catch more 7zip errors by @gantoine in #1156
- [ROMM-1154] Fix setting main sibling by @gantoine in #1157
- Remove unraid template by @gantoine in #1161
- build(deps): bump cryptography from 42.0.8 to 43.0.1 by @dependabot in #1164
- [ROMM-1153] Use generated pack of favicons by @gantoine in #1159
- [ROMM-1165] set docs and recod paths by @gantoine in #1166
Full Changelog: 3.5.0...3.5.1
v3.5.0
Important
If your games or collections fail to load on restart, wait 10 minutes, then run a QUICK scan from the scan page.
What's Changed
- misc: Improve typing for feed schemas by @adamantike in #1064
- [ROMM-1063] Add Amiga CD32 to emulatorjs game list by @gantoine in #1065
- fix: fab overlay fixed by @zurdi15 in #1073
- fix: Readable setup text on white theme by @zurdi15 in #1072
- fix: Allow access to Tinfoil feed when download auth is disabled by @adamantike in #1078
- fix: Set Gunicorn option forwarded-allow-ips by @adamantike in #1077
- Improve speed of fetching siblings for roms by @gantoine in #1076
- Ruffle flash emulator by @gantoine in #1049
- Calculate and store hashes for rom files by @gantoine in #1005
- Hotfix scans when running HASH_SCAN by @gantoine in #1081
- Fix playing emulatorjs + better platform icon loading by @gantoine in #1086
- Fix home icon size on safari/ios by @gantoine in #1088
- misc: Upgrade Python to v3.12 and Alpine to v3.20 by @adamantike in #1092
- feat: Use X-Accel-Redirect to improve file download speed by @adamantike in #1084
- misc: Pin Node version to v20 by @adamantike in #1095
- Add icon to gallery header for current platform by @gantoine in #1093
- Upload progress bars by @gantoine in #1096
- Skip compressed files if theyre invalid by @gantoine in #1097
- Bump emulatorjs to 4.1.1 by @gantoine in #1100
- feat: Use nginx mod_zip to generate multi-file zip downloads by @adamantike in #1102
- misc: Use single SQLAlchemy engine and session maker by @adamantike in #1105
- Switch funding to open collective by @gantoine in #1108
- Replace illegal fs chars in filenames by @gantoine in #1109
- Upload dialog hotfixed + clear button by @gantoine in #1118
- Fix detecting if platform is flash games by @gantoine in #1120
- feat(UX) - Allow links to open in a new tab by @SaraVieira in #1116
- fix(icons) - match icon names to platform names by @SaraVieira in #1122
- Disable auth on rom content get endpoint when env variable is present by @gantoine in #1125
- Add support for formatting vuejs with trunk by @gantoine in #1124
- Add known bios files from retropie project by @gantoine in #1126
- Add titledb field to tinfoil response by @gantoine in #1127
- Better performance for large collections by @gantoine in #1128
- [ROMM-1113] Add file path in rom edit window by @gantoine in #1129
- misc: Tag Docker image with major version only by @adamantike in #1131
- build(deps): bump axios from 1.6.8 to 1.7.4 in /frontend by @dependabot in #1132
- Bump axios to 1.7.4 by @gantoine in #1134
- [ROMM-1107] Add env variable to disable in-browser emulation by @gantoine in #1133
- Default both fast forward and rewind to enabled by @SaraVieira in #1136
- Allow user to unmatch rom by @SaraVieira in #1138
New Contributors
- @SaraVieira made their first contribution in #1116
Full Changelog: 3.4.0...3.5.0
v3.5.0-beta.2
What's Changed
- fix(icons) - match icon names to platform names by @SaraVieira in #1122
- Disable auth on rom content get endpoint when env variable is present by @gantoine in #1125
- Add support for formatting vuejs with trunk by @gantoine in #1124
- Add known bios files from retropie project by @gantoine in #1126
- Add titledb field to tinfoil response by @gantoine in #1127
- Better performance for large collections by @gantoine in #1128
Full Changelog: 3.5.0-beta.1...3.5.0-beta.2
v3.5.0-beta.1
What's Changed
- Switch funding to open collective by @gantoine in #1108
- Replace illegal fs chars in filenames by @gantoine in #1109
- Upload dialog hotfixed + clear button by @gantoine in #1118
- Fix detecting if platform is flash games by @gantoine in #1120
- Allow links to open in a new tab by @SaraVieira in #1116
New Contributors
- @SaraVieira made their first contribution in #1116
Full Changelog: 3.5.0-alpha.1...3.5.0-beta.1
v3.5.0-alpha.1
What's Changed
- misc: Improve typing for feed schemas by @adamantike in #1064
- [ROMM-1063] Add Amiga CD32 to emulatorjs game list by @gantoine in #1065
- fix: fab overlay fixed by @zurdi15 in #1073
- fix: Readable setup text on white theme by @zurdi15 in #1072
- fix: Allow access to Tinfoil feed when download auth is disabled by @adamantike in #1078
- fix: Set Gunicorn option forwarded-allow-ips by @adamantike in #1077
- Improve speed of fetching siblings for roms by @gantoine in #1076
- Ruffle flash emulator by @gantoine in #1049
- Calculate and store hashes for rom files by @gantoine in #1005
- Hotfix scans when running HASH_SCAN by @gantoine in #1081
- Fix playing emulatorjs + better platform icon loading by @gantoine in #1086
- Fix home icon size on safari/ios by @gantoine in #1088
- misc: Upgrade Python to v3.12 and Alpine to v3.20 by @adamantike in #1092
- feat: Use X-Accel-Redirect to improve file download speed by @adamantike in #1084
- misc: Pin Node version to v20 by @adamantike in #1095
- Add icon to gallery header for current platform by @gantoine in #1093
- Upload progress bars by @gantoine in #1096
- Skip compressed files if theyre invalid by @gantoine in #1097
- Bump emulatorjs to 4.1.1 by @gantoine in #1100
- feat: Use nginx mod_zip to generate multi-file zip downloads by @adamantike in #1102
- misc: Use single SQLAlchemy engine and session maker by @adamantike in #1105
Full Changelog: 3.4.0...3.5.0-alpha.1
v3.4.0
What's Changed
- feat: Added link to home button by @zurdi15 in #1054
- feat: Public collections by @gantoine in #1028
- feat: Added aditional platform icons by @Casuallynoted in #1038
- feat: Store and re-use last saved bios/save/state/core by @gantoine in #1037
- feat: Clickable filter buttons on details view by @gantoine in #1040
- feat: Add button to show duplicates by @gantoine in #1043
- fix: Scanning selected roms by @gantoine in #1042
- fix: Use namespaced cookie for session by @adamantike in #1009
- fix: Replace game-and-watch with g-and-w by @gantoine in #1026
- fix: Backend URL redirection logic by @adamantike in #1058
- fix: Enable flake8-async rules in ruff and fix warnings by @adamantike in #1030
- fix: Initialize context on scheduled task by @adamantike in #1033
- fix: Return early if IGDB finds an exact match by @adamantike in #1032
- fix: CSRF token issues by @zurdi15 in #1057
- fix: Link from related games by @gantoine in #1045
- fix: Typos in frontend by @HellLord77 in #1048
- fix: Firmware pagination by @gantoine in #1041
- fix: Multi-file download in gallery view by @gantoine in #1044
- fix: Remove persistent overlay prevents back navigation by @gantoine in #1036
- misc: Add Redis async cache by @adamantike in #1010
- misc: Create config.batocera-retrobat.yml by @TyroneSlothrop in #1013
- misc: Migrate MobyGamesHandler to async by @adamantike in #1011
- misc: Migrate filesystem resource handler to async by @adamantike in #1017
- misc: Replace pytest-vcr dependency with pytest-recording by @adamantike in #1021
- misc: Refactor scan process by splitting single function by @adamantike in #1024
- misc: Migrate IGDBBaseHandler to async by @adamantike in #1023
- misc: Use PYTEST_VERSION variable to detect Pytest runs by @adamantike in #1034
- misc: Use async interface for stream-zip by @adamantike in #1035
- misc: Add workflow that runs typecheck on PRs by @gantoine in #1055
- misc: Make backend handle URLs with trailing slash by @adamantike in #1059
- misc: Drop ROMM_AUTH_USERNAME and ROMM_AUTH_PASSWORD env variables by @gantoine in #1060
New Contributors
- @TyroneSlothrop made their first contribution in #1013
Full Changelog: 3.3.0...3.4.0
v3.3.0
What's Changed
- UI complete redesign by @zurdi15 in #934
- Covers are now fetch in their 1080p version by @zurdi15 in #934
- Now sibling roms can have different covers by @zurdi15 in #934
- Screenshots are fetch in their big version by @zurdi15 in #934
- Setup wizard added for new RomM installations by @zurdi15 in #976
- Added collections by @zurdi15 in #964
- Add favourites collection as special collection by @zurdi15 in #977
- SteamGridDB integration. Roms and collections can be edited with a SteamGridDB cover by @zurdi15 in #960
- Enhanced scan logs by @zurdi15 in #965
- Select main sibling added for merged roms in gallery by @zurdi15 in #963
- Allow users to edit their own profile by @zurdi15 in #975
- Fixed firmware drawer permissions by @zurdi15 in #956
- Added total filesize endpoint by @adamantike in #969
- Improved Docker image size by @adamantike in #947
- Install redis instead of building in Dockerfile by @gantoine in #945
- Fix section links and improve grammar/spelling in README.md by @TylerVigario in #914
- Add trunk.io checks by @gantoine in #868
- Add parallel-n64 to cores by @gantoine in #923
- Use core icon when showing version by @gantoine in #922
- Add interactive table of contents by @Nicmorris1820 in #924
- Added linuxserver/mariadb as alternative by @need4swede in #926
- Added large carousel on screnshot click by @zurdi15 in #932
- Resources structure migrated from
resources/{platform_slug}/{rom_name}
toresources/roms/{platform_id}/{rom_id}
. - Disabled zip compression on streaming multi-file download to increase speed by @adamantike in #983
- Prevent mass-purging of roms during scan if filesystem is not correctly mounted by @gantoine in #987
- Fixed abort scan by @gantoine in #1004
- Added support for any kind of image extension on custom covers by @gantoine in #1002
- Fixes and improvements everywhere
New Contributors
- @adamantike made their first contribution in #947
- @TylerVigario made their first contribution in #914
- @Nicmorris1820 made their first contribution in #924
- @need4swede made their first contribution in #926
- @lepture made their first contribution in #931
Full Changelog: 3.2.0...3.3.0