|
1 | | -### 3.3.4 |
| 1 | +### 3.3.5 |
2 | 2 |
|
3 | | -_Release 2024 Jul 17_ |
| 3 | +_Release 2024 Dec 15_ |
4 | 4 |
|
5 | 5 | This build includes the following changes: |
6 | 6 |
|
7 | 7 | #### Bindings |
8 | 8 |
|
9 | | -- Added [msdfgen](https://github.com/Chlumsky/msdfgen) bindings. |
10 | | -- Assimp: Updated to 5.4.2 (up from 5.2.5) |
11 | | -- bgfx: Updated to API version 128 (up from 122) |
12 | | - * Windows: support for the Direct3D 9 backend has been dropped. |
13 | | -- CUDA: Updated to 12.5.1 (up from 12.1.0) |
14 | | -- FMOD: Updated to 2.02.21 (up from 2.02.16) |
15 | | -- glfw: Updated to 3.4 (up from 3.3.8) |
16 | | - * Added `GLFW_UNLIMITED_MOUSE_BUTTONS`, `GLFW_SCALE_FRAMEBUFFER`, `GLFW_WIN32_SHOWDEFAULT`. |
17 | | - * Added `glfwGetWindowTitle`, `glfwGetCocoaView`. |
18 | | -- glfw: Added experimental support for IME. (#946) |
19 | | - * Added `GLFW_SOFT_FULLSCREEN`, `GLFW_IME`, `GLFW_MANAGE_PREEDIT_CANDIDATE` and `GLFW_X11_ONTHESPOT`. |
20 | | - * Added `glfwGetPreeditCursorRectangle`, `glfwSetPreeditCursorRectangle`, `glfwResetPreeditText`, `glfwGetPreeditCandidate`. |
21 | | - * Added `glfwSetPreeditCallback`, `glfwSetIMEStatusCallback`, `glfwSetPreeditCandidateCallback`. |
22 | | -- harfbuzz: Updated to 9.0.0 (up from 8.2.0) |
23 | | -- hwloc: Updated to 2.11.1 (up from 2.9.3) |
24 | | -- KTX: Updated to 4.3.2 (up from 4.3.0-alpha3) |
25 | | -- libffi: Updated to 3.4.6 (up from 3.4.4) |
26 | | -- liburing: Updated to 2.6 (up from 2.4) |
27 | | -- lmdb: Updated to 0.9.32 (up from 0.9.31) |
28 | | -- LLVM/Clang: Updated to 18.1.7 (up from 16.0.0) |
29 | | -- meshoptimizer: Updated to 0.21 (up from 0.19) |
30 | | -- NativeFileDialog: Update to 1.2.0 (up from 1.1.0) |
31 | | -- Nuklear: Updated to 4.12.1 (up from 4.10.6) |
32 | | -- OpenVR: Updated to 2.5.1 (up from 1.26.7) |
33 | | - * Added support for Linux ARM64 |
34 | | -- OpenXR: Updated to 1.1.38 (up from 1.0.29) |
35 | | -- Opus: Updated to 1.5.2 (up from 1.4.0) |
36 | | -- rpmalloc: Updated to 1.4.5 (up from 1.4.4) |
37 | | -- Shaderc: Updated to 2024.2 (up from 2023.6) |
38 | | -- SPIRV-Cross: Updated to 0.61.0 (up from 0.57.0) |
| 9 | +- Assimp: Updated to 5.4.3 (up from 5.4.2) |
| 10 | +- bgfx: Updated to API version 129 (up from 128) |
| 11 | +- FMOD: Updated to 2.03.04 (up from 2.02.21) |
| 12 | +- freetype: Updated to 2.13.3 (up from 2.13.2) |
| 13 | +- harfbuzz: Updated to 10.1.0 (up from 9.0.0) |
| 14 | +- hwloc: Updated to 2.11.2 (up from 2.11.1) |
| 15 | +- libdivide: Updated to 5.1 (up from 5.0) |
| 16 | + * Added `MathUtil` multi-release support for `Long.divideUnsigned`/`Long.remainderUnsigned` and `Math.unsignedMultiplyHigh`. |
| 17 | +- liburing: Updated to 2.8 (up from 2.6) |
| 18 | +- LLVM/Clang: Updated to 19.1.0 (up from 18.1.7) |
| 19 | +- lmdb: Updated to 0.9.33 (up from 0.9.32) |
| 20 | +- lz4: Updated to 1.10.0 (up from 1.9.4) |
| 21 | +- meshoptimizer: Updated to 0.22 (up from 0.21) |
| 22 | +- NativeFileDialog: Update to 1.2.1 (up from 1.2.0) |
| 23 | +- Nuklear: Updated to 4.12.3 (up from 4.12.1) |
| 24 | +- OpenAL Soft: Updated to 1.24.1 (up from 1.23.1) |
| 25 | + * Added `ALC_SOFT_system_events` extension. |
| 26 | + * Added `AL_EXT_debug` extension. |
| 27 | + * Added `AL_EXT_direct_context` extension. |
| 28 | + * macOS: 10.15+ is now required (up from 10.11). |
| 29 | +- OpenXR: Updated to 1.1.43 (up from 1.1.38) |
| 30 | +- Shaderc: Updated to 2024.4 (up from 2024.2) |
| 31 | +- SPIRV-Cross: Updated to 0.64.0 (up from 0.61.0) |
39 | 32 | - stb |
40 | | - * Updated `stb_image` to 2.30 (up from 2.28) |
41 | | - * Updated `stb_image_resize` to 2.09 (up from 0.97) |
42 | | -- tinyexr: Updated to 1.0.8 (up from 1.0.7) |
43 | | -- tinyfiledialogs: Updated to 3.18.1 (up from 3.13.3) |
44 | | -- vma: Updated to 3.1.0 (up from 3.0.1) |
45 | | -- Vulkan: Updated to 1.3.289 (up from 1.3.264) |
46 | | - * Includes MoltenVK 1.2.10 (up from 1.2.5) |
47 | | -- Yoga: Updated to 3.1.0 (up from 2.0.0) |
48 | | -- Zstd: Updated to 1.5.6 (up from 1.5.5) |
| 33 | + * Updated `stb_image_resize` to 2.12 (up from 2.09) |
| 34 | +- Vulkan: Updated to 1.4.303 (up from 1.3.289) |
| 35 | + * Includes MoltenVK 1.2.11 (up from 1.2.10) |
| 36 | +- Yoga: Updated to 3.2.0 (up from 3.1.0) |
49 | 37 |
|
50 | 38 | #### Improvements |
51 | 39 |
|
52 | | -- FreeBSD: Added support for the FreeBSD operating system, x64 architecture. (#421) |
53 | | - * Maven classifier: `freebsd` |
54 | | -- Linux: Added support for the PowerPC 64 LE architecture. (#495) |
55 | | - * Maven classifier: `linux-ppc64le` |
56 | | -- Linux: Added support for the RISC-V 64 architecture. (#890) |
57 | | - * Maven classifier: `linux-riscv64` |
58 | | -- Linux: ARM/PowerPC/RISC-V shared libraries are now built with GCC 11 (up from GCC 7). |
59 | | -- Windows: Shared libraries are now built with Clang/LLVM (clang-cl toolset) when possible. |
60 | | -- Vulkan: Made `VkMemoryRequirements` mutable for the `vmaAllocateMemory(Pages)` functions. (#937) |
| 40 | +- Core: Migrated jsr305 nullability annotations to JSpecify (https://jspecify.dev). (#1008) |
| 41 | + * The `org.jspecify:jspecify` dependency remains optional. |
| 42 | +- Core: Added `Configuration.DISABLE_HASH_CHECKS`, a dynamic option that disables shared library hash checks. (#1007) |
| 43 | +- FreeBSD: LWJGL now requires FreeBSD 13.3 or later. (up from 13.2) |
| 44 | +- OpenGL: Added `Configuration.OPENGL_CONTEXT_API` option to control the default OpenGL context management API. |
| 45 | +- OpenGL: The `Configuration.OPENGL(ES)_CONTEXT_API` options now support `"OSMesa"` as a value. |
| 46 | + * Similar to `GLFW_OSMESA_CONTEXT_API`, LWJGL will try to load libOSMesa when enabled, without having to change `Configuration.OPENGL_LIBRARY_NAME`. |
| 47 | +- OpenGL: The default context management API is now EGL when Wayland is detected. |
| 48 | +- msdfgen: Added support for glyph index based msdfgen-ext APIs. (#1002) |
61 | 49 |
|
62 | 50 | #### Fixes |
63 | 51 |
|
64 | | -- Core: Fixed callback wrapper memory leak with the CHM closure registry. (#927) |
65 | | -- Core: The `SharedLibraryLoader` will now always test if `System::load` works before choosing the extract path. (#987) |
66 | | -- bgfx: Fixed `bgfx_is_frame_buffer_valid` to accept `BGFXAttachment.Buffer`. (#993) |
67 | | -- JAWT: Fixed `JAWT_MACOSX_USE_CALAYER` value. |
68 | | -- LLVM: Fixed `LLVMGetBufferStart` to return `ByteBuffer` instead of `String`. (#934) |
69 | | -- LLVM: Fixed `LookupIntrinsicID` to return `unsigned` instead of `void`. (#950) |
70 | | -- Nuklear: Fixed auto-sizing of `nk_stroke_polyline`, `nk_stroke_polygon`, `nk_fill_polygon` buffers. (#978) |
71 | | -- tinyfd: The `aDefaultPath` parameter of `tinyfd_selectFolderDialog` is now nullable. (#922) |
| 52 | +- Core: Fixed support for `va_list` parameters. |
72 | 53 |
|
73 | 54 | #### Breaking Changes |
74 | 55 |
|
75 | | -- Linux: ARM/PowerPC/RISC-V shared libraries now require GLIBC version 2.35 (up from 2.27) |
76 | | -- macOS: LWJGL now requires macOS 10.11/El Capitan or later (up from 10.9/Mavericks) |
77 | | -- meshoptimizer: Fixed autosizing issues. (#981) |
78 | | - * For consistency across the API, auto-sizing of some parameters was removed and the corresponding count parameters were made explicit. |
79 | | - * Auto-sizing is now always based on input parameters, the destination buffers are only checked for enough capacity. |
80 | | -- stb: `stb_image_resize2.h` replaced `stb_image_resize.h` with a new API. |
| 56 | +- Core: Replaced thread-local storage of `errno/GetLastError()` with virtual output parameters. (#1003) |
| 57 | + * The `LibCErrno.getErrno()` and `WinBase.getLastError()` methods have been removed. |
| 58 | + * System calls in `org.lwjgl.system.linux.*`, `org.lwjgl.system.windows.*` and `org.lwjgl.opengl.WGL` now take an optional output parameter for the error code. |
| 59 | + * This approach is similar to `Linker.Option.CaptureCallState` in Project Panama's FFM API. |
| 60 | +- Core: Dropped support for non-LTS JDK versions earlier than the latest LTS version. |
| 61 | + * Supported JDK versions: 8, 11, 17, 21+ |
| 62 | + * The `module-info` class and the first batch of multi-release overrides now live under `META-INF/versions/11` instead of `META-INF/versions/9`. |
0 commit comments