github gaseous-project/gaseous-server v2.0.0-preview.2

pre-release4 hours ago

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 latest to v2.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

Full Changelog: v2.0.0-preview.1...v2.0.0-preview.2

What's Changed

What's New

Bug Fixes

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

Don't miss a new gaseous-server release

NewReleases is sending notifications on new releases.