This build includes the following changes:
- The API is now considered stable. There were several API changes, especially to struct and callback classes.
- Moved advanced functionality from the base package to the system package. Public API in the system package may change between releases.
- Critical methods have been optimized for better performance and garbage elimination.
- JNI methods are now deduplicated and struct layout is calculated in Java. This means much smaller shared libraries.
- Introduced the Configuration class that can be used to programmatically configure LWJGL.
- Introduced explicit memory management API, which is also used internally by LWJGL.
- Introduced a debug allocator that can be enabled for the explicit memory management API. It reports memory leaks with full stack-traces to the leaked allocations.
- All struct classes now have a corresponding StructBuffer implementation. Bindings now use Struct and StructBuffer parameters and return values, instead of ByteBuffer, which improves type safety.
- Struct fields and accessors are now documented.
- Many other fixes and minor features.
Changes to bindings:
- Removed obsolete OS-specific bindings.
- Added bindings to many OpenGL extensions that were missing in 3.0.0a.
- Added bindings to jemalloc.
- Added bindings to EGL.
- Added bindings to OpenGL ES.
- Added bindings to xxHash.
- The bindings to LibOVR were updated to 0.8.0.0 and are now included in the official build.
- Several other fixes and updates to existing bindings.