Skip to content

v1.91.5

Latest
Compare
Choose a tag to compare
@ocornut ocornut released this 07 Nov 19:00
· 14 commits to master since this release

1.91.5: many tweaks/fixes & obsoleted old IO

❤️ A few months ago was the 10th anniversary of v1.00! Read: 10 years of Dear ImGui ! 🎉
Reading the changelog is a good way to keep up to date with the things Dear ImGui has to offer, and maybe will give you ideas of some features that you've been ignoring until now!
📣 If you are browsing multiple releases: click version number above to display full release note contents, otherwise it is badly clipped by GitHub!


Links: Homepage - Release notes - FAQ - Issues, Q&A. Also see our Wiki with sections such as..

Dear ImGui is funded by your contributions and absolutely needs them to sustain and grow. We can invoice and accommodate to many situations. If your company uses Dear ImGui, please reach out. See Funding page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and buy hours of support (and cough not use them all) and that will contribute to fund Dear ImGui.

❤️ Thanks to recently joining sponsors: id Software, SCS Software! Valve! Gravity Well! ❤️
❤️ Thanks to other present and past sponsors incl Supercell! BeamNG! OTOY! Arkane Lyon, Asobo Studio, Lucid Games! Asobo! G3Dvu ! Planestate Software! Aras P! FUTO! & many individuals ❤️

Thanks to @GamingMinds-DanielC, @PathogenDavid & more for for their help with github answers!


Changes (since v1.91.4)

