GBA Audio: Fix improperly deserializing GB audio registers (fixes #2793)
GBA Audio: Clear GB audio state when disabled
GBA Memory: Make VRAM access stalls only apply to BG RAM
GBA Overrides: Fix saving in PMD:RRT (JP) (fixes #2862)
GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes #2805)
GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes #2810)
GBA SIO: Normal mode transfers with no clock should not finish (fixes #2811)
GBA Timers: Cascading timers don’t tick when disabled (fixes #2812)
GBA Video: Fix interpolation issues with OpenGL renderer
Other fixes:
Core: Allow sending thread requests to a crashed core (fixes #2784)
FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes #2869)
Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes #2794)
Qt: Disable sync while running scripts from main thread (fixes #2738)
Qt: Properly cap number of attached players by platform (fixes #2807)
Qt: Disable attempted linking betwen incompatible platforms (fixes #2702)
Qt: Fix modifier key names in shortcut editor (fixes #2817)
Qt: Fix a handful of edge cases with graphics viewers (fixes #2827)
Qt: Fix full-buffer rewind
Qt: Fix crash if loading a shader fails
Qt: Fix black screen when starting with a game (fixes #2781)
Qt: Fix OSD on modern macOS (fixes #2736)
Qt: Fix checked state of mute menu option at load (fixes #2701)
Qt: Remove OpenGL proxy thread and override SwapInterval directly instead
Scripting: Fix receiving packets for client sockets
Scripting: Fix empty receive calls returning unknown error on Windows
Scripting: Return proper callback ID from socket.add
Vita: Work around broken mktime implementation in Vita SDK (fixes #2876)
Misc:
Qt: Include wayland QPA in AppImage (fixes #2796)
Qt: Stop eating boolean action key events (fixes #2636)
Qt: Automatically change video file extension as appropriate
Qt: Swap P1 and other player’s save if P1 loaded it first (closes #2750)