Выпуск мультимедийной библиотеки SDL 2.28.0. Переключение на развитие SDL 3.0

После семи месяцев разработки опубликован релиз библиотеки SDL 2.28.0 (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека SDL предоставляет такие средства как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES/Vulkan и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией Zlib. Для использования возможностей SDL в проектах на различных языках программирования предоставляются необходимые обвязки.

В выпуске SDL 2.28.0 в основном предложены исправления ошибок, из новшеств отмечается добавление функций SDL_HasWindowSurface() и SDL_DestroyWindowSurface() для переключения между API SDL_Rederer и SDL_Surface, новое событие SDL_DISPLAYEVENT_MOVED, генерируемое при смены основного монитора или изменения относительной позиции экранов в многомониторных конфигурациях, и признак SDL_HINT_ENABLE_SCREEN_KEYBOARD для управления показом экранной клавиатуры.

Одновременно объявлено о переводе ветки SDL 2.x на стадию сопровождения, подразумевающую только исправление ошибок и устранение проблем. Новая функциональность в ветку SDL 2.x больше добавляться не будет, а разработка будет сосредоточена на подготовке выпуска SDL 3.0. Также ведётся работа над слоем совместимости sdl2-compat, предоставляющим API, совместимый с двоичным и исходным кодом SDL 2.x, но работающий поверх SDL 3. Пакет sdl2-compat сможет выступать в качестве полной замены SDL 2 и пригоден для организации выполнения программ, написанных для SDL 2, используя возможности ветки SDL 3.

Из изменений в ветке SDL 3 выделяется переработка некоторых подсистем, нарушающие совместимость изменения в API и большая чистка устаревших возможностей, потерявших актуальность в современных реалиях. Например, в SDL 3 ожидается полная переработка кода для работы со звуком, использование по умолчанию Wayland и PipeWire, прекращение поддержки OpenGL ES 1.0 и DirectFB, удаление кода для работы на устаревших платформах, таких как QNX, Pandora, WinRT и OS/2.

Release. Ссылка here.