| Name | Modified | Size | Downloads / Week | 
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-10-14 | 16.1 kB | |
| v1.92.4 source code.tar.gz | 2025-10-14 | 2.0 MB | |
| v1.92.4 source code.zip | 2025-10-14 | 2.2 MB | |
| Totals: 3 Items | 4.1 MB | 19 | |
v1.92.4 ~
❤️ Last year 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 what Dear ImGui has to offer, and 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 recent years sponsors ❤️
New studio enters! - Thatgamecompany ! 🌻
And usual supporters: - Asobo Studio ! - BeamNG ! - G3Dvu ! - Gravity Well ! - Lucid Games ! - MachineGames ! - Mobigame ! - OTOY ! - Planestate Software ! - Riot Games ! - SCS Software ! - Scorewarrior ! - Sebastian Schöner ! - Sofistik ! - Supercell ! - Tanius Technology ! - Valve ! - Vector Unit ! - and maybe some anonymous ones.
❤️ And many individuals ❤️
Thanks to Adam B, Daniel C, Geoffrey E, Israelle W, Jean-Sebastien R, Jonathan G, Karl H, Liam W, Lucas G, Martin G, Mathieu W, Minh D L, Nicholas C, Peter R, Simon V B ! Also thanks to @pthom, @GamingMinds-DanielC, @PathogenDavid & more for their help with GitHub answers!
Changes (since v1.92.3)
🆘 Need help updating your custom rendering backend to support ImGuiBackendFlags_RendererHasTextures introduced in v1.92.0 ? 
You can read the newly improved docs/BACKENDS.md.
Breaking Changes
- Backends:
- TreeNode, Selectable, Clipper: commented out legacy names obsoleted in 1.89.7 (July 2023) and 1.89.9 (Sept 2023):
      ImGuiTreeNodeFlags_AllowItemOverlap-->ImGuiTreeNodeFlags_AllowOverlapImGuiSelectableFlags_AllowItemOverlap-->ImGuiSelectableFlags_AllowOverlapImGuiListClipper::IncludeRangeByIndices()-->ImGuiListClipper::IncludeItemsByIndex()
- Vulkan: moved some fields in ImGui_ImplVulkan_InitInfo:init_info.RenderPass-->init_info.PipelineInfoMain.RenderPassinit_info.Subpass-->init_info.PipelineInfoMain.Subpassinit_info.MSAASamples-->init_info.PipelineInfoMain.MSAASamplesinit_info.PipelineRenderingCreateInfo-->init_info.PipelineInfoMain.PipelineRenderingCreateInfoIt makes things more consistent and was desirable to introduce new settings for secondary viewports. (#8946, #8110, #8111, #8686) [@ocornut, @SuperRonan, @sylmroz]
- Vulkan: renamed ImGui_ImplVulkan_MainPipelineCreateInfo-->ImGui_ImplVulkan_PipelineInfo(introduced very recently and only used byImGui_ImplVulkan_CreateMainPipeline()so it should not affect many users). (#8110, [#8111])
- Vulkan: helper ImGui_ImplVulkanH_CreateOrResizeWindow()added aVkImageUsageFlags image_usageargument. It was previously hardcoded toVK_IMAGE_USAGE_COLOR_ATTACHMENT_BITand defaults to that when the value is 0. In theory the function is an internal helper but since it's used by our examples some may have used it. (#8946, [#8111], [#8686])
Other Changes
- Windows: added lower-right resize grip on child windows using both ImGuiChildFlags_ResizeXandImGuiChildFlags_ResizeYflags. (#8501) [@aleksijuvani] The grip is not visible before hovering to reduce clutter.
- Style: added ImGuiCol_UnsavedMarker, color of the unsaved document marker when usingImGuiWindowFlags_UnsavedDocument/ImGuiTabItemFlags_UnsavedDocument. (#8983)
- IO: added ImGuiPlatformIO::ClearPlatformHandlers(),ClearRendererHandlers()helpers to null all handlers. (#8945, [#2769])
- Inputs:
- Shortcuts: added support for combining ImGuiInputFlags_RouteFocused(which is the default route) withImGuiInputFlags_RouteOverActive, allowing to steal shortcuts from active item without using global routing. (#9004)
- InputText:
- Fixed single-line InputText()not applying fine character clipping properly (regression in 1.92.3). (#8967) [@Cyphall]
- Fixed an infinite loop error happening if a custom input text callback modifies/clear BufTextLenbefore callingInsertChars(). (regression from 1.92.3). Note that this never really worked correctly, but previously it would only temporary wreck cursor position, and since 1.92.3 it would go in an infinite loop. (#8994, #3237)
- Textures:
- Fixed a crash if texture status is set to ImTextureStatus_WantDestroyby a backend after it had already been destroyed. This would typically happen when callingImGui_ImplXXXX_InvalidateDeviceObjects()helpers twice in a row. (#8977, [#8811])
- Allowed backend to destroy texture while inside the NewFrame/EndFramescope. Basically if a backend decide to destroy a texture that we didn't request to destroy (for e.g. freeing resources) the texture is immediately set to aImTextureStatus_WantCreatestatus again. (#8811)
- Fixed an issue preventing multi-contexts sharing a ImFontAtlasfrom being possible to destroy in any order.
- Fixed not updating ImTextureData'sRefCountwhen destroying a context using a sharedImFontAtlas, leading standard backends to not properly free texture resources. (#8975) [@icrashstuff]
- Demo: fixed layout issue in "Layout & Scrolling -> Scrolling"section.
- Misc: Relaxed internal assert in MarkItemEdited()to allow for more use cases. (#8997)
- Misc: Debuggers: added type formatters for the LLDB debuggers (e.g. Xcode, Android Studio & more) to provide nicer display for ImVec2, ImVec4, ImVector etc. See misc/debuggers/ for details. (#8950) [@mentlerd]
- CI: updated Windows CI scripts to generate/use VulkanSDK. (#8925, [#8778]) [@yaz0r]
- Docs: updated FAQ with new "What is the difference between Dear ImGui and traditional UI toolkits?" entry. (#8862)
- Backends:
- All backends call ImGuiPlatformIO::ClearPlatformHandlers()andClearRendererHandlers()on shutdown, so as not to leave function pointers which may be dangling when using backend in e.g. DLL. (#8945, [#2769])
- DirectX12: reuse a command list and allocator for texture uploads instead of recreating them each time. (#8963, [#8465]) [@RT2Code]
- DirectX12: Rework synchronization logic. (#8961) [@RT2Code] (presumably fixes old hard-to-repro crash issues such as [#3463], [#5018]).
- DirectX12: Reuse texture upload buffer and grow it only when necessary. (#9002) [@RT2Code]
- DirectX12: Enable swapchain tearing if available. (#8965) [@RT2Code]
- OpenGL3: fixed GL loader to work on Haiku OS which does not support RTLD_NOLOAD. (#8952) [@Xottab-DUTY, @threedeyes]
- GLFW: fixed build on platform that are neither Windows, macOS or known Unixes (Regression in 1.92.3). (#8969, [#8920], [#8921]) [@oktonion]
- SDL2,SDL3: avoid using the SDL_GetGlobalMouseState()path when one of our window is hovered, as the event data is reliable and enough in this case.- Fix mouse coordinates issue in fullscreen apps with macOS notch. (#7919, #7786)
- Essentially a workaround for SDL3 bug which will be fixed in SDL 3.3.0.
- Better perf on X11 as querying global position requires a round trip to X11 server.
 
- Win32: minor optimization not submitting gamepad io again if XInput's dwPacketNumberhas not changed. (#8556) [@MidTerm-CN]
- Vulkan: added a way to specify custom shaders by filling init fields CustomShaderVertCreateInfoandCustomShaderFragCreateInfo. (#8585, [#8271]) [@johan0A]
- DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3: ensure that a texture in ImTextureStatus_WantDestroystate always turn to ImTextureStatus_Destroyed even if your underlying graphics data was already destroyed. (#8977)
- Examples:
- SDL2+DirectX11: Try WARP software driver if hardware driver is not available. (#5924, [#5562])
- SDL3+DirectX11: Added SDL3+DirectX11 example. (#8956, [#8957]) [@tomaz82]
- Win32+DirectX12: Rework synchronization logic. (#8961) [@RT2Code]
- Made examples's main.cpp consistent with returning 1 on error.
Changes from 1.92.3 to 1.92.4 specific to the Docking+Multi-Viewports branch:
- Nav, Docking, Selection: Fixed tab change from reinitializing navigation state, which would erroneously clear selection when using ImGuiSelectableFlags_SelectOnNavor clear multi-selection when not usingImGuiMultiSelectFlags_NoAutoSelect. (#8997)
- Nav: Fixed a crash that could occur when opening a popup following the processing of a global shortcut while no windows were focused (the fix done in 1.92.3 was incomplete for docking branch).
- Viewports:
- Added ImGuiBackendFlags_HasParentViewportbackend flag for backend to specify if it can honor theviewport->ParentViewport/viewport->ParentViewportIdvalue by applying the corresponding parent/child relation at the Platform level. (#8948)- SDL3, Win32 backends: supported.
- SDL2, GLFW, OSX backends: unsupported.
 
- Fixed a bug where ImGuiWindowFlags_NoBringToFrontOnFocuswould effectively be ignored when windows first appear and viewports are enabled. (#7008) [@jshofmann]
- Changed default value of io.ConfigViewportsNoDefaultParenttotrue. (#8948)
- Fixed an issue inferring Z-order when attempting to merge a viewport back in the the main/hosting viewport. (#8948)
    Note that for GLFW/SDL2/OSX backends, which do not support honoring ParentViewportID. Settingio.ConfigViewportsNoDefaultParent=truewill align imgui's expectation with what the backend does.
- Storing ImGuiViewport* ParentViewportpointer along withParentViewportID.
- ImGui::DestroyContext()does not call- DestroyPlatformWindows()anymore at it is assumed to be unnecessary as backends should have done it and we check that backends have been shutdown since 1.90.4. Changed into asserts. (#7175, [#8945])
- Backends:
- DirectX10, DirectX11, DirectX12: Disabled DXGI's Alt+Enter default behavior on secondary viewports managed by the backend. (#4350) [@PathogenDavid]
- DirectX10, DirectX11: avoid ImGui_ImplXXXX_SwapBuffers()handlers for secondary viewports crashing if SwapChain could not be created.
- Vulkan: Added a way to configure secondary viewport pipeline creation by setting init_info.PipelineInfoForViewportsfields. (#8946, [#8110], [#8111], [#8686])
- Vulkan: Added a way to configure secondary viewport swapchain's VkImageUsageFlagsto e.g. capture rendering. (#8946, [#8940]) [@olivier-gerard, @ocornut]- Usage example: init_info.PipelineInfoForViewports.SwapChainImageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
 
- Usage example: 
- Vulkan: pipeline created for secondary viewport automatically match surface format. (#8686) [@sylmroz]
- Vulkan: Added ImGui_ImplVulkanH_GetWindowDataFromViewport()accessor/helper. (#8946, [#8940]) [@olivier-gerard]
- Docs: improve docking API comments and demo. (#9000)
- Examples: DX10, DX11: Disabled DXGI's Alt+Enter default behavior in examples. Applications are free to leave this enabled, but it does not work properly with multiple viewports. (#4350) [@PathogenDavid]
Gallery
@ongamex: "Here is some WIP of the modelling tools I make for my engine."
https://github.com/user-attachments/assets/577abbe2-9cce-47df-bdfc-2118475184ea
@DaddelZeit: "IMGUI as Lua extension in BeamNG.drive using Cpp/Lua binding, for a graphics mod."
@known81331: "osx port of wallpaper engine, along with a drop of liquid glass"
Marlin (3-D Printing Firmware) simulator https://marlinfw.org, https://bsky.app/profile/marlinfw.org/post/3lzwlubcm2s2c
https://github.com/user-attachments/assets/2bd20163-f283-46c7-9816-72c30266b863
Havok 2025.1's new Visual Debugger
https://www.havok.com/blog/havok-2025-1-release-highlights/
https://www.havok.com/blog/havok-2025-1-release-highlights/
@pthom "Fiatlight automates UI generation for functions and structured data, making prototyping faster and easier, for Python." "See full demo video or intro tutorial"
https://corepto.io/ "Proofread MusicXML scores using 100+ editorial rules. Identify and resolve issues directly in your browser, or bookmark them for later review. Customize each check to suit your needs. Monitor your progress with our commit system."
...More in gallery threads.
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 year 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.