Changes since 3.3.6:
Bindings
- Added RenderDoc bindings.
- Added SDL 3 bindings.
- Added libspng bindings.
- Assimp: Updated to 6.0.2 (up from 5.4.3)
- bgfx: Updated to API version 136 (up from 129)
- FMOD: Updated to 2.03.11 (up from 2.03.04)
- freetype: Updated to 2.14.1 (up from 2.13.3)
- harfbuzz: Updated to 12.3.0 (up from 10.1.0)
- hwloc: Updated to 2.12.2 (up from 2.11.2)
- KTX: Updated to 4.4.2 (up from 4.3.2)
- libffi: Updated to 3.5.2 (up from 3.4.6)
- liburing: Updated to 2.13 (up from 2.8)
- LLVM/Clang: Updated to 21.1.2 (up from 19.1.0)
- meshoptimizer: Updated to 1.0.0 (up from 0.22)
- msdfgen: Updated to 1.13.0 (up from 1.11.0)
- Added error correction functions.
- Added optional
advanceparameter tomsdf_ft_font_load_glyph*. - Replaced
msdf_shape_has_inverse_y_axiswithmsdf_shape_set/get_y_axis_orientation.
- NativeFileDialog: Update to 1.3.0 (up from 1.2.1)
- Nuklear: Updated to 4.13.0 (up from 4.12.3)
- OpenAL Soft: Updated to 1.25.0 (up from 1.24.1)
- Added
AL_SOFT_bformat_hoaextension.
- Added
- OpenGL (ES): Added latest extensions.
EXT_fragment_shading_rateEXT_mesh_shaderEXT_shader_realtime_clockEXT_shader_texture_samples
- OpenXR: Updated to 1.1.54 (up from 1.1.43)
- Opus: Updated to 1.6.0 (up from 1.5.2)
- Shaderc: Updated to 2025.5 (up from 2024.4)
- Added bindings to glslang.
- Added bindings to SPIRV Tools.
- SPIRV-Cross: Updated to 0.68.0 (up from 0.64.0)
- stb
- Updated
stb_image_resizeto 2.17 (up from 2.12)
- Updated
- tinyexr: Updated to 1.0.12 (up from 1.0.8)
- tinyfiledialogs: Updated to 3.19.1 (up from 3.18.1)
- vma: Updated to 3.3.0 (up from 3.2.0)
- Vulkan: Updated to 1.4.338 (up from 1.4.304)
- Includes MoltenVK 1.4.1 (up from 1.2.11)
- Zstd: Updated to 1.5.7 (up from 1.5.6)
LWJGL bindings no longer include API documentation in javadoc form. What remains:
- Native struct definitions.
- Native function signatures for downcalls (new in 3.4.0) and upcalls.
- The
package-infojavadoc in each module now also includes links to useful resources, such as:- The official API documentation.
- The official source repository.
- Guides, tutorials, SDKs, etc.
LWJGL no longer includes the following bindings:
lwjgl-cudalwjgl-libdividelwjgl-meowlwjgl-nanovg: the Blendish and OUI bindings onlylwjgl-openvrlwjgl-ovrlwjgl-sselwjgl-tootle
Improvements
- Core: Added the Runtime Bindings Generator.
- A preview API, in
org.lwjgl.system.ffm, that allows users to define and use custom bindings. - Based on the Foreign Function & Memory (FFM) and ClassFile APIs (requires JDK 25 or later).
- A preview API, in
- Core: Added a new backend for downcalls, upcalls and off-heap memory access based on FFM.
- Enabled by default on JDK 25 or later.
- LWJGL is now fully functional with
--sun-misc-unsafe-memory-access=deny. - See the FFM Guide for details.
- Core: Added
memCopysupport for Java arrays. (#972)- Array to buffer
- Buffer to array
- Corresponding unsafe overloads
- FreeBSD: LWJGL now requires FreeBSD 13.5 or later. (up from 13.3)
- Linux: x86_64 shared libraries are now built with GCC 15.1 (up from GCC 11.2)
- The minimum GLIBC version is now 2.28. (up from 2.17)
- Linux: non-x86_64 shared libraries are now built with GCC 12.3 (up from GCC 11.4)
- No change to minimum GLIBC version (2.35).
- Windows: Shared libraries are now built with Visual Studio 2026 (up from 2022)
Fixes
- Opus: Fixed missing function exports in Windows binaries.
- tinyfiledialogs: Fixed
tinyfd_messageBoxsignature to support theyesnocanceldialog type. - Vulkan: Fixed stack OOME on VkInstance creation with recent drivers.
- Vulkan: Fixed support for Vulkan 1.4.
Breaking Changes
- Generator: Removed deprecated
mallocStack/callocStackmethods from structs. - OpenCL: Fixed the carrier type of
cl_ulongconstants. (#1087)- Now mapped to
longto avoid unintentional sign extension for negative values.
- Now mapped to
- Vulkan: MoltenVK on x64 now requires macOS 11.0 or later. (up from 10.13)