@Spasi Spasi released this Oct 30, 2016 · 1007 commits to master since this release

Assets 3

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 to int.
  • 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 and memCopy.
  • 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.