# GLFW 3.1.2 released

**URL:** <https://discourse.glfw.org/t/glfw-3-1-2-released/623>\
**Category:** announcements\
**Created:** [October 11, 2015, 10:00pm UTC](https://discourse.glfw.org/t/glfw-3-1-2-released/623 "2015-10-11T22:00:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![elmindreda](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.glfw.org/elmindreda/32/26_2.png) [@elmindreda](https://discourse.glfw.org/u/elmindreda)\
**Post date:** [October 11, 2015, 10:00pm UTC](https://discourse.glfw.org/t/glfw-3-1-2-released/623/1 "2015-10-11T22:00:00Z")

</div>

GLFW 3.1.2 is [available for download](http://www.glfw.org/download.html). It 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.

- Made all client API functions dynamically loaded
- Changed minimum required CMake version to 2.8.12
- Replaced GLU with [linmath.h](https://github.com/datenwolf/linmath.h) in example programs
- Merged all cursor test programs into the `cursor` program
- Removed all mention of GLU in examples, build files and package dependencies
- Bugfix: Initialization failed on headless systems
- Bugfix: The cached current context could get out of sync
- Bugfix: `glfwIconifyWindow` did not restore the original video mode for full screen windows created with `GLFW_AUTO_ICONIFY`
- [Win32] Renamed hybrid GPU override compile-time option to `_GLFW_USE_HYBRID_HPG` and added support for AMD PowerXpress systems
- [Win32] Bugfix: `glfwGetVideoModes` included unusable modes on some systems
- [Win32] Bugfix: `glfwWaitEvents` would return directly for focused windows in disabled cursor mode
- [Cocoa] Bugfix: The cached `NSScreen` for a monitor could get out of sync
- [Cocoa] Bugfix: The `GLFW_AUTO_ICONIFY` window hint was ignored
- [Cocoa] Bugfix: Resizing a window to its minimum size would segfault
- [Cocoa] Bugfix: Creating or showing a window would make its context current
- [Cocoa] Bugfix: Joysticks connected after `glfwInit` were not detected
- [Cocoa] Bugfix: Cursor creation failed unless a window had been created.
- [Cocoa] Bugfix: Window refresh events were not generated by iconification or restoration
- [Cocoa] Bugfix: The primary monitor would get reported as disconnected when entering full screen on a dual-GPU machine with automatic graphics switching
- [Cocoa] Bugfix: The original video modes were not restored when the application was hidden
- [X11] Bugfix: `glfwInit` would segfault on systems without RandR
- [X11] Bugfix: The response to `_NET_WM_PING` was sent to the wrong window
- [X11] Bugfix: Character input via XIM did not work in many cases
- [X11] Bugfix: No fallback existed for missing `_NET_ACTIVE_WINDOW` support
- [X11] Bugfix: Some significant window focus events were ignored
- [X11] Bugfix: The `GLFW_AUTO_ICONIFY` window hint was ignored
- [X11] Bugfix: The original video mode was not restored on iconification of full screen windows
- [X11] Bugfix: `GLFW_ARROW_CURSOR` selected the wrong cursor image
- [X11] Bugfix: The `GLFW_DECORATED` hint was not ignored for full screen
- [X11] Bugfix: `glfwWaitEvents` did not handle `EINTR` for `select`
- [X11] Bugfix: `glfwWaitEvents` could return when no events were available
- [X11] Bugfix: `XkbGetKeyboard` fails on XWayland
- [X11] Bugfix: Character input did not work correctly for non-UTF-8 locales
- [X11] Bugfix: Long input sequences generated by IMEs were discarded
- [WGL] Made all WGL functions dynamically loaded
- [WGL] Removed `GLFW_USE_DWM_SWAP_INTERVAL` compile-time option
- [WGL] Bugfix: Swap interval was ignored when DWM was enabled
- [WGL] Bugfix: Failure to find a pixel format was reported incorrectly
- [GLX] Added dependency on `libdl` on systems where it provides `dlopen`
- [GLX] Made all GLX functions dynamically loaded
- [GLX] Removed `_GLFW_HAS_GLXGETPROCADDRESS*` and `_GLFW_HAS_DLOPEN` compile-time options
- [GLX] Bugfix: Failure to find a `GLXFBConfig` was reported incorrectly
- [EGL] Made all EGL functions dynamically loaded
- [EGL] Bugfix: `glfwGetProcAddress` did not return the addresses of core functions
- [EGL] Bugfix: Failure to find an `EGLConfig` was reported incorrectly
- [NSGL] Bugfix: Failure to find a pixel format was reported incorrectly
