Log

Author Commit Date CI Message
Sam Lantinga a8f540fe 2014-03-09T22:48:38 Fixed renderer flags to include support for target textures after the renderer is created.
Ryan C. Gordon 8c7ee701 2014-03-10T00:48:41 Removed unused variable.
Ryan C. Gordon 8d2dcbc1 2014-03-10T00:31:31 Updated WinCE readme to note WinRT work.
Ryan C. Gordon ea333d2e 2014-03-10T00:26:40 Turn off Mir support in the buildbot Raspberry Pi script.
Ryan C. Gordon 89648a9a 2014-03-10T00:01:14 Drop the default requested OpenGL version to 1.2. Fixes default context creation on Mac OS X <= 10.6.
Sam Lantinga 1fe7b27a 2014-03-09T12:27:31 Fixed 64-bit warnings
Sam Lantinga e58ee540 2014-03-09T12:08:07 Fixed compiling with mingw64
Sam Lantinga 1367bf87 2014-03-09T11:36:47 Integrated David Ludwig's support for Windows RT
Sam Lantinga 05c23063 2014-03-09T11:06:11 Fixed line endings on WinRT source code
Sam Lantinga c167d1f6 2014-03-09T10:38:30 Updated SDL to version 2.0.3
Sam Lantinga 360f1101 2014-03-09T10:37:45 Visual Studio 2013 project updates
Ryan C. Gordon db568d69 2014-03-09T11:52:52 Patched to compile with MingW64 on case-sensitive systems (thanks, Martin!). Fixes Bugzilla #2440.
Ryan C. Gordon 5755fa4b 2014-03-08T15:34:54 Patched to compile on C89 compilers.
Ryan C. Gordon 0f1a72c0 2014-03-08T15:32:12 Enable Wayland and Mir in configure/cmake scripts, now that 2.0.2 has shipped.
Sam Lantinga 20dc4214 2014-03-07T23:16:24 Added tag release-2.0.2 for changeset c20e24653d40
Ryan C. Gordon 2b92d9b4 2014-03-07T00:18:37 CMake: Don't use /NODEFAULTLIB on Windows unless we're Visual Studio.
Sam Lantinga e9eb7ecd 2014-03-06T20:02:17 Fixed bug 2430 - Missing initialization of the variable 'centroid' inside SDL_GestureAddTouch klose File: SDL_gesture.c Method: SDL_GestureAddTouch When a new SDL_GestureTouch element is added to the global SDL_gestureTouch array the variable 'centroid' of the new element is not initialized. The problem is that this variable is read isndie SDL_GestureProcessEvent when a SDL_FINGERDOWN event occurs.
David Ludwig 61ae0c1b 2014-03-04T19:49:11 WinRT: emit SDL_APP_TERMINATING
David Ludwig 844ad500 2014-03-04T19:30:36 WinRT: emit SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events
Ryan C. Gordon 9e67444a 2014-03-03T21:25:16 Mac: Added a hint to opt-out of new Spaces code.
Ryan C. Gordon 3889d478 2014-03-02T22:55:12 Removed unused variable.
Ryan C. Gordon 0e5cc8df 2014-03-02T22:51:31 Mac: Don't lose the menu/dock when switching back to a resizable window Space.
Ryan C. Gordon 86be8321 2014-03-02T22:16:49 Mac: only programmatically create Spaces if we're FULLSCREEN_DESKTOP. (coming back from fullscreen in any state is okay).
Ryan C. Gordon 460f97ff 2014-03-02T16:36:40 A bunch of fixes for the new Spaces code.
Sam Lantinga da324233 2014-03-02T13:06:51 Fixed dictionary initialization
Sam Lantinga 0f9bb0cd 2014-03-02T12:58:00 Updated to build on Mac OS X 10.7 with Xcode 4.6
Ryan C. Gordon 5eccbac4 2014-03-02T15:35:24 Mac: Manage menubar and dock as FULLSCREEN_DESKTOP windows become/resign key.
Bastien Nocera 4ca76b3e 2014-03-02T14:59:06 Add support for the freedesktop.org Idle Inhibition specification, as per: http://people.freedesktop.org/~hadess/idle-inhibition-spec/ This makes screensaver inhibition work with GNOME 3 and other desktop environments that implement the specification. https://bugzilla.libsdl.org/show_bug.cgi?id=2169
Sam Lantinga c2c08f68 2014-03-02T11:10:00 Backed out changeset 9357a2ca3473
Sam Lantinga 2cf453dd 2014-03-02T11:08:05 Make sure we return version 0 if XInput detection fails
Ryan C. Gordon 51faf449 2014-03-02T12:45:51 Reworked fullscreen policy on Mac OS X. - SDL_WINDOW_FULLSCREEN works as always (change resolution, lock to window). - SDL_WINDOW_FULLSCREEN_DESKTOP now puts the window in its own Space, and hides the menu bar, but you can slide between Spaces and Command-Tab between apps without the window minimizing, etc. - SDL_WINDOW_RESIZABLE windows will get the new 10.7+ "toggle fullscreen" window decoration and menubar item. As far as the app is concerned, this is no different than resizing a window, but it gives the end-user more power. - The hint for putting fullscreen windows into the Spaces system is gone, since Spaces can't enforce the requested resolution. It's a perfect match for FULLSCREEN_DESKTOP, though, so this is all automated now.
Ryan C. Gordon afc74d98 2014-03-02T02:00:40 Better attempt to detect available X11 XInput2 features. Fixes Bugzilla #2306.
Ryan C. Gordon fc0daeba 2014-03-02T01:59:25 Fixed X11 XInput2 multitouch test to work in configure script. configure wraps this C code in a main() function, so you can't declare a function body in there. Besides, I'm not sure why we declared a function that's part of the multitouch API anyhow. Now we just reference a type that only exists if the headers have multitouch support and call it a day.
Ryan C. Gordon 1005c934 2014-03-02T00:02:56 Windows: Fixed crash if quitting without closing an XInput haptic device.
Ryan C. Gordon 754067db 2014-03-01T22:27:21 Added a FIXME.
Ryan C. Gordon 7fa4eece 2014-03-01T22:27:13 Fixed a typo in a comment.
Ryan C. Gordon bafa4c7a 2014-03-01T21:33:48 Dynamically load glGetString(), to avoid direct dependency on OpenGL.
Ryan C. Gordon 73936208 2014-03-01T20:59:43 Added some FIXMEs.
Ryan C. Gordon 99583397 2014-03-01T20:46:45 Mac OS X: Make OpenGL context selection more robust, avoid software fallback. Fixes Bugzilla #2197.
Ryan C. Gordon 3e541f30 2014-03-01T20:28:40 Force Windows version of SDL_GetPrefPath() to Unicode, create missing dirs. Fixes Bugzilla #2273.
David Ludwig 6687ece1 2014-03-01T16:37:30 WinRT: cleaned up some hard-to-read SDL_DisplayMode management code
David Ludwig f4a5a0fa 2014-03-01T16:08:16 WinRT: fixed a crash in SDL_Quit SDL was expected that each SDL_DisplayMode had a driverdata field that was SDL_malloc'ed, and was calling SDL_free on them. This change moves WinRT's driverdata content into a SDL_malloc'ed field.
Sam Lantinga 63106e47 2014-03-01T12:21:15 Changed SDL_HINT_ACCEL_AS_JOY to SDL_HINT_ACCELEROMETER_AS_JOYSTICK to be more clear.
Sam Lantinga 54ba385b 2014-03-01T11:42:12 Fixed compiler warning
Sam Lantinga 86655b64 2014-03-01T11:40:41 Fixed compiler warning
Sam Lantinga d4996235 2014-03-01T11:39:39 Fixed test for libuuid.a
Sam Lantinga 2a67548a 2014-03-01T11:05:58 Updated with the latest 2.0.2 API changes
Sam Lantinga c916f388 2014-03-01T09:59:06 Fixed bug 2368 - Security Software is blocking RegisterRawInputDevices() Yamagi A customer of mine had the strange problem, that SDL_SetRelativeMouseMode() was failing for him on Windows 7. Luckily he was willing to provide some debug informations. We could track this problem down to RegisterRawInputDevices() failing due to security software running on his system (Norton Internet Security to be precise, but there are reports of similar problems with other products. For example [1]). Working around this issue with SDL_WarpMouseInWindow() is easy, and while I don't think that SDL2 can provide an internal workaround it would be really nice and helpfull if this could be documentated somewhere. 1: http://forums.codeguru.com/showthread.php?498374-How-to-run-a-very-long-SQL-statement
Sam Lantinga e663b4eb 2014-03-01T09:50:52 Fixed bug 2423 - timeBeginPeriod & timeEndPeriod mismatch Coriiander In src\timer\windows\SDL_systimer.c there is an error with regards to timeBeginPeriod and timeEndPeriod. These functions typically get called when no high resolution timer is available, and GetTickCount is not used. According to MSDN (link: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757624(v=vs.85).aspx), for every call to timeBeginPeriod a subsequent call to timeEndPeriod is required. While SDL is currently doing this, it fails to call timeEndPeriod when cleaning up/shutting down SDL. Please note that these functions affect things on a system level. Failing to call timeEndPeriod, disables applications for using WINMM-timers after usage&shutdown of SDL, as effectively they the mechanism is now broken. Solution: Ensure this code gets called when shutting down the timer subsystem: #ifndef USE_GETTICKCOUNT if (!hires_timer_available) { timeSetPeriod(0); } #endif
Sam Lantinga ab9345a8 2014-02-28T16:24:41 Null termnate the pUserMappings variable to prevent memory corruption.
Sam Lantinga e56bbe3f 2014-02-28T14:23:41 Added a hint to enable the screensaver by default
Ryan C. Gordon ac32352f 2014-02-27T22:06:41 Disable the screensaver by default. Fixes Bugzilla #2218.
Gabriel Jacobo f61602b4 2014-02-27T20:21:46 Improve window recreation logic in OpenGL* renderers
J?rgen P. Tjern? 0d5957df 2014-02-26T16:27:03 Mac: Forgot return value in last commit.
J?rgen P. Tjern? dd94c5fa 2014-02-26T16:10:52 Mac: Don't disassociate cursor if window is moving / doesn't have focus. Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2396
J?rgen P. Tjern? 4850d259 2014-02-26T11:35:02 Mac: Redo cursor warp handling. This fixes bugs related to getting unnaturally large xrel/yrel for SDL_MOUSEMOTION after warps and enabling / disabling relative mode. Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=1836
J?rgen P. Tjern? 52a63e82 2014-02-25T17:27:41 Mac: Improve moving relative mode windows. This makes it possible to move windows by their title bar, even if they're in relative mode, if you click the title bar when the window does not have focus. Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2396
J?rgen P. Tjern? 98d87379 2014-02-25T17:25:49 Mac: Fix error message for haptic subsystem. We were calling SDL_Error instead of SDL_SetError when the haptic subsystem wasn't initialized.
J?rgen P. Tjern? 95f7e242 2014-02-25T15:28:12 Mac: Immediately update current OpenGL context's shape. Previously we were postponing our -[NSOpenGLContext update] call to the next SDL_GL_SwapWindow, even if the context was current on the current thread. This changes it so that we will do the update immediately if it's the current context. If you're rendering on another thread, you need to call SDL_GL_SwapWindow once after a resize event to ensure your drawable will produce non-garbage data. Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2339
Gabriel Jacobo 4c192bc8 2014-02-25T17:42:34 Fixes #2308, recreate window if GL requirements for the renderer are not met If the window has been created with values for SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION not matching those required by the renderer, attempt to recreate the window. This is needed on platforms where both GL and GLES 1/2 surfaces are supported by the video backend, requiring that the window be recreated when switching between context types.
Sam Lantinga 8db4c5a9 2014-02-25T10:04:49 Fixed crash if the input data pitch is larger than the locked texture pitch
Sam Lantinga b420ad0e 2014-02-24T23:09:35 Don't warp the mouse while we're doing a modal interaction
Sam Lantinga 2a6213ad 2014-02-24T22:49:30 Make sure we don't clip the cursor while clicking on the window title bar
Sam Lantinga 973d890b 2014-02-24T22:37:58 Fixed relative mouse mode with multiple windows. The window cursor clipping will be taken care of when SDL_UpdateWindowGrab() is called.
Sam Lantinga 54debf84 2014-02-24T22:36:24 Added a bunch of missing windows messages
J?rgen P. Tjern? d6b1218b 2014-02-24T16:42:08 Mac: Fix inconsistent repeat of SDL_TEXTINPUT events on 10.7+ Due to the new "tap and hold" IME in Mountain Lion and above, we were getting inconsistent repeat of SDL_TEXTINPUT events. Disabling that functionality (since you can't see the popover anyway) solves this. Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2387
Gabriel Jacobo 6ee12d6c 2014-02-24T18:57:22 Fixes #2296 - SDL_GL_UnbindTexture segfaults (thanks Daniel B?nzli)
Ryan C. Gordon b814f23a 2014-02-24T11:24:48 CMake: Fixed build on Mac OS X.
Gabriel Jacobo 1084421c 2014-02-24T10:25:02 Zero out haptic linked list items on creation (thanks to Turo Lamminen for the report!)
Gabriel Jacobo 2ed47d83 2014-02-24T10:00:10 Fixes #2417, memory leak in SDL_gamecontroller.c (thanks Leonardo!)
Ryan C. Gordon 96f09df7 2014-02-23T01:24:46 Free the correct variable.
Ryan C. Gordon 295acea9 2014-02-23T01:10:33 CMake: Just assume Apple platforms have Cocoa support. Fixes Bugzilla #2056.
Sam Lantinga 9cd5f5ce 2014-02-22T19:10:45 Fixed bug 2404 - CPU detection not working with MSVC on x64 Tiemo Jung All CPU detection functions SDL_Has* will return false, even if it is supported by the CPU, if SDL is compiled with MSVC and the target is x64. The reason for this is that 'CPU_haveCPUID' will return 0 and macro 'cpuid' in SDL_cpuinfo.c is the fallback implementation, which sets all params to zero. It is safe to assume that cpuid is supported on a CPU that runs windows x64, so CPU_haveCPUID can just return 1, and the empty macro can be replaced with a small wrap around the __cpuid intrinsic.
Ryan C. Gordon f9f2bc5a 2014-02-22T21:21:33 Fixed Mac DualShock 4 gamecontroller db entry again.
Ryan C. Gordon b67b970d 2014-02-22T21:15:34 Mac joystick: ignore duplicate HID elements. The DualShock 4 has all elements listed twice: once in the top-level list of elements, and once in an "Application Collection" element at the top-level. Each element has a proper cookie with a unique value, so now we descend into each element collections, but before we add an element to the device's list, we make sure we don't already have one with that cookie, probably from another collection or a buggy device.
Sam Lantinga fea87cc9 2014-02-22T18:01:18 Fixed bug 2335 - Fails to build on Debian GNU/kFreeBSD Felix Geyer Starting from version 2.0.1 libsdl fails to build on Debian GNU/kFreeBSD in SDL_cpuinfo.c. GNU/kFreeBSD defines __FreeBSD_kernel__ but not __FreeBSD__. The #ifdef __FreeBSD__ check should be extended for __FreeBSD_kernel__, see the attached patch. Build log: libtool: compile: gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -DUSING_GENERATED_CONFIG_H -Iinclude -I/?BUILDDIR?/libsdl2-2.0.1+dfsg1/include -mmmx -m3dnow -msse -msse2 -fvisibility=hidden -D_REENTRANT -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-kfreebsd-gnu/dbus-1.0/include -DHAVE_USBHID_H -DUSBHID_NEW -D_REENTRANT -Wall -c /?BUILDDIR?/libsdl2-2.0.1+dfsg1/src/cpuinfo/SDL_cpuinfo.c -fPIC -DPIC -o build/.libs/SDL_cpuinfo.o /?BUILDDIR?/libsdl2-2.0.1+dfsg1/src/cpuinfo/SDL_cpuinfo.c: In function 'SDL_GetSystemRAM': /?BUILDDIR?/libsdl2-2.0.1+dfsg1/src/cpuinfo/SDL_cpuinfo.c:632:35: error: 'HW_MEMSIZE' undeclared (first use in this function) int mib[2] = {CTL_HW, HW_MEMSIZE}; ^ /?BUILDDIR?/libsdl2-2.0.1+dfsg1/src/cpuinfo/SDL_cpuinfo.c:632:35: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [build/SDL_cpuinfo.lo] Error 1
Sam Lantinga 6bb2f2ef 2014-02-22T17:55:58 Fixed bug 2347 - On OSX, an SDL app prevents system shutdown. Tim McDaniel On OSX, an SDL app forces a system shutdown to be cancelled. This happens because [SDLAppDelegate applicationShouldTerminate] returns NSTerminateCancel. A better approach is to subclass NSApplication and override terminate to do nothing except call SDL_SendQuit. In response to a system shutdown notification, this allows the normal SDL Quit event processing to occur, and if the app then terminates, system shutdown occurs normally. Please see the attached patch, based on SDL 2.0.1.
Sam Lantinga b80f4f9e 2014-02-22T17:39:35 Don't fail initialization if the helper window class already exists.
Sam Lantinga a5f52ac5 2014-02-22T17:32:18 Fixed bug 2395 - OSX: App name in the menu bar is not localized. Tim McDaniel On OSX, the app name in the menu bar is not localized. This can be fixed using the following implementation for GetApplicationName in SDL_cocoaevents.m: static NSString * GetApplicationName(void) { NSDictionary *dict; NSString *appName = 0; appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]; if (!appName) appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]; if (![appName length]) appName = [[NSProcessInfo processInfo] processName]; return appName; }
Sam Lantinga eb5eb046 2014-02-22T15:34:31 Fixed bug 2298 - undefined reference to `IID_IUnknown' on cygwin Brian Minton When building static or shared libraries on cygwin 1.7.25 on Windows 7 (32-bit), I get the following link errors: build/.libs/SDL_windowskeyboard.o: In function `UIElementSink_QueryInterface@12': /home/c-bminton/src/SDL/src/video/windows/SDL_windowskeyboard.c:995: undefined reference to `IID_IUnknown' build/.libs/SDL_windowskeyboard.o: In function `IPPASink_QueryInterface@12': /home/c-bminton/src/SDL/src/video/windows/SDL_windowskeyboard.c:1101: undefined reference to `IID_IUnknown' collect2: error: ld returned 1 exit status Makefile:126: recipe for target 'build/libSDL2.la' failed make: *** [build/libSDL2.la] Error 1 -- The libuuid from e2fsprogs is completely unrelated to the w32api UUID.DLL implib. FWIW, any *NIX software that I've seen obviously wants the e2fsprogs version, but if libuuid-devel is installed (in /usr/lib) then you can't link against the w32api implib with a simple -luuid.
Sam Lantinga 5512eac6 2014-02-22T15:27:11 Fixed bug 2414 - Execute event watchers in the order they were added Leonardo Event watchers are being executed on the inverse order they are added because they are added to the head of the SDL_event_watchers list. Since watchers are allowed to change events before they are reported (they shouldn't, imo), this breaks code that rely on watcher execution order (such as distributed event handling). An easy scenario to see this behaving weird to the user is if you add an event watcher to check mouse coordinates and check them again in your event loop. If you add the watcher after renderer's one (which always happens after you have initialized renderer), you get the same event but different coordinates. The proposed patch adds the event watcher in the tail of the list, not in the beginning, and correctly fixes this problem.
Sam Lantinga f7de4ae1 2014-02-22T15:23:09 Fixed bug 2407 - Support for OpenGL ES 3 contexts on iOS Alex Szpakowski Currently the UIKit/EAGL backend for SDL's OpenGL context creation API doesn't support OpenGL ES 3, despite iOS 7+ being capable (on devices with the necessary hardware.) I have attached a patch to add support. It's also slightly more future-proof, so eventual OpenGL ES 4+ capability on iOS should hopefully work without requiring changes to SDL's UIKit/EAGL backend.
Sam Lantinga af0ab490 2014-02-22T14:57:12 Fixed bug 2346 - Mac: mousewheel events have flipped horizontal scroll values Alex Szpakowski On my Mac OS X system (10.9.1), the SDL_MOUSEWHEEL event reports negative X values when my trackpad scrolls to the right, and positive X values when my trackpad scrolls to the left. This is backwards from what I'd expect, and I don't think it matches the Windows wheel events. The vertical scroll values are what I'd expect though, and are consistent what gets reported on Windows (positive Y for scrolling up, negative Y for scrolling down.) This is with "scroll direction: natural" disabled in the OS X trackpad settings (i.e. my scroll direction in non-SDL OS X programs matches what happens in Windows and Linux.) I also tested with the horizontal scroll on a real mouse (Logitech G500 without custom drivers), and the horizontal scroll values in SDL are still flipped. I "solved" the issue for myself by changing this line in the Cocoa_HandleMouseWheel function: float x = [event deltaX]; to this: float x = -[event deltaX]; I believe it should work fine with that change - I found something similar in another codebase while looking online for my issue - but I haven't tested on anything below Mac OS 10.8.
Sam Lantinga 7c33f233 2014-02-22T10:40:12 Thou shalt not use more than 4k local variables in this code.
Ryan C. Gordon 0deb54c0 2014-02-22T00:55:28 Reworked Mac OS X joystick code to use the 10.5+ HID Manager API. Besides being a little more simple to use than the earlier IOKit HID API, and less likely to be deprecated, it also has the added benefit of working with the Sony DualShock 4 controller in Bluetooth mode out of the box, whereas the previous API has a bug that makes it report bad data for the controller. Cleaned up several other things in this code, having gone over every line of it. The remaining deprecated calls are also gone.
James Legg d3cf7360 2014-02-21T13:57:53 Fix audio conversion when channel count changes - Use the SDL_AUDIO_MASK_DATATYPE bit when selecting an implementation where it matters. Previously two existing AUDIO_F32 cases had been written, but were unreachable. - Add AUDIO_F32 case for SDL_ConvertSurround_4. - Fix incorrect pointer arithmetic causing the 2 to 6 channel conversion for 4 byte audio formats to read and write beyond the end of the buffer.
Gabriel Jacobo abe2ac2c 2014-02-21T08:37:57 Fixes #2326, clean up the X11 backend a bit
Sam Lantinga 22e3217e 2014-02-20T21:07:56 Fixed infinite recursion in D3D_Reset()
Gabriel Jacobo ea71a5e0 2014-02-20T17:03:55 Fixes #2408, VS2013: several projects of release build are not built Patch by Hiroyuki Iwatsuki
Gabriel Jacobo 01550b96 2014-02-20T16:12:11 Improve testgles2 exit behavior (useful on Android)
Gabriel Jacobo e3f0d53b 2014-02-19T11:03:03 Fixes #2403, add SDL2 dependency to testgles2 (thanks Hiroyuki Iwatsuki)
Sam Lantinga 6b33f2e8 2014-02-17T22:20:33 Fixed resetting the current render target if the D3D device is reset while using a non-default render target.
Ryan C. Gordon ccce6fb3 2014-02-17T11:47:54 s/iPhoneOS/iOS
Ryan C. Gordon 245e125e 2014-02-17T11:46:23 Corrected battery percentage on iOS (thanks, Felix!). Fixes Bugzilla #2397.
Philipp Wiesemann fbeb24e9 2014-02-16T00:04:15 Fixed documentation comments in SDL_hints.h file.
Philipp Wiesemann fc1c17cc 2014-02-15T23:57:38 Changed text in documentation.
Philipp Wiesemann 70b975d6 2014-02-15T23:52:04 Corrected name of hint in README.
Sam Lantinga 5c5770ad 2014-02-14T11:39:58 Make sure we don't stay in the windows event loop forever if there are lots of events coming in quickly.
Sam Lantinga 441f7d8d 2014-02-14T11:38:59 Fixed Mac PS4 controller entry, added Linux OUYA controller entry
Sam Lantinga 268071d1 2014-02-13T11:08:12 Added the new function at the end so we don't break the ABI