This source is in development. It may contain API changes, and may not be
fully tested on all supported platforms. The current stable release may
be found at the main SDL
page.
Major changes since SDL 1.0.0:
- 1.0.2: Fixed Win32 code to run on VMWare with DIB video driver
- 1.0.2: Added window manager function: SDL_WM_GrabInput()
- 1.0.2: Added window manager function: SDL_WM_IconifyWindow()
- 1.0.2: Added ALT-ENTER fullscreen toggle for X11 video driver
- 1.0.2: X11 fullscreen mode uses DGA mouse if cursor is hidden
- 1.0.2: New X11 fullscreen code doesn't require root
- 1.0.2: Mouse focus and position is now updated at video mode set
- 1.0.2: Mouse focus loss is now detected under Win32
- 1.0.2: Menubar hiding is more robust on MacOS (thanks Matt Slott)
- 1.0.2: Added CD-ROM support on MacOS (thanks Matt Slott)
- 1.0.2: Added non-root fullscreen modes under X11 (thanks Stephane)
- 1.0.2: Added docs for time functions (thanks Christian Biesinger)
- 1.0.2: Squeezed a little more speed out of blitters (Duff's device)
- 1.0.2: Added hardware acceleration for 3Dfx to fbcon driver.
- 1.0.2: Added hardware acceleration for Matrox to fbcon driver.
- 1.0.2: Windows mouse driver now recognizes the middle button.
- 1.0.2: X11 driver now recognizes the "unix:0" display as local.
- 1.0.2: Fixed a bug in DGA support which crashed some X servers.
- 1.0.2: Added GPM repeater support (gpm -R) to fbcon driver
- 1.0.2: Added support for hardware surfaces to fbcon driver
- 1.0.2: Implemented console switching in fbcon driver
- 1.0.2: Implemented graphics mode detection in fbcon driver
- 1.0.2: Added SDL_EnableKeyRepeat() (thanks Jim Kutter)
- 1.0.2: Enabled DirectSound on Windows 2000
- 1.0.1: Fixed the frame buffer video driver on LinuxPPC
- 1.0.1: Stopped using DirectSound on Windows NT.
- 1.0.1: Stopped using DirectX when DINPUT.DLL is not installed.
- 1.0.1: Added pthread detection to configure.in for FreeBSD.
- 1.0.1: Updated the Solaris audio code for the 1.0 API
- 1.0.1: Updated the MacOS code for the 1.0 internal API
Major changes since SDL 0.10.0:
- 0.11.5: Fixed mouse warping in fullscreen mode
- 0.11.5: Added a new function SDL_GetVideoSurface()
- 0.11.5: Renamed SDL_AllocSurface() SDL_CreateRGBSurface()
- 0.11.5: Added a new function SDL_CreateRGBSurfaceFrom()
- 0.11.4: Added support for multiple compiled-in video drivers
- 0.11.3: Fixed 16 --> 32 bpp blitting - using C instead of Hermes.
- 0.11.3: Fixed double-buffering bug in the DirectX driver
- 0.11.3: Added GGI video driver (thanks Jon Taylor)
- 0.11.2: Added automake/aclocal/autoconf support
- 0.11.1: Added an initial (buggy) MacOS CD-ROM driver
- 0.11.1: Improved Linux CD-ROM detection
- 0.11.1: Added a workaround for DGA mouse bug on Voodoo 3
- 0.11.1: Fixed 24bpp --> 8bpp blit crash
- 0.11.1: Fixed a bug in blit mapping when palette changed
- 0.11.1: Added a Linux SBLive beta driver workaround
- 0.11.1: Fixed Win32 cross-compile problem with mingw32
- 0.11.1: Loss of keyboard focus now causes keys to be reset
- 0.11.1: DGA DirectMouse is conditionally compiled (default off)
Major changes since SDL 0.8.0:
- 0.9.16: Made SDL error messages thread-safe
- 0.9.15: If you have r/w access to /dev/mem, DGA works on Linux
- 0.9.15: Added support for Linux on the ARM (Netwinder)
- 0.9.14: Removed color cursor support, fixed b/w cursors
- 0.9.14: Fixed long-standing X11 DGA colormap problem
- 0.9.13: Added dynamic load function: SDL_SetLibraryPath()
- 0.9.13: Added unofficial support for MacOS
- 0.9.13: Added unofficial support for FreeBSD
- 0.9.13: Added unofficial support for IRIX
- 0.9.13: Updated support for BeOS from R3 to R4.5
- 0.9.13: Added SDL_SetLibraryPath() function (thanks Karsten Laux)
- 0.9.13: Fixed 8-bit audio conversion when using SDL_MixAudio()
- 0.9.13: Fixed audio thread lingering when app dies on Linux
- 0.9.13: Fixed color problem in X display to other-endian systems
- 0.9.13: Finally able to detect X11 key repeat (thanks GII team!)
- 0.9.13: Added support for Visual C++ 5.0 development environment
- 0.9.13: Added support for Linux on the Alpha
- 0.9.13: Added support for international keyboards (see WhatsNew)
- 0.9.12: Added support for loading IMA ADPCM compressed WAV files
- 0.9.12: Fixed bug when mixing 8-bit audio in SDL_MixAudio()
- 0.9.12: Added Enlightenment Sound Daemon audio support on Linux
- 0.9.12: Added MTRR support for Linux/X11 (thanks David Barth)
- 0.9.12: Added support for LinuxPPC 5.0
- 0.9.12: Fixed place where some audio conversions aren't detected
- 0.9.12: Fixed serious bug in installation script
- 0.9.12: Added SDL_FreeWAV() function for freeing DLL memory
- 0.9.12: Fixed potential memory leak in SDL_LoadWAV_RW()
- 0.9.11: Freeing video surface has no longer crashes SDL_Quit()
- 0.9.11: Included new asm blitters from Hermes library 1.2.4
- 0.9.11: SDL_WaitThread() now gets the thread's return status
- 0.9.11: SDL_MixAudio() takes a larger volume range (0-128)
- 0.9.11: SDL no longer changes the X11 keyboard repeat
- 0.9.11: Added a data source abstraction for loading/saving data
- 0.9.11: Added three built in data abstractions:
SDL_RWFromFile(), SDL_RWFromFP(), SDL_RWFromMem()
- 0.9.11: Added stdio-like functions for using data sources:
SDL_RWseek(), SDL_RWread(), SDL_RWwrite(), SDL_RWclose()
- 0.9.11: Replaced SDL_CalculateEndian() with SDL_BYTEORDER macro
- 0.9.11: Endian swapping functions are now macros, for speed.
- 0.9.11: Endian read/write functions now use data sources
- 0.9.11: Added function SDL_LoadWAV_RW() for data sources
- 0.9.11: Added function SDL_LoadBMP_RW() for data sources
- 0.9.11: Added function SDL_SaveBMP_RW() for data sources
- 0.9.10: Mixer no longer fails if timidity isn't installed
- 0.9.10: Mixer restarts MOD files on play (thanks Bill Kendrick)
- 0.9.10: Fixed occasional crashing of the mixer library
- 0.9.10: Fixed icon display on Afterstep under Linux
- 0.9.10: Fixed occasional crash in mixer example
- 0.9.10: Linux cdrom list now comes from /etc/fstab
- 0.9.10: Fixed support for UK keyboard (thanks John Elliott)
- 0.9.10: The event queue is now thread-safe
- 0.9.10: Added event queue pump function: SDL_PumpEvents()
- 0.9.10: Added low level event function: SDL_PeepEvents()
- 0.9.10: Added a new thread function: SDL_ThreadID()
- 0.9.10: Fixed an audio rate conversion memory overrun
- 0.9.10: Fixed crash with RLE acceleration on big surfaces
- 0.9.10: Improved MacOS display driver - added fullscreen
- 0.9.10: Removed spurious warnings from Linux X11 driver
- 0.9.10: Fixed memory leak in SDL_InvalidateMap()
- 0.9.10: Fixed right button of 2-button mice on Win32
- 0.9.10: Enabled XFree86 mode changes on older servers
- 0.9.9: SDL_LoadBMP() handles BMP files created with GIMP
- 0.9.9: SDL_LoadWAV() handles WAV files with "LIST" chunks
- 0.9.9: Fixed problem with audio underflow on Solaris
- 0.9.9: Initial support for 4-speaker audio output devices
- 0.9.8: Fixed corrupt VC++ 5.0 desktop file
- 0.9.8: Now detects fixed version of Metro-X X11 server
- 0.9.8: Fixed XFree86 DGA banked mode update
- 0.9.8: Fixed mouse press viewport shift on XFree86 DGA
- 0.9.7: Fixed problem with displaying remotely via X11
- 0.9.7: Win32 uses software cursor when fullscreen
- 0.9.7: Win32 mouse uses DirectInput when fullscreen
- 0.9.7: Added OpenGL software rendering via Mesa (demos archive)
- 0.9.7: Fixed memory leak in ADPCM WAV decoding
- 0.9.6: Added CD-ROM audio API documentation
- 0.9.6: Fixed potential BeOS audio-related crash
- 0.9.6: Fixed crash when resetting the video mode in DirectX
- 0.9.6: Fixed errors compiling with the SparcWorks compiler
- 0.9.6: Replaced SDL_GetDisplayFormat() with SDL_GetVideoInfo()
- 0.9.6: Added a new fast fill function: SDL_FillRect()
- 0.9.6: Added blit acceleration flags to SDL_AllocSurface()
- 0.9.6: Added new double-buffering function: SDL_Flip()
- 0.9.6: Fixed problem with buggy Metro-X X11 server
- 0.9.6: Fixed 8-bit audio on Solaris with dbri hardware
- 0.9.6: Fixed alarm clock problem with Solaris pthreads
- 0.9.6: Fixed BeOS compilation problem
- 0.9.5: Added tools to create Win32 icons in directx/icon/
- 0.9.5: You can now pass a NULL mask to SDL_WM_SetIcon()
- 0.9.5: Added support files for compiling with VC++ 5.0
- 0.9.5: Fixed icon color bug under Win32
- 0.9.5: Re-added SDL_LowerBlit() - not safe for use on display
- 0.9.5: Fixed 0.9.x cursor blit deadlock
- 0.9.5: Added SDL_FPLoadWAV(), SDL_FPLoadBMP(), SDL_FPSaveBMP()
- 0.9.5: Added Linux, Win32, and BeOS CD audio support
- 0.9.5: MMX accelerated blit disabled -- temporarily broken
- 0.9.4: Fixed endianness issue with BeOS x86 blitting
- 0.9.4: Fixed quit interrupt delivery on BeOS
- 0.9.4: Fixed dynamic loading on BeOS
- 0.9.4: Fixed DirectX audio on Win98
- 0.9.4: Fixed possible sound-related crash on Linux PPC
- 0.9.3: Mouse motion arrives as absolute and relative coordinates
- 0.9.3: Fixed Visual C++ structure packing
- 0.9.3: Fixed UNIX dynamic link library installation
- 0.9.2: DirectX audio no longer hangs when app loses focus
- 0.9.2: Fixed DirectX HiColor crash (palette bug)
- 0.9.1: Fixed DirectX <ALT> key handling
- 0.9.1: Fixed DirectX windowed palette problems
- 0.9.1: Removed SDL_MapSurface() and SDL_UnmapSurface()
- 0.9.0: Initial port to IRIX 6.x
- 0.9.0: Initial port to OSF/1 3.2 (no sound yet)
- 0.9.0: MacOS port in progress
Major changes since SDL 0.7:
- Separated the demos and examples into a separate archive
- Added support for loading Microsoft compressed WAV files
- Added "soft" application crash recovery (signal handlers)
- Fixed POSIX signal handling interaction with threads
- Fixed audio output on MKLinux
- Added dynamic library version checking
- Updated for DirectX 6.0
- Cleaned up dynamic linking and added static linking
- Added automatic audio format and rate conversion
- Optimized some blitter cases (8 --> 16/32 and 32 --> 16/8)
- Removed precalculated alpha blending acceleration
- Key and mouse button events are split into up/down events
- It is now much easier to set an optimal video mode
Major changes since SDL 0.5:
- Ported to Solaris 2.6
- Added XFree86 Direct Graphic Access support
- Supports LinuxPPC without threads
- Completely rewritten video/surface API -- see SDL_video.h
- Completely rewritten event API
- Optimized black-white cursor creation
- Added support for run-length-encoded colorkeying
- Added support for hardware accelerated blits
- Added support for blitting from 1-bit surfaces (bitmaps)
- Added a function to simplify setting video modes
- Added support for loading WAV files
- Added endian swapping functions for memory values
- Added alpha blending using alpha value or channel
- Added precalculated alpha blending acceleration
- Added function to return current time in milliseconds
- New event type SDL_ACTIVEEVENT, to detect iconification
- New event type SDL_SYSWMEVENT, for custom window hooks
- Added a platform dependent function to get window handle
- Added a function to check the run-time version of SDL
- Added periodic timer support at 10 ms resolution
- Added support for the SDL_DEBUG environment variable
- Miscellaneous internal cleanups
Major changes since SDL 0.4:
- SDL library code is now dynamically loaded
- Added support for pthreads (Linux glibc2)
- Removed SDL_mutexN() and SDL_mutexIncr()
Major changes since SDL 0.3:
- Added support for DirectX 5.0
- Added support for surfaces in video memory
- Added support for source color-key blitting
- Added support for single-rectangle clipping
- Added support for warping (moving) the cursor
- Added support for color cursors
- Greatly simplified internal event queue
- Minor bug-fixes