SDL 2.0.9 has been released today featuring some rather interesting new stuff. It's been a while, with 2.0.8 being released back in March of last year.
What is SDL 2? Well, in their own words "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D." (and Vulkan since 2.0.6). It's used by many game developers including Valve, Unity, Feral Interactive and no doubt a great many more.
A few random highlights of what's new:
- SDL_GetDisplayOrientation() to get the current display orientation along with SDL_DISPLAYEVENT for changes to it.
- Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. Valve contributed PS4 and Nintendo Switch Pro controller support.
- Support for many other popular game controllers
- Multiple extras to deal with gamepads like SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it's opened
- Specifically for Linux, there's now a "SDL_LinuxSetThreadPriority()" feature to allow adjusting the thread priority of native threads.
The SDL render batching and some caching, which Ryan Gordon wrote about in this Patreon post didn't make it into this release but it should be in the next one. Ryan told me he didn't want to risk breakage late in the development cycle. That should make the next version of SDL after this really quite exciting.
On top of that, Wayland server-side window decorations on KDE should also be in the following release. You can see a video of that from Ryan Gordon below: