Skip to content

Commit 2edd24d

Browse files
committed
docs: update release notes for 3.4.0
1 parent a73ebbb commit 2edd24d

10 files changed

Lines changed: 211 additions & 22 deletions

File tree

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
description: Please select the LWJGL version(s) on which the bug is reproducible.
99
multiple: true
1010
options:
11-
- 3.4.0 (snapshot)
11+
- 3.4.0
1212
- 3.3.6
1313
- 3.3.5
1414
- 3.3.4

.github/workflows/build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,8 @@ jobs:
347347
#MSVC_ARCH: amd64_arm64
348348
MSVC_ARCH: arm64
349349
VCTOOLS: ARM64
350+
env:
351+
LWJGL_BUILD_ARCH: ${{matrix.ARCH}}
350352
defaults:
351353
run:
352354
shell: cmd
@@ -404,7 +406,6 @@ jobs:
404406
if: matrix.ARCH == 'x86'
405407
- name: Build native # TODO: remove old LLVM workaround, see https://github.com/actions/runner-images/issues/10001
406408
run: |
407-
set LWJGL_BUILD_ARCH=${{matrix.ARCH}}
408409
set PATH=%PATH:C:\Program Files\LLVM\bin;=%
409410
call "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=${{matrix.MSVC_ARCH}}
410411
ant -emacs compile-native -Dcl.version.print=true

doc/FFM.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ If an application faces unexpected compatibility or performance issues with the
3636
## Known issues with the design
3737

3838
* Need to decide on `null` vs `MemorySegment.NULL` at the LWJGL API level.
39-
* The struct/union DSL needs work.
40-
- Could wrap FFM layouts to a custom API with helper instance methods.
41-
- Also consider more explicit support for layout signedness.
4239
* The API currently uses a naming convention with `ffm` prefixes for methods and `@FFM<Name>` for annotations).
4340
- Consider alternatives.
4441
* Move to a top-level package? (e.g. `org.lwjgl.ffm`)

doc/notes/3.3.4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### 3.3.4
22

3-
_Release 2024 Jul 17_
3+
_Released 2024 Jul 17_
44

55
This build includes the following changes:
66

doc/notes/3.3.5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### 3.3.5
22

3-
_Release 2024 Dec 15_
3+
_Released 2024 Dec 15_
44

55
This build includes the following changes:
66

doc/notes/3.3.6.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### 3.3.6
22

3-
_Release 2025 Jan 04_
3+
_Released 2025 Jan 04_
44

55
This build includes the following changes:
66

doc/notes/3.4.0.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### 3.4.0
22

3-
_Not Released Yet_
3+
_Released 2026 Jan 18_
44

55
This build includes the following changes:
66

