WhatsNew.txt
author Ryan C. Gordon <icculus@icculus.org>
Thu, 08 Jun 2017 13:27:58 -0400
changeset 11081 eea7f98a37e4
parent 10521 caea79aa9035
child 11449 b7f6c4f8fbb3
permissions -rw-r--r--
jack: Initial shot at a JACK audio target.

http://jackaudio.org/

Fixes Bugzilla #2163.
(with several more commits following to improve this code.)
slouken@7228
     1
slouken@7878
     2
This is a list of major changes in SDL's version history.
slouken@7228
     3
slouken@7878
     4
---------------------------------------------------------------------------
slouken@10514
     5
2.0.5:
slouken@10514
     6
---------------------------------------------------------------------------
slouken@10514
     7
slouken@10514
     8
General:
slouken@10514
     9
* Implemented audio capture support for some platforms
slouken@10514
    10
* Added SDL_DequeueAudio() to retrieve audio when buffer queuing is turned on for audio capture
slouken@10514
    11
* Added events for dragging and dropping text
slouken@10514
    12
* Added events for dragging and dropping multiple items
slouken@10514
    13
* By default the click raising a window will not be delivered to the SDL application. You can set the hint SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH to "1" to allow that click through to the window.
slouken@10514
    14
* Saving a surface with an alpha channel as a BMP will use a newer BMP format that supports alpha information. You can set the hint SDL_HINT_BMP_SAVE_LEGACY_FORMAT to "1" to use the old format.
slouken@10514
    15
* Added SDL_GetHintBoolean() to get the boolean value of a hint
slouken@10514
    16
* Added SDL_RenderSetIntegerScale() to set whether to smoothly scale or use integral multiples of the viewport size when scaling the rendering output
slouken@10514
    17
* Added SDL_CreateRGBSurfaceWithFormat() and SDL_CreateRGBSurfaceWithFormatFrom() to create an SDL surface with a specific pixel format
slouken@10514
    18
* Added SDL_GetDisplayUsableBounds() which returns the area usable for windows. For example, on Mac OS X, this subtracts the area occupied by the menu bar and dock.
slouken@10514
    19
* Added SDL_GetWindowBordersSize() which returns the size of the window's borders around the client area
slouken@10514
    20
* Added a window event SDL_WINDOWEVENT_HIT_TEST when a window had a hit test that wasn't SDL_HITTEST_NORMAL (e.g. in the title bar or window frame)
slouken@10514
    21
* Added SDL_SetWindowResizable() to change whether a window is resizable
slouken@10514
    22
* Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity() to affect the window transparency
slouken@10514
    23
* Added SDL_SetWindowModalFor() to set a window as modal for another window
slouken@10514
    24
* Added support for AUDIO_U16LSB and AUDIO_U16MSB to SDL_MixAudioFormat()
slouken@10514
    25
* Fixed flipped images when reading back from target textures when using the OpenGL renderer
slouken@10514
    26
* Fixed texture color modulation with SDL_BLENDMODE_NONE when using the OpenGL renderer
slouken@10514
    27
* Fixed bug where the alpha value of colorkeys was ignored when blitting in some cases
slouken@10514
    28
slouken@10514
    29
Windows:
slouken@10514
    30
* Added a hint SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING to prevent SDL from raising a debugger exception to name threads. This exception can cause problems with .NET applications when running under a debugger.
slouken@10514
    31
* The hint SDL_HINT_THREAD_STACK_SIZE is now supported on Windows
slouken@10514
    32
* Fixed XBox controller triggers automatically being pulled at startup
slouken@10514
    33
* The first icon from the executable is used as the default window icon at runtime
slouken@10514
    34
* Fixed SDL log messages being printed twice if SDL was built with C library support
slouken@10514
    35
* Reset dead keys when the SDL window loses focus, so dead keys pressed in SDL applications don't affect text input into other applications.
slouken@10514
    36
slouken@10514
    37
Mac OS X:
slouken@10514
    38
* Fixed selecting the dummy video driver
slouken@10514
    39
* The caps lock key now generates a pressed event when pressed and a released event when released, instead of a press/release event pair when pressed.
slouken@10514
    40
* Fixed mouse wheel events on Mac OS X 10.12
slouken@10514
    41
* The audio driver has been updated to use AVFoundation for better compatibility with newer versions of Mac OS X
slouken@10514
    42
slouken@10514
    43
Linux:
slouken@10514
    44
* Added support for the Fcitx IME
slouken@10514
    45
* Added a window event SDL_WINDOWEVENT_TAKE_FOCUS when a window manager asks the SDL window whether it wants to take focus.
slouken@10514
    46
* Refresh rates are now rounded instead of truncated, e.g. 59.94 Hz is rounded up to 60 Hz instead of 59.
slouken@10514
    47
* Added initial support for touchscreens on Raspberry Pi
slouken@10514
    48
slouken@10521
    49
OpenBSD:
slouken@10521
    50
* SDL_GetBasePath() is now implemented on OpenBSD
slouken@10521
    51
slouken@10514
    52
iOS:
slouken@10514
    53
* Added support for dynamically loaded objects on iOS 8 and newer
slouken@10514
    54
slouken@10514
    55
tvOS:
slouken@10514
    56
* Added support for Apple TV
slouken@10514
    57
* Added a hint SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION to control whether he Apple TV remote's joystick axes will automatically match the rotation of the remote.  
slouken@10514
    58
slouken@10514
    59
Android:
slouken@10514
    60
* Fixed SDL not resizing window when Android screen resolution changes
slouken@10514
    61
* Corrected the joystick Z axis reporting for the accelerometer
slouken@10514
    62
slouken@10514
    63
Emscripten (running in a web browser):
slouken@10514
    64
* Many bug fixes and improvements
slouken@10514
    65
slouken@10514
    66
slouken@10514
    67
---------------------------------------------------------------------------
gabomdq@8676
    68
2.0.4:
gabomdq@8676
    69
---------------------------------------------------------------------------
gabomdq@8676
    70
gabomdq@8676
    71
General:
slouken@9732
    72
* Added support for web applications using Emscripten, see docs/README-emscripten.md for more information
slouken@9732
    73
* Added support for web applications using Native Client (NaCl), see docs/README-nacl.md for more information
slouken@9732
    74
* Added an API to queue audio instead of using the audio callback:
slouken@9732
    75
    SDL_QueueAudio(), SDL_GetQueuedAudioSize(), SDL_ClearQueuedAudio()
slouken@9732
    76
* Added events for audio device hot plug support:
slouken@9732
    77
    SDL_AUDIODEVICEADDED, SDL_AUDIODEVICEREMOVED
slouken@9732
    78
* Added SDL_PointInRect()
slouken@9732
    79
* Added SDL_HasAVX2() to detect CPUs with AVX2 support
slouken@9732
    80
* Added SDL_SetWindowHitTest() to let apps treat parts of their SDL window like traditional window decorations (drag areas, resize areas)
slouken@9732
    81
* Added SDL_GetGrabbedWindow() to get the window that currently has input grab, if any
slouken@9732
    82
* Added SDL_RenderIsClipEnabled() to tell whether clipping is currently enabled in a renderer
slouken@9732
    83
* Added SDL_CaptureMouse() to capture the mouse to get events while the mouse is not in your window
slouken@9732
    84
* Added SDL_WarpMouseGlobal() to warp the mouse cursor in global screen space
slouken@9732
    85
* Added SDL_GetGlobalMouseState() to get the current mouse state outside of an SDL window
slouken@9732
    86
* Added a direction field to mouse wheel events to tell whether they are flipped (natural) or not
slouken@9732
    87
* Added GL_CONTEXT_RELEASE_BEHAVIOR GL attribute (maps to [WGL|GLX]_ARB_context_flush_control extension)
slouken@9732
    88
* Added EGL_KHR_create_context support to allow OpenGL ES version selection on some platforms
slouken@9732
    89
* Added NV12 and NV21 YUV texture support for OpenGL and OpenGL ES 2.0 renderers
slouken@9732
    90
* Added a Vivante video driver that is used on various SoC platforms
slouken@9732
    91
* Added an event SDL_RENDER_DEVICE_RESET that is sent from the D3D renderers when the D3D device is lost, and from Android's event loop when the GLES context had to be recreated
slouken@9732
    92
* Added a hint SDL_HINT_NO_SIGNAL_HANDLERS to disable SDL's built in signal handling
philipp@9759
    93
* Added a hint SDL_HINT_THREAD_STACK_SIZE to set the stack size of SDL's threads
philipp@9759
    94
* Added SDL_sqrtf(), SDL_tan(), and SDL_tanf() to the stdlib routines
slouken@9732
    95
