A release candidate for 2.28.0 is now available:

Please let us know if there are any regressions or showstoppers at Issues · libsdl-org/SDL · GitHub

In addition to lots of bug fixes, here are the major changes in this release:


  • Added SDL_HasWindowSurface() and SDL_DestroyWindowSurface() to switch between the window surface and rendering APIs
  • Added a display event SDL_DISPLAYEVENT_MOVED which is sent when the primary monitor changes or displays change position relative to each other
  • Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active

This is the last scheduled release of SDL 2.0. While we will continue to support the library and release updates occasionally with bugfixes, the SDL team is focusing on SDL 3.0 and all new feature development will be happening there. We are simultaneously bringing up sdl2-compat so your existing SDL 2.0 applications can run on the SDL 3.0 runtime in the future.


Are there any plans to incorporate the patches for Surface glitching and SDL_CreateWindow with SDL_WINDOWPOS_UNDEFINED always centers windows in SDL 2.28.0?

I added the patch for surface glitching, but the other change is a user-visible behavior change and I’m not planning to do that for SDL 2.0. If you’re not planning to use SDL 3.0 soon and need that behavior, you can create a pull request with a hint that enables it.

Ran the prerelease through the pygame-ce test suite on Windows, no problems found. :+1: