v1.91.8
❤️ Last summer 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..
- Getting Started (~25 lines in an existing app)
- Useful Extensions/Widgets
- Software using Dear ImGui
- Bindings & Backends
- and more! 👌
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: MachineGames, id Software!, SCS Software! ! ! ❤️
❤️ Thanks to our sponsors incl Supercell! Valve!, G3Dvu! OTOY! Adobe! Lucid Games! Planestate Software! Aras P! Gravity Well! FUTO! & many individuals ❤️
Thanks to @GamingMinds-DanielC, @PathogenDavid & more for their help with github answers!
Recently released third-party extensions include:
-
ImOGuizmo by @fknfilewalker: a simple C++11 header only interactive orientation gizmo: github/fknfilewalker/imoguizmo
-
ImPlot3d by @brenocq https://github.com/brenocq/implot3d
ImPlot3D is an extension of Dear ImGui for easy-to-use 3D plotting. Inspired by ImPlot, it supports lines, scatter, surfaces, meshes, and more, with interactive controls like rotation, zoom, and pan.
See more extensions in our wiki page Useful Extensions.
Changes (since v1.91.7)
Breaking Changes:
- ColorEdit, ColorPicker: redesigned how alpha is displayed in the preview square. (#8335, #1578, #346)
- Removed
ImGuiColorEditFlags_AlphaPreview
(made value 0): it is now the default behavior. - Prior to 1.91.8: alpha was made opaque in the preview by default unless using
ImGuiColorEditFlags_AlphaPreview
. - We now display the preview as transparent by default. You can use
ImGuiColorEditFlags_AlphaOpaque
to use old behavior. - The new flags may be combined better and allow finer controls:
ImGuiColorEditFlags_AlphaOpaque
: disable alpha in the preview, but alpha value still editable.ImGuiColorEditFlags_AlphaNoBg
: disable rendering a checkerboard background behind transparent color.ImGuiColorEditFlags_AlphaPreviewHalf
: display half opaque / half transparent preview.
- Removed
- Backends: SDLGPU3: Renamed
ImGui_ImplSDLGPU3_InitInfo::GpuDevice
toDevice
for consistency. (#8163, #7998, #7988)
Other changes:
- imgui_freetype: fixed issue where glyph advances would incorrectly be snapped to pixels. Effectively it would only be noticeable when hinting is disabled with
ImGuiFreeTypeBuilderFlags_NoHinting
, as hinting itself snaps glyph advances. - Inputs: added
IsMouseReleasedWithDelay()
helper. (#8337, #8320). Use if you absolutely need to distinguish single-click from double-clicks by introducing a delay. This is a very rarely used UI idiom, but some apps use this: e.g. MS Explorer single-click on an icon triggers a rename. Generally use withdelay >= io.MouseDoubleClickTime
+ combine with aGetMouseClickedCount() == 1
check. - Windows: legacy
SetWindowFontScale()
is properly inherited by nested child windows. Note that an upcoming major release should make this obsolete, but in the meanwhile it works better now. (#2701, #8138, #1018) - Windows, Style: Fixed small rendering issues with menu bar, resize grip and scrollbar when using thick border sizes. (#8267, #7887)
- Windows: Fixed
IsItemXXXX()
functions not working on append-version ofEndChild()
. (#8350) Also made some of the fields accessible afterBeginChild()
to matchBegin()
logic. - Error Handling: Recovery from missing
EndMenuBar()
call. (#1651) - Tables, Menus: Fixed using
BeginTable()
in menu layer (any menu bar). (#8355) It previously overrode the current layer back to main layer, which caused an issue with MainMenuBar attempted to release focus when leaving the menu layer. - Tables, Menus: Fixed tables or child windows submitted inside
BeginMainMenuBar()
being unable to save their settings, as the main menu bar usesImGuiWindowFlags_NoSavedSettings
. (#8356) - ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7. (#8336, #8241). [@PathogenDavid]
- Tabs, Style: reworked selected overline rendering to better accommodate for rounded tabs. Reduced default thickness (
style.TabBarOverlineSize
), increased default rounding (style.TabRounding
). (#8334) [@Kian738, @ocornut] - Debug Tools: Tweaked font preview.
- ImDrawList: texture baked storage for thick line reduced from ~64x64 to ~32x32. (#3245)
- Fonts:
IndexLookup[]
table hold 16-bit values even in ImWchar32 mode, as it accounts for number of glyphs in same font. This is favorable toCalcTextSize()
calls touching less memory. - Fonts:
OversampleH
/OversampleV
defaults to 0 for automatic selection.OversampleH == 0
--> use 1 or 2 depending on font size and use of PixelSnapH.OversampleV == 0
--> always use 1.
- ImFontAtlas: made calling
ClearFonts()
callClearInputData()
, as calling one without the other is never correct. (#8174, #6556, #6336, #4723) - Examples: DirectX12: Reduced number of frame in flight from 3 to 2 in provided example, to reduce latency.
- Examples: Vulkan: better handle
VK_SUBOPTIMAL_KHR
being returned byvkAcquireNextImageKHR()
orvkQueuePresentKHR()
. (#7825, #7831) [@NostraMagister] - Backends: SDL2: removed assert preventing using
ImGui_ImplSDL2_SetGamepadMode()
withImGui_ImplSDL2_GamepadMode_Manual
and an empty array. (#8329) - Backends: SDL3: removed assert preventing using
ImGui_ImplSDL3_SetGamepadMode()
withImGui_ImplSDL3_GamepadMode_Manual
and an empty array. (#8329) - Backends: SDLGPU3: Exposed
ImGui_ImplSDLGPU3_CreateDeviceObjects()
/_DestroyDeviceObjects()
.
Removed return value fromImGui_ImplSDLGPU3_CreateFontsTexture()
. (#8163, #7998, #7988) - Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match
SDL_Color
. (#8327) [@dkosmari] - Backends: DirectX12: Texture upload use the command queue provided in
ImGui_ImplDX12_InitInfo
instead of creating its own. - Backends: OSX: Removed notification observer when shutting down. (#8331) [@jrachele]
Changes from 1.91.7 to 1.91.8 specific to the Docking+Multi-Viewports branch:
- Docking: Fixed an issue in 1.91.7 where using legacy
ImGuiWindowFlags_NavFlattened
flag (instead ofImGuiChildFlags_NavFlattened
) in docking branch would conflict with internal docking flags. (#8357) [@DanielGibson] - Backends: SDL3: new viewport windows are created with the
SDL_WINDOW_HIDDEN
flag before callingSDL_ShowWindow()
. (#8328) [@PathogenDavid]
Gallery
"Autonomous dry stone: On-site planning and assembly of stone walls with a robotic excavator"
https://www.researchgate.net/publication/345902778_Autonomous_dry_stone_On-site_planning_and_assembly_of_stone_walls_with_a_robotic_excavator
"Screen capture of geometric planning software. a Imgui Interface, b active environment with search space, solutions, and placed stones, c available scanned stones in inventory, d selected stone viewer with VSA faces"
@CosmoCortney: "3D Mini Maps in my game enhancement tool, made possible with ImPlot3D!"
https://github.com/CosmoCortney/MungPlex
ImPlot3D.-.3D.Mini.Map.mp4
G3DVU/ARVU
(from interview: https://www.sportsvideo.org/2024/11/22/svg-sit-down-g3dvus-nikhil-deshpande-and-craig-dutra-on-the-companys-evolution-beyond-lst-ten-and-ar)
Video: https://www.youtube.com/watch?v=gSykchyf3PI
@wusikijeronii: _"App3D (WIP). It's the 3D Editor for modeling, sculpting, rendering, and painting.
https://project.homedatasrv.ru/projects/app3d/roadmap
@azula1A89: "A small mind map editing software that not only supports manual editing of 2D directed graphs, but also allows you to seek some inspiration from large language models."
https://github.com/azula1A89/mindmap
Demo1.mp4
Nuake Engine by @antopilo
https://github.com/antopilo/nuake
Dev log: https://nuake.antopilo.dev/blog e.g many videos in https://nuake.antopilo.dev/blog/november
@rifkybujana: "I'm working on an opensource on device LLM inference to run opensource generative AI model on your laptop CPU / GPU easily"
https://kolosal.ai/
Kolosal.AI.v0.1.3.Demo.mp4
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.
❤️ Last summer 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.