* Improved support for WAV and BMP files with unusual chunks in them
philipp@9759
    96
* Renamed SDL_assert_data to SDL_AssertData and SDL_assert_state to SDL_AssertState
philipp@9830
    97
* Added a hint SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN to prevent window interaction while cursor is hidden
philipp@9855
    98
* Added SDL_GetDisplayDPI() to get the DPI information for a display
philipp@9893
    99
* Added SDL_JoystickCurrentPowerLevel() to get the battery level of a joystick
icculus@9916
   100
* Added SDL_JoystickFromInstanceID(), as a helper function, to get the SDL_Joystick* that an event is referring to.
icculus@9916
   101
* Added SDL_GameControllerFromInstanceID(), as a helper function, to get the SDL_GameController* that an event is referring to.
slouken@9732
   102
slouken@9732
   103
Windows:
dludwig@9936
   104
* Added support for Windows Phone 8.1 and Windows 10/UWP (Universal Windows Platform)
slouken@9732
   105
* Timer resolution is now 1 ms by default, adjustable with the SDL_HINT_TIMER_RESOLUTION hint
slouken@9732
   106
* SDLmain no longer depends on the C runtime, so you can use the same .lib in both Debug and Release builds
slouken@9732
   107
* Added SDL_SetWindowsMessageHook() to set a function to be called for every windows message before TranslateMessage()
slouken@9732
   108
* Added a hint SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP to control whether SDL_PumpEvents() processes the Windows message loop
philipp@9748
   109
* You can distinguish between real mouse and touch events by looking for SDL_TOUCH_MOUSEID in the mouse event "which" field
slouken@9732
   110
* SDL_SysWMinfo now contains the window HDC
slouken@9732
   111
* Added support for Unicode command line options
slouken@9732
   112
* Prevent beeping when Alt-key combos are pressed
philipp@9759
   113
* SDL_SetTextInputRect() re-positions the OS-rendered IME
philipp@9830
   114
* Added a hint SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 to prevent generating SDL_WINDOWEVENT_CLOSE events when Alt-F4 is pressed
philipp@9830
   115
* Added a hint SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING to use the old axis and button mapping for XInput devices (deprecated)
slouken@9732
   116
slouken@9732
   117
Mac OS X:
slouken@9732
   118
* Implemented drag-and-drop support
slouken@9732
   119
* Improved joystick hot-plug detection
slime73@9757
   120
* The SDL_WINDOWEVENT_EXPOSED window event is triggered in the appropriate situations
slouken@9732
   121
* Fixed relative mouse mode when the application loses/regains focus
slime73@9757
   122
* Fixed bugs related to transitioning to and from Spaces-aware fullscreen-desktop mode
slime73@9757
   123
* Fixed the refresh rate of display modes
slouken@9732
   124
* SDL_SysWMInfo is now ARC-compatible
philipp@9830
   125
* Added a hint SDL_HINT_MAC_BACKGROUND_APP to prevent forcing the application to become a foreground process
slouken@9732
   126
slouken@9732
   127
Linux:
slouken@9732
   128
* Enabled building with Mir and Wayland support by default.
slouken@9732
   129
* Added IBus IME support
slouken@9732
   130
* Added a hint SDL_HINT_IME_INTERNAL_EDITING to control whether IBus should handle text editing internally instead of sending SDL_TEXTEDITING events
philipp@9921
   131
* Added a hint SDL_HINT_VIDEO_X11_NET_WM_PING to allow disabling _NET_WM_PING protocol handling in SDL_CreateWindow()
slouken@9732
   132
* Added support for multiple audio devices when using Pulseaudio
slouken@9732
   133
* Fixed duplicate mouse events when using relative mouse motion
slouken@9732
   134
slouken@9732
   135
iOS:
slouken@9732
   136
* Added support for iOS 8
slime73@9995
   137
* The SDL_WINDOW_ALLOW_HIGHDPI window flag now enables high-dpi support, and SDL_GL_GetDrawableSize() or SDL_GetRendererOutputSize() gets the window resolution in pixels
slime73@9995
   138
* SDL_GetWindowSize() and display mode sizes are in the "DPI-independent points" / "screen coordinates" coordinate space rather than pixels (matches OS X behavior)
slime73@9995
   139
* Added native resolution support for the iPhone 6 Plus
slime73@9876
   140
* Added support for MFi game controllers
slime73@9757
   141
