WhatsNew.txt 5.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. This is a list of major changes in SDL's version history.
  2. ---------------------------------------------------------------------------
  3. 3.4.0:
  4. ---------------------------------------------------------------------------
  5. General:
  6. * Added SDL_CreateAnimatedCursor() to create animated color cursors
  7. * Added SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState(), and SDL_GetWindowProgressValue() to show progress in the window's taskbar icon on Windows and Linux
  8. * Added SDL_GetGPUDeviceProperties() to get the properties of an SDL GPU device
  9. * Added SDL_GetPixelFormatFromGPUTextureFormat() and SDL_GetGPUTextureFormatFromPixelFormat()
  10. * Added SDL_CreateGPURenderer() and SDL_GetGPURendererDevice() to create a 2D renderer for use with GPU rendering.
  11. * Added SDL_CreateGPURenderState(), SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState(), and SDL_DestroyGPURenderState() to use fragment shaders with a GPU 2D renderer
  12. * Added support for YUV textures and HDR colorspaces to the GPU 2D renderer
  13. * Added support for textures with palettes, and SDL_GetTexturePalette() and SDL_SetTexturePalette() to interact with them
  14. * Added SDL_RenderTexture9GridTiled() to do tiled instead of stretched 9-grid texture rendering
  15. * Added SDL_GetDefaultTextureScaleMode() and SDL_SetDefaultTextureScaleMode() to set the texture scale mode for new textures
  16. * Added SDL_GetRenderTextureAddressMode() and SDL_SetRenderTextureAddressMode() to change the texture addressing mode
  17. * Added SDL_TEXTURE_ADDRESS_WRAP to allow wrapping of textures if the renderer has SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN set
  18. * Added SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG(), and SDL_SavePNG_IO() to load and save PNG images
  19. * Added SDL_RotateSurface() to create a rotated copy of a surface
  20. * Added SDL_PutAudioStreamDataNoCopy() to do more efficient audio stream processing in some cases
  21. * Added SDL_PutAudioStreamPlanarData() to add planar audio data instead of interleaved data to an audio stream
  22. * Added SDL_HINT_AUDIO_DEVICE_RAW_STREAM to signal that the OS shouldn't do further audio processing, useful for applications that handle noise canceling, etc.
  23. * Added enhanced support for 8BitDo controllers
  24. * Added enhanced support for FlyDigi controllers
  25. * Added enhanced support for Hand Held Legend SInput controllers
  26. * Added SDL_hid_get_properties() to associate SDL properties with HID devices
  27. * Added SDL_SetRelativeMouseTransform() to add custom mouse input transformation
  28. * Added SDL_GetPenDeviceType() to determine whether a pen is on the screen or on a separate touchpad
  29. * Added SDL_GetEventDescription() to get an English description of an event, suitable for logging
  30. * Added verbose log output when the DEBUG_INVOCATION environment variable is set to "1"
  31. * Added SDL_AddAtomicU32()
  32. * Added SDL_GetSystemPageSize() to get the system page size
  33. Windows:
  34. * Added SDL_HINT_RENDER_DIRECT3D11_WARP to enable D3D11 software rasterization
  35. * SDL_HINT_AUDIO_DEVICE_STREAM_ROLE is used by the WASAPI audio driver to set the audio stream category
  36. * SDL_HINT_WINDOWS_GAMEINPUT is disabled by default
  37. Linux:
  38. * Added atomic support for KMSDRM
  39. * Added SDL_HINT_KMSDRM_ATOMIC to control whether KMSDRM will use atomic functionality
  40. Emscripten:
  41. * Added SDL_HINT_EMSCRIPTEN_FILL_DOCUMENT for applications that don't want to be fullscreen, but would like to fill the window
  42. PlayStation 2:
  43. * Added the following hints to control the display parameters: SDL_HINT_PS2_GS_WIDTH, SDL_HINT_PS2_GS_HEIGHT, SDL_HINT_PS2_GS_PROGRESSIVE, SDL_HINT_PS2_GS_MODE
  44. Note: On Unix platforms SDL provides ELF notes describing its non-mandatory library dependencies in the format described by https://systemd.io/ELF_DLOPEN_METADATA/. Some of these libraries are quite important, so distribution vendors who package SDL should parse the ELF notes and consider generating dependencies at the packaging level, for example by using https://github.com/systemd/package-notes. Other libraries and games can add similar ELF notes to describe their own dependencies by using the SDL_ELF_NOTE_DLOPEN macro.
  45. ---------------------------------------------------------------------------
  46. 3.2.22:
  47. ---------------------------------------------------------------------------
  48. * SDL_HINT_JOYSTICK_WGI is disabled by default
  49. ---------------------------------------------------------------------------
  50. 3.2.16:
  51. ---------------------------------------------------------------------------
  52. * SDL_HINT_JOYSTICK_RAWINPUT is disabled by default
  53. ---------------------------------------------------------------------------
  54. 3.2.10:
  55. ---------------------------------------------------------------------------
  56. * Added SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT to control whether XSelectInput() should be called on external windows to enable input events.
  57. ---------------------------------------------------------------------------
  58. 3.2.4:
  59. ---------------------------------------------------------------------------
  60. * Added SDL_StretchSurface()
  61. ---------------------------------------------------------------------------
  62. 3.2.0:
  63. ---------------------------------------------------------------------------
  64. Check out [migration guide](docs/README-migration.md) for details on API changes since SDL 2.0, and tips on transitioning your code from SDL2 code to SDL3.
  65. There have been too many changes to list them all, but here are some of the highlights:
  66. https://wiki.libsdl.org/SDL3/NewFeatures
  67. Thank you to all the people who have contributed code and feedback to the SDL 3.0 release!