First 10 days

Nov 08, 2014 was a huge milestone for LWJGL 3. It was the first time anyone could download a nightly build of the library and start playing with it. A few days later the new site was deployed and suddenly there was so much interest for the project. Not that surprising I guess, LWJGL is used extensively and everyone's been waiting for a better version, but it did come as a shock after two years of silently working towards the next big release. Yes, it's been almost two years, our first LWJGL 3 commit was on Dec 23, 2012!

Initial feedback has been surprisingly positive. Seems everyone's favorite feature is the GLFW bindings and I'd like to take the opportunity to publicly thank Camilla Berglund (aka elmindreda) for the fantastic job she's doing with the project. It's really been wonderful to finally be able to rely on a well-designed and well-implemented windowing system.

The site seems to also have left a positive impression, though it's light on content at the moment. As we get closer to an official release, more information will be added and we hope that we'll also be able to feature the first projects that use LWJGL 3!

The community excitement did also result in a flurry of activity inside the project. Issues had to be fixed, design choices and technical problems explained, new usability features implemented. Change log for the past week or so:

  • Bug fixes, lots of them! The library was suddenly exposed to a wide variety of hardware and operating systems, so some friction was expected. That's what nightly builds are for. :)
  • The minimum required Java version is now 6 (down from 7). Java 7 was only a minor convenience and was painless to drop. In return, we made deployment of applications that use LWJGL a lot easier for some of our users.
  • Resolved #17, which was affecting a lot of users.
  • Re-implemented native library loading, so that using LWJGL 3 is as simple as LWJGL 2. Both -Djava.library.path and -Dorg.lwjgl.librarypath are now supported and users do not have to specify a specific OS and architecture anymore.
  • Added new OpenAL extensions and refactored the API to allow for thread-local OpenAL contexts.
  • Made building LWJGL locally less painful. JAVA6_HOME is now optional, added a release Ant target and an override for where the generated files are stored.

The greatest news though was that we already have an offer for a contribution to LWJGL 3, bindings to a new API! Stay tuned!