- INPUT: Autoconfig extension with alternative name/vid/pid
- INPUT: Fix autoconfig profile saving when device is not in the default port
- INPUT: Change classic turbo mode to work independently of which key was pressed first
- INPUT: Pointer and lightgun handling sanitization on Windows and Linux desktop platforms. These input drivers will now report edge and offscreen positions in a harmonized way, and will not return 0 instead.
- INPUT/DINPUT: Fix detection of quick shift key presses
- INPUT/HID: Fix crash on macOS when disconnecting the controller a second time
- INPUT/LINUX: Add illuminance sensor support to the linuxraw, sdl2, udev, and x11 input drivers
- INPUT/Remaps: Sort and apply remaps based on the specific connected controller
- INPUT/UDEV: Enable mouse buttons 4 and 5
- INPUT/WAYLAND: Enable horizontal scroll and mouse buttons 4 and 5
- INPUT/WAYLAND: Simulate lightgun input for cores
- INPUT/WAYLAND: Support for cursor-shape-v1 and content-type-v1 protocol
- INPUT/X11: Enable mouse buttons 4 and 5
- iOS: Enable vibration by default
- iOS: Better handling of physical mice/magic keyboard trackpad
- iOS: Mouse grab fixes
- iOS: Fix mouse cursor movement when button is held down
- iOS: Fix microphone support request and entitlement
- iOS: Enable compilation back to iOS 12
- iOS: Fix OpenGL ES context usage on iOS 9
- iOS/TVOS: Add Opera to App Store build
- iOS/TVOS: Bring NEON defines in line with ARM64
- iOS/TVOS: Flush save files on backgrounding
- LIBRETRO: Support RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY
- LIBRETRO: Support "/" as a file extension for loading a directory as content
- FFMPEG: Fix crash when playing back a file with 96 kHz audio
- MACOS: New display server, including support for ProMotion 120Hz V-Sync
- MACOS: Create App Store build
- MACOS: Generate key up events for command keys
- MIDI: Fix long messages (SysEx) in WinMM driver
- MIDI: Fix lingering notes on close in Alsa driver
- MENU: Support local thumbnails in other image formats than png (jpg/jpeg, bmp, tga)
- MENU: Delete also savestate thumbnails when savestates are garbage collected
- MENU: Option to disable analog stick menu navigation
- MENU: Fix pause toggle to not clear fast forward state
- MENU: Fix search playlist index in XMB/Ozone
- MENU: Fix renamed entry display
- MENU: Filter unknown extensions also inside zip files
- MENU: Add icons for present / missing firmware on core info page
- MENU: Ignore other hotkeys when menu toggle is pressed
- MENU: Fix menu jumping when using L3+R3 combo
- MENU: System Information now only shows features relevant for the platform
- MENU/GLUI: Make Show Sublabels options effective
- MENU/GLUI: Icon fixes
- MENU/XMB: Allow playlist icons to be individually customized, by looking for images in Named_Logos
- MENU/OZONE: Add Selenium theme for Ozone
- MENU/OZONE: Touchscreen improvements
- MENU/OZONE: Add a touch-sensitive Resume button in the lower right corner
- NETPLAY: Add East Asian relay server
- OVERLAY: Add option to load overlay based on system name
- PS2: Fix several broken cores depending on pthread
- QT: Enable building with Qt6
- QT: Fix input panel
- RECORDING: New WAV recording driver (audio only)
- REMOTE RETROPAD: Add gyro/acceleration/light sensor test screen
- REMOTE RETROPAD: Add pointer test screen
- REPLAY: Replay format extended to support external tools
- TVOS: Support bluetooth keyboards on tvOS
- TVOS: Fixes to run correctly on TVOS13
- TVOS: Better handling of Siri remote
- TVOS: WebDAV server for adding files more easily
- TVOS: Add Settings.app option to reset retroarch.cfg
- TVOS: Bring minimum tvos version down to 13.0
- VIDEO: Show and use exact refresh rate (3 decimals) and interlace/doublestrike where available
- VIDEO: Allow setting viewport bias to offset viewport horizontally/vertically
- VIDEO: Support viewport bias also with integer overscale and custom aspect ratios
- VIDEO: Use shader path from CLI for shader cycling
- INTL: Add Galician and Norwegian to list of languages
- LAKKA: Display reboot/shutdown message also when not saving config on exit
- LAKKA: Provide update URL and target name at buildtime
- LIBRETRO: Add a debug message for the SET_ROTATION callback
- macOS: Default Accessibility on if VoiceOver is on
- iOS: default audio sync on again, also more mfi logging
- iOS: Fix Import Content
- iOS: Fix ios-arm64 nightly build crash
- iOS: Import content from iCloud
- iOS: Fix #16485 crash on startup
- iOS: Display app icon in app icon picker in materialui
- iOS/tvOS: Various QoL improvements
- iOS/tvOS: Fix a couple more path name mangling bugs
- iOS/tvOS: Better way of packaging Frameworks
- iOS/tvOS: define PACKAGE_VERSION to be App Store MARKETING_VERSION
- iOS/tvOS: Fix keyboard handling for app store builds
- iOS/tvOS: Fix escaping the sandbox for jailbroken devices
- iOS/tvOS: default accessibility on if voice over is enabled
- iOS/tvOS: better way of reporting available memory
- macOS/iOS/tvOS: enable text-to-speech using AVSpeechSynthesizer.
- tvOS: Fix scaling for 720p
- MENU: New function in Quick Menu: Add to Playlist
- MENU/XMB: New theme: FlatUX, designed to merge FlatUI and Retroactive themes into a single, unified design
- NETWORKING/RETROPAD CORE: Fix socket close method
- PIXMAN: Update pixman-private.h - patch to fix build issue with musl
- PLAYLIST: Cleanup 'Add to Playlist' (#16495)
- SCANNING: Fix for scanning PSP ISOs (and probably few others)
- SAVES: Fix core config saving
- SAVES: Fix save new config name when core loaded
- SAVESTATES: Increase save state chunk size for all platforms - Even a class 6 or class 10 SD card can handle reads and writes on the order of MB/s, which means a 4KB chunk size is just wasting time in syscalls. This could maybe be fixed with a buffering reader but I don't feel comfortable tweaking libretro-common's VFS to handle that. Instead, I thought it would be good to both remove an ifdef and increase the chunk size to 128KB. For cores with small states this will should make state saving virtually instantaneous, and for cores with large states it should be a 32x speedup.
- VIDEO: Fix crash when using threaded video - for Mesa 23.2 and later
- VIDEO/GL: Fix reinitialization of the threaded gl drivers
- VIDEO/VULKAN: Add support for A2R10G10B10 HDR format
- VIDEO/VULKAN: Implement HDR readback - screenshot support
- WAYLAND: Ignore configure events during splash (fix not remembering window size)
- WAYLAND: Use frontend signal handler to quit (fix quit by window close)
- WAYLAND: Commit viewport resizes (window resize is more responsive)
- UWP: Align MESA to alpha-2-resfix - Remove wrong resolution special handling for OPENGL
- UWP: 4K fix: align MESA reading of ClientRect to retroarch procedure, this fixes max resolution being set to 1080p. As reading must be done inside an UI thread and is in fact an async operation which might delay frame generation, the reading itself is doen once and cached, give that changing resolution while the app is running is an unlikely corner-case use
- WINDOWS: Windows mouse ungrab must release the mouse instead of confine it to the current desktop (#16488)
- MENU: Reorder and reduce depth of User Interface menu
- MENU/OZONE: Fix sidebar wraparound, visibility after config load, crash after playlist delete
- MENU/OZONE: Fix sidebar and sublabel animations
- OSX/MACOS: Fix crash on non-Metal build
- OSX/MACOS: Add portable.txt as flag for portable install
- REMOTE RETROPAD: add display for analog axes, indication of inputs already pressed
- SAVES: Allow combining saves in content dir with save sorting
- SHADER: Added rolling scan line simulation based on the shader subframe feature. This is implemented with a scrolling scissor rect rather than in the shader itself as this is more efficient although may not work for every shader pass - we may need an option to exclude certain passes. The implementation simply divides the screen up by the number of sub frames and then moves the scissor rect down over the screen over the number of sub frames
- TVOS: Force asset re-extraction when cache is deleted
- TVOS: Add history and favorites to Top Shelf
- TVOS: Fix crash when history item does not have a label
- UWP: Enable HAVE_ACCESSIBILITY for UWP builds
- UWP: Allow UWP build to work with a modified version of Mesa Gallium D3D12
- VIDEO: Add subframe shader support for Vulkan/GLcore/DX10-11-12, enabling shaders to run at higher framerate than the content
- VIDEO: Fix restoring fullscreen/windowed setting when unloading override
- VIDEO/VULKAN: Fix HDR with Vulkan after reinit
- VIDEO/VULKAN: Remove the use of oldSwapchain
- VIDEO/GL2: Fix OpenGL ES version detection
- WEBDAV: Fixed SEGFAULT in WebDav task sync + type changes
- WEBOS: Fix build, add core location on webosbrew.org
- WIN32: Fix Alt+Enter not working when menubar is disabled