v1.86.12
What's Changed π
Overview
This release adds support for the ARM64 architecture on macOS and includes FreeType integration by default. It also introduces a new extension for imgui-knobs (#211) and updates LWJGL to 3.3.4.
As a minor update, the project has moved to the MIT license. While Apache 2 is quite permissive, this is mostly my personal preference for a shorter licensing text.
macOS ARM64 support
Initial support was introduced in PRs #111, #112, #136, #190, and #223. The final PR has been merged.
Thanks to the author @rexfleischer and co-authors @Tom-Ski and @zly2006, whose PRs contributed to these changes. π
In a subsequent PR #239, I refined the solution into its final version, which is included in this release.
As a result, the dylib built for the release is universal and can be used on both x86_64 and arm64 architectures. No additional actions or changes to dependencies are required from the user.
FreeType integration
For more information, see the article on FreeType.
Initially, the binding provided two versions of the native part for the three main OSes. One was built with FreeType included, and the other without. The latter was primarily recommended, as the FreeType version required the library to be installed on the user's system (relevant only for Unix users). Starting with this release, FreeType is statically compiled into the native part of the library. Thus, there is no longer a need to install the library on the user's system.
In terms of impact, you will notice an overall improvement in font quality across all platforms. Additionally, you can start using the ImGuiFreeTypeBuilderFlags
for your purposes. (And colorful glyphs, yep π°). l No additional actions are required, as FreeType will be included by default.
Since there is no longer a need to maintain separate libraries without FreeType, the corresponding files have been removed from the bin folder and excluded from release artifacts.
Migration Guide π
- If you had any workarounds for non-functional macOS ARM64 applications, you can remove them and use the native JDK for the platform.
- If you were using native modules with the
-ft
suffix when integrating the library, you need to remove the suffix. In the new release, a separate module for the FreeType version is not provided, as it is included in the default module.
List of changes π
- Added bindings for imgui-knobs by @1312Delta in #211
- MacOS ARM64 native binaries by @rexfleischer in #223
- Universal macOS ARM64 binary and statically compiled FreeType by @SpaiR #239
Updated dependencies
Major
- build(deps): bump org.lwjgl:lwjgl-bom from 3.3.3 to 3.3.4
Minor
- build(deps): bump org.junit.jupiter:junit-jupiter-engine from 5.10.0 to 5.10.3
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 5.10.0 to 5.10.3
- build(deps): bump actions/checkout from 3 to 4
- build(deps): bump actions/setup-java from 3 to 4
- build(deps): bump softprops/action-gh-release from 1 to 2
New Contributors π
- @1312Delta made their first contribution in #211
- @rexfleischer made their first contribution in #223
Full Changelog: v1.86.11...v1.86.12