github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/raylib/external/glfw/README.md (about)

     1  # GLFW
     2  
     3  [![Build status](https://github.com/glfw/glfw/actions/workflows/build.yml/badge.svg)](https://github.com/glfw/glfw/actions)
     4  [![Build status](https://ci.appveyor.com/api/projects/status/0kf0ct9831i5l6sp/branch/master?svg=true)](https://ci.appveyor.com/project/elmindreda/glfw)
     5  [![Coverity Scan](https://scan.coverity.com/projects/4884/badge.svg)](https://scan.coverity.com/projects/glfw-glfw)
     6  
     7  ## Introduction
     8  
     9  GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan
    10  application development.  It provides a simple, platform-independent API for
    11  creating windows, contexts and surfaces, reading input, handling events, etc.
    12  
    13  GLFW natively supports Windows, macOS and Linux and other Unix-like systems.  On
    14  Linux both X11 and Wayland are supported.
    15  
    16  GLFW is licensed under the [zlib/libpng
    17  license](https://www.glfw.org/license.html).
    18  
    19  You can [download](https://www.glfw.org/download.html) the latest stable release
    20  as source or Windows binaries, or fetch the `latest` branch from GitHub.  Each
    21  release starting with 3.0 also has a corresponding [annotated
    22  tag](https://github.com/glfw/glfw/releases) with source and binary archives.
    23  
    24  The [documentation](https://www.glfw.org/docs/latest/) is available online and is
    25  included in all source and binary archives.  See the [release
    26  notes](https://www.glfw.org/docs/latest/news.html) for new features, caveats and
    27  deprecations in the latest release.  For more details see the [version
    28  history](https://www.glfw.org/changelog.html).
    29  
    30  The `master` branch is the stable integration branch and _should_ always compile
    31  and run on all supported platforms, although details of newly added features may
    32  change until they have been included in a release.  New features and many bug
    33  fixes live in [other branches](https://github.com/glfw/glfw/branches/all) until
    34  they are stable enough to merge.
    35  
    36  If you are new to GLFW, you may find the
    37  [tutorial](https://www.glfw.org/docs/latest/quick.html) for GLFW 3 useful.  If
    38  you have used GLFW 2 in the past, there is a [transition
    39  guide](https://www.glfw.org/docs/latest/moving.html) for moving to the GLFW
    40  3 API.
    41  
    42  GLFW exists because of the contributions of [many people](CONTRIBUTORS.md)
    43  around the world, whether by reporting bugs, providing community support, adding
    44  features, reviewing or testing code, debugging, proofreading docs, suggesting
    45  features or fixing bugs.
    46  
    47  
    48  ## Compiling GLFW
    49  
    50  GLFW itself requires only the headers and libraries for your OS and window
    51  system.  It does not need the headers for any context creation API (WGL, GLX,
    52  EGL, NSGL, OSMesa) or rendering API (OpenGL, OpenGL ES, Vulkan) to enable
    53  support for them.
    54  
    55  GLFW supports compilation on Windows with Visual C++ 2010 and later, MinGW and
    56  MinGW-w64, on macOS with Clang and on Linux and other Unix-like systems with GCC
    57  and Clang.  It will likely compile in other environments as well, but this is
    58  not regularly tested.
    59  
    60  There are [pre-compiled Windows binaries](https://www.glfw.org/download.html)
    61  available for all supported compilers.
    62  
    63  See the [compilation guide](https://www.glfw.org/docs/latest/compile.html) for
    64  more information about how to compile GLFW yourself.
    65  
    66  
    67  ## Using GLFW
    68  
    69  See the [documentation](https://www.glfw.org/docs/latest/) for tutorials, guides
    70  and the API reference.
    71  
    72  
    73  ## Contributing to GLFW
    74  
    75  See the [contribution
    76  guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for
    77  more information.
    78  
    79  
    80  ## System requirements
    81  
    82  GLFW supports Windows XP and later and macOS 10.8 and later.  Linux and other
    83  Unix-like systems running the X Window System are supported even without
    84  a desktop environment or modern extensions, although some features require
    85  a running window or clipboard manager.  The OSMesa backend requires Mesa 6.3.
    86  
    87  See the [compatibility guide](https://www.glfw.org/docs/latest/compat.html)
    88  in the documentation for more information.
    89  
    90  
    91  ## Dependencies
    92  
    93  GLFW itself needs only CMake 3.1 or later and the headers and libraries for your
    94  OS and window system.
    95  
    96  The examples and test programs depend on a number of tiny libraries.  These are
    97  located in the `deps/` directory.
    98  
    99   - [getopt\_port](https://github.com/kimgr/getopt_port/) for examples
   100     with command-line options
   101   - [TinyCThread](https://github.com/tinycthread/tinycthread) for threaded
   102     examples
   103   - [glad2](https://github.com/Dav1dde/glad) for loading OpenGL and Vulkan
   104     functions
   105   - [linmath.h](https://github.com/datenwolf/linmath.h) for linear algebra in
   106     examples
   107   - [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) for test and example UI
   108   - [stb\_image\_write](https://github.com/nothings/stb) for writing images to disk
   109  
   110  The documentation is generated with [Doxygen](https://doxygen.org/) if CMake can
   111  find that tool.
   112  
   113  
   114  ## Reporting bugs
   115  
   116  Bugs are reported to our [issue tracker](https://github.com/glfw/glfw/issues).
   117  Please check the [contribution
   118  guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for
   119  information on what to include when reporting a bug.
   120  
   121  
   122  ## Changelog
   123  
   124   - Added `GLFW_PLATFORM` init hint for runtime platform selection (#1958)
   125   - Added `GLFW_ANY_PLATFORM`, `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`,
   126     `GLFW_PLATFORM_WAYLAND`, `GLFW_PLATFORM_X11` and `GLFW_PLATFORM_NULL` symbols to
   127     specify the desired platform (#1958)
   128   - Added `glfwGetPlatform` function to query what platform was selected (#1655,#1958)
   129   - Added `glfwPlatformSupported` function to query if a platform is supported
   130     (#1655,#1958)
   131   - Added `glfwInitAllocator` for setting a custom memory allocator (#544,#1628,#1947)
   132   - Added `GLFWallocator` struct and `GLFWallocatefun`, `GLFWreallocatefun` and
   133     `GLFWdeallocatefun` types (#544,#1628,#1947)
   134   - Added `glfwInitVulkanLoader` for using a non-default Vulkan loader (#1374,#1890)
   135   - Added `GLFW_RESIZE_NWSE_CURSOR`, `GLFW_RESIZE_NESW_CURSOR`,
   136     `GLFW_RESIZE_ALL_CURSOR` and `GLFW_NOT_ALLOWED_CURSOR` cursor shapes (#427)
   137   - Added `GLFW_RESIZE_EW_CURSOR` alias for `GLFW_HRESIZE_CURSOR` (#427)
   138   - Added `GLFW_RESIZE_NS_CURSOR` alias for `GLFW_VRESIZE_CURSOR` (#427)
   139   - Added `GLFW_POINTING_HAND_CURSOR` alias for `GLFW_HAND_CURSOR` (#427)
   140   - Added `GLFW_MOUSE_PASSTHROUGH` window hint for letting mouse input pass
   141     through the window (#1236,#1568)
   142   - Added `GLFW_CURSOR_CAPTURED` cursor mode to confine the cursor to the window
   143     content area (#58)
   144   - Added `GLFW_POSITION_X` and `GLFW_POSITION_Y` window hints for initial position
   145     (#1603,#1747)
   146   - Added `GLFW_ANY_POSITION` hint value for letting the window manager choose (#1603,#1747)
   147   - Added `GLFW_PLATFORM_UNAVAILABLE` error for platform detection failures (#1958)
   148   - Added `GLFW_FEATURE_UNAVAILABLE` error for platform limitations (#1692)
   149   - Added `GLFW_FEATURE_UNIMPLEMENTED` error for incomplete backends (#1692)
   150   - Added `GLFW_WAYLAND_APP_ID` window hint string for Wayland app\_id selection
   151     (#2121,#2122)
   152   - Added `GLFW_ANGLE_PLATFORM_TYPE` init hint and `GLFW_ANGLE_PLATFORM_TYPE_*`
   153     values to select ANGLE backend (#1380)
   154   - Added `GLFW_X11_XCB_VULKAN_SURFACE` init hint for selecting X11 Vulkan
   155     surface extension (#1793)
   156   - Added `GLFW_NATIVE_INCLUDE_NONE` for disabling inclusion of native headers (#1348)
   157   - Added `GLFW_BUILD_WIN32` CMake option for enabling Win32 support (#1958)
   158   - Added `GLFW_BUILD_COCOA` CMake option for enabling Cocoa support (#1958)
   159   - Added `GLFW_BUILD_X11` CMake option for enabling X11 support (#1958)
   160   - Added `GLFW_LIBRARY_TYPE` CMake variable for overriding the library type
   161     (#279,#1307,#1497,#1574,#1928)
   162   - Added `GLFW_PKG_CONFIG_REQUIRES_PRIVATE` and `GLFW_PKG_CONFIG_LIBS_PRIVATE` CMake
   163     variables exposing pkg-config dependencies (#1307)
   164   - Made joystick subsystem initialize at first use (#1284,#1646)
   165   - Made `GLFW_DOUBLEBUFFER` a read-only window attribute
   166   - Updated the minimum required CMake version to 3.1
   167   - Updated gamepad mappings from upstream
   168   - Disabled tests and examples by default when built as a CMake subdirectory
   169   - Renamed `GLFW_USE_WAYLAND` CMake option to `GLFW_BUILD_WAYLAND` (#1958)
   170   - Removed `GLFW_USE_OSMESA` CMake option enabling the Null platform (#1958)
   171   - Removed CMake generated configuration header
   172   - Bugfix: The CMake config-file package used an absolute path and was not
   173     relocatable (#1470)
   174   - Bugfix: Video modes with a duplicate screen area were discarded (#1555,#1556)
   175   - Bugfix: Compiling with -Wextra-semi caused warnings (#1440)
   176   - Bugfix: Built-in mappings failed because some OEMs re-used VID/PID (#1583)
   177   - Bugfix: Some extension loader headers did not prevent default OpenGL header
   178     inclusion (#1695)
   179   - Bugfix: Buffers were swapped at creation on single-buffered windows (#1873)
   180   - Bugfix: Gamepad mapping updates could spam `GLFW_INVALID_VALUE` due to
   181     incompatible controllers sharing hardware ID (#1763)
   182   - Bugfix: Native access functions for context handles did not check that the API matched
   183   - Bugfix: `glfwMakeContextCurrent` would access TLS slot before initialization
   184   - Bugfix: `glfwSetGammaRamp` could emit `GLFW_INVALID_VALUE` before initialization
   185   - Bugfix: `glfwGetJoystickUserPointer` returned `NULL` during disconnection (#2092)
   186   - [Win32] Added the `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access
   187             to the window menu
   188   - [Win32] Added a version info resource to the GLFW DLL
   189   - [Win32] Made hidden helper window use its own window class
   190   - [Win32] Disabled framebuffer transparency on Windows 7 when DWM windows are
   191     opaque (#1512)
   192   - [Win32] Bugfix: `GLFW_INCLUDE_VULKAN` plus `VK_USE_PLATFORM_WIN32_KHR` caused
   193     symbol redefinition (#1524)
   194   - [Win32] Bugfix: The cursor position event was emitted before its cursor enter
   195     event (#1490)
   196   - [Win32] Bugfix: The window hint `GLFW_MAXIMIZED` did not move or resize the
   197     window (#1499)
   198   - [Win32] Bugfix: Disabled cursor mode interfered with some non-client actions
   199   - [Win32] Bugfix: Super key was not released after Win+V hotkey (#1622)
   200   - [Win32] Bugfix: `glfwGetKeyName` could access out of bounds and return an
   201     invalid pointer
   202   - [Win32] Bugfix: Some synthetic key events were reported as `GLFW_KEY_UNKNOWN`
   203     (#1623)
   204   - [Win32] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16
   205   - [Win32] Bugfix: Monitor functions could return invalid values after
   206     configuration change (#1761)
   207   - [Win32] Bugfix: Initialization would segfault on Windows 8 (not 8.1) (#1775)
   208   - [Win32] Bugfix: Duplicate size events were not filtered (#1610)
   209   - [Win32] Bugfix: Full screen windows were incorrectly resized by DPI changes
   210     (#1582)
   211   - [Win32] Bugfix: `GLFW_SCALE_TO_MONITOR` had no effect on systems older than
   212     Windows 10 version 1703 (#1511)
   213   - [Win32] Bugfix: `USE_MSVC_RUNTIME_LIBRARY_DLL` had no effect on CMake 3.15 or
   214     later (#1783,#1796)
   215   - [Win32] Bugfix: Compilation with LLVM for Windows failed (#1807,#1824,#1874)
   216   - [Win32] Bugfix: The foreground lock timeout was overridden, ignoring the user
   217   - [Win32] Bugfix: Content scale queries could fail silently (#1615)
   218   - [Win32] Bugfix: Content scales could have garbage values if monitor was recently
   219     disconnected (#1615)
   220   - [Win32] Bugfix: A window created maximized and undecorated would cover the whole
   221     monitor (#1806)
   222   - [Win32] Bugfix: The default restored window position was lost when creating a maximized
   223     window
   224   - [Win32] Bugfix: `glfwMaximizeWindow` would make a hidden window visible
   225   - [Win32] Bugfix: `Alt+PrtSc` would emit `GLFW_KEY_UNKNOWN` and a different
   226     scancode than `PrtSc` (#1993)
   227   - [Win32] Bugfix: `GLFW_KEY_PAUSE` scancode from `glfwGetKeyScancode` did not
   228     match event scancode (#1993)
   229   - [Win32] Bugfix: Instance-local operations used executable instance (#469,#1296,#1395)
   230   - [Win32] Bugfix: The OSMesa library was not unloaded on termination
   231   - [Win32] Bugfix: Right shift emitted `GLFW_KEY_UNKNOWN` when using a CJK IME (#2050)
   232   - [Cocoa] Added support for `VK_EXT_metal_surface` (#1619)
   233   - [Cocoa] Added locating the Vulkan loader at runtime in an application bundle
   234   - [Cocoa] Moved main menu creation to GLFW initialization time (#1649)
   235   - [Cocoa] Changed `EGLNativeWindowType` from `NSView` to `CALayer` (#1169)
   236   - [Cocoa] Changed F13 key to report Print Screen for cross-platform consistency
   237     (#1786)
   238   - [Cocoa] Disabled macOS fullscreen when `GLFW_RESIZABLE` is false
   239   - [Cocoa] Removed dependency on the CoreVideo framework
   240   - [Cocoa] Bugfix: `glfwSetWindowSize` used a bottom-left anchor point (#1553)
   241   - [Cocoa] Bugfix: Window remained on screen after destruction until event poll
   242     (#1412)
   243   - [Cocoa] Bugfix: Event processing before window creation would assert (#1543)
   244   - [Cocoa] Bugfix: Undecorated windows could not be iconified on recent macOS
   245   - [Cocoa] Bugfix: Touching event queue from secondary thread before main thread
   246     would abort (#1649)
   247   - [Cocoa] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16
   248     (#1635)
   249   - [Cocoa] Bugfix: Failing to retrieve the refresh rate of built-in displays
   250     could leak memory
   251   - [Cocoa] Bugfix: Objective-C files were compiled as C with CMake 3.19 (#1787)
   252   - [Cocoa] Bugfix: Duplicate video modes were not filtered out (#1830)
   253   - [Cocoa] Bugfix: Menu bar was not clickable on macOS 10.15+ until it lost and
   254     regained focus (#1648,#1802)
   255   - [Cocoa] Bugfix: Monitor name query could segfault on macOS 11 (#1809,#1833)
   256   - [Cocoa] Bugfix: The install name of the installed dylib was relative (#1504)
   257   - [Cocoa] Bugfix: The MoltenVK layer contents scale was updated only after
   258     related events were emitted
   259   - [Cocoa] Bugfix: Moving the cursor programmatically would freeze it for
   260     a fraction of a second (#1962)
   261   - [Cocoa] Bugfix: `kIOMasterPortDefault` was deprecated in macOS 12.0 (#1980)
   262   - [Cocoa] Bugfix: `kUTTypeURL` was deprecated in macOS 12.0 (#2003)
   263   - [Cocoa] Bugfix: A connected Apple AirPlay would emit a useless error (#1791)
   264   - [Cocoa] Bugfix: The EGL and OSMesa libraries were not unloaded on termination
   265   - [Cocoa] Bugfix: `GLFW_MAXIMIZED` was always true when `GLFW_RESIZABLE` was false
   266   - [Cocoa] Bugfix: Changing `GLFW_DECORATED` in macOS fullscreen would abort
   267     application (#1886)
   268   - [Cocoa] Bugfix: Setting a monitor from macOS fullscreen would abort
   269     application (#2110)
   270   - [Cocoa] Bugfix: The Vulkan loader was not loaded from the `Frameworks` bundle
   271     subdirectory (#2113,#2120)
   272   - [X11] Bugfix: The CMake files did not check for the XInput headers (#1480)
   273   - [X11] Bugfix: Key names were not updated when the keyboard layout changed
   274     (#1462,#1528)
   275   - [X11] Bugfix: Decorations could not be enabled after window creation (#1566)
   276   - [X11] Bugfix: Content scale fallback value could be inconsistent (#1578)
   277   - [X11] Bugfix: `glfwMaximizeWindow` had no effect on hidden windows
   278   - [X11] Bugfix: Clearing `GLFW_FLOATING` on a hidden window caused invalid read
   279   - [X11] Bugfix: Changing `GLFW_FLOATING` on a hidden window could silently fail
   280   - [X11] Bugfix: Disabled cursor mode was interrupted by indicator windows
   281   - [X11] Bugfix: Monitor physical dimensions could be reported as zero mm
   282   - [X11] Bugfix: Window position events were not emitted during resizing (#1613)
   283   - [X11] Bugfix: `glfwFocusWindow` could terminate on older WMs or without a WM
   284   - [X11] Bugfix: Querying a disconnected monitor could segfault (#1602)
   285   - [X11] Bugfix: IME input of CJK was broken for "C" locale (#1587,#1636)
   286   - [X11] Bugfix: Termination would segfault if the IM had been destroyed
   287   - [X11] Bugfix: Any IM started after initialization would not be detected
   288   - [X11] Bugfix: Xlib errors caused by other parts of the application could be
   289     reported as GLFW errors
   290   - [X11] Bugfix: A handle race condition could cause a `BadWindow` error (#1633)
   291   - [X11] Bugfix: XKB path used keysyms instead of physical locations for
   292     non-printable keys (#1598)
   293   - [X11] Bugfix: Function keys were mapped to `GLFW_KEY_UNKNOWN` for some layout
   294     combinations (#1598)
   295   - [X11] Bugfix: Keys pressed simultaneously with others were not always
   296     reported (#1112,#1415,#1472,#1616)
   297   - [X11] Bugfix: Some window attributes were not applied on leaving fullscreen
   298     (#1863)
   299   - [X11] Bugfix: Changing `GLFW_FLOATING` could leak memory
   300   - [X11] Bugfix: Icon pixel format conversion worked only by accident, relying on
   301     undefined behavior (#1986)
   302   - [X11] Bugfix: Dynamic loading on OpenBSD failed due to soname differences
   303   - [X11] Bugfix: Waiting for events would fail if file descriptor was too large
   304     (#2024)
   305   - [X11] Bugfix: Joystick events could lead to busy-waiting (#1872)
   306   - [X11] Bugfix: `glfwWaitEvents*` did not continue for joystick events
   307   - [X11] Bugfix: `glfwPostEmptyEvent` could be ignored due to race condition
   308     (#379,#1281,#1285,#2033)
   309   - [X11] Bugfix: Dynamic loading on NetBSD failed due to soname differences
   310   - [X11] Bugfix: Left shift of int constant relied on undefined behavior (#1951)
   311   - [X11] Bugfix: The OSMesa libray was not unloaded on termination
   312   - [X11] Bugfix: A malformed response during selection transfer could cause a segfault
   313   - [X11] Bugfix: Some calls would reset Xlib to the default error handler (#2108)
   314   - [Wayland] Added dynamic loading of all Wayland libraries
   315   - [Wayland] Added support for key names via xkbcommon
   316   - [Wayland] Added support for file path drop events (#2040)
   317   - [Wayland] Added support for more human-readable monitor names where available
   318   - [Wayland] Disabled alpha channel for opaque windows on systems lacking
   319     `EGL_EXT_present_opaque` (#1895)
   320   - [Wayland] Removed support for `wl_shell` (#1443)
   321   - [Wayland] Bugfix: The `GLFW_HAND_CURSOR` shape used the wrong image (#1432)
   322   - [Wayland] Bugfix: `CLOCK_MONOTONIC` was not correctly enabled
   323   - [Wayland] Bugfix: Repeated keys could be reported with `NULL` window (#1704)
   324   - [Wayland] Bugfix: Retrieving partial framebuffer size would segfault
   325   - [Wayland] Bugfix: Scrolling offsets were inverted compared to other platforms
   326     (#1463)
   327   - [Wayland] Bugfix: Client-Side Decorations were destroyed in the wrong order
   328     (#1798)
   329   - [Wayland] Bugfix: Monitors physical size could report zero (#1784,#1792)
   330   - [Wayland] Bugfix: Some keys were not repeating in Wayland (#1908)
   331   - [Wayland] Bugfix: Non-arrow cursors are offset from the hotspot (#1706,#1899)
   332   - [Wayland] Bugfix: The `O_CLOEXEC` flag was not defined on FreeBSD
   333   - [Wayland] Bugfix: Key repeat could lead to a race condition (#1710)
   334   - [Wayland] Bugfix: Activating a window would emit two input focus events
   335   - [Wayland] Bugfix: Disable key repeat mechanism when window loses input focus
   336   - [Wayland] Bugfix: Window hiding and showing did not work (#1492,#1731)
   337   - [Wayland] Bugfix: A key being repeated was not released when window lost focus
   338   - [Wayland] Bugfix: Showing a hidden window did not emit a window refresh event
   339   - [Wayland] Bugfix: Full screen window creation did not ignore `GLFW_VISIBLE`
   340   - [Wayland] Bugfix: Some keys were reported as wrong key or `GLFW_KEY_UNKNOWN`
   341   - [Wayland] Bugfix: Text input did not repeat along with key repeat
   342   - [Wayland] Bugfix: `glfwPostEmptyEvent` sometimes had no effect (#1520,#1521)
   343   - [Wayland] Bugfix: `glfwSetClipboardString` would fail if set to result of
   344     `glfwGetClipboardString`
   345   - [Wayland] Bugfix: Data source creation error would cause double free at termination
   346   - [Wayland] Bugfix: Partial writes of clipboard string would cause beginning to repeat
   347   - [Wayland] Bugfix: Some errors would cause clipboard string transfer to hang
   348   - [Wayland] Bugfix: Drag and drop data was misinterpreted as clipboard string
   349   - [Wayland] Bugfix: MIME type matching was not performed for clipboard string
   350   - [Wayland] Bugfix: The OSMesa library was not unloaded on termination
   351   - [Wayland] Bugfix: `glfwCreateWindow` could emit `GLFW_FEATURE_UNAVAILABLE`
   352   - [Wayland] Bugfix: Lock key modifier bits were only set when lock keys were pressed
   353   - [Wayland] Bugfix: A window leaving full screen mode would be iconified (#1995)
   354   - [Wayland] Bugfix: A window leaving full screen mode ignored its desired size
   355   - [Wayland] Bugfix: `glfwSetWindowMonitor` did not update windowed mode size
   356   - [Wayland] Bugfix: `glfwRestoreWindow` would make a full screen window windowed
   357   - [Wayland] Bugfix: A window maximized or restored by the user would enter an
   358     inconsistent state
   359   - [Wayland] Bugfix: Window maximization events were not emitted
   360   - [Wayland] Bugfix: `glfwRestoreWindow` assumed it was always in windowed mode
   361   - [Wayland] Bugfix: `glfwSetWindowSize` would resize a full screen window
   362   - [Wayland] Bugfix: A window content scale event would be emitted every time
   363     the window resized
   364   - [Wayland] Bugfix: If `glfwInit` failed it would close stdin
   365   - [Wayland] Bugfix: Manual resizing with fallback decorations behaved erratically
   366     (#1991,#2115,#2127)
   367   - [Wayland] Bugfix: Size limits included frame size for fallback decorations
   368   - [Wayland] Bugfix: Updating `GLFW_DECORATED` had no effect on server-side
   369     decorations
   370   - [Wayland] Bugfix: A monitor would be reported as connected again if its scale
   371     changed
   372   - [Wayland] Bugfix: `glfwTerminate` would segfault if any monitor had changed
   373     scale
   374   - [Wayland] Bugfix: Window content scale events were not emitted when monitor
   375     scale changed
   376   - [Wayland] Bugfix: `glfwSetWindowAspectRatio` reported an error instead of
   377     applying the specified ratio
   378   - [Wayland] Bugfix: `GLFW_MAXIMIZED` window hint had no effect
   379   - [Wayland] Bugfix: `glfwRestoreWindow` had no effect before first show
   380   - [Wayland] Bugfix: Hiding and then showing a window caused program abort on
   381     wlroots compositors (#1268)
   382   - [Wayland] Bugfix: `GLFW_DECORATED` was ignored when showing a window with XDG
   383     decorations
   384   - [Wayland] Bugfix: Connecting a mouse after `glfwInit` would segfault (#1450)
   385   - [POSIX] Removed use of deprecated function `gettimeofday`
   386   - [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled
   387   - [Linux] Bugfix: Joysticks without buttons were ignored (#2042,#2043)
   388   - [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072)
   389   - [NSGL] Removed enforcement of forward-compatible flag for core contexts
   390   - [NSGL] Bugfix: `GLFW_COCOA_RETINA_FRAMEBUFFER` had no effect on newer
   391     macOS versions (#1442)
   392   - [NSGL] Bugfix: Workaround for swap interval on 10.14 broke on 10.12 (#1483)
   393   - [NSGL] Bugfix: Defining `GL_SILENCE_DEPRECATION` externally caused
   394     a duplicate definition warning (#1840)
   395   - [EGL] Added platform selection via the `EGL_EXT_platform_base` extension
   396     (#442)
   397   - [EGL] Added ANGLE backend selection via `EGL_ANGLE_platform_angle` extension
   398     (#1380)
   399     [EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL
   400   - [EGL] Bugfix: The `GLFW_DOUBLEBUFFER` context attribute was ignored (#1843)
   401   - [GLX] Added loading of glvnd `libGLX.so.0` where available
   402   - [GLX] Bugfix: Context creation failed if GLX 1.4 was not exported by GLX library
   403  
   404  
   405  ## Contact
   406  
   407  On [glfw.org](https://www.glfw.org/) you can find the latest version of GLFW, as
   408  well as news, documentation and other information about the project.
   409  
   410  If you have questions related to the use of GLFW, we have a
   411  [forum](https://discourse.glfw.org/), and the `#glfw` IRC channel on
   412  [Libera.Chat](https://libera.chat/).
   413  
   414  If you have a bug to report, a patch to submit or a feature you'd like to
   415  request, please file it in the
   416  [issue tracker](https://github.com/glfw/glfw/issues) on GitHub.
   417  
   418  Finally, if you're interested in helping out with the development of GLFW or
   419  porting it to your favorite platform, join us on the forum, GitHub or IRC.
   420