GLFW 3.2 is available for download. It adds support for Vulkan surface creation, window mode switching, window maximization, window input focus control, window size and aspect ratio limits, human-readable key names, window icons, joystick connection events, XInput and DirectInput joystick input, event waiting with timeout, 64-bit integer raw timer, context-less window creation, error-less contexts via GL_KHR_no_error (where available), run-time context creation API selection, Windows 8.1 per-monitor DPI and the CMake config-file package system, adds simpler build-time configuration, improved documentation and fixes for a large number of bugs that together affect all supported platforms.
- Added
glfwVulkanSupported,glfwGetRequiredInstanceExtensions,glfwGetInstanceProcAddress,glfwGetPhysicalDevicePresentationSupportandglfwCreateWindowSurfacefor platform independent Vulkan support - Added
glfwSetWindowMonitorfor switching between windowed and full screen modes and updating the monitor and desired video mode of full screen windows - Added
glfwMaximizeWindowandGLFW_MAXIMIZEDfor window maximization - Added
glfwFocusWindowfor giving windows input focus - Added
glfwSetWindowSizeLimitsandglfwSetWindowAspectRatiofor setting absolute and relative window size limits - Added
glfwGetKeyNamefor querying the layout-specific name of printable keys - Added
glfwWaitEventsTimeoutfor waiting for events for a set amount of time - Added
glfwSetWindowIconfor setting the icon of a window - Added
glfwGetTimerValueandglfwGetTimerFrequencyfor raw timer access - Added
glfwSetJoystickCallbackandGLFWjoystickfunfor joystick connection and disconnection events - Added
GLFW_NO_APIfor creating window without contexts - Added
GLFW_INCLUDE_VULKANfor including the Vulkan header - Added
GLFW_CONTEXT_CREATION_API,GLFW_NATIVE_CONTEXT_APIandGLFW_EGL_CONTEXT_APIfor run-time context creation API selection - Added
GLFW_CONTEXT_NO_ERRORcontext hint forGL_KHR_no_errorsupport - Added
GLFW_TRUEandGLFW_FALSEas client API independent boolean values - Added icons to examples on Windows and OS X
- Relaxed rules for native access header macros
- Removed dependency on external OpenGL or OpenGL ES headers
- Removed
_GLFW_USE_OPENGL,_GLFW_USE_GLESV1,_GLFW_USE_GLESV2,_GLFW_WGL,_GLFW_NSGL,_GLFW_GLXand_GLFW_EGLconfiguration macros - [Win32] Added support for Windows 8.1 per-monitor DPI
- [Win32] Replaced winmm with XInput and DirectInput for joystick input
- [Win32] Bugfix: Window creation would segfault if video mode setting required the system to be restarted
- [Win32] Bugfix: MinGW import library lacked the
libprefix - [Win32] Bugfix: Monitor connection and disconnection events were not reported when no windows existed
- [Win32] Bugfix: Activating or deactivating displays in software did not trigger monitor callback
- [Win32] Bugfix: No monitors were listed on headless and VMware guest systems
- [Win32] Bugfix: Pressing Ctrl+Pause would report
GLFW_KEY_UNKNOWN - [Win32] Bugfix: Window size events would be reported in wrong order when restoring a full screen window
- [Cocoa] Made joystick polling more efficient
- [Cocoa] Removed support for OS X 10.6
- [Cocoa] Bugfix: Full screen windows on secondary monitors were mispositioned
- [Cocoa] Bugfix: Connecting a joystick that reports no name would segfault
- [Cocoa] Bugfix: Modifier flags cache was not updated when window became key
- [Cocoa] Bugfix: Dead key character composition did not work
- [Cocoa] Bugfix: The CGL context was not released until the autorelease pool was drained by another function
- [X11] Bugfix: Monitor connection and disconnection events were not reported
- [X11] Bugfix: Decoding of UTF-8 text from XIM could continue past the end
- [X11] Bugfix: An XKB structure was leaked during
glfwInit - [X11] Bugfix: XInput2
XI_Motionevents interfered with the Steam overlay - [POSIX] Bugfix: An unrelated TLS key could be deleted by
glfwTerminate - [Linux] Made joystick polling more efficient
- [WGL] Changed extension loading to only be performed once
- [WGL] Removed dependency on external WGL headers
- [GLX] Added
glfwGetGLXWindowto query theGLXWindowof a window - [GLX] Replaced legacy drawable with
GLXWindow - [GLX] Removed dependency on external GLX headers
- [GLX] Bugfix: NetBSD does not provide
libGL.so.1 - [EGL] Added
_GLFW_USE_EGLPLATFORM_Hconfiguration macro for controlling whether to use an existingEGL/eglplatform.hheader - [EGL] Added and documented test for if the context is current on the calling thread during buffer swap
- [EGL] Removed dependency on external EGL headers