Hey everyone! If you're a fan of the EmulatorJS player (aren't we all?), you're going to love this update. We've completely rebuild the save and save state integration, overhauling the UI and changing the mechanism to save and load both.
Save and state UI and emulation overhaul
Warning
We strongly recommend clearing the IndexDB browser cache after upgrading, either manually or by using the new Clear EmulatorJS Cache
button at the bottom of the emulatorjs player setup page.
We've completely rebuild the save and save state integration, overhauling the UI and changing the mechanism to save and load both. We've also updated the behaviour of EmulatorJS in regards to how it interacts with saves and states. Here's a summary of the changes:
Save State
will always create a new state and send it to the serverLoad State
opens a dialog and allows you to pick the state to load- The new
Load Latest State
button will autoload the last created state file Export Save
will either create a new save file, or update the selected/newly created save file when clickedLoad Save
opens a dialog and allows you to pick the save to loadQuick Save
andQuick Load
options have been re-enabled- We're also added back the option to select the save slot of quick save/load
Quick Save/Load
and save slots are client only and have no effect on/will not create save states
- There are now 2 ways to quit:
Quit
&Save & Quit
- As the name suggests,
Save & Quit
will create a state file and create/update a save file before exiting
- As the name suggests,
- All updates to saves and states should generate and store a screenshot for easy selection
We recommend using the quick save/state options (UI or key binding) during gameplay, creating states more sparingly (before boss fights or at points to revisit), and always saving before quitting.
Other changes
- Added 16:11 aspect ratio for covers by @zurdi15 in #1758
- Add romanian translation by @mut2nt in #1769
- [ROMM-1761] Show platform disk size in sidebar by @gantoine in #1762
- Easy way to clear emulatorjs cache via the UI by @gantoine in #1789
- Add github action to build experimental docker images in #1797
Fixes
- [ROMM-1739] Update RomFile when rom fs changes by @gantoine in #1741
- [ROMM-1742] Fix updating cover when manual matching by @gantoine in #1744
- [ROMM-1726] Fix ruffle hidden in non-fullscreen mode by @gantoine in #1738
- [HOTFIX] Fix dowbnloading multi-files in windows by @gantoine in #1752
- Tinfoil support with endpoint for file download by @gantoine in #1754
- Fixed translation to Japanese by @noel-forester in #1735
- [HOTFIX] Fix platform drawer on mobile by @zurdi15 in #1805
- Handle and notify invalid SGDB API key by @zurdi15 in #1808
- [HOTFIX] Update content-disposition headers by @DebugDax in #1812
Dependency updates
- Bump cryptography from 44.0.0 to 44.0.1
- Bump cronstrue from 2.55.0 to 2.57.0 in /frontend
- Bump typescript-eslint from 8.26.0 to 8.28.0 in /frontend
- Bump nanoid from 5.1.3 to 5.1.4 in /frontend
- Bump axios from 1.8.1 to 1.8.4 in /frontend
- Bump eslint from 9.22.0 to 9.23.0 in /frontend
- Bump vue-i18n from 11.1.1 to 11.1.2 in /frontend
- Bump vuetify from 3.7.11 to 3.7.18 in /frontend
- Bump @types/node from 22.13.8 to 22.13.14 in /frontend
- Bump vite from 6.2.0 to 6.2.5 in /frontend
- Bump @types/semver from 7.5.8 to 7.7.0 in /frontend
- Bump md-editor-v3 from 5.3.2 to 5.4.5 in /frontend
Full Changelog: 3.8.1...3.8.2