Skip to content

Releases: libsdl-org/SDL

2.32.0

08 Feb 17:33
Compare
Choose a tag to compare

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

07 Feb 00:36
Compare
Choose a tag to compare

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

3.2.2

02 Feb 01:29
Compare
Choose a tag to compare

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

  • Fixed mouse motion while the mouse is grabbed on Linux
  • Fixed audio gain not applying in some cases
  • Fixed a potential crash when applying audio gain
  • Removed audio resampling frequency limit
  • Fixed a crash on Windows if a tray is created without any menus
  • Fixed being able to open BMP files saved with SDL_SaveBMP() on macOS
  • Fixed inverted Y axis pen input on macOS
  • Allow the window manager to position windows that don't specify a position on Linux

2.30.12

02 Feb 00:16
Compare
Choose a tag to compare

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

  • Improved XInput controller detection on Windows
  • Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
  • Fixed Steam Deck controller not being visible to games running on Proton 9 and older
  • Fixed a crash when hot-plugging keyboards and mice on Linux
  • Fixed a crash when disconnecting a Bluetooth audio device on macOS
  • Fixed building with Xcode using older Apple SDKs
  • Fixed a crash when disconnecting an external display on iOS
  • Fixed detection of function keys on Emscripten

3.2.0

21 Jan 19:19
Compare
Choose a tag to compare

Announcing the SDL 3 official release!

SDL 3.0 is finally here!

We have many many people to thank on the road to get here, but I'd like to call out special thanks to:

If you're migrating from SDL2, we've put a comprehensive list of changes and migration tips here:
https://github.com/libsdl-org/SDL/blob/main/docs/README-migration.md

Here are some of the highlights of what's new in SDL 3.0:

  • Extremely good documentation: We've spent a ton of effort writing and revising the API reference.
  • Example programs to get you started, running in your web browser!
  • More consistent API naming conventions. Everything is named consistently across the API now, instead of different subsystems taking different approaches. Also, we've tended toward more descriptive names for things in SDL3.
  • Main Callbacks: optionally run your program from callbacks instead of main().
  • GPU API: access to modern 3D rendering and GPU compute in a cross-platform way.
  • Dialog API: access to system file dialogs (file and folder selection UI for opening/saving).
  • Filesystem API: simple directory management and globbing, access to topic-specific user folders.
  • Storage API: Abstract interface to platform-specific storage.
  • Camera API: access to webcams.
  • Pen API: access to pens (like Wacom tablets and Apple Pencil, etc).
  • Logical audio devices: different parts of an app can get their own unique audio device to use.
  • Audio streams: handle buffering, converting, resampling, mixing, channel mapping, pitch, and gain. Bind to an audio device and go!
  • Default audio devices: SDL3 will automatically manage migrating to new physical hardware as devices are plugged in, ripped out, or changed.
  • Properties API: fast, flexible dictionaries of name/value pairs.
  • Process API: Spawn child processes and communicate with them in various ways.
  • Colorspace support: Surfaces and the renderer, etc, can manage multiple colorspaces.
  • The Clipboard API can support any data type (SDL2 only handled text), and apps can provide data in multiple formats upon request in a provided callback.
  • Better keyboard input, for all your keypress needs.
  • Customizable virtual keyboards on iOS and Android.
  • High DPI support is dramatically improved over SDL2.
  • App metadata API for letting SDL report things about your app correctly (like in the About dialog on macOS, etc).
  • and much, much more.

Please let us know what you think, and report any issues on GitHub:
https://github.com/libsdl-org/SDL/issues

3.1.10

16 Jan 19:32
b96bb15
Compare
Choose a tag to compare
3.1.10 Pre-release
Pre-release

This is the first release candidate for the official SDL 3.0 release!

We've gone through and smashed a ton of bugs and updated lots of documentation.
Please read through the installation documentation for the packages below, and check out the updated content on the wiki and let us know what you think!

3.1.8

08 Jan 01:46
Compare
Choose a tag to compare

2.30.11

01 Jan 21:38
Compare
Choose a tag to compare

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

  • Fixed a crash if the controller product name is NULL
  • Fixed the PS3 controller mapping on Windows
  • Allow rendering during the modal resize loop on macOS
  • Corrected CoreAudio surround sound channel layouts
  • Enabled high refresh rates on iOS
  • Fixed SDL_OpenURL() on iOS 18.2 and newer
  • Implemented SDL_OpenURL() on tvOS
  • Fixed Chinese locales on PSP

2.30.10

07 Dec 02:42
Compare
Choose a tag to compare

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

  • Improved the performance of whole surface fill operations
  • Fixed an assertion when connecting/disconnecting over RDP
  • Switched the default audio driver on Android to OpenSLES
  • Added support for mouse wheel and extended buttons on PS Vita
  • Fixed a rare crash on KMSDRM

2.30.9

01 Nov 22:20
Compare
Choose a tag to compare

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

  • Fixed audio issues on Android 15
  • Fixed rare audio distortion and crash when audio devices are changed on Windows
  • Fixed the PS5 controller face buttons on Amazon Fire TV
  • Fixed detecting the Steam Virtual Gamepad on macOS
  • Added support for wired XBox controllers on macOS 15.0 Sequoia
  • Added support for the Steam Virtual Gamepad on macOS Sequoia
  • Fixed the Steam Virtual Gamepad from showing up when games aren't running under Steam
  • Fixed flicker when entering/exiting fullscreen or moving the window between scaled and non-scaled displays under Wayland.
  • Fixes for data addresses above 2gb on Emscripten
  • Fixed horizontal mousewheel scale on Emscripten