- Added Assimp bindings.
- bgfx: Updated to API version 34 (up from 28)
- jemalloc: Updated to version 4.4.0 (up from 4.2.1)
- LibOVR: Updated to version 1.10.0 (up from 1.9.0)
- nuklear: Updated to version 1.191 (up from 1.17)
- Vulkan: Updated to version 1.0.38 (up from 1.0.32)
- stb: Updated stb_image to 2.13 (up from 2.12)
- tinyfiledialogs: Updated to version 2.7.2 (up from 2.6.1)
- Refactored function pointer lookups in OpenAL, OpenGL and OpenGL ES.
- Significant reduction in bytecode size (and corresponding JIT code).
- No thread-local lookup in GL and GLES, even with incompatible contexts.
- Removed obsolete thread-local and capabilities state
- Linux: All natives are now built with GCC 6.2 (up from 4.8)
- Loader: If
jemallocinitialization fails and
org.lwjgl.system.allocatorhas not been set, a simple warning is now shown instead of an exception.
- Structs: Added bound checks to element accessors of array members.
- Generator: Validation is now required for all data pointer parameters. If validation is not possible, such parameters must be marked as potentially unsafe.
- The SHA-1 hash of shared libraries is now included in the corresponding
- The upstream git revision used to build shared libraries is now included in the corresponding
- Fixed loader diagnostics when
- Fixed setters of struct members with optional AutoSize. (#255)
nullwhen the allocation fails.
- Vulkan: Function pointer loading of disabled extensions is now skipped.
binding.DISABLE_CHECKSis now respected in structs.
- macOS: LWJGL now requires macOS 10.9/Mavericks or later (up from 10.7/Lion)
- A small number of method signatures have changed because of auto-size transformations that were missing in previous releases.
- NanoVG: Text functions with an
endpointer to the end of the string are now auto-size transformed. Buffers passed to them should not include a null-terminating byte.
LibCprefix to all class names in the
libcbindings, to avoid conflicts with standard Java classes (
- OpenGL and OpenGL ES now come with native libraries (