- Removed
PUID/GUID
environment variables. Instead, use theuser: "XXXX:XXXX"
entry in docker-compose to set the owner of newly created file/folders and mounted volumes
Warning
RomM has been organized in github
and dockerhub
! New images will be upload to rommapp/romm
repository on dockerhub and ghcr.
- Famicon disk system to emulatorjs
- Allow setting PUID/GUID/UMASK with environment variables
- Re-added external redis support. You can now use an external redis instance with RomM by setting
REDIS_HOST
andREDIS_PORT
in the env variables. If you have those variables currently set but want to use the internal one, you'll have to remove those them.
- Added scrolling to scan logs
- Disabled amiga emulator until bios support added
- Updated docker-compose.example.yml file to match new dockerhub
rommapp
organization
- Normalized IGDB search for better results
- Fixed player viewport to fit screen better
- Fixed safari downloads file names
Warning
This hotfix requires a few changes:
- A new volume has to be bound to
/redis-data
, check the docker-compose.example.yml file - If you're seeing "Decompress Game Core" when trying to run games in EmulatorJS, you'll need to clear storage in your browser to clear IndexedDB
- Fix for integrated redis data persist. Check the docker-compose.example.yml
- Fixed emulatorjs integration. Fixes #695
- Fixed 404 for assets endpoint
- Fixed sqlite to mariadb migration
- Fixed async tasks not running and throwing errors
- Fixed sqlite to mariadb migration. Fixes #697 and #688
- Fixed multipart game selector when change between games
- EmulatorJS player: Play retro games in your web browser
- Saves and states: Upload/downlaod game saves, and play them with EmulatorJS
- More metadata: Extracts more information from IGDB, like release date, genres, related games, etc.
- New license: Now licensed under AGPL-3.0 to promote community contributions
- Manually trigger async tasks from the UI
- New /stats endpoint to get library statistics
- Multi-file roms now download with .m3u file
- Small banner in UI when new version is available
- Manual search now also checks alternative names
- Redis is now built into the image
- Dropped support for build-in SQLite database
- Faster search against IGDB API with better results
- New covers when game or cover art not found
- Improved build process and release tagging
- Improved error handling and logging
- Validation is run on config.yml file to ensure compatibility
- Fix downloading single file from multi-file roms
- Fix compressing large files for download
- Reworked the authetication system to reduce CSRF and login issues
- Reconnect websockets on page reload to catch scan progress
- Many other small bug fixes and improvements
- Deleting platforms now works properly when having "orphaned" platforms.
- Platforms can only be deleted from RomM's database. Checkbox to delete platform from filesystem have been removed.
- Now
platforms
can bedeleted
from the gallery. Closes #567 - Support for
switch
updates
andDLC
files. Closes #554 - Additional Webrcade resources by @Casuallynoted.
Exclusions
inconfig
file now acceptswildcards
. Check the config.example.yml. Closes #575
Not identified
games are no longer being grouped whengroup roms
option is enabled.- Changes in the
config
file from one to other platform are now more consistent. Closes #567 - Some other minor fixes.
- File extensions now can have up to
100
characters. Closes #531 - Now files without extension are skipped during scan by @bfenty.
- Logs are now clearer.
- Added an option to group different regions of one game in the same entry in the
Control Panel
. Closes #404
- Fixed an error when scanning games with with
ps2 opl
,switch titledb/productid
ormame
format. - Fixed updating roms of a custom platform folder.
- Now region and language tags are case insensitive to show
emojis
.
- Support for
productID
in the file name forswitch
titles. - Rom name sorting now sorts smarter, avoiding leading articles such
The
orA
, like inThe Legend of Zelda
. Closes #449 and #450 - Support for file names with multiple
regions
andlanguages
. Also usesemojis
to display them. Closes #473 - Added a button to manually
run
all tasks. Closes #437 - Now if a game doesn't have cover, it will show a screenshot if available. Closes #455
- Added a little warning icon in the platform selector if the platform is not found by IGDB.
- Now if a platform is not found by IGDB, the platform name is
titleized
. Ex:pocket-challenge-v2 -> Pocket Challenge V2
. Closes #486 - A lot more icons!. Complete list at PR-488 and PR-493
- Support for support for AES/MVS. Closes #503
- Added Helm Chart to deploy on Kubernetes by @psych0d0g
Rescan unidentified
added to the scan view, allowing to rescan only those entries that IGDB couldn't identify in previous scans. Closes #519Config file
visualization added to the newConfig
tab in theControl Panel
. Partially implements some concepts of #457
- Now sorting by size in the gallery table view works as expected. Closes #423
- Now RomM is more responsive in more kind of devices.
- Cover sizes are now standarized to have a more consistent gallery. Closes #340
- Improved detection for multiple extension files.
- Now the
delete from filesystem
checkbox is reseted when thedelete
dialog is closed. Closes #466 - Single file roms now are properly downloaded from backend, fixing a potential security issue. Closes #471
- Now a new
scanned
game appears directly in the gallery without refreshing. Closes #467 - A lot more of small fixes.
- Now the default theme is setup properly.
- Fixed scan for custom folders from the
scan
view. Closes #501 - Fixed multi-part games download when any part of the game contains a
comma
in the name. Closes #520
- Improved the docker
init scripts
handling by @psych0d0g. - Now the
scan
can continue after failing finding roms for one platform. Closes #460 - Logs improved a lot.
- Added
Scheduler
to run scheduled scans andWatchdog
to perform scans when adding/renamed/deleted any rom from the filesystem. Added a lot of new environment variables to configure both features. Check the readme.md for an explanation of how to configure them. - Added new
REDIS_PASSWORD
environment variable to support secured redis with pasword. Closes #412 - New
Recently Added
section in the dashboard shows the last 15 added roms. Closes #400
- Upload rom feature is now working properly.
- Fixed order roms by size in the gallery list view. Fixes #423
- Now platforms without roms will be hidden in the drawer and the dashboard. Closes #396
- Fixed an error that caused to show the wrong roms for one platform if user navigates directly to that platform from a rom details page. Fixes #408
- User management system. Check the docker-compose.example.yml for all the needed changes and environment variables. Closes #24
- Gallery bulk selection. Closes #50
- Roms upload feature.
- Custom cover art.
- Custom name for
roms
folder throught theROMS_FOLDER_NAME
environment variable. Closes #356 - Added
IGDB_CLIENT_ID
andIGDB_CLIENT_SECRET
as environment variables.CLIENT_ID
andCLIENT_ID
are deprecated and will be removed in future versions. - Added icons for more platforms: CD-i, 3DO, Neo Geo Pocket Color, Nintendo 64DD, Satellaview, Playdia, Pippin, Mac
- Fixed some checks before renaming a rom to avoid breaking names. Closes #348
- A lot of other minor bugs.
- RomM internal port changed from
80
to8080
. - RomM docker image size reduced significantly.
- Improved scanning and IGDB requests returning first the exact match.
- Scan now times out at 4 hours to improve scans for larger libraries.
- Other minimal changes in platform icons.
- Rom admin menu added to roms in gallery. Closes #28
- Added ps2/opl naming convention support for roms scanning. Closes #324
- Fixed an error caused by the service worker that sometimes intercepts download requests and returns a bad response. Fixes #297
- Fixed rom count in platform selector when deleting/scanning roms. Fixes #325
- RomM logs are now stored in
/romm/logs
in docker and path can be binded in docker-compose. Check docker-compose.example.yml. Solves #303
- Fixed multipart roms scanning.
- Now platforms folders are case insensitive, allowing to have them lowercase or uppercase. Solves #282
- Fixed a bug that caused the platforms drawer to dissapear after scan.
- Region and revision system is now more robust and flexible. Solves #301. Check tags support
- Libraries are now paginated to improve performance in large collections. Solves #89 and #280
- Downloads are now managed in the backend, allowing the web browser to manage the download progression and avoiding memory overload. Solves #266
- Fixed broken scan in multi part games. Solves #262
- Added platforms to home page.
- Added the scan log in real time in the scan section.
- Added fast scan button in the gallery to direct scan the current platform. Solves #250
- Added Game and Watch support. Partially solves #245
- Added Amstrad CPC support. Partially solves #245
- Added Game and Gear support. Partially solves #245
- Added PC-98 support. Partially solves #245
- Added Pokemini support. Partially solves #245
- Added DOOM support. Partially solves #245
- Fixed a bug that caused scan to run twice. Solves #221
- Improved RomM initial setup logs for bad folder structure configurations. Solves #217
- Improved gallery loading when switching between view modes.
- Atari 2600 support added. Solves #224
- Atari 7800 support added. Solves #226
- Atari 5200 support added. Solves #225
- Sega 32X support added. Solves #223
- Nintendo Virtual Boy support added. Solves #222
- Fixed potentially malformed urls for covers and screenshots from IGDB. Solves #216
- Fixed potentially scan fail with some games with large names. Solves #229
- Now it is possible to search a rom match by Name and by ID. Solves #208
- Now screenshots are displayed in screenshots tab (Complete scan needed in order to fetch screenshots from IGDB). Partially solves #57
- Now more rom properties can be manually edited. Solves #140
- Home screen.
- Config option to associate custom system folders to platforms (Complete scan needed). Check config.yml example. Solves #152.
- Sega Saturn and Master System support added. Check platforms support. Solves #194.
- Progress bar when games are being downloaded.
- Routes to different RomM sections and games changed now allow share direct links to platforms and games.
- RomM now can scan subdirectories in a multi-part game. Solves #179.
- Settings and Scan sections are now in the main drawer menu.
- Some UI changes.
- Code base stability and speed improved.
- New UI feel with the new RomM color palette
- Roms size is now human readable
- Fixed a bug where multi file roms could break the scan if the rom name have a dot.
- More options and flexibility to prevent files/folders to be scanned. Check config.yml example
- Config file example added to docker/config.example.yml
- Rom details page revamped
- RomM logo revamped
- Multiple games gallery display modes
- Some fixes and improvements
- Now RomM allows to fix missmatched games by searching by IGDB id manually
- WonderSwan and WonderSwan Color support added
- Support for multi file games: Now RomM can scan a folder with the game name and all of its files inside the folder. No need to match the folder with the files inside. Download feature can download a zip with the entire game and all of the files or just the desired ones.
- Some UI tweaks
- Support for commodore64
- Searching in IGDB for games in not supported platforms doesn't raise an error anymore
- Now sqlite database location needs to be binded to
/romm/database
. Check docker-compose example. - Now resources location (games cover) needs to be binded to
/romm/resources
. Check docker-compose example. - More platforms support. Check platforms support
- Now RomM version appears in the bottom of the settings panel
- Download feature is now fixed for RomM structucture 1
- Library path binding changed from
/library
to/romm/library
. Check docker-compose
- Smart scan: now RomM will only scan the changes in the filesystem, making the scan process too much faster. Added an option to force a full scan.
- Now game files can be renamed after the name matched in IGDB, keeping the tags.
- Delete game now works properly
Warning
In order to make the new features to work, it is mandatory this time to drop all the database. This will only make you need to re-scan, but you won't lose the cover changes or file changes you made. I apologize for the inconveniences this may cause, as this is a new software, it may change a little bit the first weeks, at least until I can develop a proper way to migrate between versions. I hope you can understand these initial wipes in order to make a better tool.
- Now RomM folder structure is more flexible to match two different patrons by priority. This change makes RomM Emudeck compatible at least with single file games platforms. Check folder structure
- Added config file support to exclude folders and specific extension files to be scanned. Config file can be binded to
/romm/config.yml
.To reload config file RomM reload is needed. Check config. - Added tags support for region, revision/version and generic tags. Tags must have the right prefix to allow RomM scan them properly. Check tags.
- Now you can use your games tags (like (USA) or (rev-1)) to filter in the gallery
- Gamecube support platforms support
- PC support added (only for single file games like zip, iso, etc) platforms support
- Now delete game only deletes it from RomM gallery. To delete it from the filesystem too you need to allow it with the checkbox.
Breaking change
- This breaking change only applies for mariaDB users:
Some users reported errors when scanning files with large names because file_names are limited to 100 characters in the database. As I want to give as much flexibility as possible I changed some database columns.
If you didn't make a lot of manual changes you can just get rid of the database and recreate it, scanning your library again. If you did some changes and don't want to lose the progress, you should do this changes manually from the mariadb container (or wherever you have your mariadb database) since there is not any kind of CLI for this migration.
I am so sorry for any inconvenience this can generate.
Columns to modify (examples in case that you set it with database name as romm, in other case just change the database name in the {db_name}.roms part):
alter table romm.roms modify column file_name varchar(500);
alter table romm.roms modify column file_name_no_ext varchar(500);
alter table romm.roms modify column name varchar(500);
alter table romm.roms modify column r_slug varchar(500);
alter table romm.roms modify column p_slug varchar(500);
alter table romm.roms modify column path_cover_l text;
alter table romm.roms modify column path_cover_s text;
alter table romm.platforms modify column slug varchar(500);
alter table romm.platforms modify column name varchar(500);
alter table romm.platforms modify column path_logo text;
- Notification added when downloading a game
- Database name when using mariadb now can be changed with the new variable DB_NAME. Check docker-compos.example.yml
- Potential password error when using mariadb if the password have special characters
- Some other bugs
- SQLite support
- Dreamcast support (https://github.com/rommapp/romm#platforms-support)
- SQLite is now the database by default if ROMM_DB_DRIVER is not set. Check docker-compos.example.yml
- Platforms and games are now shown by alphabetical order
- Game names parentheses are now omitted when searching game in IGDB, allowing game names to have tags.
- Birth of RomM