@@ -100,4 +100,4 @@ LWJGL no longer includes the following bindings:
100100
- Generator: Removed deprecated `mallocStack`/`callocStack` methods from structs.
101101
- OpenCL: Fixed the carrier type of `cl_ulong` constants. (#1087)
102102
* Now mapped to `long` to avoid unintentional sign extension for negative values.
103-
- Vulkan: MoltenVK on x64 now requires macOS 11.0 or later. (up from 10.13)
103+
- Vulkan: MoltenVK on x64 now requires macOS 11.0 or later. (up from 10.13)

doc/notes/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
### Version History
66

7-
* YYYY-MM-DD [3.4.0](3.4.0.md) (work in progress)
8-
* 2025-01-04 [3.3.6](3.3.6.md) (latest)
7+
* 2026-01-18 [3.4.0](3.4.0.md) (latest)
8+
* 2025-01-04 [3.3.6](3.3.6.md)
99
* 2024-12-15 [3.3.5](3.3.5.md)
1010
* 2024-07-17 [3.3.4](3.3.4.md)
1111
* 2023-09-16 [3.3.3](3.3.3.md)

doc/notes/full.md

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,110 @@
1+
### 3.4.0
2+
3+
_Released 2026 Jan 18_
4+
5+
This build includes the following changes:
6+
7+
#### Bindings
8+
9+
- Added [RenderDoc](https://renderdoc.org) bindings.
10+
- Added [SDL 3](https://libsdl.org/) bindings.
11+
- Added [libspng](https://libspng.org/) bindings.
12+
- Assimp: Updated to 6.0.2 (up from 5.4.3)
13+
- bgfx: Updated to API version 136 (up from 129)
14+
- FMOD: Updated to 2.03.11 (up from 2.03.04)
15+
- freetype: Updated to 2.14.1 (up from 2.13.3)
16+
- harfbuzz: Updated to 12.3.0 (up from 10.1.0)
17+
- hwloc: Updated to 2.12.2 (up from 2.11.2)
18+
- KTX: Updated to 4.4.2 (up from 4.3.2)
19+
- libffi: Updated to 3.5.2 (up from 3.4.6)
20+
- liburing: Updated to 2.13 (up from 2.8)
21+
- LLVM/Clang: Updated to 21.1.2 (up from 19.1.0)
22+
- meshoptimizer: Updated to 1.0.0 (up from 0.22)
23+
- msdfgen: Updated to 1.13.0 (up from 1.11.0)
24+
* Added error correction functions.
25+
* Added optional `advance` parameter to `msdf_ft_font_load_glyph*`.
26+
* Replaced `msdf_shape_has_inverse_y_axis` with `msdf_shape_set/get_y_axis_orientation`.
27+
- NativeFileDialog: Update to 1.3.0 (up from 1.2.1)
28+
- Nuklear: Updated to 4.13.0 (up from 4.12.3)
29+
- OpenAL Soft: Updated to 1.25.0 (up from 1.24.1)
30+
* Added `AL_SOFT_bformat_hoa` extension.
31+
- OpenGL (ES): Added latest extensions.
32+
* `EXT_fragment_shading_rate`
33+
* `EXT_mesh_shader`
34+
* `EXT_shader_realtime_clock`
35+
* `EXT_shader_texture_samples`
36+
- OpenXR: Updated to 1.1.54 (up from 1.1.43)
37+
- Opus: Updated to 1.6.0 (up from 1.5.2)
38+
- Shaderc: Updated to 2025.5 (up from 2024.4)
39+
* Added bindings to glslang.
40+
* Added bindings to SPIRV Tools.
41+
- SPIRV-Cross: Updated to 0.68.0 (up from 0.64.0)
42+
- stb
43+
* Updated `stb_image_resize` to 2.17 (up from 2.12)
44+
- tinyexr: Updated to 1.0.12 (up from 1.0.8)
45+
- tinyfiledialogs: Updated to 3.19.1 (up from 3.18.1)
46+
- vma: Updated to 3.3.0 (up from 3.2.0)
47+
- Vulkan: Updated to 1.4.338 (up from 1.4.304)
48+
* Includes MoltenVK 1.4.1 (up from 1.2.11)
49+
- Zstd: Updated to 1.5.7 (up from 1.5.6)
50+
51+
LWJGL bindings no longer include API documentation in javadoc form. What remains:
52+
53+
- Native struct definitions.
54+
- Native function signatures for downcalls (new in 3.4.0) and upcalls.
55+
- The `package-info` javadoc in each module now also includes links to useful resources, such as:
56+
* The official API documentation.
57+
* The official source repository.
58+
* Guides, tutorials, SDKs, etc.
59+
60+
LWJGL no longer includes the following bindings:
61+
62+
- `lwjgl-cuda`
63+
- `lwjgl-libdivide`
64+
- `lwjgl-meow`
65+
- `lwjgl-nanovg`: the Blendish and OUI bindings only
66+
- `lwjgl-openvr`
67+
- `lwjgl-ovr`
68+
- `lwjgl-sse`
69+
- `lwjgl-tootle`
70+
71+
#### Improvements
72+
73+
- Core: Added the Runtime Bindings Generator.
74+
* A preview API, in `org.lwjgl.system.ffm`, that allows users to define and use custom bindings.
75+
* Based on the Foreign Function & Memory (FFM) and ClassFile APIs (requires JDK 25 or later).
76+
- Core: Added a new backend for downcalls, upcalls and off-heap memory access based on FFM.
77+
* Enabled by default on JDK 25 or later.
78+
* LWJGL is now fully functional with `--sun-misc-unsafe-memory-access=deny`.
79+
* See the [FFM Guide](../FFM.md) for details.
80+
- Core: Added `memCopy` support for Java arrays. (#972)
81+
* Array to buffer
82+
* Buffer to array
83+
* Corresponding unsafe overloads
84+
- FreeBSD: LWJGL now requires FreeBSD 13.5 or later. (up from 13.3)
85+
- Linux: x86_64 shared libraries are now built with GCC 15.1 (up from GCC 11.2)
86+
* The minimum GLIBC version is now 2.28. (up from 2.17)
87+
- Linux: non-x86_64 shared libraries are now built with GCC 12.3 (up from GCC 11.4)
88+
* No change to minimum GLIBC version (2.35).
89+
- Windows: Shared libraries are now built with Visual Studio 2026 (up from 2022)
90+
91+
#### Fixes
92+
93+
- Opus: Fixed missing function exports in Windows binaries.
94+
- tinyfiledialogs: Fixed `tinyfd_messageBox` signature to support the `yesnocancel` dialog type.
95+
- Vulkan: Fixed stack OOME on VkInstance creation with recent drivers.
96+
- Vulkan: Fixed support for Vulkan 1.4.
97+
98+
#### Breaking Changes
99+
100+
- Generator: Removed deprecated `mallocStack`/`callocStack` methods from structs.
101+
- OpenCL: Fixed the carrier type of `cl_ulong` constants. (#1087)
102+
* Now mapped to `long` to avoid unintentional sign extension for negative values.
103+
- Vulkan: MoltenVK on x64 now requires macOS 11.0 or later. (up from 10.13)
104+
1105
### 3.3.6
2106

3-
_Release 2025 Jan 04_
107+
_Released 2025 Jan 04_
4108

5109
This build includes the following changes:
6110

@@ -17,7 +121,7 @@ This build includes the following changes:
17121

18122
### 3.3.5
19123

20-
_Release 2024 Dec 15_
124+
_Released 2024 Dec 15_
21125

22126
This build includes the following changes:
23127

@@ -80,7 +184,7 @@ This build includes the following changes:
80184

81185
### 3.3.4
82186

83-
_Release 2024 Jul 17_
187+
_Released 2024 Jul 17_
84188

85189
This build includes the following changes:
86190

doc/notes/latest.md

Lines changed: 94 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,103 @@
1-
### 3.3.6
1+
### 3.4.0
22

3-
_Release 2025 Jan 04_
3+
_Released 2026 Jan 18_
44

55
This build includes the following changes:
66

77
#### Bindings
88

9-
- vma: Updated to 3.2.0 (up from 3.1.0)
10-
- Vulkan: Updated to 1.4.304 (up from 1.4.303)
11-
- xxhash: Updated to 0.8.3 (up from 0.8.2)
9+
- Added [RenderDoc](https://renderdoc.org) bindings.
10+
- Added [SDL 3](https://libsdl.org/) bindings.
11+
- Added [libspng](https://libspng.org/) bindings.
12+
- Assimp: Updated to 6.0.2 (up from 5.4.3)
13+
- bgfx: Updated to API version 136 (up from 129)
14+
- FMOD: Updated to 2.03.11 (up from 2.03.04)
15+
- freetype: Updated to 2.14.1 (up from 2.13.3)
16+
- harfbuzz: Updated to 12.3.0 (up from 10.1.0)
17+
- hwloc: Updated to 2.12.2 (up from 2.11.2)
18+
- KTX: Updated to 4.4.2 (up from 4.3.2)
19+
- libffi: Updated to 3.5.2 (up from 3.4.6)
20+
- liburing: Updated to 2.13 (up from 2.8)
21+
- LLVM/Clang: Updated to 21.1.2 (up from 19.1.0)
22+
- meshoptimizer: Updated to 1.0.0 (up from 0.22)
23+
- msdfgen: Updated to 1.13.0 (up from 1.11.0)
24+
* Added error correction functions.
25+
* Added optional `advance` parameter to `msdf_ft_font_load_glyph*`.
26+
* Replaced `msdf_shape_has_inverse_y_axis` with `msdf_shape_set/get_y_axis_orientation`.
27+
- NativeFileDialog: Update to 1.3.0 (up from 1.2.1)
28+
- Nuklear: Updated to 4.13.0 (up from 4.12.3)
29+
- OpenAL Soft: Updated to 1.25.0 (up from 1.24.1)
30+
* Added `AL_SOFT_bformat_hoa` extension.
31+
- OpenGL (ES): Added latest extensions.
32+
* `EXT_fragment_shading_rate`
33+
* `EXT_mesh_shader`
34+
* `EXT_shader_realtime_clock`
35+
* `EXT_shader_texture_samples`
36+
- OpenXR: Updated to 1.1.54 (up from 1.1.43)
37+
- Opus: Updated to 1.6.0 (up from 1.5.2)
38+
- Shaderc: Updated to 2025.5 (up from 2024.4)
39+
* Added bindings to glslang.
40+
* Added bindings to SPIRV Tools.
41+
- SPIRV-Cross: Updated to 0.68.0 (up from 0.64.0)
42+
- stb
43+
* Updated `stb_image_resize` to 2.17 (up from 2.12)
44+
- tinyexr: Updated to 1.0.12 (up from 1.0.8)
45+
- tinyfiledialogs: Updated to 3.19.1 (up from 3.18.1)
46+
- vma: Updated to 3.3.0 (up from 3.2.0)
47+
- Vulkan: Updated to 1.4.338 (up from 1.4.304)
48+
* Includes MoltenVK 1.4.1 (up from 1.2.11)
49+
- Zstd: Updated to 1.5.7 (up from 1.5.6)
50+
51+
LWJGL bindings no longer include API documentation in javadoc form. What remains:
52+
53+
- Native struct definitions.
54+
- Native function signatures for downcalls (new in 3.4.0) and upcalls.
55+
- The `package-info` javadoc in each module now also includes links to useful resources, such as:
56+
* The official API documentation.
57+
* The official source repository.
58+
* Guides, tutorials, SDKs, etc.
59+
60+
LWJGL no longer includes the following bindings:
61+
62+
- `lwjgl-cuda`
63+
- `lwjgl-libdivide`
64+
- `lwjgl-meow`
65+
- `lwjgl-nanovg`: the Blendish and OUI bindings only
66+
- `lwjgl-openvr`
67+
- `lwjgl-ovr`
68+
- `lwjgl-sse`
69+
- `lwjgl-tootle`
70+
71+
#### Improvements
72+
73+
- Core: Added the Runtime Bindings Generator.
74+
* A preview API, in `org.lwjgl.system.ffm`, that allows users to define and use custom bindings.
75+
* Based on the Foreign Function & Memory (FFM) and ClassFile APIs (requires JDK 25 or later).
76+
- Core: Added a new backend for downcalls, upcalls and off-heap memory access based on FFM.
77+
* Enabled by default on JDK 25 or later.
78+
* LWJGL is now fully functional with `--sun-misc-unsafe-memory-access=deny`.
79+
* See the [FFM Guide](../FFM.md) for details.
80+
- Core: Added `memCopy` support for Java arrays. (#972)
81+
* Array to buffer
82+
* Buffer to array
83+
* Corresponding unsafe overloads
84+
- FreeBSD: LWJGL now requires FreeBSD 13.5 or later. (up from 13.3)
85+
- Linux: x86_64 shared libraries are now built with GCC 15.1 (up from GCC 11.2)
86+
* The minimum GLIBC version is now 2.28. (up from 2.17)
87+
- Linux: non-x86_64 shared libraries are now built with GCC 12.3 (up from GCC 11.4)
88+
* No change to minimum GLIBC version (2.35).
89+
- Windows: Shared libraries are now built with Visual Studio 2026 (up from 2022)
1290

1391
#### Fixes
1492

15-
- GLFW: Library override paths with Unicode characters are now supported on Windows.
16-
- Windows: Reverted to MSVC in an attempt to fix #1005.
93+
- Opus: Fixed missing function exports in Windows binaries.
94+
- tinyfiledialogs: Fixed `tinyfd_messageBox` signature to support the `yesnocancel` dialog type.
95+
- Vulkan: Fixed stack OOME on VkInstance creation with recent drivers.
96+
- Vulkan: Fixed support for Vulkan 1.4.
97+
98+
#### Breaking Changes
99+
100+
- Generator: Removed deprecated `mallocStack`/`callocStack` methods from structs.
101+
- OpenCL: Fixed the carrier type of `cl_ulong` constants. (#1087)
102+
* Now mapped to `long` to avoid unintentional sign extension for negative values.
103+
- Vulkan: MoltenVK on x64 now requires macOS 11.0 or later. (up from 10.13)

0 commit comments

Comments
 (0)