* Added support for the hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK
slime73@9757
   142
* Added sRGB OpenGL ES context support on iOS 7+
philipp@9874
   143
* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER
slime73@9757
   144
* SDL_SysWMinfo now contains the OpenGL ES framebuffer and color renderbuffer objects used by the window's active GLES view
slime73@9757
   145
* Fixed various rotation and orientation issues
slime73@9757
   146
* Fixed memory leaks
slouken@9732
   147
slouken@9732
   148
Android:
slouken@9732
   149
* Added a hint SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH to prevent mouse events from being registered as touch events
philipp@9830
   150
* Added hints SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION and SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION
philipp@9874
   151
* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER
philipp@9874
   152
* Added support for SDL_ShowMessageBox() and SDL_ShowSimpleMessageBox()
slouken@9732
   153
slouken@9732
   154
Raspberry Pi:
slouken@9732
   155
* Added support for the Raspberry Pi 2
slouken@9732
   156
gabomdq@8676
   157
gabomdq@8676
   158
---------------------------------------------------------------------------
slouken@8303
   159
2.0.3:
slouken@8303
   160
---------------------------------------------------------------------------
slouken@8303
   161
slouken@8625
   162
Mac OS X:
slouken@8625
   163
* Fixed creating an OpenGL context by default on Mac OS X 10.6
slouken@8625
   164
slouken@8303
   165
slouken@8303
   166
---------------------------------------------------------------------------
gabomdq@7907
   167
2.0.2:
gabomdq@7907
   168
---------------------------------------------------------------------------
gabomdq@8044
   169
General:
slouken@8197
   170
* Added SDL_GL_ResetAttributes() to reset OpenGL attributes to default values
philipp@8220
   171
* Added an API to load a database of game controller mappings from a file:
slouken@8270
   172
    SDL_GameControllerAddMappingsFromFile(), SDL_GameControllerAddMappingsFromRW()
slouken@8197
   173
* Added game controller mappings for the PS4 and OUYA controllers
slouken@8197
   174
* Added SDL_GetDefaultAssertionHandler() and SDL_GetAssertionHandler()
slouken@8197
   175
* Added SDL_DetachThread()
slouken@8197
   176
* Added SDL_HasAVX() to determine if the CPU has AVX features
slouken@8197
   177
* Added SDL_vsscanf(), SDL_acos(), and SDL_asin() to the stdlib routines
gabomdq@8062
   178
* EGL can now create/manage OpenGL and OpenGL ES 1.x/2.x contexts, and share
gabomdq@8062
   179
  them using SDL_GL_SHARE_WITH_CURRENT_CONTEXT
slouken@8270
   180
* Added a field "clicks" to the mouse button event which records whether the event is a single click, double click, etc.
slouken@8270
   181
* The screensaver is now disabled by default, and there is a hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER that can change that behavior.
slouken@8270
   182
* Added a hint SDL_HINT_MOUSE_RELATIVE_MODE_WARP to specify whether mouse relative mode should be emulated using mouse warping.
slouken@8197
   183
* testgl2 does not need to link with libGL anymore
slouken@8197
   184
* Added testgles2 test program to demonstrate working with OpenGL ES 2.0
slouken@8197
   185
* Added controllermap test program to visually map a game controller
philipp@8220
   186
gabomdq@8044
   187
Windows:
gabomdq@8044
   188
* Support for OpenGL ES 2.x contexts using either WGL or EGL (natively via
gabomdq@8044
   189
  the driver or emulated through ANGLE)
slouken@8270
   190
* Added a hint SDL_HINT_VIDEO_WIN_D3DCOMPILER to specify which D3D shader compiler to use for OpenGL ES 2 support through ANGLE
slouken@8270
   191
* Added a hint SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT that is useful when creating multiple windows that should share the same OpenGL context.
slouken@8270
   192
* Added an event SDL_RENDER_TARGETS_RESET that is sent when D3D9 render targets are reset after the device has been restored.
slouken@8270
   193
slouken@8270
   194
Mac OS X:
slouken@8270
   195
* Added a hint SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK to control whether Ctrl+click should be treated as a right click on Mac OS X. This is off by default.
slouken@8270
   196
slouken@8270
   197
Linux:
slouken@8270
   198
* Fixed fullscreen and focused behavior when receiving NotifyGrab events
slouken@8270
   199
