Skip to content

Releases: libsdl-org/SDL

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()

2.29.2

22 Jan 17:02
Compare
Choose a tag to compare
2.29.2 Pre-release
Pre-release

This is a release candidate for 2.30.0

This release fixes audio distortion and a crash when blitting that was introduced in 2.29.1.

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.

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.1

20 Jan 05:12
Compare
Choose a tag to compare
2.29.1 Pre-release
Pre-release

This is a release candidate for 2.30.0

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.

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.28.5

02 Nov 17:52
Compare
Choose a tag to compare

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

  • Added support for the HP HyperX Clutch Gladiate controller
  • Fixed a crash if a controller is disconnected while SDL is opening it
  • Fixed a crash on Linux if XInput2 isn't available at runtime

2.28.4

01 Oct 19:32
Compare
Choose a tag to compare

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

  • Enable clipping for zero sized rectangles in the SDL renderer
  • Notify X11 clipboard managers when the clipboard changes
  • Fixed sensor timestamps for third-party PS5 controllers
  • Added detection for Logitech and Simagic racing wheels

2.28.3

01 Sep 18:35
Compare
Choose a tag to compare

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

  • Added a gamepad mapping for the G-Shark GS-GP702
  • Fixed touchpad events for the Razer Wolverine V2 Pro in PS5 mode
  • Fixed getting key events from TV remotes on Android
  • Updated to Android minSdkVersion 19 and targetSdkVersion 34 to meet Google Play Store requirements

2.28.2

02 Aug 15:41
Compare
Choose a tag to compare

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

  • Fixed occasionally failing to open the clipboard on Windows
  • Fixed crash at shutdown when using the D3D11 renderer
  • Fixed setting the viewport when using the D3D12 renderer
  • Fixed crash using SDL event functions before initializing SDL on Windows
  • Fixed Xbox controller trigger motion events on Windows
  • Fixed Xbox controller rumble in the background on Windows
  • Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
  • Fixed 8BitDo gamepad mapping when in XInput mode on Linux
  • Fixed controller lockup initializing some unofficial PS4 replica controllers
  • Fixed video initialization on headless Linux systems using VNC
  • Fixed large mouse jump when changing relative mouse mode on macOS
  • Fixed hardware keyboard text input on iPadOS