Welcome to the last planned release for SDL 1.2!

This release is intended to clean up the bug list for SDL 1.2 and let us focus on new development for SDL 1.3!

I would like to thank everybody who contributed bug reports and fixes for this release!

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 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.
* 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:
    o not set - Not rotating, no shadow.
    o "NONE" - Not rotating, but still using shadow.
    o "CW" - Rotating screen clockwise.
    o "UD" - Rotating screen upside down.
    o "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.

Windows Notes
* Verified 100% compatibility with Windows 7.
* Prevent loss of OpenGL context when setting the video mode in response to a window resize event.
* Fixed video initialization with SDL_WINDOWID on Windows XP.
* Improved mouse input responsiveness for first-person-shooter games.
* IME messages are now generated for localized input.
* SDL_RWFromFile() takes a UTF-8 filename when opening a file.
* The SDL_STDIO_REDIRECT environment variable can be used to override whether SDL redirects stdio to stdout.txt and stderr.txt.
* Fixed dynamic object loading on Windows CE.

Mac OS X Notes
* SDL now builds on Mac OS X 10.6 (Snow Leopard).
Eric Wing posted a good rundown on the numerous changes here: http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html
* The X11 video driver is built by default.
* Fixed SDL_VIDEO_WINDOW_POS environment variable for Quartz target.
* Fixed setting the starting working directory in release builds.