Skip to content

Commit 4f9767c

Browse files
committed
docs: update release notes for 3.3.2
1 parent a6fe775 commit 4f9767c

4 files changed

Lines changed: 228 additions & 38 deletions

File tree

doc/notes/3.3.2.md

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

3-
_Not Released Yet_
3+
_Released 2023 Apr 01_
44

55
This build includes the following changes:
66

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.3.2](3.3.2.md) (work in progress)
8-
* 2022-02-21 [3.3.1](3.3.1.md) (latest)
7+
* 2023-04-01 [3.3.2](3.3.2.md) (latest)
8+
* 2022-02-21 [3.3.1](3.3.1.md)
99
* 2021-11-15 [3.3.0](3.3.0.md)
1010
* 2019-09-01 [3.2.3](3.2.3.md)
1111
* 2019-05-05 [3.2.2](3.2.2.md)

doc/notes/full.md

Lines changed: 120 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,123 @@
1+
### 3.3.2
2+
3+
_Released 2023 Apr 01_
4+
5+
This build includes the following changes:
6+
7+
#### Bindings
8+
9+
- Added [FMOD](https://www.fmod.com) bindings. (#295)
10+
* Native binaries are not included, because the license does not permit redistribution. They must be downloaded and deployed separately from LWJGL.
11+
- Added [FreeType](https://freetype.org/) bindings. (#611)
12+
* The default build includes HarfBuzz and exports its full API.
13+
- Added [HarfBuzz](https://harfbuzz.github.io/) bindings. (#611)
14+
* The default build works standalone.
15+
* FreeType interop can be enabled by making HarfBuzz use FreeType's shared library (see `Configuration.HARFBUZZ_LIBRARY_NAME`).
16+
- Added [hwloc](https://www.open-mpi.org/projects/hwloc/) bindings. (#98)
17+
- Added [KTX (Khronos Texture)](https://www.khronos.org/ktx/) bindings. (#660)
18+
- Windows: Added bindings to `dpapi.h`. (#851)
19+
- Assimp: Updated to 5.2.5 (up from 5.2.2)
20+
* `KHR_draco_mesh_compression` is now supported via the bundled [Draco](https://github.com/google/draco) library. (#773)
21+
- bgfx: Updated to API version 118 (up from 115)
22+
- CUDA: Updated to 12.1.0 (up from 11.5.0)
23+
- glfw: Updated to latest 3.3.8 (up from 3.3.6)
24+
* Added `GLFW_WAYLAND_LIBDECOR`, `GLFW_WAYLAND_PREFER_LIBDECOR` and `GLFW_WAYLAND_DISABLE_LIBDECOR`.
25+
* Added `GLFW_CURSOR_CAPTURED`.
26+
* Added `GLFW_WAYLAND_APP_ID`.
27+
* Added `GLFW_POSITION_X`, `GLFW_POSITION_Y` and `GLFW_ANY_POSITION`.
28+
- jemalloc: Updated to 5.3.0 (up from 5.2.1)
29+
- libffi: Updated to 3.4.4 (up from 3.4.2)
30+
- liburing: Updated to 2.4-dev (up from 2.1)
31+
- lmdb: Updated to 0.9.30 (up from 0.9.28)
32+
- lz4: Updated to 1.9.4 (up from 1.9.3)
33+
- LLVM/Clang: Updated to 16.0.0 (up from 13.0.1)
34+
- meshoptimizer: Updated to 0.18 (up from 0.17)
35+
- NativeFileDialog: Switched to [Native File Dialog Extended](https://github.com/btzy/nativefiledialog-extended) (#823)
36+
* This is a fork of the original library with new features and breaking API changes.
37+
- Nuklear: Updated to 4.10.5 (up from 4.9.6)
38+
* Added the font baking API.
39+
- OpenAL Soft: Updated to 1.23.0 (up from 1.21.1)
40+
* Added `ALC_SOFT_loopback_bformat` extension.
41+
* Added `ALC_SOFT_output_mode` extension.
42+
* Added `ALC_SOFT_reopen_device` extension.
43+
* Added `AL_SOFT_callback_buffer` extension.
44+
* Added `AL_SOFT_effect_target` extension.
45+
* Added `AL_SOFT_events` extension. (#854)
46+
* Added `AL_SOFT_UHJ` extension.
47+
* Added `AL_SOFTX_hold_on_disconnect` extension. (#795)
48+
- OpenGL(ES): Added latest extensions.
49+
* `GL_EXT_framebuffer_blit_layers`
50+
* `GL_EXT_fragment_shading_rate`
51+
* `GL_EXT_fragment_shading_rate_attachment`
52+
* `GL_EXT_fragment_shading_rate_primitive`
53+
* `GL_EXT_separate_depth_stencil`
54+
* `GL_EXT_shader_samples_identical`
55+
- OpenVR: Updated to 1.23.7 (up from 1.16.8)
56+
- OpenXR: Updated to 1.0.27 (up from 1.0.22)
57+
- Remotery: Updated to 1.2.1 (up from 1.0.0)
58+
- rpmalloc: Updated to 1.4.4 (up from 1.4.3)
59+
- Shaderc: Updated to 2023.3 (up from 2022.1)
60+
- SPIRV-Cross: Updated to 0.51.0 (up from 0.48.0)
61+
- stb
62+
* Updated `stb_image` to 2.28 (up from 2.27)
63+
- tinyexr: Updated to 1.0.2 (up from 1.0.1)
64+
- tinyfiledialogs: Updated to 3.9.0 (up from 3.8.8)
65+
- vma: Updated to 3.0.1 (up from 3.0.0-development)
66+
- Vulkan: Updated to 1.3.246 (up from 1.3.206)
67+
* Includes MoltenVK 1.2.3 (up from 1.1.7)
68+
- Zstd: Updated to 1.5.4 (up from 1.5.2)
69+
70+
#### Improvements
71+
72+
- Linux: x64 shared libraries are now built with GCC 11.2 (up from GCC 7.5)
73+
* The minimum GLIBC version is now 2.17. (down from 2.27) (#842)
74+
- Windows: Shared libraries are now built with Visual Studio 2022 (up from 2019)
75+
- Core: Added support for JDK 19 (#799)
76+
- Core: Added `MemoryUtil::memByteBuffer(Struct)`. It creates a `ByteBuffer` view of a struct value.
77+
- Core: More `SharedLibraryLoader` improvements. (#790)
78+
* The default `Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY` is now `lwjgl_<trimmed_user_name>`.
79+
* The default `Configuration.SHARED_LIBRARY_EXTRACT_PATH` now includes the CPU architecture. (`<temp_root>/<extract_dir>/<version>/<arch>/`)
80+
* Added `Configuration.SHARED_LIBRARY_EXTRACT_FORCE`.
81+
- Core: The string returned by `Version::getVersion()` now follows the Java version format (`M.m.r+B` or `M.m.r-snapshot+B`).
82+
- Core: Added `Configuration.DEBUG_MEMORY_ALLOCATOR_FAST`, a dynamic option that dramatically reduces the performance overhead of memory leak detection.
83+
- Core: Reduced the performance overhead of `Configuration.DEBUG_STACK`.
84+
- docs: The LWJGL javadoc is now generated with JDK 19 (up from JDK 10) for improved search functionality.
85+
- The `.sha1` and `.git` files, used for validating LWJGL artifacts, are now stored under the `META-INF` folder.
86+
- glfw: It will now always be patched with the latest [SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) version.
87+
* Reminder: `glfwUpdateGamepadMappings` can be used to update the mappings at runtime.
88+
- Nuklear: `NK_BUTTON_TRIGGER_ON_RELEASE` is now also defined on Linux & macOS, not only Windows, for consistency.
89+
- OpenXR: Added extension class javadoc.
90+
* Currently, only the overview section is included.
91+
* Also added a link that opens the OpenXR specification at the corresponding section for the extension.
92+
- Remotery: Made it easier to get started with Remotery profiling: (#784)
93+
* Users can now identify the commit used to build the Remotery bindings in the `Remotery` class javadoc.
94+
* A script that quickly clones the Remotery repository at that commit is also included.
95+
The viewer application at `vis/index.html` is guaranteed to be compatible with the LWJGL bindings.
96+
* Ported two simple Remotery samples (`modules/samples/src/test/java/org/lwjgl/demo/util/remotery/`).
97+
98+
#### Fixes
99+
100+
- Core: Fixed Java/native library incompatibility detection. (#737)
101+
- Core: Fixed `dlerror` decoding to use UTF-8. (#738)
102+
- Core: Fixed `Version::getVersion()` when LWJGL is in the module path. (#770)
103+
- Core: Fixed handling of unsigned 8/16-bit integer parameters in JNI code. (#858)
104+
- Core: Many debug messages can no longer tear under concurrency. (#825)
105+
- Build: Fixed offline mode with multiple local architectures. (#740)
106+
- NanoSVG: Fixed auto-sizing of `NSVGPath::pts` buffer.
107+
- OpenCL: Fixed initialization on macOS 13. (#861)
108+
- Opus: Fixed `pcm` parameter type of `opus_decode_float` function. (#785)
109+
- Remotery: Fixed `rmtSettings::free` callback signature.
110+
- stb: Fixed `stb_image_resize` flag values. (#857)
111+
- Vulkan: Fixed definition of the `VK_API_VERSION_PATCH` macro. (#743)
112+
- Vulkan: Fixed `EXT_debug_utils` function dispatch. (#755)
113+
114+
#### Breaking Changes
115+
116+
- Core: Introduced additional mangling of `org.lwjgl.system.JNI` method names for 8/16-bit integer parameters. (#858) (S)
117+
- NanoVG: The `freeData` parameters of `nvgCreateFontMem*` functions are now mapped to Java `boolean`. (S)
118+
- NativeFileDialog: Now uses the [btzy/nativefiledialog-extended](https://github.com/btzy/nativefiledialog-extended) API. (S)
119+
- Nuklear: Renamed `NkConvertConfig::null_texture` to `tex_null` to match the change in the native API. (S)
120+
1121
### 3.3.1
2122

3123
_Released 2022 Feb 21_
@@ -178,11 +298,6 @@ This build includes the following changes:
178298

179299
#### Breaking Changes
180300

181-
```
182-
(B): binary incompatible change
183-
(S): source incompatible change
184-
```
185-
186301
- Linux: Shared libraries are now built on Ubuntu 18.04 (up from Ubuntu 16.04) (B)
187302
* GLIBC versions older than 2.14 are no longer supported. Some, but not all, LWJGL natives may require up to GLIBC 2.27.
188303
* Applications deployed on older systems must now build & bundle custom LWJGL natives. Contact LWJGL developers if you need assistance.

doc/notes/latest.md

Lines changed: 105 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,123 @@
1-
### 3.3.1
1+
### 3.3.2
22

3-
_Released 2022 Feb 21_
3+
_Released 2023 Apr 01_
44

55
This build includes the following changes:
66

77
#### Bindings
88

9-
- Added [liburing](https://github.com/axboe/liburing) bindings.
10-
* Can be found in the LWJGL core module (package `org.lwjgl.system.linux.liburing`).
11-
- Added [OpenXR](https://www.khronos.org/openxr/) bindings. (#569)
12-
- Assimp: Updated to 5.2.2 (up from 5.1.0)
13-
- glfw: Updated to latest 3.3.6 (up from 3.3.5)
14-
* Added `glfwGetGLXFBConfig`.
15-
* Added `glfwGetEGLConfig`.
16-
- meshoptimizer: Updated to 0.17 (up from 0.16)
17-
- Nuklear: Updated to 4.9.6 (up from 4.09.0)
18-
- Shaderc: Updated to 2022.1 (up from 2021.3)
19-
- vma: Updated to latest 3.3.0-development
20-
* Added virtual allocator API.
21-
* Added `VMA_MEMORY_USAGE_AUTO`.
22-
- Vulkan: Updated to 1.3.206 (up from 1.2.198)
23-
* Includes MoltenVK 1.1.7 (up from 1.1.5)
24-
- xxhash: Updated to 0.8.1 (up from 0.8.0)
25-
- Zstd: Updated to 1.5.2 (up from 1.5.0)
26-
* Also, the LWJGL memory allocator is now used for internal allocations.
9+
- Added [FMOD](https://www.fmod.com) bindings. (#295)
10+
* Native binaries are not included, because the license does not permit redistribution. They must be downloaded and deployed separately from LWJGL.
11+
- Added [FreeType](https://freetype.org/) bindings. (#611)
12+
* The default build includes HarfBuzz and exports its full API.
13+
- Added [HarfBuzz](https://harfbuzz.github.io/) bindings. (#611)
14+
* The default build works standalone.
15+
* FreeType interop can be enabled by making HarfBuzz use FreeType's shared library (see `Configuration.HARFBUZZ_LIBRARY_NAME`).
16+
- Added [hwloc](https://www.open-mpi.org/projects/hwloc/) bindings. (#98)
17+
- Added [KTX (Khronos Texture)](https://www.khronos.org/ktx/) bindings. (#660)
18+
- Windows: Added bindings to `dpapi.h`. (#851)
19+
- Assimp: Updated to 5.2.5 (up from 5.2.2)
20+
* `KHR_draco_mesh_compression` is now supported via the bundled [Draco](https://github.com/google/draco) library. (#773)
21+
- bgfx: Updated to API version 118 (up from 115)
22+
- CUDA: Updated to 12.1.0 (up from 11.5.0)
23+
- glfw: Updated to latest 3.3.8 (up from 3.3.6)
24+
* Added `GLFW_WAYLAND_LIBDECOR`, `GLFW_WAYLAND_PREFER_LIBDECOR` and `GLFW_WAYLAND_DISABLE_LIBDECOR`.
25+
* Added `GLFW_CURSOR_CAPTURED`.
26+
* Added `GLFW_WAYLAND_APP_ID`.
27+
* Added `GLFW_POSITION_X`, `GLFW_POSITION_Y` and `GLFW_ANY_POSITION`.
28+
- jemalloc: Updated to 5.3.0 (up from 5.2.1)
29+
- libffi: Updated to 3.4.4 (up from 3.4.2)
30+
- liburing: Updated to 2.4-dev (up from 2.1)
31+
- lmdb: Updated to 0.9.30 (up from 0.9.28)
32+
- lz4: Updated to 1.9.4 (up from 1.9.3)
33+
- LLVM/Clang: Updated to 16.0.0 (up from 13.0.1)
34+
- meshoptimizer: Updated to 0.18 (up from 0.17)
35+
- NativeFileDialog: Switched to [Native File Dialog Extended](https://github.com/btzy/nativefiledialog-extended) (#823)
36+
* This is a fork of the original library with new features and breaking API changes.
37+
- Nuklear: Updated to 4.10.5 (up from 4.9.6)
38+
* Added the font baking API.
39+
- OpenAL Soft: Updated to 1.23.0 (up from 1.21.1)
40+
* Added `ALC_SOFT_loopback_bformat` extension.
41+
* Added `ALC_SOFT_output_mode` extension.
42+
* Added `ALC_SOFT_reopen_device` extension.
43+
* Added `AL_SOFT_callback_buffer` extension.
44+
* Added `AL_SOFT_effect_target` extension.
45+
* Added `AL_SOFT_events` extension. (#854)
46+
* Added `AL_SOFT_UHJ` extension.
47+
* Added `AL_SOFTX_hold_on_disconnect` extension. (#795)
48+
- OpenGL(ES): Added latest extensions.
49+
* `GL_EXT_framebuffer_blit_layers`
50+
* `GL_EXT_fragment_shading_rate`
51+
* `GL_EXT_fragment_shading_rate_attachment`
52+
* `GL_EXT_fragment_shading_rate_primitive`
53+
* `GL_EXT_separate_depth_stencil`
54+
* `GL_EXT_shader_samples_identical`
55+
- OpenVR: Updated to 1.23.7 (up from 1.16.8)
56+
- OpenXR: Updated to 1.0.27 (up from 1.0.22)
57+
- Remotery: Updated to 1.2.1 (up from 1.0.0)
58+
- rpmalloc: Updated to 1.4.4 (up from 1.4.3)
59+
- Shaderc: Updated to 2023.3 (up from 2022.1)
60+
- SPIRV-Cross: Updated to 0.51.0 (up from 0.48.0)
61+
- stb
62+
* Updated `stb_image` to 2.28 (up from 2.27)
63+
- tinyexr: Updated to 1.0.2 (up from 1.0.1)
64+
- tinyfiledialogs: Updated to 3.9.0 (up from 3.8.8)
65+
- vma: Updated to 3.0.1 (up from 3.0.0-development)
66+
- Vulkan: Updated to 1.3.246 (up from 1.3.206)
67+
* Includes MoltenVK 1.2.3 (up from 1.1.7)
68+
- Zstd: Updated to 1.5.4 (up from 1.5.2)
2769

2870
#### Improvements
2971

30-
- GLFW: An alternative macOS build now supports Cocoa calls on any thread.
31-
* A different window toolkit (AWT, JavaFX, etc.) may now run at the same time as GLFW. It must be initialized before `glfwInit` is called.
32-
* Enabled with `Configuration.GLFW_LIBRARY_NAME.set("glfw_async");`.
72+
- Linux: x64 shared libraries are now built with GCC 11.2 (up from GCC 7.5)
73+
* The minimum GLIBC version is now 2.17. (down from 2.27) (#842)
74+
- Windows: Shared libraries are now built with Visual Studio 2022 (up from 2019)
75+
- Core: Added support for JDK 19 (#799)
76+
- Core: Added `MemoryUtil::memByteBuffer(Struct)`. It creates a `ByteBuffer` view of a struct value.
77+
- Core: More `SharedLibraryLoader` improvements. (#790)
78+
* The default `Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY` is now `lwjgl_<trimmed_user_name>`.
79+
* The default `Configuration.SHARED_LIBRARY_EXTRACT_PATH` now includes the CPU architecture. (`<temp_root>/<extract_dir>/<version>/<arch>/`)
80+
* Added `Configuration.SHARED_LIBRARY_EXTRACT_FORCE`.
81+
- Core: The string returned by `Version::getVersion()` now follows the Java version format (`M.m.r+B` or `M.m.r-snapshot+B`).
82+
- Core: Added `Configuration.DEBUG_MEMORY_ALLOCATOR_FAST`, a dynamic option that dramatically reduces the performance overhead of memory leak detection.
83+
- Core: Reduced the performance overhead of `Configuration.DEBUG_STACK`.
84+
- docs: The LWJGL javadoc is now generated with JDK 19 (up from JDK 10) for improved search functionality.
85+
- The `.sha1` and `.git` files, used for validating LWJGL artifacts, are now stored under the `META-INF` folder.
86+
- glfw: It will now always be patched with the latest [SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) version.
87+
* Reminder: `glfwUpdateGamepadMappings` can be used to update the mappings at runtime.
88+
- Nuklear: `NK_BUTTON_TRIGGER_ON_RELEASE` is now also defined on Linux & macOS, not only Windows, for consistency.
89+
- OpenXR: Added extension class javadoc.
90+
* Currently, only the overview section is included.
91+
* Also added a link that opens the OpenXR specification at the corresponding section for the extension.
92+
- Remotery: Made it easier to get started with Remotery profiling: (#784)
93+
* Users can now identify the commit used to build the Remotery bindings in the `Remotery` class javadoc.
94+
* A script that quickly clones the Remotery repository at that commit is also included.
95+
The viewer application at `vis/index.html` is guaranteed to be compatible with the LWJGL bindings.
96+
* Ported two simple Remotery samples (`modules/samples/src/test/java/org/lwjgl/demo/util/remotery/`).
3397

3498
#### Fixes
3599

36-
- Core: Fixed extra `NUL` in string returned from `SharedLibrary::getPath()` on Linux & macOS. (#713)
37-
- Core: Fixed integer overflow when casting pointers on 32-bit architectures. (#720)
38-
- Core: Fixed rare `NPE` with `Configuration.DEBUG_STACK` enabled. (#721)
39-
- OpenCL: Fixed values of the `KERNEL_ARG_ADDRESS_*` constants. (#733)
40-
- OpenCL: Fixed value of `KERNEL_ARG_TYPE_QUALIFIER` constant. (#735)
41-
- vma: Fixed nullability of `VmaVirtualAllocationCreateInfo::pUserData` member.
42-
- Vulkan: All `noautovalidity` parameters/members are now regarded as nullable. (#702)
100+
- Core: Fixed Java/native library incompatibility detection. (#737)
101+
- Core: Fixed `dlerror` decoding to use UTF-8. (#738)
102+
- Core: Fixed `Version::getVersion()` when LWJGL is in the module path. (#770)
103+
- Core: Fixed handling of unsigned 8/16-bit integer parameters in JNI code. (#858)
104+
- Core: Many debug messages can no longer tear under concurrency. (#825)
105+
- Build: Fixed offline mode with multiple local architectures. (#740)
106+
- NanoSVG: Fixed auto-sizing of `NSVGPath::pts` buffer.
107+
- OpenCL: Fixed initialization on macOS 13. (#861)
108+
- Opus: Fixed `pcm` parameter type of `opus_decode_float` function. (#785)
109+
- Remotery: Fixed `rmtSettings::free` callback signature.
110+
- stb: Fixed `stb_image_resize` flag values. (#857)
111+
- Vulkan: Fixed definition of the `VK_API_VERSION_PATCH` macro. (#743)
112+
- Vulkan: Fixed `EXT_debug_utils` function dispatch. (#755)
43113

44114
#### Breaking Changes
45115

116+
- Core: Introduced additional mangling of `org.lwjgl.system.JNI` method names for 8/16-bit integer parameters. (#858) (S)
117+
- NanoVG: The `freeData` parameters of `nvgCreateFontMem*` functions are now mapped to Java `boolean`. (S)
118+
- NativeFileDialog: Now uses the [btzy/nativefiledialog-extended](https://github.com/btzy/nativefiledialog-extended) API. (S)
119+
- Nuklear: Renamed `NkConvertConfig::null_texture` to `tex_null` to match the change in the native API. (S)
120+
46121
```
47122
(B): binary incompatible change
48123
(S): source incompatible change

0 commit comments

Comments
 (0)