Skip to content

Releases: rommapp/romm

4.6.1

27 Jan 14:57
cd56d3a

Choose a tag to compare

What's Changed

Full Changelog: 4.6.0...4.6.1

4.6.0

26 Jan 22:34
443110f

Choose a tag to compare

Highlights

Additional metadata

The edit dialog now allows you to manually set metadata properties that would otherwise only be aggregated from metadata sources, if those metadata sources don't support/populate certain fields. #2848

Screenshot 2026-01-12 at 1 16 34 PM

Enhance folder structure config

We've improved the web interface that lets you configure platform bindings and versions, and excluded files and folders. This change should simplify the process of configuring how library folders are interpreted and what content is ignored during scanning. #2809

Screenshot 2026-01-12 at 12 25 11 PM Screenshot 2026-01-12 at 12 25 23 PM

Patcher.js

  • We're introducing a new ROM patching feature to the app that enables your admins and editors to apply various types of patches to ROM files. At this time both ROM and patch files must be downloaded locally and re-uploaded via the patcher, with future work planned to patch ROMs directly from your library. #2787
Screenshot 2026-01-12 at 12 25 37 PM

UI settings sync

UI settings are now synced between devices for every user! These settings do not affect third-party apps, and any setting must be changed at least once for this sync to take effect. #2777

BIOS file defaults

A default BIOS file can now be specified per emulator core directly in your config.yml:

emulatorjs:
  settings:
    mgba:
      bios_file: gba_bios.bin

#2873

Minor changes

Fixes

  • Fix YAML indentation in netplay section of config example file by @Zuko in #2812
  • [HOTFIX] Fix scrolling load more in gallery views by @gantoine in #2813
  • [HOTFIX] Multi roms should only consider top-level files by @gantoine in #2821
  • Notes flag by @zurdi15 in #2817
  • [ROMM-2824] Also replace - with : for edge cases in HLTB and LB handlers by @gantoine in #2827
  • [ROMM-2844] Use webp images for game covers in list view by @gantoine in #2845
  • [ROMM-2835] Fix appearance of chevron screenshot buttons by @gantoine in #2846
  • [ROMM-2833] Fix using default locales in igdb handler by @gantoine in #2847
  • [ROMM-2796] Add check to overwrite media assets by @gantoine in #2851
  • Allow deleting single chip in additional metadata by @SaraVieira in #2861
  • [ROMM-2853] Update rom_file.category column enum by @gantoine in #2860
  • [HOTFIX] Dont schedule tasks if already queued by @gantoine in #2885
  • [ROMM-2808] Stop filtering nsfw games from search results by @gantoine in #2852
  • [ROMM-2856] Use platform slug to fetch feed games by @gantoine in #2862
  • [HOTFIX] Check if gamelist metadata source selected before populating cache by @gantoine in #2865
  • [ROMM-2889] Add media to update_config_file by @gantoine in #2897
  • [HOTFIX] Rename selected_statuses to statuses by @gantoine in #2902
  • [HOTFIX] Only add ? to qs on download path by @gantoine in #2907
  • [ROMM-2874] Feature/updated-after-query-param by @BrandonKowalski in #2898
  • [ROMM-2906] Fix icon color light mode by @gantoine in #2913
  • [HOTFIX] Remove files from model_dump in scan by @gantoine in #2914
  • [ROMM-2891] Empty String Flashpoint ID by @BrandonKowalski in #2918

Other changes

New Contributors

Full Changelog: 4.5.0...4.6.0

4.6.0-beta.2

23 Jan 21:09
bbab9a3

Choose a tag to compare

4.6.0-beta.2 Pre-release
Pre-release

Highlights

Additional metadata

The edit dialog now allows you to manually set metadata properties that would otherwise only be aggregated from metadata sources, if those metadata sources don't support/populate certain fields. #2848

Screenshot 2026-01-12 at 1 16 34 PM

Enhance folder structure config

We've improved the web interface that lets you configure platform bindings and versions, and excluded files and folders. This change should simplify the process of configuring how library folders are interpreted and what content is ignored during scanning. #2809

Screenshot 2026-01-12 at 12 25 11 PM Screenshot 2026-01-12 at 12 25 23 PM

Patcher.js

  • We're introducing a new ROM patching feature to the app that enables your admins and editors to apply various types of patches to ROM files. At this time both ROM and patch files must be downloaded locally and re-uploaded via the patcher, with future work planned to patch ROMs directly from your library. #2787
