Skip to content

v0.10.0

Latest

Choose a tag to compare

@mxmgorin mxmgorin released this 08 Oct 11:17

Game scaling and shaders, Quick Access, and new handheld packages.

Added:

  • Game scaling in Game Mode: fit, integer or stretch ([game_mode.view] scaling)
  • Game Mode shaders: RetroArch single-pass GLSL, ten built in, user files in shaders/ ([game_mode.view] shader)
  • Quick Access panel on start: Game Mode, bookmark, user agent, ad blocker, reader view, page theme, settings
  • Wheel on-screen keyboard ([osk] style = "wheel")
  • Pad layout labels and face-button swap ([controls] pad_layout, swap_face_buttons)
  • Edge scrolling: the cursor at a window edge scrolls the page ([controls] edge_scroll)
  • Page icons in tabs, bookmarks, history and the speed dial ([interface] page_icons)
  • Start page styles ([interface] home_style)
  • retsurf [--game-mode] [PATH] opens a local game folder or HTML file
  • Update notice at startup
  • Toast notices, e.g. when a tab is closed at max_tabs
  • Android: share logs from Settings > System
  • Splash screen, branded cursor, Junk Surfer on the offline page
  • Memory guard: closes the heaviest tab when the system runs out of memory ([performance] memory_guard)
  • spruceOS, CrossMix-OS, NextUI and NX Redux packages

Changed:

  • Config sections renamed, old values reset to defaults: [input] is [controls]; scale, toolbar_*, cursor_linger_ms moved to [interface], max_fps to [performance]
  • Settings regrouped into Interface, Controls, Gaming and System tabs, with switches
  • The Game Mode menu replaced by Quick Access and Settings > Gaming
  • Default pad gestures: start Quick Access, select Quick Menu, hold:x address bar, scroll unbound; Settings pressed again closes it
  • Default keyboard shortcuts moved onto Ctrl
  • Taller toolbar
  • Swap tuning moved from the launcher into the app ([performance] swap_tuning), milder
  • CSS Grid always on, [experimental] grid removed
  • Engine on Servo main as of 2026-10-08

Fixed:

  • WebGL 2 fixes for Unity and Emscripten games
  • "Too many open audio devices" on pages with many sounds
  • WebGL on PowerVR (TrimUI Smart Pro)
  • A panic in canvas measureText with no fonts on the system
  • Android: connections through the system proxy
  • Pages listening for gamepadconnected late never saw the pad; phantom pads after reader view
  • Emscripten games stalling on IDBIndex cursors and WebAssembly streaming
  • Android: page taps, WebGL after resume, system keyboard under the OSK
  • On-screen keyboard: page lift, trigger zoom, pointer clicks
  • Cursor and toasts stayed on screen after expiring
  • Ctrl+=/Ctrl+- zoom the page
  • Update download progress not redrawn

Full changelog:
v0.9.0...v0.10.0