github misobadev/neostation-frontend v0.7.6+91
NeoStation Beta 0.7.6+91

latest releases: v0.13.0+129, v0.12.0+128, v0.11.5+127...
4 months ago

Features

  • Systems Auto-Update, On startup, neostation now fetches the latest system/emulator configs from the https://github.com/miguelsotobaez/neostation-systems repository. When a newer version is available and internet is connected, all system JSON files are downloaded automatically and a notification is shown. Falls back to bundled assets when offline.
  • Improved Android Emulator Launch, Completely reworked how games are launched on Android. Intent construction is now fully driven by JSON config files, removing all hardcoded emulator-specific logic from native code. Added support for --activity-* flags directly in emulator configs.

Bug Fixes

  • SAF URI Permission Race Condition, Fixed a critical issue where emulators (e.g. Mupen64Plus FZ) would fail to open a ROM on the first launch attempt but succeed on the second. Root cause: FLAG_GRANT_READ_URI_PERMISSION is processed asynchronously by Android's ActivityManager. Fixed by calling grantUriPermission() synchronously before startActivity().
  • Incorrect Android Intents, Fixed multiple system configs using {file.path} in the -d (intent data) field instead of {file.uri}, causing failures with SAF storage paths. Affected: NES, Genesis, GBA, GBC, GG, MSX, N64, PS1, Saturn, NGP, C64, FDS, and others.
  • Systems Update Without Internet, Fixed a crash on fresh installs where systems_version was missing from the SQLite schema, causing an INSERT failure. Column is now included in the initial CREATE TABLE and the version is always initialized to "bundled" on first launch.
  • RetroArch Package Override in Game Settings, Fixed an edge case where the emulator configured in game settings was not being respected when the default was set to a RetroArch variant.
  • Black Screen After Game Dialog Barrier Dismiss, Fixed a race condition where tapping outside the game launch dialog would leave the screen permanently black. Root cause: _closeCalled was set when the close timer started, not when onGameClosed() fired, if the barrier dismissed the dialog during that 1-second window, onGameClosed() was never called and the UI was never restored.

Performance

  • Enhanced image cache resolution in System Grid and Carousel for faster rendering and lower memory usage.
  • Reduced cache resolution for small system cards to avoid unnecessary memory overhead.

Full Changelog: v0.7.5+90...v0.7.6+91

Don't miss a new neostation-frontend release

NewReleases is sending notifications on new releases.