After seven months of development, the release of the library SDL 2.30.0 (Simple DirectMedia Layer) has been published. This release aims to simplify the development of games and multimedia applications. The SDL library provides various features such as hardware-accelerated output of 2D and 3D graphics, input processing, sound reproduction, 3D output through OpenGL/OpenGL ES/VULKAN, and many other associated operations. The library is written in the language of SI and is spread under the Zlib license. It provides necessary bindings to use the capabilities of SDL in projects developed in various programming languages.
The release of SDL 2.30.0 primarily focuses on fixing errors, as the SDL 2.x branch has transitioned to the maintenance stage. Active development efforts have recently been focused on preparing the SDL 3 branch and the compatibility layers SDL2-compat with the implementation of the SDL 2.x API on top of SDL 3. This allows programs written for SDL 2 to be executed using the capabilities of the SDL 3 branch.
In the SDL 3 branch, some subsystems have been improved, API compatibility has been enhanced, and obsolete features that are no longer relevant in modern technologies have been removed. For example, SDL 3 includes significant code improvements for sound processing, compatibility with Wayland and Pipewire, termination of support for Opengl ES 1.0 and DirectFB, and removal of code for outdated platforms such as QNX, Pandora, WinRT, and OS/2.
Among the notable enhancements in the SDL 2.30.0 release are:
- Add support for surfaces with indexed palette and 2 bits of color views on pixel.
- Add the SDL_GAMECONTROLLER_GET_TEAM_HANDLE() function to determine the descriptor of the game controller in the Steam API.
- Add event sdl_controllersteamhandleupdated, generated when changing the game controller descriptor in the Steam API.
- Add the plot of the environment of the SDL_LOGGING to control the output into the log.
- For the MacOS platform, add