Breaking Changes:

  • Commented out pre-1.87 IO system (equivalent to using IMGUI_DISABLE_OBSOLETE_KEYIO or IMGUI_DISABLE_OBSOLETE_FUNCTIONS before).
    • io.KeyMap[] and io.KeysDown[] are removed (obsoleted February 2022).
    • io.NavInputs[] and ImGuiNavInput enum are removed (obsoleted July 2022).
    • Pre-1.87 backends are not supported:
      • backends need to call io.AddKeyEvent(), io.AddMouseEvent() instead of writing to io.KeysDown[], io.MouseDown[] fields.
      • backends need to call io.AddKeyAnalogEvent() for gamepad values instead of writing to io.NavInputs[] fields.
    • For more references:
      • read #4921
      • read Changelogs for 1.87 and 1.88. Read API BREAKING CHANGES section of imgui.cpp.
    • If you have trouble updating a very old codebase using legacy backend-specific key codes:
      consider updating to 1.91.4 first, then #define IMGUI_DISABLE_OBSOLETE_KEYIO, then update to latest.
    • Obsoleted ImGuiKey_COUNT (it was unusually error-prone/misleading since valid keys don't start at 0). Probably use ImGuiKey_NamedKey_BEGIN/ImGuiKey_NamedKey_END instead?
  • Fonts: removed const qualifiers from most font functions in prevision for upcoming fonts improvements.

Other changes:

  • Selectable: selected Selectable use ImGuiCol_Header instead of an arbitrary lerp between _Header and _HeaderHovered which was introduced v1.91 (#8106, #1861)
  • Buttons: using ImGuiItemFlags_ButtonRepeat makes default button behavior use _PressedOnClick instead of _PressedOnClickRelease when unspecified.
    • This is intended to make the +/- buttons of InputInt()/InputFloat() react on the initial mouse down event.
    • Note that it may reveal incorrect usage if you were using InputInt()/InputFloat() without persistent storage by relying solely on e.g. IsItemDeactivatedAfterEdit(): this was never supported and didn't work consistently (see #8149).
  • InputText: fixed a bug (regression in 1.91.2) where modifying text buffer within a callback would sometimes prevents further appending to the buffer.
  • Tabs, Style: made ImGuiCol_TabDimmedSelectedOverline alpha 0 (not visible) in default styles as the current look is not right (but ImGuiCol_TabSelectedOverline stays the same).
  • Log/Capture: added experimental io.ConfigWindowsCopyContentsWithCtrlC option to automatically copy window contents into clipboard using CTRL+C. This is experimental because (1) it currently breaks on nested Begin/End, (2) text output quality varies, and (3) text output comes in submission order rather than spatial order.
  • Log/Capture: better decorating of BeginMenu() and TabItem() output.
  • Log/Capture: a non terminated log ends automatically in the window which called it.
  • imgui_freetype: Fixed a crash in build font atlas when using merged fonts and the first font in a merged set has no loaded glyph. (#8081)
  • Backends: DX12: Unmap() call specify written range. The range is informational and may be used by debug tools.
  • Backends: SDL2: Replace SDL_Vulkan_GetDrawableSize() forward declaration with the actual include. (#8095, #7967, #3190) [@sev-]
  • Backends: SDL2, SDL3: SDL_EVENT_MOUSE_WHEEL event doesn't require dividing by 100.0f on Emscripten target. (#4019, #6096, #1463)
  • Examples: SDL3+Vulkan: Added example. (#8084, #8085)
  • Examples: Android+OpenGL: Using ALooper_pollOnce() instead of ALooper_pollAll() which has been deprecated. (#8013) [@feather179]

Changes from 1.91.4 to 1.91.5 in the Docking branch:

  • Backends: GLFW: added Linux workaround for spurious mouse up events emitted while dragging and creating new viewports. Generally they would be interrupting a dragging operations. (#3158, #7733, #7922) [@rokups, @ocornut]
  • Docking: fixed using ImGuiDockNodeFlags_KeepAliveOnly with DockSpaceOverViewport(): the normally invisible space did erroneously claim mouse hover and could be potentially focused. (#8125) [@kcbanner]
  • ‼️ *EDIT* The imgui_impl_win32 backend in this release has a crashing bug when using multi-viewports + running multiple processes simultaneously (because I didn't realize Win32's SetProp()/GetProp() data were not process bound). Fixed by dad1047 head but not in a tagged release yet. You may cherry-pick dad1047 from 1.91.5. ‼️

How the output of io.ConfigWindowsCopyContentsWithCtrlC looks:

window ctrl-c (3)

Gallery

@elvissteinjr: "I've just released Desktop+ 3.0, a SteamVR desktop/windows mirroring application, which features a fully revamped UI, naturally using ImGui. While it was using ImGui before (last gallery post in 2020), the UI is now fancier with multiple windows floating in VR, some animated widgets and a custom VR keyboard (which is also just a ImGui window).
Nowadays also available on Steam (free). The Steam announcement for this release also has some short video clips and more screencaps, though not all focused on the interface itself."
read more

screenshot

@koki10190: "Editor for my game engine! The engine itself is similar to how unity works"
https://github.com/Vault-Software-Team/Vault-Engine
image

@vircon32: "Hi! Never got to show it here, but for some time now I have been using Dear Imgui. I made Vircon32, a game console I designed from scratch, and my emulator uses ImGui to show menus."
Vircon32 emulator Dear ImGui

@343587787: "I used ImGui combined with OpenCASCADE to create a 3D model visualization software for debugging some of my graphics algorithms."
Quicker_20241103_064852

@Riztazz: "We built a single/multi-webcam motion capture app AImation Studio with the help of ImGui, thank you for this library! Testing some of the features, streaming to unreal and other features available on our website if anyone is interested"

aimation_imgui_ver_three.mp4

@tay10r: "I use ImGui for practically everything at work and at home. Here's an app I made for monitoring training loops for neural networks. In this particular case I'm training an anomaly detector based on data augmentation techniques from: https://www.sciencedirect.com/science/article/abs/pii/S0031320320305094 Thanks @ocornut for maintaining this awesome library!"

Screenshot 2024-10-31 121139


Read on more gallery posts.


Also see previous releases details.
Note that GitHub are now clamping release notes sometimes really badly, click on a header/title to read full notes.

❤️ A few months ago was the 10th anniversary of v1.00! Read: 10 years of Dear ImGui ! 🎉

💰 🙏 Dear ImGui is funded by your contributions and absolutely needs them to sustain and grow. We can invoice and accommodate to many situations. If your company uses Dear ImGui, please reach out. See Funding page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and buy hours of support (and cough not use them all) and that will contribute to fund Dear ImGui.