Skip to content

Releases: SpaiR/imgui-java

v1.89.0

03 Feb 10:57
35fc78d
Compare
Choose a tag to compare

What's Changed

The key update in this release is the upgrade of the Dear ImGui library to v1.89.9 in #316. I highly recommend reviewing the related changes, as this update also includes version bumps for the imgui-node-editor and ImPlot extensions to their latest versions. These updates introduce changes to the API.

Another notable change affects the internal API of the ImVec classes. Their mathematical operations are now immutable, meaning that the code vec1.plus(vec2) will return a new instance instead of modifying the values within the vec1 instance, as it did previously. Additionally, a new mathematical operation div has been introduced.

Compare

List of Changes

New Contributors

Full Changelog: v1.88.0...v1.89.0

ko-fi

v1.88.0

28 Dec 09:45
2a605f0
Compare
Choose a tag to compare

Dear ImGui v1.88

This update introduces no major changes to the Dear ImGui API.
PR with the update to review binding changes: #309.

Refer to the official changelog for a complete list of Dear ImGui updates.

List of Changes

  • Update to Gradle 8.12 and set CI to use JDK 17 in #308
  • Bump Dear ImGui from 1.87 to 1.88 in #309

Full Changelog: v1.87.7...v1.88.0

ko-fi

v1.87.7

09 Dec 07:38
76f6d7b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.87.6...v1.87.7

v1.87.6

31 Oct 10:27
e8f9b01
Compare
Choose a tag to compare

What's Changed

  • Update imnodes bindings to latest version & fix getNode___SpacePos bindings by @serivesmejia in #282
  • Extend available API for imgui.internal.ImGui by @SpaiR in #294

New Contributors

Full Changelog: v1.87.5...v1.87.6

v1.87.5

23 Sep 10:29
c776b1b
Compare
Choose a tag to compare

What's Changed

  • Fix incorrect ImDrawData method return type in #272
  • Tweak ImPlot api in #273

Full Changelog: v1.87.4...v1.87.5

v1.87.4

16 Sep 06:40
b95b479
Compare
Choose a tag to compare

What's Changed

  • Change pointers casting type in #265
  • Image methods now accept the long type instead of int in #265
  • Fix missing bindings for TreePush and InputScalar in #268

Full Changelog: v1.87.3...v1.87.4

v1.87.3

26 Aug 10:33
e822240
Compare
Choose a tag to compare

What's Changed

  • ArgVariant annotation for binding gen and plot* methods with count parameter for ImPlot extension in #264 (resolves #261)

Full Changelog: v1.87.2...v1.87.3

v1.87.2

21 Aug 14:26
cae0581
Compare
Choose a tag to compare

Regression

  • Minor improvements and fixes for binding generation #263

Full Changelog: v1.87.1...v1.87.2

v1.87.1

20 Aug 06:12
f18c578
Compare
Choose a tag to compare

Regression

  • Return methods lost during integration of binding generation API: 8f76b20

Full Changelog: v1.87.0...v1.87.1

v1.87.0

19 Aug 07:34
c80abd2
Compare
Choose a tag to compare

What's Changed ๐Ÿš€

Dear ImGui v1.87 + ImPlot v0.13

As part of PR #252, the versions of the main Dear ImGui module and the ImPlot extension have been upgraded. Initially, there was no plan to update the extension, but this became necessary due to compatibility issues.

It's important to note that both updates significantly change the way you interact with them. Therefore, it is HIGHLY recommended to review the corresponding release notes: Dear ImGui v1.87 and ImPlot v0.13.

Backend Refactor for GLFW and OpenGL

Since updating Dear ImGui required changes to the backend code, a refactor was carried out on the ImGuiImplGlfw and ImGuiImplGl3 classes. In addition to ensuring compatibility with the updated API, their code was aligned as closely as possible with the original code, within the constraints of the language. Which should make it easier to maintain these classes in the future.

As a small bonus, visibility modifiers have been revised. Now, all methods, except for the most internal ones, can be overridden. This should reduce the complexity of creating custom backends.

API for Binding Generation

This is the first release made using the new API for binding generation. You can read more about it here: #240. From a user perspective, these changes should have minimal impact. In some areas, there are now more ways to interact with native methods, but overall, everything should remain more or less the same. This is definitely not the final version, and currently, there is a lack of documentation on how to interact with the API. These are issues that will be addressed in the future. If you encounter any problems, such as missing methods that were previously available or the absence of certain flags, please report them in the issue tracker.

Optional FreeType

In the previous release, FreeType became part of the compiled library, and was enabled by default. It was noted in #244 that this default renderer appears slightly worse on macOS. This highlighted the need to toggle this renderer on and off. More details can be found in PR #254.

Migration Guide ๐Ÿ“š

  • See New IO keyboard/mouse/gamepad event API (1.87) recap to undestand changes in Dear ImGui API. Basically, you can replace all usages of GLFW keyboard constants with appropriate ImGui versions.
  • Use ImGui.getIO().getFonts().setFreeTypeRenderer(true); to enable FreeType renderer. STB_TrueType will be used by default.

List of changes ๐Ÿ“

Major

  • Binding Generator API by @SpaiR in #240
  • Add missing ImGui.TableGetSortSpecs API (and related objects) by @ultraq in #246
  • Dear ImGui 1.87 by @SpaiR in #252
  • FreeType is a toggleable option which is disabled by default by @SpaiR in #254

Minor

Updated dependencies

Major

  • Dear ImGui from 1.86 to 1.87
  • ImPlot from 0.12 to 0.13

Minor

  • build(deps): bump com.gradleup.shadow from 7.1.2 to 8.3.0 by @SpaiR in #241
  • build(deps): bump com.badlogicgames.gdx:gdx-jnigen from 2.4.0 to 2.5.1 by @SpaiR in #242

New Contributors ๐ŸŽ‰

Full Changelog: v1.86.12...v1.87.0

ko-fi