Releases: libsdl-org/SDL
3.2.14
This is a stable bugfix release, with the following changes:
- Fixed a crash querying the name of logical audio devices
- Fixed a rare crash when rumbling controllers on Windows
- Fixed a TLS related black screen issue when pulseaudio audio output is active
- Reverted dead key reporting on X11, which introduced bugs with IME handling
- Fixed incorrect destination usage mode for storage buffer read/write bindings on Vulkan
- Implemented SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES on Android
- Fixed audio playback on PS Vita
3.2.12
This is a stable bugfix release, with the following changes:
- Fixed crash if SDL_BlitSurfaceScaled() is used with a surface that has no pixels
- Removed timeout in SDL_RunOnMainThread()
- Allow rendering a zero sized source rectangle in the SDL render API
- Fixed texture colorspace when creating a texture from a surface with the SDL render API
- Renamed SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_UINT8 to SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER
- Allow a NULL shader entry point for SDL_GPUShaderCreateInfo, defaulting to the one used by SDL_shadercross
- Fixed failing to create a GPU device if the D3D12 debug layers aren't available on Windows
- Added support for the share button on the GameSir-K1 FLUX controller
- Added support for the PowerA Battle Dragon Advanced Wireless Controller
- Added support for the HORI Taiko No Tatsujin Drum Controller
- Fixed the Keychron K1 Pro System Control keyboard being detected as a joystick
- Fixed right mouse button emulation when using a Wacom tablet in Windows Ink mode
- Fixed missing simulated mouse events using a Wacom tablet when Windows Ink mode is disabled
- Fixed process I/O redirection to NUL on Windows
- Key events are now sent for dead keys on X11
- Improved handling of window management edge conditions on X11
- Fixed message box location on multi-monitor configurations on X11
- Fixed XInput2 mouse tracking outside the window on X11
- Fixed window focus after showing a file dialog on macOS
- Ignore mouse clicks and motion on tooltip windows on macOS
- Fixed message boxes shown on a background thread on iOS
- Fixed Android audio crackling introduced in 3.2.10
- Fixed handling of SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY
- Fixed A/B/X/Y buttons on Nintendo 3DS
- Fixed building for Xbox One
2.32.6
This is a stable bugfix release, with the following changes:
- Fixed reliability of initializing Switch controllers on macOS
- Fixed crash when controllers are disconnected on macOS
3.2.10
This is a stable bugfix release, with the following changes:
- Added support for SDL_PIXELFORMAT_MJPG to SDL_DuplicateSurface()
- Added SIMD blitters for 8888 to 8888 swizzled format conversion
- Return an error trying to create surfaces with invalid pixel formats
- Handle windows being resized to 0 height on Windows
- Fixed controller GUIDs changing randomly on Windows
- Fixed mixed trigger and body rumble for Xbox controllers on Windows
- Added mappings for the Nintendo Switch Online N64/SEGA/SNES controllers on Linux
- Fixed Nintendo controller face button layout under Steam
- Fixed showing the on-screen keyboard on Steam Deck
- Fixed pen events on iOS after reinitializing SDL
- Fixed building with SDL_LEAN_AND_MEAN
- Fixed a memory leak in memory leak tracking
- Fixed a memory leak calling SDL_GetDisplayUsableBounds() on macOS
- Fixed mouse relative motion speed on non-desktop resolutions under Wayland
- Fixed keyboard grab on XWayland under GNOME
- Added SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT to control whether XSelectInput() should be called on external windows
- Implemented SDL_GetSystemRAM and SDL_GetNumLogicalCPUCores for the Nintendo 3DS
2.32.4
This is a stable bugfix release, with the following changes:
- Fixed controller GUIDs changing randomly on Windows
- Fixed detecting PlayStation controller sensors on Linux when HIDAPI isn't being used
- Fixed a crash enumerating some input devices
3.2.8
This is a stable bugfix release, with the following changes:
- Fixed restoring the desktop mode on macOS and X11
- Fixed being unable to get message box fonts on some Linux systems
- Fixed a potential crash unplugging a HIDAPI controller
- Fixed the 2D clip rect when logical presentation is enabled
- Fixed SDL GPU output orientation on Android
3.2.6
This is a stable bugfix release, with the following changes:
- Added support for Motion JPEG camera capture
- Allow 2D render targets to use logical presentation
- Ensure all drawing is completed before destroying a software renderer
- Fixed audio glitch when resampling between large frequency differences
- Fixed pen generated mouse events not having SDL_PEN_MOUSEID
- Added support for the 8BitDo Micro gamepad
- Fixed lack of input from Nintendo Switch Pro controllers when plugged in wired in some applications
- Added SDL_HINT_JOYSTICK_HAPTIC_AXES to specify how many haptic axes a device has
- Fixed SDL_GetRelativeMouseState() returning no motion when not in relative mouse mode
- Added SDL_PROP_SURFACE_HOTSPOT_X_NUMBER and SDL_PROP_SURFACE_HOTSPOT_Y_NUMBER to allow storing cursor hotspot positions directly in an SDL_Surface
- Fixed camera frame capture on Windows 7
- Fixed 2D texture rendering using the direct3d12 renderer on the latest NVIDIA drivers
- Improved naming of keyboards and mice under Windows
- Fixed opening one Joy-Con of a pair when the other is disconnected on Windows
- Fixed stack overflow when setting thread debug names on Windows
- Fixed Russian input on some Linux desktop environments
- Fixed non-text clipboard handling on Wayland
- Added support for high DPI icons on Wayland
- Added color management protocol support on Wayland
- Fixed flushing audio forever in some cases when recording PulseAudio on Linux
- Fixed a rare deadlock when opening an audio device using PipeWire on Linux
- Fixed SDL_WaitEvent() returning false when keys are repeated under Wayland
- Fixed not getting mouse focus on older versions of macOS
- Fixed the cursor confinement area when toggling window borders on macOS
- Added a mapping for the 8BitDo SN30 Pro+ controller on macOS
- Fixed visual orientation when using SDL GPU on Android
2.32.2
This is a stable bugfix release, with the following changes:
- Fixed stack overflow when setting thread debug names on Windows
- Fixed flushing audio forever in some cases when recording PulseAudio on Linux
- Fixed a crash when initializing with controllers connected on macOS
- Added SDL_HINT_JOYSTICK_HAPTIC_AXES to specify how many haptic axes a device has
2.32.0
SDL 3.0 recommended!
The SDL development team is focusing efforts on SDL3 and making sdl2-compat a drop-in replacement for SDL2. If you run into issues with SDL2, please consider upgrading to SDL3 or trying out sdl2-compat. We have made significant improvements across all platforms and your issue may already be resolved.
This is a stable bugfix release, with the following changes:
- Allow destroying a window and its renderer in either order
- Added cursor-shape-v1 protocol support on Wayland
- Fixed full immersive mode in Android 9 and higher
- Improved event processing latency when gamepad/sensor is open
- Added SDL_HINT_APPLE_RWFROMFILE_USE_RESOURCES to control whether SDL tries to open files from the app's resource directory on macOS
- Fixed conditional effect playback on Moza Racing devices
- Fixed input for Thrustmaster PlayStation wheels when hid-tmff2 is installed
- Enabled direct VRAM access when using the window surface API on PSP
- Improved window surface support on Nintendo 3DS
- Fixed condition variable implementation on Nintendo 3DS
- Fixed byte order detection on Solaris
- Implemented SDL_TriggerBreakpoint() on aarch64-w64-mingw32
3.2.4
This is a stable bugfix release, with the following changes:
- Fixed decoding 4-bit RLE encoded BMP files
- Fixed setting the position of X11 windows before they're shown
- Fixed D-Pad not working when using SDL2 controller mappings
- Fixed SDL_OpenHapticFromJoystick() not returning a valid haptic handle
- Added SDL_StretchSurface() as a replacement for SDL2 SDL_SoftStretch() and SDL_SoftStretchLinear()
- Fixed several memory leaks