Po siedmiu miesiącach prac opublikowano wersję biblioteki SDL 2.28.0 (Simple DirectMedia Layer), mającej na celu uproszczenie pisania gier i aplikacji multimedialnych. Biblioteka SDL zapewnia takie narzędzia jak sprzętowo przyspieszony wyjście grafiki 2D i 3D, obsługę wejścia, odtwarzanie dźwięku, wyjście 3D przez OpenGL/OpenGL ES/Vulkan i wiele innych powiązanych operacji. Biblioteka napisana jest w języku C i jest dystrybuowana na licencji Zlib. Aby skorzystać z możliwości SDL w projektach w różnych językach programowania, dostępne są odpowiednie zestawy narzędzi.
W wydaniu SDL 2.28.0 głównie zaproponowano poprawki błędów, a wśród nowości wyróżnia się dodanie funkcji SDL_HasWindowSurface() i SDL_DestroyWindowSurface() do przełączania między API SDL_Renderer a SDL_Surface, nowe zdarzenie SDL_DISPLAYEVENT_MOVED generowane przy zmianie głównego monitora lub zmiany relatywnej pozycji ekranów w konfiguracjach wielomonitorowych oraz sygnal SDL_HINT_ENABLE_SCREEN_KEYBOARD do zarządzania wyświetlaniem wirtualnej klawiatury.
Jednocześnie ogłoszono o przeniesieniu gałęzi SDL 2.x na etap wsparcia, obejmujący jedynie poprawki błędów i rozwiązywanie problemów. Nowa funkcjonalność nie będzie już dodawana do gałęzi SDL 2.x, a rozwój będzie skupiony na przygotowaniu wydania SDL 3.0. Prace prowadzone są także nad warstwą zgodności sdl2-compat, zapewniającą API zgodne z binarnym i źródłowym kodem SDL 2.x, lecz działającą na podstawie SDL 3. Pakiet sdl2-compat będzie mógł działać jako pełne zastępstwo SDL 2 i będzie odpowiedni do uruchamiania programów napisanych dla SDL 2, z wykorzystaniem możliwości gałęzi SDL 3.
Zmiany w gałęzi SDL 3 obejmują przearanżowanie niektórych podsystemów, zmiany przerywające zgodność API oraz dużą czyszczenie przestarzałych możliwości, które straciły znaczenie w nowoczesnych realiach. Na przykład w SDL 3 oczekiwana jest pełna przebudowa kodu do pracy z dźwiękiem, domyślne wykorzystanie Wayland i PipeWire, zakończenie wsparcia dla OpenGL ES 1.0 oraz DirectFB, a także usunięcie kodu do pracy na przestarzałych platformach, takich jak QNX, Pandora, WinRT i OS/2.
Źródło: opennet.ru
