Skip to content

Releases: libsdl-org/SDL

2.30.8

01 Oct 21:46
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Fixed a crash in XInput code at startup
  • Fixed flooding the OS with I/O when a PS4/PS5 controller is disconnected
  • Added SDL_VIDEO_DOUBLE_BUFFER support to the Wayland backend
  • SDL_WINDOWEVENT_EXPOSED is sent appropriately when using Wayland
  • Fixed hang at startup in audio code when the application has large stack usage on Linux
  • Fixed initializing KMSDRM on older Linux systems
  • The pre-built SDL2.dll no longer depends on ucrtbase.dll

2.30.7

01 Sep 15:50
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Added support for the Retro-bit Controller in PS3 mode
  • Fixed the cursor becoming visible when using relative mode under XWayland
  • Fixed DRM initialization failure on some Linux systems
  • Fixed a crash when the current mouse capture window is destroyed

2.30.6

01 Aug 21:28
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Improved detection of Nintendo Switch Pro controller report mode
  • Fixed a rare crash when a controller is disconnected
  • Fixed creating a framebuffer with KMSDRM on some systems

2.30.5

03 Jul 21:49
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Respect SDL_HINT_RENDER_DRIVER when creating an accelerated window surface
  • Clean up any accelerated renderer in SDL_DestroyWindowSurface()
  • Disable low level USB controller support on Android by default (can be enabled by setting "SDL_ENV.SDL_JOYSTICK_HIDAPI" metadata to "1" in AndroidManifest.xml)
  • Fixed USB permissions dialog on Android 14
  • Fixed controller mapping matching when one entry has a CRC specified and another doesn't
  • Enable joystick support on FreeBSD when building using CMake
  • Reduced input latency when using an fcitx IME on Linux
  • Fixed graphical corruption on Raspberry Pi
  • Fixed crash when using an unstable sort function in SDL_qsort (you shouldn't do this, but at least it won't crash)

2.30.4

17 Jun 19:44
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Android rotation will respect user rotation lock preferences
  • Fixed spurious Left-Ctrl key input when the Right Alt key (AltGr) is pressed on Windows
  • Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
  • Added support for the Razer Kitsune in PS5 mode
  • Added Linux bindings for the Qanba Drone 2 Arcade Joystick
  • Leave Nintendo Online controllers in simple report mode so they work with DirectInput games
  • Enable using libusb for GameCube controllers when available

2.30.3

01 May 16:28
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Fixed Win+V handling (pasting from clipboard history) on Windows
  • Fixed Caps Lock and Backspace key mapping for the Colemak keyboard layout on Windows
  • Fixed mouse warp on XWayland
  • Reduced startup time when scanning for game controllers on Linux
  • Fixed building with C89 compilers
  • Fixed building with the GDK SDK on Windows

2.30.2

02 Apr 02:04
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Fixed performance regression initializing controllers on Linux
  • Added support for the 6-button SEGA Mega Drive Control Pad for Nintendo Online
  • Added support for the MadCatz Saitek Side Panel Control Deck
  • Added support for the Hori Fighting Stick EX2
  • Added support for the Yawman Arrow flightstick
  • Added a gamepad mapping for the Defender Joystick Cobra R4
  • Fixed the gamepad mapping for the Sanwa Supply JY-P76USV controller
  • Poll for the initial controller state when using DirectInput
  • Allow using SDL_RWFromFile() with named pipes

2.30.1

05 Mar 22:53
Compare
Choose a tag to compare

This is a stable bugfix release, with the following changes:

  • Fixed a regression causing SDL_WaitEvent() to return spurious failures
  • Fixed X11 cursors on the latest release of GNOME
  • Wayland windows automatically have OpenGL enabled again
  • Fixed memory corruption when converting signed 16-bit audio to float
  • Fixed audio artifacts when converting signed 8-bit audio to float
  • Fixed the clip rectangle not being updated when the viewport changes in the SDL renderer
  • Convert mouse wheel coordinates to the rendering view in the SDL renderer
  • Fixed a crash handling controllers on macOS
  • Fixed a crash setting a window fullscreen with Emscripten
  • Fixed the keyboard automatically popping up when resuming an application on Android

2.30.0

02 Feb 00:23
Compare
Choose a tag to compare

Thanks to all the people who contributed code and feedback, SDL 2.30.0 is now available!

In addition to lots of bug fixes, here are the major changes in this release:

General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.
  • Added the environment variable SDL_LOGGING to control default log output

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()

2.29.3

28 Jan 06:59
Compare
Choose a tag to compare
2.29.3 Pre-release
Pre-release

This is a release candidate for 2.30.0

Thanks for all the feedback!
This update fixes WASAPI audio issues, improves Android audio latency, fixes Android audio device hotplugging, fixes a crash when accidentally opening a directory as a file, improves the timing of SDL_WaitEventTimeout() on Windows, and adds the SDL_LOGGING environment variable.

In addition to lots of bug fixes, here are the major changes in this release:
General:

  • Added support for 2 bits-per-pixel indexed surface formats
  • Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
  • Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.
  • Added the environment variable SDL_LOGGING to control default log output

macOS:

  • Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
  • Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
  • Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available

Xbox:

  • Added the function SDL_GDKGetDefaultUser()