Screenshot 2026-01-12 at 12 25 37 PM

UI settings sync

UI settings are now synced between devices for every user! These settings do not affect third-party apps, and any setting must be changed at least once for this sync to take effect. #2777

BIOS file defaults

A default BIOS file can now be specified per emulator core directly in your config.yml:

emulatorjs:
  settings:
    mgba:
      bios_file: gba_bios.bin

#2873

Minor changes

Fixes

  • Fix YAML indentation in netplay section of config example file by @Zuko in #2812
  • [HOTFIX] Fix scrolling load more in gallery views by @gantoine in #2813
  • [HOTFIX] Multi roms should only consider top-level files by @gantoine in #2821
  • Notes flag by @zurdi15 in #2817
  • [ROMM-2824] Also replace - with : for edge cases in HLTB and LB handlers by @gantoine in #2827
  • [ROMM-2844] Use webp images for game covers in list view by @gantoine in #2845
  • [ROMM-2835] Fix appearance of chevron screenshot buttons by @gantoine in #2846
  • [ROMM-2833] Fix using default locales in igdb handler by @gantoine in #2847
  • [ROMM-2796] Add check to overwrite media assets by @gantoine in #2851
  • Allow deleting single chip in additional metadata by @SaraVieira in #2861
  • [ROMM-2853] Update rom_file.category column enum by @gantoine in #2860
  • [HOTFIX] Dont schedule tasks if already queued by @gantoine in #2885
  • [ROMM-2808] Stop filtering nsfw games from search results by @gantoine in #2852
  • [ROMM-2856] Use platform slug to fetch feed games by @gantoine in #2862
  • [HOTFIX] Check if gamelist metadata source selected before populating cache by @gantoine in #2865
  • [ROMM-2889] Add media to update_config_file by @gantoine in #2897
  • [HOTFIX] Rename selected_statuses to statuses by @gantoine in #2902
  • [HOTFIX] Only add ? to qs on download path by @gantoine in #2907
  • [ROMM-2874] Feature/updated-after-query-param by @BrandonKowalski in #2898
  • [ROMM-2906] Fix icon color light mode by @gantoine in #2913
  • [HOTFIX] Remove files from model_dump in scan by @gantoine in #2914
  • [ROMM-2891] Empty String Flashpoint ID by @BrandonKowalski in #2918

Other changes

New Contributors

Full Changelog: 4.5.0...4.6.0-beta.2

4.6.0-beta.1

21 Jan 18:47
1602688

Choose a tag to compare

4.6.0-beta.1 Pre-release
Pre-release

Highlights

Additional metadata

The edit dialog now allows you to manually set metadata properties that would otherwise only be aggregated from metadata sources, if those metadata sources don't support/populate certain fields. #2848

Screenshot 2026-01-12 at 1 16 34 PM

Enhance folder structure config

We've improved the web interface that lets you configure platform bindings and versions, and excluded files and folders. This change should simplify the process of configuring how library folders are interpreted and what content is ignored during scanning. #2809

Screenshot 2026-01-12 at 12 25 11 PM Screenshot 2026-01-12 at 12 25 23 PM

Patcher.js

  • We're introducing a new ROM patching feature to the app that enables your admins and editors to apply various types of patches to ROM files. At this time both ROM and patch files must be downloaded locally and re-uploaded via the patcher, with future work planned to patch ROMs directly from your library. #2787
Screenshot 2026-01-12 at 12 25 37 PM

UI settings sync

UI settings are now synced between devices for every user! These settings do not affect third-party apps, and any setting must be changed at least once for this sync to take effect. #2777

BIOS file defaults

A default BIOS file can now be specified per emulator core directly in your config.yml:

emulatorjs:
  settings:
    mgba:
      bios_file: gba_bios.bin

#2873

Minor changes