* Added experimental Wayland and Mir support, disabled by default
gabomdq@7907
   200
gabomdq@7907
   201
Android:
gabomdq@7907
   202
* Joystick support (minimum SDK version required to build SDL is now 12, 
gabomdq@7907
   203
  the required runtime version remains at 10, but on such devices joystick 
gabomdq@7907
   204
  support won't be available).
gabomdq@8057
   205
* Hotplugging support for joysticks
slouken@8274
   206
* Added a hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK to control whether the accelerometer should be listed as a 3 axis joystick, which it will by default.
slouken@8197
   207
gabomdq@7907
   208
gabomdq@7907
   209
---------------------------------------------------------------------------
slouken@7878
   210
2.0.1:
slouken@7878
   211
---------------------------------------------------------------------------
slouken@7878
   212
slouken@7878
   213
General:
slouken@7878
   214
* Added an API to get common filesystem paths in SDL_filesystem.h:
slouken@7878
   215
    SDL_GetBasePath(), SDL_GetPrefPath()
slouken@7878
   216
* Added an API to do optimized YV12 and IYUV texture updates:
slouken@7878
   217
    SDL_UpdateYUVTexture()
slouken@7878
   218
* Added an API to get the amount of RAM on the system:
slouken@7878
   219
    SDL_GetSystemRAM()
slouken@7878
   220
* Added a macro to perform timestamp comparisons with SDL_GetTicks():
slouken@7878
   221
    SDL_TICKS_PASSED()
slouken@7878
   222
* Dramatically improved OpenGL ES 2.0 rendering performance
slouken@7878
   223
* Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
slouken@7878
   224
slouken@7878
   225
Windows:
slouken@7878
   226
* Created a static library configuration for the Visual Studio 2010 project
slouken@7878
   227
* Added a hint to create the Direct3D device with support for multi-threading:
slouken@7878
   228
    SDL_HINT_RENDER_DIRECT3D_THREADSAFE
slouken@7878
   229
* Added a function to get the D3D9 adapter index for a display:
slouken@7878
   230
    SDL_Direct3D9GetAdapterIndex()
slouken@7878
   231
* Added a function to get the D3D9 device for a D3D9 renderer:
slouken@7878
   232
    SDL_RenderGetD3D9Device()
slouken@7878
   233
* Fixed building SDL with the mingw32 toolchain (mingw-w64 is preferred)
slouken@7878
   234
* Fixed crash when using two XInput controllers at the same time
slouken@7878
   235
* Fixed detecting a mixture of XInput and DirectInput controllers
slouken@7878
   236
* Fixed clearing a D3D render target larger than the window
slouken@7878
   237
* Improved support for format specifiers in SDL_snprintf()
slouken@7878
   238
slouken@7878
   239
Mac OS X:
slouken@7878
   240
* Added support for retina displays:
slouken@7878
   241
  Create your window with the SDL_WINDOW_ALLOW_HIGHDPI flag, and then use SDL_GL_GetDrawableSize() to find the actual drawable size. You are responsible for scaling mouse and drawing coordinates appropriately.
slouken@7878
   242
* Fixed mouse warping in fullscreen mode
slouken@7878
   243
* Right mouse click is emulated by holding the Ctrl key while left clicking
slouken@7878
   244
slouken@7878
   245
Linux:
slouken@7878
   246
* Fixed float audio support with the PulseAudio driver
slouken@7878
   247
* Fixed missing line endpoints in the OpenGL renderer on some drivers
slouken@7878
   248
* X11 symbols are no longer defined to avoid collisions when linking statically
slouken@7878
   249
slouken@7878
   250
iOS:
slouken@7878
   251
* Fixed status bar visibility on iOS 7
slouken@7878
   252
* Flipped the accelerometer Y axis to match expected values
slouken@7878
   253
slouken@7878
   254
Android:
slouken@7878
   255
IMPORTANT: You MUST get the updated SDLActivity.java to match C code
slouken@7878
   256
* Moved EGL initialization to native code 
slouken@7878
   257
* Fixed the accelerometer axis rotation relative to the device rotation
slouken@7878
   258
* Fixed race conditions when handling the EGL context on pause/resume
slouken@7878
   259
* Touch devices are available for enumeration immediately after init
slouken@7878
   260
slouken@7878
   261
Raspberry Pi:
slouken@7878
   262
* Added support for the Raspberry Pi, see README-raspberrypi.txt for details