Finally!
The second preview release of v2.0.0 has finally arrived!
V2 Highlights
New User Interface
V2 brings a whole new mobile friendly UI, as well as an overhaul of the underlying database structures which brings the basis of multiple metadata sources (v2 supports IGDB and TheGamesDB, with more to follow in v2.1).
Metadata and signatures
Importantly for new and existing users, v2 brings support for the sister project Hasheous (see https://hasheous.org if you're unfamiliar with this project).
Hasheous support allows new and existing installations of Gaseous to identify and download metadata for a ROM image without needing to supply and maintain signatures or even a metadata key such as an IGDB client id. This should erase one of the largest barriers to entry for new users, as well as make life easier for existing users.
Signature updates are now part of the standard metadata refresh process, so as DATs are updated in Hasheous, Gaseous will reflect those changes.
User accounts
Gaseous now supports Google, Microsoft and OIDC logins, as well as two factor authentication for password based logins.
Users can now customise their profile with animated GIF's for the avatar and background image, as well as customising their display name and quip.
Saved Games
In addition to the existing state storage support, Gaseous now supports static RAM (SRM) saving support for those games and platforms that support it. This implements the battery backed memory in cartridges, allowing the storage of saved games, high scores, etc.
When playing a game in the emulator, Gaseous will periodically capture the SRM file and store it, allowing the player to roll back to any time. Clicking the Exit Emulator button will force a save of the SRM file before closing the emulator.
The latest SRM is always loaded when starting the emulator.
Upgrading
Before upgrading:
- ensure that you are on version 1.7.14
- perform a full backup of all data and databases attached to Gaseous
- if you're using Docker, ensure that the home path has been updated to the new path
/home/gaseous/.gaseous-server(see https://github.com/gaseous-project/gaseous-server/wiki/Installation for updated compose files) - replace the image tag from
latesttov2.0.0-preview.2
When the server is started for the first time, you will be taken through the setup wizard which will allow you to configure the default datasources for signatures and metadata.
Important
On the first start of Gaseous, the database upgrade process will begin. This is a background process, but depending on the size of your database may take a significant amount of time to complete. This is essentially a full rescan and refresh of metadata.
Note that during this time some features may be unavailable, including saved games and favourites. This process is also a one way process. You will need to restore from a back up if you want to return to v1.7.14.
Optimising this upgrade process is something we hope to have completed by official full release of v2.
Warning
This software is preview software, and as such may contain bugs that may result in data loss.
Always ensure you have backed up your system before upgrading.
What's New
- UI overhaul
- All docker images now support rootless
- Added a command line tool for user management
- Revamp of BIOS handling
- Update to profile cards to display now-playing
- Update README.MD
- Refactored user preferences code
- Use selectable location for localised Game names
- Game manuals courtesy of the vimm's lair manual project
- Database performance enhancements and UI improvements
- All new Game display page
- Upload form and background task enhancements
- Implement Automatic SRM Saving
- Add FBNeo DAT support
- Library performance enhancements
- Update all displays, controls and panels to be mobile friendly
- Update PlatformMap.json by @HcNguyen111
- Implement upgrade process from 1.7 series
- Improve login options - now supports Google, Microsoft, and OIDC
- Enhance user authentication with two-factor support and username changes
- Update EJS to version 4.2.3 and enhance emulator functionality
- Support for manually modifying metadata matches
- Refactor Docker build workflows for improved efficiency and clarity
- Fix GBA core value by @devdouglasonofre
- Enhance content management and screenshot functionality
- Enhance logging and navigation features
- Enhance emulator exit functionality and add pause mask styles
- Add localisation support - Note: Language files other than English were generated using AI (see https://github.com/gaseous-project/gaseous-server/wiki/Localisation for information on creating your own language files)
- Refactor file signature processing and enhance task management
- Add support for multiple metadata data sources
- Many background processes now run out of process to improve overall system stability
- Full database backups are taken before applying schema changes
Experimental Features
- EXPERIMENTAL: Provide Windows Service support and introduce MSI installer
- EXPERIMENTAL: Support for DOSBOX - DOS games can now be "installed" to a virtual disk which is periodically captured and written back to the server, allowing for persistent game installations. Note that these virtual disks are per-ROM, and not global - meaning that each ROM has it's own virtual disk.
New Contributors
- @HcNguyen111 made their first contribution in #566
- @devdouglasonofre made their first contribution in #612
Full Changelog: v2.0.0-preview.1...v2.0.0-preview.2
What's Changed
What's New
- Update to .NET 10.0 and enhance nightly build workflow by @michael-j-green in #685
- Improve the home screen with more interactive game icons by @michael-j-green in #686
- Fix user creation logic in entrypoint script by @michael-j-green in #688
- Move background processes out of process by @michael-j-green in #693
- Refactor file handling to improve performance by @michael-j-green in #701
- Add GitHub Copilot Chat and GitLens extensions to dev container by @michael-j-green in #702
- Add mariadb-client to Dockerfiles for enhanced database support by @michael-j-green in #713
- Cache generated image paths by @michael-j-green in #715
- Refactor search type handling in game import process by @michael-j-green in #716
- Enhance library scanning with concurrent task execution by @michael-j-green in #717
- Refactor BiosTable for improved data handling by @michael-j-green in #736
Bug Fixes
- Add SQL performance improvements and refactor process management by @michael-j-green in #672
- Remove explicit database name from database migration script by @michael-j-green in #676
- Refactor communications code by @michael-j-green in #673
- Remove unused project reference to hasheous-client by @michael-j-green in #687
- Fix undefined object issue on game card for non-admin users by @michael-j-green in #706
- Multiple performance improvements by @michael-j-green in #708
- Implement cleanup for old completed import states and update package versions by @michael-j-green in #712
- Fix typo in Dockerfile for ffmpeg by @michael-j-green in #719
- Enhance filtering and emulator functionality by @michael-j-green in #725
- Resolve recursive lookup error by @michael-j-green in #735
- Enhance metadata handling and UI for game imports by @michael-j-green in #737
Experimental Features
- Update platform support including EXPERIMENTAL DOSBOX support and enhance game management by @michael-j-green in #728
Dependencies
- Bump Microsoft.AspNetCore.Identity.UI from 8.0.24 to 10.0.3 by @dependabot[bot] in #692
- Bump Microsoft.AspNetCore.Authentication.OpenIdConnect from 8.0.24 to 10.0.3 by @dependabot[bot] in #691
- Bump Microsoft.AspNetCore.Authentication.Google from 8.0.24 to 10.0.3 by @dependabot[bot] in #689
- Bump Microsoft.AspNetCore.Authentication.MicrosoftAccount from 8.0.24 to 10.0.3 by @dependabot[bot] in #690
- Bump gaseous-signature-parser and hasheous-client versions by @michael-j-green in #704
- Add ffmpeg support for multimedia processing in Dockerfiles by @michael-j-green in #718
- Bump the nuget group with 1 update by @dependabot[bot] in #714
- Update package references to latest versions in gaseous-lib.csproj by @michael-j-green in #726
- Bump the nuget group with 1 update by @dependabot[bot] in #727
- Bump Asp.Versioning.Mvc and Asp.Versioning.Mvc.ApiExplorer by @dependabot[bot] in #730
- Bump Magick.NET-Q8-AnyCPU from 14.12.0 to 14.13.0 by @dependabot[bot] in #731
- Bump Microsoft.AspNetCore.Authentication.Google from 10.0.6 to 10.0.7 by @dependabot[bot] in #732
- Bump Microsoft.AspNetCore.Authentication.MicrosoftAccount from 10.0.6 to 10.0.7 by @dependabot[bot] in #733
- Bump Microsoft.AspNetCore.Authentication.OpenIdConnect from 10.0.6 to 10.0.7 by @dependabot[bot] in #734
- Bump package versions for Microsoft.AspNetCore and NuGet dependencies by @michael-j-green in #743
Full Changelog: v2.0.0-preview.1...v2.0.0-preview.2