Releases: freeglut/freeglut
Releases · freeglut/freeglut
freeglut 3.8.0
Release date: 16 November 2025
Changes
- New experimental Cocoa (native MacOS X) backend.
- Add glutSwapInterval, to control vsync (currently X11 and win32 only).
- glutExtensionSupported now also reports platform extensions (GLX/WGL).
- Fix build issues with new cmake versions while maintaining compatibility with old cmake.
- Fix handling of UTF8 window/icon titles.
- Fix issue with some X11 window managers not properly restoring iconified windows (send _NET_ACTIVE_WINDOW EWMH client message).
- Fix build issues with C23 compilers (empty argument list semantics).
- Fix compatibility with older versions of windows which don't have RAWHID support (before XP), by loading the entry points dynamically.
- Fix glutInitDisplayString parsing of "aux", and add =N parsing support to specify samples and auxbufs.
- Various fixes and improvements in the GameCube/Wii backend.
- Altbuild support for Solaris 2.6/SUN Workshop C.
- Started conversion of documentation from the website to markdown in the source tree: doc/api.md
- Added the original GLUT manpages, with permission from Mark Kilgard.
- New demos: accum, vsync, and windows.
- Cleanup of some old and no longer relevant, or redundant comments in the source code.
- Removed some out of date README files, and updated others.
freeglut 3.6.0
Release date: 12 June 2024
Changes
- New platforms: Nintendo Gamecube and Nintendo Wii.
- Minimum cmake version raised to 3.1.
- Make XInput an optional dependency.
- Fix incorrect modifier bit mapped to GLUT_ACTIVE_SUPER on X11.
- Add support for ARM64 MSVC targets.
- Fix for unicode builds on windows.
- Fix build on some versions of MinGW carrying an incorrect winuser.h.
- Fix menu-related memory leak when an error occurs.
- Various build improvements & fixes.
freeglut 3.4.0
Release date: 7 October 2022
Changes
- Add GLUT_ACTIVE_SUPER modifier, and corresponding GLUT_KEY_SUPER_L and GLUT_KEY_SUPER_R special keys. These map to Windows/Command keys.
- Fix RGB mode (GLUT_RGBA) colors on 8bpp displays on windows (construct default RGB332 palette).
- Fix indexed color context creation on X11 and windows (GLUT_INDEX).
- Add missing colormap management functions for X11 and windows (glutSetColor, glutGetColor).
- Fix crash when calling glutTimerFuncUcall.
- Fix FreeBSD build by essentially disabling the joystick code for newer FreeBSD versions. It will eventually need to be replaced/fixed.
- Add fallbacks for the old GLX (<1.3) context creation API (glXChooseVisual/glXCreateContext), makes us compatible with IRIX 5.x and other old UNIX systems.
- Add fallbacks for OpenGL 1.0 (no vertex arrays/client state).
- Use nanosleep instead of usleep on UNIX, which is more widely supported on old UNIX systems.
- Fix build on X11 if GL_SAMPLES is not defined.
- Fix overly strict context version checking on Android leading to context creation failure in some cases.
- Fix GLUT_CURSOR_INFO on windows, should be IDC_HAND, not IDC_HELP.
- Fix mismatched font declarations on X11.
- Add alternative simple ways to build freeglut with native tools only, without having to use cmake.
- Fix build on windows with cmake 3.0.0. Explicitly link with gdi32.
- Fix build on MSVC 2005.
- Fix build on MacOS X. Link with all the necessary X libraries.
- Fix build on SGI IRIX.
- Fix build on Android (mismatched function prototypes and missing glutCreateMenuUcall).
- Add support for the ninja multi-config generator.
- Removed spurious dependency on a C++ compiler. One of the demos was being compiled as C++ for no reason.
- Silence unnecessary warnings when VBOs or GLSL are not available.
- New demo programs: 3dview, keyboard, joystick.
- Documentation: added MacOS X build instructions.
- Made it possible to eventually support building freeglut as a single compilation unit, by avoiding name conflicts on static variables.
- Other minor fixes.
freeglut 3.2.2
Release date: 6 February 2022
Changes
- Fix netbsd/aarch64 build by including
sys/joystick.hinstead ofmachine/joystick.h. - Fix build with gcc >= 10 which made
-fno-commonthe default by no longer relying on COMMON symbols for globals. - Fix android build (default to FREEGLUT_GLES, and check for debug flags).
- Add flat shading option to the shapes demo.
- Fix crash when calling primitive drawing functions without creating a window first.
- Dropped really old and unmaintained doc directory from the source tree.
freeglut 3.2.1
Release date: 29 September 2019
Changes
- Fixed failure to install
glut.hwhen the "replace glut" build option is enabled. - Take into account
CMAKE_INSTALL_LIBDIRin the installed cmake module. - Fixed broken menu drawing when the user requests a core profile context.
freeglut 3.2.0
Release date: 16 September 2019
Changes
- Added new callback registration functions and corresponding callback types in the extended API, which take an extra user pointer, and pass it through to the callbacks (ucall API).
- Added initial wayland support.
- Fixed mousewheel callbacks on X11.
- Fallback to non-sRGB context, instead of crashing, if the user requested SRGB but failed to get one.
- Added
GLUT_WINDOW_SRGBquery to check if the context supports sRGB or the fallback was triggered. - Added missing spaceball support for windows.
- Fixed crash on re-init after having set a custom cursor.
- Added init error handler demo.
- Added cmake package.
- Added
GLUT_ALLOW_NEGATIVE_WINDOW_POSITIONoption. - Fixed incorrect library name in pkg-config files when building with "replace glut" option disabled.
- Added spaceball button definitions in the extended API header.
- Added the "replace glut" option on windows too.
- Fixed missing static defines from pkg-config.
- Fixed incorrectly trying to install
glut.hwhen the "replace glut" option is disabled. - Take "maximized" state into account when updating the visibility flag on windows.
- Corrected "exit state" checking in the main loop, by placing the check after every
glutMainLoopEventinvocation. - Added checking for the XInput dependency in cmake.
- Fixed netbsd build (joystick code).
- Fixed
-pedanticGCC warnings on GNU/Linux. - Fixed PDB installation for nmake/msvc builds on windows.
- Clear window work mask when marking it for destruction.
- Fixed android build with clang.
- Fixed
GLUT_STEREOon nvidia windows drivers, which don't play well with fullscreen windows with frames. - Fixed original-GLUT compatibility in spaceball button numbering.
- Dropped unnecessary X11 utility library dependencies.
- Fixed namespace pollution due to some global symbols missing the
fgprefix. - Fixed improper setting of the non-blocking flag in the joystick code on UNIX.
freeglut 3.0.0
Release date: 7 March 2015
freeglut 2.4.0
Release date: 10 June 2005
freeglut 2.2.0
Release date: 13 December 2003
freeglut 2.0.1
Release date: 15 October 2003