SDL Changelog

What's new in SDL 2.0.9

Oct 31, 2018
  • General:
  • Added a new sensor API, initialized by passing SDL_INIT_SENSOR to SDL_Init(), and defined in SDL_sensor.h
  • Added an event SDL_SENSORUPDATE which is sent when a sensor is updated
  • Added SDL_GetDisplayOrientation() to return the current display orientation
  • Added an event SDL_DISPLAYEVENT which is sent when the display orientation changes
  • Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. (Thanks to Valve for contributing the PS4 and Nintendo Switch Pro controller support)
  • Added support for many other popular game controllers
  • Added SDL_JoystickGetDevicePlayerIndex(), SDL_JoystickGetPlayerIndex(), and SDL_GameControllerGetPlayerIndex() to get the player index for a controller. For XInput controllers this returns the XInput index for the controller.
  • Added SDL_GameControllerRumble() and SDL_JoystickRumble() which allow simple rumble without using the haptics API
  • Added SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it’s opened
  • Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_TIME to control the mouse double-click time
  • Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to control the mouse double-click radius, in pixels
  • Added SDL_HasColorKey() to return whether a surface has a colorkey active
  • Added SDL_HasAVX512F() to return whether the CPU has AVX-512F features
  • Added SDL_IsTablet() to return whether the application is running on a tablet
  • Added SDL_THREAD_PRIORITY_TIME_CRITICAL for threads that must run at the highest priority
  • Mac OS X:
  • Fixed black screen at start on Mac OS X Mojave
  • Linux:
  • Added SDL_LinuxSetThreadPriority() to allow adjusting the thread priority of native threads using RealtimeKit if available.
  • iOS:
  • Fixed Asian IME input
  • Android:
  • Updated required Android SDK to API 26, to match Google’s new App Store requirements
  • Added support for wired USB Xbox, PS4, and Nintendo Switch Pro controllers
  • Added support for relative mouse mode on Android 7.0 and newer (except where it’s broken, on Chromebooks and when in DeX mode with Samsung Experience 9.0)
  • Added support for custom mouse cursors on Android 7.0 and newer
  • Added the hint SDL_HINT_ANDROID_TRAP_BACK_BUTTON to control whether the back button will back out of the app (the default) or be passed to the application as SDL_SCANCODE_AC_BACK
  • Added SDL_AndroidBackButton() to trigger the Android system back button behavior when handling the back button in the application
  • Added SDL_IsChromebook() to return whether the app is running in the Chromebook Android runtime
  • Added SDL_IsDeXMode() to return whether the app is running while docked in the Samsung DeX

New in SDL 2.0.1 (Nov 11, 2013)

  • General:
  • Added an API to get common filesystem paths in SDL_filesystem.h: SDL_GetBasePath(), SDL_GetPrefPath()
  • Added an API to do optimized YV12 and IYUV texture updates: SDL_UpdateYUVTexture()
  • Added an API to get the amount of RAM on the system: SDL_GetSystemRAM()
  • Added a macro to perform timestamp comparisons with SDL_GetTicks(): SDL_TICKS_PASSED()
  • Dramatically improved OpenGL ES 2.0 rendering performance
  • Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
  • Linux:
  • Fixed float audio support with the PulseAudio driver
  • Fixed missing line endpoints in the OpenGL renderer on some drivers
  • X11 symbols are no longer defined to avoid collisions when linking statically
  • Android:
  • IMPORTANT: You MUST get the updated SDLActivity.java to match C code
  • Moved EGL initialization to native code
  • Fixed the accelerometer axis rotation relative to the device rotation
  • Fixed race conditions when handling the EGL context on pause/resume
  • Touch devices are available for enumeration immediately after init
  • Raspberry Pi:
  • Added support for the Raspberry Pi, see README-raspberrypi.txt for details

New in SDL 1.2.14 (Oct 21, 2009)

  • General Notes:
  • Fixed flicker when resizing the SDL window
  • Fixed crash in SDL_SetGammaRamp()
  • Fixed freeze in SDL_memset() with 0 length when assembly code is disabled.
  • Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal up/down events for Caps-Lock and Num-Lock keys.
  • Fixed audio quality problem when converting between 22050 Hz and 44100 Hz.
  • Fixed a threading crash when a few threads are rapidly created and complete.
  • Increased accuracy of alpha blending routines.
  • Fixed crash loading BMP files saved with the scanlines inverted.
  • Fixed mouse coordinate clamping if SDL_SetVideoMode() isn't called in response to SDL_VIDEORESIZE event.
  • Added doxygen documentation for the SDL API headers.
  • Unix Notes:
  • Fixed potential memory corruption due to assembly bug with SDL_revcpy()
  • Fixed crashes trying to detect SSE features on x86_64 architecture.
  • Fixed assembly for GCC optimized 50% alpha blending blits.
  • Added configure option --enable-screensaver, to allow enabling the screensaver by default.
  • Use XResetScreenSaver() instead of disabling screensaver entirely.
  • Removed the maximum window size limitation on X11.
  • Fixed SDL_GL_SWAP_CONTROL on X11.
  • Fixed setting the X11 window input hint.
  • Fixed distorted X11 window icon for some visuals.
  • Fixed detecting X11 libraries for dynamic loading on 64-bit Linux.
  • SDL_GL_GetAttribute(SDL_GL_SWAP_CONTROL) returns the correct value with GLX_SGI_swap_control.
  • Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for SDL_VIDEO_FULLSCREEN_HEAD on X11.
  • The SDL_VIDEO_FULLSCREEN_DISPLAY environment variable can be set to 0 to place fullscreen SDL windows on the first Xinerama screen.
  • Added the SDL_VIDEO_FBCON_ROTATION environment variable to control output orientation on the framebuffer console. Valid values are: not set - Not rotating, no shadow; "NONE" - Not rotating, but still using shadow; "CW" - Rotating screen clockwise; "UD" - Rotating screen upside down; "CCW" - Rotating screen counter clockwise.
  • Fixed DirectFB detection on some Linux distributions.
  • Added code to use the PS3 SPE processors for YUV conversion on Linux.
  • Updated ALSA support to the latest stable API
  • ALSA is now preferred over OSS audio. (SDL_AUDIODRIVER=dsp will restore the previous behavior.)
  • Improved support for PulseAudio
  • The Network Audio System support is now dynamically loaded at runtime.
  • Fixed crash with the MP-8866 Dual USB Joypad on newer Linux kernels.
  • Fixed crash in SDL_Quit() when a joystick has been unplugged.