- 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
to `8080. - 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
Breaking change
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/zurdi15/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