What's new in GLFW 3.1.2
Oct 13, 2015
- This release adds fixes for a large number of bugs that together affect all supported platforms, as well as dynamic loading work that simplifies compilation and linking.
New in GLFW 3.1.1 (Mar 20, 2015)
- This release adds fixes for a number of bugs that together affect all supported platforms, most notably workarounds for bugs in some popular window managers.
New in GLFW 3.1 (Jan 19, 2015)
- Added GLFWcursor custom system cursor handle
- Added glfwCreateCursor, glfwCreateStandardCursor, glfwDestroyCursor and glfwSetCursor for managing system cursor images
- Added GLFWimage struct for passing 32-bit RGBA images
- Added monitor and adapter identifier access to native API
- Added glfwSetDropCallback and GLFWdropfun for receiving dropped files
- Added glfwPostEmptyEvent for allowing secondary threads to cause glfwWaitEvents to return
- Added empty test program for verifying posting of empty events
- Added glfwSetCharModsCallback for receiving character events with modifiers
- Added glfwGetWindowFrameSize for retrieving the size of the frame around the client area of a window
- Added GLFW_AUTO_ICONIFY for controlling whether full screen windows automatically iconify (and restore the previous video mode) on focus loss
- Added GLFW_DONT_CARE for indicating that any value is acceptable
- Added GLFW_DOUBLEBUFFER for controlling whether to use double buffering
- Added GLFW_CONTEXT_RELEASE_BEHAVIOR and values GLFW_ANY_RELEASE_BEHAVIOR, GLFW_RELEASE_BEHAVIOR_FLUSH and GLFW_RELEASE_BEHAVIOR_NONE for GL_KHR_context_flush_control support
- Added GLFW_INCLUDE_ES31 for including the OpenGL ES 3.1 header
- Added GLFW_FLOATING for creating always-on-top windowed mode windows
- Added GLFW_FOCUSED window hint for controlling initial input focus
- Added partial and experimental support for Wayland
- Added partial and experimental support for Mir
- Changed the window state attributes (focused, iconified and visible) to query the system directly
- Changed the default of GLFW_REFRESH_RATE to GLFW_DONT_CARE to maintain the default behavior
- Changed static library to build as position independent code for easier use from the Rust language
- Changed glfwGetCursorPos to query the system directly for all cursor modes except captured mode
- Bugfix: The debug context attribute was set from GL_ARB_debug_output even when a debug context had not been requested
- Bugfix: The particles example was not linked against the threading library
- Bugfix: The cursor was not positioned over newly created full screen windows
- Bugfix: The queried cursor position was not always up-to-date
- Bugfix: glfwExtensionSupported always failed for OpenGL ES 3.0 and later if the library was compiled for OpenGL ES
- [Cocoa] Added _GLFW_USE_RETINA to control whether windows will use the full resolution on Retina displays
- [Cocoa] Made content view subclass of NSOpenGLView
- [Cocoa] Bugfix: Using a 1x1 cursor for hidden mode caused some screen recorders to fail
- [Cocoa] Bugfix: Some Core Foundation objects were leaked during joystick enumeration and termination
- [Cocoa] Bugfix: One copy of each display name string was leaked
- [Cocoa] Bugfix: Monitor enumeration caused a segfault if no NSScreen was found for a given CGDisplay
- [Cocoa] Bugfix: Modifier key events were lost if the corresponding modifier bit field was unchanged
- [Cocoa] Bugfix: Joystick enumeration took hundreds of ms on some systems
- [Cocoa] Bugfix: The cursor was hidden when the user resized a GLFW window
- [Cocoa] Bugfix: The 10.10 Yosemite OpenGL 4.1 profile token was not used
- [Cocoa] Bugfix: The generic software OpenGL renderer could be selected under certain conditions
- [Cocoa] Bugfix: The virtual cursor jumped unpredictably when entering disabled cursor mode
- [Win32] Enabled generation of pkg-config file for MinGW
- [Win32] Removed option to require explicitly linking against winmm.dll
- [Win32] Bugfix: Failure to load winmm or its functions was not reported to the error callback
- [Win32] Bugfix: Some keys were reported based on the current layout instead of their physical location
- [Win32] Bugfix: Maximized hidden windows were restored by glfwShowWindow
- [Win32] Bugfix: Context re-creation was not triggered by sRGB hint
- [Win32] Bugfix: Full screen windows were incorrectly sized and placed on some systems
- [Win32] Bugfix: Gamma ramp functions acted on entire desktop instead of the specified monitor
- [Win32] Bugfix: The wrong incorrect physical size was returned for non-primary monitors
- [Win32] Bugfix: X-axis scroll offsets were inverted
- [Win32] Bugfix: The Optimus HPG forcing variable was not correctly exported
- [Win32] Bugfix: The iconified window state attribute was not always updated
- [Win32] Bugfix: Previously focused windows with disabled cursor mode and that had been iconified by Win+D were not visible when restored
- [Win32] Bugfix: The virtual cursor jumped unpredictably when entering disabled cursor mode
- [X11] Added run-time support for systems lacking the XKB extension
- [X11] Made GLX 1.3 the minimum supported version
- [X11] Replaced XRRGetScreenResources with XRRGetScreenResourcesCurrent for monitor property retrieval
- [X11] Bugfix: The case of finding no usable CRTCs was not detected
- [X11] Bugfix: Detection of broken Nvidia RandR gamma support did not verify that at least one CRTC was present
- [X11] Bugfix: A stale _NET_SUPPORTING_WM_CHECK root window property would cause an uncaught BadWindow error
- [X11] Bugfix: No check was made for the presence of GLX 1.3 when GLX_SGIX_fbconfig was unavailable
- [X11] Bugfix: The message type of ICCCM protocol events was not checked
- [X11] Bugfix: glfwDestroyWindow did not flush the output buffer
- [X11] Bugfix: Window frame interactions were reported as focus events
- [X11] Bugfix: Workaround for legacy Compiz caused flickering during resize
- [X11] Bugfix: The name pointer of joysticks were not cleared on disconnection
- [X11] Bugfix: Video mode resolutions and monitor physical sizes were not corrected for rotated CRTCs
- [X11] Bugfix: Unicode character input ignored dead keys
- [X11] Bugfix: X-axis scroll offsets were inverted
- [X11] Bugfix: Full screen override redirect windows were not always positioned over the specified monitor
- [X11] Bugfix: Character input did not work for the default "C" locale
- [X11] Bugfix: Joysticks connected after glfwInit were not detected (temporary inotify solution until proper libudev solution)
New in GLFW 3.0.4 (Jan 10, 2014)
- Added the GLFW_BUILD_DOCS CMake option for controlling whether the documentation is built
- Added the _GLFW_USE_CONFIG_H configuration macro for controlling whether to include the configuration header
- Moved version number macro to internal.h for easier manual compilation
- Renamed configuration header to glfw_config.h to avoid conflicts
- Bugfix: The glfw3.pc file did not respect the LIB_SUFFIX CMake option
- Bugfix: The joysticks test would segfault if a controller had no axes
- [Win32] Allowed swap interval to be explicitly set to zero on DWM systems
- [Win32] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [Win32] Bugfix: Restoring windows using the Win+D hot key did not trigger the focus callback
- [Win32] Bugfix: The disabled cursor mode clip rectangle was updated for unfocused windows
- [Win32] Bugfix: Cursor was not properly re-centered over odd-sized windows
- [Win32] Bugfix: Negative window positions were reported incorrectly
- [Win32] Bugfix: The iconify callback was not triggered when switching away from a full screen window using Alt+Tab
- [Win32] Bugfix: Resizing a window with glfwSetWindowSize gave it focus
- [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval
- [Cocoa] Enabled Lion full screen for resizable windowed mode windows
- [Cocoa] Moved to Cocoa API for application transformation and activation
- [Cocoa] Bugfix: The GLFW_KEY_GRAVE_ACCENT key was reported as GLFW_KEY_WORLD_1 and vice versa
- [Cocoa] Bugfix: The GLFW_KEY_F13 key was reported as GLFW_KEY_PRINT_SCREEN
- [Cocoa] Bugfix: Implicit conversion from NSUInteger to int caused warnings with Xcode 5
- [Cocoa] Bugfix: Use of undeclared selectors with @selector caused warnings with Xcode 5
- [Cocoa] Bugfix: The cursor remained visible if moved onto client area after having been set to hidden outside it
- [Cocoa] Bugfix: The refresh rate was zero for all modes of certain monitors
- [Cocoa] Bugfix: The install_name field of the dynamic library was not set
- [Cocoa] Bugfix: Full screen windows were never reported as having focus
- [Cocoa] Bugfix: A superfluous I/O flag test prevented video modes from being listed for Thunderbolt monitor
- [Cocoa] Bugfix: Retrieving the name of some external displays caused segfault
- [Cocoa] Bugfix: The 10.9 SDK defines GLintptrARB and GLsizeiptrARB differently from the Khronos glext.h
- [Cocoa] Bugfix: Creating hidden windows would steal application focus
- [Cocoa] Bugfix: Controllers were reported as having zero buttons and axes
- [Cocoa] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [X11] Added setting of the WM_CLASS property to the initial window title
- [X11] Added support for _NET_WM_BYPASS_COMPOSITOR
- [X11] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [X11] Bugfix: The position of hidden windows was ignored by Metacity and Compiz
- [X11] Bugfix: The pthread.h header was not included by the GLX platform header.
New in GLFW 3.0 (Jun 17, 2013)
- This version removes deprecated features and adds a new API supporting multiple windows and monitors, sRGB, robustness, OpenGL ES, high-DPI, gamma ramps, callbacks for more events, clipboard text I/O, an error description callback, layout-independent keyboard input, UTF-8 for all strings, and more.
New in GLFW 2.7.9 (Jun 7, 2013)
- This version adds fixes for multiple cursor motion bugs on Windows and fixes support for the LFLAGS environment variable on OS X.
New in GLFW 2.7.8 (Apr 6, 2013)
- This version fixed a few minor bugs on each platform, most notably the flashing window on Windows and a workaround for a bug in Mesa 9.x.
New in GLFW 2.7.7 (Nov 10, 2012)
- This release adds fixes for a few minor bugs on each platform, support for more swap interval methods on X11 and Visual C++ 2012 project files.
- [Cocoa] Bugfix: The cursor positioning code used NSPoint in place of CGPoint
- [Cocoa] Bugfix: The detection of setRestorable: used the wrong selector signature
- [Cocoa] Bugfix: The test for whether glfwTerminate had been called from the main thread was missing
- [Win32] Added Visual C++ 2012 project files for the static library, DLL and all test and example programs
- [Win32] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT hint did not trigger context re-creation when WGL_ARB_create_context was available
- [Win32] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT window parameter was not set after debug context creation
- [X11] Added support for the GLX_EXT_swap_control and GLX_MESA_swap_control extensions as alternatives to GLX_SGI_swap_control
- [X11] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT window parameter was not set after debug context creation
- [X11] Bugfix: The window size hints were not updated when calling glfwSetWindowSize on a non-resizable window
- [X11] Bugfix: The detected link flags for clock_gettime were not added to the pkg-config file
New in GLFW 2.7.6 (Jul 4, 2012)
- This version adds support for joysticks on Mac OS X, a graphical joystick test, support for 64-bit builds using MinGW-w64, and fixes for a number of (primarily input) bugs.
New in GLFW 2.7.5 (Apr 17, 2012)
- This version fixes a compilation error for certain versions of Mac OS X and adds support for monotonic time input on Cocoa.
New in GLFW 2.7.4 (Mar 22, 2012)
- This version adds bugfixes for a few minor issues in 2.7.3, most notably the missing -lrt on X11 and removal of the non-interactive menu bar created by glfwInit on Mac OS X.
New in GLFW 2.7.3 (Feb 14, 2012)
- This version replaces Cygwin cross-compilation with better MinGW and MSYS support, adds support for POSIX monotonic timers, adds the GLFW_INCLUDE_GL3 to make GLFW include the draft gl3.h header instead of gl.h, and fixes a number of bugs.
New in GLFW 2.7.2 (Aug 14, 2011)
- This version adds support for OpenGL 3.2 core profile on OS X Lion.
- It fixes a few minor bugs in the Cocoa port.
New in GLFW 2.7.1 (Jul 27, 2011)
- Many minor issues have been fixed.
- Most notably, a buffer overflow in WGL context creation was fixed, a test was added for the WGL_ARB_create_context_profile extension, a regression in the dlopen code path was fixed, a termination error in GLX context creation has been fixed, the active and iconified states are now tracked on Cocoa, and Win32 window iconification has been improved.
- Projects files for Visual C++ 2010 have been added.
- A test for dynamic linking has been added.