Fixes

  • Fix YAML indentation in netplay section of config example file by @Zuko in #2812
  • [HOTFIX] Fix scrolling load more in gallery views by @gantoine in #2813
  • [HOTFIX] Multi roms should only consider top-level files by @gantoine in #2821
  • Notes flag by @zurdi15 in #2817
  • [ROMM-2824] Also replace - with : for edge cases in HLTB and LB handlers by @gantoine in #2827
  • [ROMM-2844] Use webp images for game covers in list view by @gantoine in #2845
  • [ROMM-2835] Fix appearance of chevron screenshot buttons by @gantoine in #2846
  • [ROMM-2833] Fix using default locales in igdb handler by @gantoine in #2847
  • [ROMM-2796] Add check to overwrite media assets by @gantoine in #2851
  • Allow deleting single chip in additional metadata by @SaraVieira in #2861
  • [ROMM-2853] Update rom_file.category column enum by @gantoine in #2860
  • [HOTFIX] Dont schedule tasks if already queued by @gantoine in #2885
  • [ROMM-2808] Stop filtering nsfw games from search results by @gantoine in #2852
  • [ROMM-2856] Use platform slug to fetch feed games by @gantoine in #2862
  • [HOTFIX] Check if gamelist metadata source selected before populating cache by @gantoine in #2865
  • [ROMM-2889] Add media to update_config_file by @gantoine in #2897
  • [HOTFIX] Rename selected_statuses to statuses by @gantoine in #2902
  • [HOTFIX] Only add ? to qs on download path by @gantoine in #2907
  • [ROMM-2874] Feature/updated-after-query-param by @BrandonKowalski in #2898
  • [ROMM-2906] Fix icon color light mode by @gantoine in #2913
  • [HOTFIX] Remove files from model_dump in scan by @gantoine in #2914
  • [ROMM-2891] Empty String Flashpoint ID by @BrandonKowalski in #2918

Other changes

New Contributors

Full Changelog: 4.5.0...4.6.0-alpha.2

4.6.0-alpha.4

19 Jan 17:04
f48cf10

Choose a tag to compare

4.6.0-alpha.4 Pre-release
Pre-release

What's Changed

Full Changelog: 4.6.0-alpha.3...4.6.0-alpha.4

4.6.0-alpha.3

18 Jan 16:25
9b64acc

Choose a tag to compare

4.6.0-alpha.3 Pre-release
Pre-release

What's Changed

Full Changelog: 4.6.0-alpha.2...4.6.0-alpha.3

4.6.0-alpha.2

17 Jan 22:45
a2f2249

Choose a tag to compare

4.6.0-alpha.2 Pre-release
Pre-release

Highlights

Additional metadata

The edit dialog now allows you to manually set metadata properties that would otherwise only be aggregated from metadata sources, if those metadata sources don't support/populate certain fields. #2848

Screenshot 2026-01-12 at 1 16 34 PM

Enhance folder structure config

We've improved the web interface that lets you configure platform bindings and versions, and excluded files and folders. This change should simplify the process of configuring how library folders are interpreted and what content is ignored during scanning. #2809

Screenshot 2026-01-12 at 12 25 11 PM Screenshot 2026-01-12 at 12 25 23 PM

Patcher.js

  • We're introducing a new ROM patching feature to the app that enables your admins and editors to apply various types of patches to ROM files. At this time both ROM and patch files must be downloaded locally and re-uploaded via the patcher, with future work planned to patch ROMs directly from your library. #2787
Screenshot 2026-01-12 at 12 25 37 PM

UI settings sync

UI settings are now synced between devices for every user! These settings do not affect third-party apps, and any setting must be changed at least once for this sync to take effect. #2777

BIOS file defaults

A default BIOS file can now be specified per emulator core directly in your config.yml:

emulatorjs:
  settings:
    mgba:
      bios_file: gba_bios.bin

#2873

Minor changes

Fixes

  • Fix YAML indentation in netplay section of config example file by @Zuko in #2812
  • [HOTFIX] Fix scrolling load more in gallery views by @gantoine in #2813
  • [HOTFIX] Multi roms should only consider top-level files by @gantoine in #2821
  • Notes flag by @zurdi15 in #2817
  • [ROMM-2824] Also replace - with : for edge cases in HLTB and LB handlers by @gantoine in #2827
  • [ROMM-2844] Use webp images for game covers in list view by @gantoine in #2845
  • [ROMM-2835] Fix appearance of chevron screenshot buttons by @gantoine in #2846
  • [ROMM-2833] Fix using default locales in igdb handler by @gantoine in #2847
  • [ROMM-2796] Add check to overwrite media assets by @gantoine in #2851
  • Allow deleting single chip in additional metadata by @SaraVieira in #2861
  • [ROMM-2853] Update rom_file.category column enum by @gantoine in #2860
  • [HOTFIX] Dont schedule tasks if already queued by @gantoine in #2885
  • [ROMM-2808] Stop filtering nsfw games from search results by @gantoine in #2852
  • [ROMM-2856] Use platform slug to fetch feed games by @gantoine in #2862
  • [HOTFIX] Check if gamelist metadata source selected before populating cache by @gantoine in #2865
  • [ROMM-2889] Add media to update_config_file by @gantoine in #2897
  • [HOTFIX] Rename selected_statuses to statuses by @gantoine in #2902
  • [HOTFIX] Only add ? to qs on download path by @gantoine in #2907
  • [ROMM-2874] Feature/updated-after-query-param by @BrandonKowalski in #2898
  • [ROMM-2906] Fix icon color light mode by @gantoine in #2913

