What's New:
ACCESSIBILITY/TTS: fix target language and missing espeak handling on Linux
AI: AI service reworked: performance increase, automatic translation, configurable subtitle placement, and more
APPLE: Fix WebDAV crash with digest auth (Cloud Sync)
APPLE: Cloud sync fixes – ignore .DS_Store files and re-sync on app foreground
APPLE: Don’t re-create default directories
APPLE: Show Git information correctly
AUDIO/SYNC: Handle Hz skew adjustment for high refresh rates better (BFI, swap interval)
AUDIO/MIXER: Separate ffmpeg/mpv and audiomixer conditionals
AUDIO/WASAPI: Reworked shared buffer operation for more flexibility, fixed exclusive mode last buffer looping when entering menu
CONFIG/OVERRIDES: Fix setting savefile_directory in override file
CONFIG: Force fixed locale for numbers
CHEEVOS: Upgrade to rcheevos 11.0
CHEEVOS: Use rc_client for state management
CHEEVOS: Don’t track disc changes when achievements are disabled
CHEEVOS: Reinitialize rewind buffer after loading game with achievements
CHEEVOS: Inform user when server is unreachable
CHEEVOS: Fix crash on first load of game with achievements with threaded video
EMSCRIPTEN: Increase chunk size for reads/writes
EMSCRIPTEN: Modularize the JavaScript and clean up the web build
EMSCRIPTEN: Prefix core name with libretro_ for exports
EMSCRIPTEN: replace dashes with underscores in corenames (fix for vitaquake cores)
EMSCRIPTEN: Use ZipFS for web player asset bundle
EMSCRIPTEN: Change default audio rate to 44100
IOS: Fix widget on IOS17
IOS: Exit instead of crash on some errors
IOS: Fix ios-vulkan-ppsspp
IOS: Enable HDR support on IOS
IOS: Add option to disable respecting silent mode
IOS: Allow ignoring safe area (fullscreen over notch)
IOS: Default to not enabling keyboard gamepad
IOS: Fix XRGB8888 in GL driver
IOS: Allow changing the app icon
IOS: Add HAVE_ACCESSIBILITY to iOS builds
IOS/TVOS: Create GL context as GLES3 to fix some rendering performance problems
INPUT: Fix ghost input when setting RETROK_UNKNOWN
INPUT: Default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
INPUT: Add a setting to allow turbo d-pad directions
INPUT: Don’t save mouse buttons to autoconfig
INPUT/MENU: Add option for merging ‘Hotkey Enable’ device types
INPUT/mFI: disable secondary_joypad to prevent issues with controllers detected both as HID and mFI
INPUT/UDEV: Change event detection to polling in udev_joypad
INPUT/WAYLAND: Use unaccelerated pointer motion to prevent mouse dead zone
LAKKA: Add new menu options for Switch (overclock, CEC, BT ERTM)
LIBRETRO: Add environment command to get playlist path
LIBRETRO/NETPACKET: Switch environment call number from 76 to 78 (retire 76 as it was never used by any core). Simplify broadcasts by removing the option to send to all but one client, use an explicit RETRO_NETPACKET_BROADCAST constant instead. Separate explicit flushing and querying of incoming packet into two operations. Enable a core to specify a protocol version string which can get used instead of core version to determine compatibility between two players. Log and notify a separate message when there is a content crc mismatch while using this interface to convey it being less severe
MENU: Fix menu analog stick navigation (1.16.0.1)
MENU: Add option to find thumbnail images by playlist rom filename (1.16.0.2)
MENU: Don’t process menu events while input is being flushed (1.16.0.2)
MENU: Prevent proceeding to next bind when single binding (1.16.0.3)
MENU: Fix touchscreen menu false positives in case of overlap
MENU: Sort playlists ignoring extension (Playstation 2 should come after Playstation)
MENU: Treat System Volume Information folder as hidden on all platforms
MENU: Add Belarusian language option
MENU: Fix savestate thumbnail behavior when navigating back to playlist while content is still running
MENU: Fix word wrapped widget length
MENU: Add help text to controller drivers
MENU: Fix quit on content close option
MENU: Fix thumbnails in History for content loaded through Load Content
MENU: Flexible thumbnail matching (ROM name – database name – short name)
MENU: Remove legacy thumbnail pack downloader
MENU/GLUI: Icon corrections
MENU/OZONE: Thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus)
MENU/RGUI: Fix text scaling in 16:9
MENU/XMB: Background images take precedence over color themes, default image opacity set the same as color theme opacity
MENU/XMB: Fix segmentation fault when background image is missing
MENU/XMB: Several corrections and cleanups
MENU/XMB: Layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments
NETWORKING/NETPLAY: Add support for joining MITM servers from command line
NETWORKING/NETPACKET: Interface connection flow improvements
OSX: Fix mouse support for MelonDS DS on OSX
OSX: Option to create a portable build
PATCHES: Add support for XDelta-formatted patches.
PATCHES: Fix patching for cores that support contentless mode
PS2: Fix for no sound
PS2: Fix 0-byte logs and add memory stats
PSP: Fix memory leak in audio driver
RUNLOOP: Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
RPI: Fix videocore + switchres compile failure
SCAN: Do CRC check on PSP/PSP(PSN) content
TVOS: Enable overlay support
VIDEO/BFI: Black Frame Insertion added to DirectX10/11/12. BFI Hz range now covers every 60hz multiple under 1000hz. Variable Strobe length via new ‘Dark Frames’ option, algorithm to auto select ‘decent’ Dark Frames choice.
VIDEO/GLSL: Add FinalViewportSize support to GLSL
VIDEO/GLSL: Change rotation type to int to maximize compatibility
VIDEO: Use video refresh rate instead of core refresh rate for menu frame limiting
VIDEO: Limit paused video refresh rate
VIDEO: Enforce swap interval 1 in menu if vsync is on
WII: Enable Cheevos for Wii builds
WIIU: Fix config file and core info reading
WIIU: Fix “Up” and “Left” directional input for both Analog sticks for GC Adapter
WIIU: Fix 3 USB controllers (NES/SNES/Retrode)
WIIU: Fix file descriptor leak
WIN32: Prefer D3D11 and WASAPI as default video and audio drivers
WIN32: Fix window size when aspect ratio is < 0
WIN32: Fix screen resolution always tied to the main monitor
WAYLAND: Enable fallback for screensaver inhibit via D-Bus
WAYLAND: Introduce wp_fractional_scale_v1 protocol for proper fractional scaling
WAYLAND: Update wayland-protocols version to 1.31