LWJGL 3.0.0b

LWJGL 3.0.0b has been released!

Visit the download page to get it. You can also get it from Maven Central or this direct link.

Release notes:

  • 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.