Other changes

New Contributors

Full Changelog: 4.5.0...4.6.0-alpha.2

4.6.0-alpha.1

12 Jan 18:23
751aff5

Choose a tag to compare

4.6.0-alpha.1 Pre-release
Pre-release

Note

API Changes

  • ⚠️ Endpoint GET /api/roms now only accepts multiple values for the following fields:
    • platform_id -> platform_ids
    • selected_genre -> genres
    • selected_franchise -> franchises
    • selected_collection -> collections
    • selected_company -> companies
    • selected_age_rating -> age_ratings
    • selected_status -> statuses
    • selected_region -> regions
    • selected_language -> languages
  • The endpoint also accepts the following new fields:
    • last_played: Whether the rom has a last played value for the current user
    • player_counts: Associated player counts
    • genres_logic: Logic operator for genres filter: 'any' (OR) or 'all' (AND)
    • franchises_logic: Logic operator for franchises filter: 'any' (OR) or 'all' (AND)
    • collections_logic: Logic operator for collections filter: 'any' (OR) or 'all' (AND)
    • companies_logic: Logic operator for companies filter: 'any' (OR) or 'all' (AND)
    • age_ratings_logic: Logic operator for age ratings filter: 'any' (OR) or 'all' (AND)
    • regions_logic: Logic operator for regions filter: 'any' (OR) or 'all' (AND)
    • languages_logic: Logic operator for languages filter: 'any' (OR) or 'all' (AND)
    • statuses_logic: Logic operator for statuses filter: 'any' (OR) or 'all' (AND)
    • player_counts_logic: Logic operator for player count filter: 'any' (OR) or 'all' (AND)
  • New field UserSchema.ui_settings/UserForm.ui_settings: sync UI settings between devices
  • New field RomMetadataSchema.player_count: Aggregate player count for games (1, 2, 2-4, etc)
  • New field RomSchema.has_notes: Whether a ROM + user combo has at least 1 note
  • New field RomSchema.manual_metadata: Manually set metadata fields typically aggregated from metadata sources
  • New endpoint GET /api/setup/library: Get library structure information for setup wizard
  • New endpoint POST /api/setup/platforms: Create platform folders during setup wizard
  • Expose scan.media from config file via ConfigResponse.SCAN_MEDIA property

Highlights

Additional metadata

The edit dialog now allows you to manually set metadata properties that would otherwise only be aggregated from metadata sources, if those metadata sources don't support/populate certain fields. #2848

Screenshot 2026-01-12 at 1 16 34 PM

Enhance folder structure config

We've improved the web interface that lets you configure platform bindings and versions, and excluded files and folders. This change should simplify the process of configuring how library folders are interpreted and what content is ignored during scanning. #2809

Screenshot 2026-01-12 at 12 25 11 PM Screenshot 2026-01-12 at 12 25 23 PM

Patcher.js

  • We're introducing a new ROM patching feature to the app that enables your admins and editors to apply various types of patches to ROM files. At this time both ROM and patch files must be downloaded locally and re-uploaded via the patcher, with future work planned to patch ROMs directly from your library. #2787
Screenshot 2026-01-12 at 12 25 37 PM

UI settings sync

UI settings are now synced between devices for every user! These settings do not affect third-party apps, and any setting must be changed at least once for this sync to take effect. #2777

BIOS file defaults

A default BIOS file can now be specified per emulator core directly in your config.yml:

emulatorjs:
  settings:
    mgba:
      bios_file: gba_bios.bin

#2873

Minor changes

