LWJGL 3.1.0
Changes since 3.0.0
:
Bindings
- Bindings have been split into modules and are available as separate artifacts. (#100)
- The download configurator on the website can be used to customize LWJGL builds and Maven/Gradle projects.
- Added LMDB bindings.
- Added Nuklear bindings. (#101)
- Added Tiny File Dialogs bindings.
- Added bgfx bindings. (#240)
- Added support for new EGL, OpenCL, OpenGL, OpenGL ES and Vulkan extensions.
- Updated all bindings to latest versions.
- Vulkan javadoc is now almost identical to the Vulkan man pages, with links to the online Vulkan specification.
Improvements
- Generator: Removed buffer object binding checks. (#197)
- Generator: Added support for mapping
byte/short
parameters toint
. - Generator: Added support for
va_list
parameters. - Generator: Reduced bytecode size of generated methods.
- Generator: The Vulkan bindings are now automatically generated.
- Optimized
strlen
methods used internally by LWJGL. - Optimized misaligned
memSet
andmemCopy
. - Added support for stack allocations with custom alignment.
- Removed allocation functionality from read-only, externally managed structs.
- Improved library loading diagnostics and added
Configuration.DEBUG_LOADER
option. - Libraries extracted by the
SharedLibraryLoader
are now locked to avoid conflicts with other processes (e.g. antivirus software). (#225) - Simplified javadoc of unsafe versions.
Fixes
- Callback instances are now tracked when the
DEBUG_MEMORY_ALLOCATOR
option is enabled. - Fixed
realloc
tracking in the debug allocator. - Shared libraries that ship with LWJGL are now always preferred over system libraries.
- Fixed return type of functions that return pointer to boolean.
- stb_image: Fixed result auto-sizing of
stbi_load*
functions. - Functions that deallocate memory no longer have Java array overloads.
- Fixed
memSet
bugs. - Fixed Java array overload generation for functions with multiple auto-size-result parameters.
- Fixed custom checks in Java array overloads.
- Fixed lookup of Critical JNI natives on Windows x86.
- Disabled Critical JNI natives for functions affected by JDK-8167409 on Linux & MacOS.
Breaking Changes
- xxHash: Added support for stack allocation of streaming hash state. Opaque handles have been replaced by the
XXH*State
structs. - NanoVG: Dropped version suffixes from NanoVGGL classes.
- Mapped more integer parameters and return values to Java booleans, that were missed while working on #181.
- Dropped VKUtil class and moved the version macros to VK10.