Fixes

  • Fix YAML indentation in netplay section of config example file by @Zuko in #2812
  • [HOTFIX] Fix scrolling load more in gallery views by @gantoine in #2813
  • [HOTFIX] Multi roms should only consider top-level files by @gantoine in #2821
  • Notes flag by @zurdi15 in #2817
  • [ROMM-2824] Also replace - with : for edge cases in HLTB and LB handlers by @gantoine in #2827
  • [ROMM-2844] Use webp images for game covers in list view by @gantoine in #2845
  • [ROMM-2835] Fix appearance of chevron screenshot buttons by @gantoine in #2846
  • [ROMM-2833] Fix using default locales in igdb handler by @gantoine in #2847
  • [ROMM-2796] Add check to overwrite media assets by @gantoine in #2851
  • Allow deleting single chip in additional metadata by @SaraVieira in #2861
  • [ROMM-2853] Update rom_file.category column enum by @gantoine in #2860
  • [HOTFIX] Dont schedule tasks if already queued by @gantoine in #2885
  • [ROMM-2808] Stop filtering nsfw games from search results by @gantoine in #2852
  • [ROMM-2856] Use platform slug to fetch feed games by @gantoine in #2862
  • [HOTFIX] Check if gamelist metadata source selected before populating cache by @gantoine in #2865
  • [ROMM-2889] Add media to update_config_file by @gantoine in #2897

Other changes

New Contributors

Full Changelog: 4.5.0...4.6.0-alpha.1

4.5.0

29 Dec 15:42
6bd6264

Choose a tag to compare

Highlights

Netplay

The incredibly smart and beautiful people over at the EmulatorJS project have added Netplay to their client, allowing you to play with your friends on the same instance over the internet! Enable netplay and configure the STUN/TURN servers in your config.yml:

emulatorjs:
  netplay:
    enabled: true
    ice_servers:
      - urls: "stun:stun.relay.metered.ca:80"
      - urls: "turn:global.relay.metered.ca:80"
        username: "<username>"
        credential: "<password>"

To host a game, start it, then hit the 🌐 icon in botton bar. Set your name, create a room (password optional), and other players should be able to see and join your room. All players need access to your RomM server to join a room and play together. #2728

Multiple notes

You've begged for it, and boy did we ever delivered! Write and store multiple notes for each game, with full mark down support; sharable, swapable, and easily identified with the 📝 icon. #2665

Screenshot 2025-12-10 at 3 52 36 PM

Metadata locale selection for IGDB and ScreenScraper

You can now set the order of your preferred locales/regional variants when fetching metadata from IGDB and ScreenScraper. The options below are available and can be set in your config.yml. #2700

scan:
  priority:
    region:
      - "us" # United States (no localization needed)
      - "wor" # World (default)
      - "ss" # Screenscraper (default)
      - "eu" # Europe
      - "jp"  # Japan
      - "kr" # Korea
      - "cn" # China (simplified)
      - "tw" # Taiwan (traditional)
516566290-2c43d67e-f55e-400b-8a89-a23e25d1ef36

Minor changes

  • Query parameter handling for tabs and sub-tabs by @zurdi15 in #2695
  • Redirect related games to RomM entry if exists by @zurdi15 in #2729
  • Make hashing during scan optional with filesystem.skip_hash_calculation in config.yml by @zurdi15 in #2703
  • Console mode locale by @Slabak007 in #2710
  • Add translations for firmware management dialogs by @tvdu29 in #2714
  • Hungarian translation added (finish, 12/12 files done). by @Soderes in #2718
  • Improved save/state layout by @zurdi15 in #2779
  • [ROMM-2697] Use colocated es-de folders to import art not present in gamelist.xml by @gantoine in #2766

Fixes

Behind-the-scenes

New Contributors

Full Changelog: 4.4.1...4.5.0

4.5.0-beta.3

23 Dec 16:55
fb0dc84

Choose a tag to compare

4.5.0-beta.3 Pre-release
Pre-release

What's Changed

  • feat: Add config options to disable batch bootup and auto unload in emujs by @gantoine in #2793
  • feat: Better search for Lauchbox metadata by @victor-rds in #2799
  • feat: Manual Match metada priority by @victor-rds in #2800
  • fix: Hide 0-game platforms from console mode homepage by @gantoine in #2794
  • chore: Add gamelist entries to roms metadata object by @gantoine in #2801

New Contributors

Full Changelog: 4.5.0-beta.2...4.5.0-beta.3