All Versions
17
Latest Version
Avg Release Cycle
55 days
Latest Release
783 days ago

Changelog History
Page 2

  • v1.70 Changes

    May 06, 2019

    Hello!

    ๐Ÿš€ In spite of the greaaat looking version number, this is a general release following 1.69, keeping with the rhythm of having more frequent, smaller releases. Reading the full 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 features that you've been ignoring until now!


    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ‘ Issues and support: https://github.com/ocornut/imgui/issues
    ๐Ÿ†• Technical support for new users: https://discourse.dearimgui.org (also search in GitHub Issues)

    Thank you

    Ongoing work on dear imgui is currently being sponsored by Blizzard Entertainment + general & community work by many individual users, hobbyists and studios. See the readme for details. Huge thank you to all of you, past and present supporters! You help is very meaningful.

    TL;DR;

    • โž• Added ImDrawCallback_ResetRenderState = -1 special ImDrawList callback value to request back-end renderer to reset its render state, in a standardized manner.
    • Layout: Added SetNextItemWidth() helper to avoid using PushItemWidth()/PopItemWidth() for single items.
    • โช Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening, instead of restoring the window that was in the window stack at the time of the OpenPopup call. (#2517).
    • Examples: SDL: Support for SDL_GameController gamepads (enable with ImGuiConfigFlags_NavEnableGamepad). (#2509) [@DJLink]
    • ๐Ÿ›  Examples: Vulkan: Various fixes.
    • Examples: Added GLFW+Metal and Emscripten examples.
    • Examples: Renamed imgui_impl_freeglut to imgui_impl_glut.
    • ๐Ÿ›  Many many other fixes, improvements, small additions. Read below!

    ๐Ÿ’ฅ Breaking Changes

    • ImDrawList: Improved algorithm for mitre joints on thick lines, preserving correct thickness up to 90 degrees angles (e.g. rectangles). If you have custom rendering using thick lines, they will appear a little thicker now (about +30%). (#2518) [@rmitton]
    • Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead! Kept inline redirection function.
    • Examples: Vulkan: imgui_impl_vulkan: Added MinImageCount/ImageCount fields in ImGui_ImplVulkan_InitInfo, required during initialization to specify the number of in-flight image requested by swap chains. (was previously a hard #define IMGUI_VK_QUEUED_FRAMES 2). (#2071, #1677) [@nathanvoglsam]
    • Examples: Vulkan: Tidying up the demo/internals helpers (most engine/app should not rely on them but it is possible you have!).

    Other Changes:

    • ๐Ÿ‘ ImDrawList: Added ImDrawCallback_ResetRenderState = -1, a special ImDrawList::AddCallback() value to request the renderer back-end to reset its render state. (#2037, #1639, #2452). Added support for ImDrawCallback_ResetRenderState in all renderer back-ends. Each renderer code setting up initial render state has been moved to a function so it could be called at the start of rendering and when a ResetRenderState is requested. [@ocornut, @bear24rw]
    • ๐Ÿšš InputText: Fixed selection background rendering one frame after the cursor movement when first transitioning from no-selection to has-selection. (Bug in 1.69) (#2436) [@Nazg-Gul]
    • ๐Ÿ–จ InputText: Work-around for buggy standard libraries where isprint('\t') returns true. (#2467, #1336)
    • ๐Ÿ›  InputText: Fixed ImGuiInputTextFlags_AllowTabInput leading to two tabs characters being inserted if the back-end provided both Key and Character input. (#2467, #1336)
    • Layout: Added SetNextItemWidth() helper to avoid using PushItemWidth()/PopItemWidth() for single items. Note that SetNextItemWidth() currently only affect the same subset of items as PushItemWidth(), generally referred to as the large framed+labeled items. Because the new SetNextItemWidth() function is explicit we may later extend its effect to more items.
    • ๐Ÿ›  Layout: Fixed PushItemWidth(-width) for right-side alignment laying out some items (button, listbox, etc.) with negative sizes if the 'width' argument was smaller than the available width at the time of item submission.
    • ๐Ÿ›  Window: Fixed window with the ImGuiWindowFlags_AlwaysAutoResize flag unnecessarily extending their hovering boundaries by a few pixels (this is used to facilitate resizing from borders when available for a given window). One of the noticeable minor side effect was that navigating menus would have had a tendency to disable highlight from parent menu items earlier than necessary while approaching the child menu.
    • ๐Ÿ’… Window: Close button is horizontally aligned with style.FramePadding.x.
    • ๐Ÿ›  Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active.
    • ๐Ÿ Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. (#2067, #2530)
    • โช Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening, instead of restoring the window that was in the window stack at the time of the OpenPopup call. (#2517). Among other things, this allows opening a popup while no window are focused, and pressing Escape to clear the focus again.
    • ๐Ÿ›  Popups: Fixed right-click from closing all popups instead of aiming at the hovered popup level (regression in 1.67).
    • ๐Ÿ‘ Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button release following the double-click. Only first mouse release + second mouse down (double-click) returns true. Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. (#2503)
    • ๐Ÿš€ GetMouseDragDelta(): also returns the delta on the mouse button released frame. (#2419)
    • GetMouseDragDelta(): verify that mouse positions are valid otherwise returns zero.
    • ๐Ÿ‘ Inputs: Support for horizontal scroll with Shift+Mouse Wheel. (#2424, #1463) [@LucaRood]
    • PlotLines, PlotHistogram: Ignore NaN values when calculating min/max bounds. (#2485)
    • ๐Ÿ›  Columns: Fixed boundary of clipping being off by 1 pixel within the left column. (#125)
    • Separator: Declare its thickness (1.0f) to the layout, making items on both ends of a separator look more symmetrical.
    • Combo, Slider, Scrollbar: Improve rendering in situation when there's only a few pixels available (<3 pixels).
    • ๐Ÿ›  Nav: Fixed Drag/Slider functions going into text input mode when keyboard CTRL is held while pressing NavActivate.
    • ๐Ÿ›  Drag and Drop: Fixed drag source with ImGuiDragDropFlags_SourceAllowNullID and null ID from receiving click regardless of being covered by another window (it didn't honor correct hovering rules). (#2521)
    • ImDrawList: Improved algorithm for mitre joints on thick lines, preserving correct thickness up to 90 degrees angles, also faster to output. (#2518) [@rmitton]
    • Misc: Added IM_MALLOC()/IM_FREE() macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
    • Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
    • ๐Ÿ Metrics: Added "Show windows rectangles" tool to visualize the different rectangles.
    • Demo: Improved trees in columns demo.
    • Examples: OpenGL: Added a dummy GL call + comments in ImGui_ImplOpenGL3_Init() to detect uninitialized GL function loaders early, and help users understand what they are missing. (#2421)
    • Examples: SDL: Added support for SDL_GameController gamepads (enable with ImGuiConfigFlags_NavEnableGamepad). (#2509) [@DJLink]
    • Examples: Emscripten: Added Emscripten+SDL+GLES2 example. (#2494, #2492, #2351, #336) [@nicolasnoble, @redblobgames]
    • Examples: Metal: Added Glfw+Metal example. (#2527) [@bear24rw]
    • Examples: OpenGL3: Minor tweaks + not calling glBindBuffer more than necessary in the render loop.
    • ๐Ÿ›  Examples: Vulkan: Fixed in-flight buffers issues when using multi-viewports. (#2461, #2348, #2378, #2097)
    • ๐Ÿ‘ Examples: Vulkan: Added missing support for 32-bit indices (#define ImDrawIdx unsigned int).
    • Examples: Vulkan: Avoid passing negative coordinates to vkCmdSetScissor, which debug validation layers do not like.
    • Examples: Vulkan: Added ImGui_ImplVulkan_SetMinImageCount() to change min image count at runtime. (#2071) [@nathanvoglsam]
    • Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). (#2454)
    • Examples: DirectX10/11/12, Allegro, Marmalade: Render functions early out when display size is zero (minimized). (#2496)
    • ๐Ÿ›  Examples: GLUT: Fixed existing FreeGLUT example to work with regular GLUT. (#2465) [@andrewwillmott]
    • Examples: GLUT: Renamed imgui_impl_freeglut.cpp/.h to imgui_impl_glut.cpp/.h. (#2465) [@andrewwillmott]
    • Examples: GLUT: Made io.DeltaTime always > 0. (#2430)
    • โšก๏ธ Examples: Visual Studio: Updated default platform toolset+sdk in vcproj files from v100+sdk7 (vs2010) to v110+sdk8 (vs2012). This is mostly so we can remove reliance on DXSDK_DIR for the DX10/DX11 example, which if existing and when switching to recent SDK ends up conflicting and creating warnings.

    Beta features!

    The docking (#2109) and multi-viewport (#1542) features are available in the docking branch, they are in beta but actively maintained and being used by many teams already. Your continuous feedback is always appreciated. There's a CMake pull-request (#1713).

    Help wanted!

    • ๐Ÿง Multi-viewports in particular needs help on Linux and Mac, and specific workarounds for both SDL and GLFW are becoming highly desirable. (#2117),
    • ๐Ÿ‘€ The Vulkan renderer appears to have issues (see vulkan tag)
    • ๐Ÿ‘ The DirectX12 renderer needs multi-viewports support.
    • Browsing issues and todo list you may find something something to contribute to!

    Gallery

    ๐Ÿ‘€ See Gallery threads for more pictures and to post yours!

    Student showcase: DigiPen Singapore 2019 End of Spring.
    "All custom engines are done from scratch for 2 semesters of 13 weeks each. Plus of course an additional 5 other modules per semester. ImGui is one of the few libraries that they are allowed to use. Please check the Game Gallery if you wish to play some of these games. Click Here"

    "Year 2 (GAM200/250)
    These two modules are about creating 2D Games. Teams are usually 5 to 6 people."

    GAM250-CipherGames
    GAM250-FrozenAnvil
    GAM250-WorkPlaySleepStudios

    "Year 3 (GAM300/350)
    Here students do 3D Games. These teams are about 8 to 10 people. Here we restrict which libraries they can use even more. Linear Color pipelines, Shadows, HDR, PBR, etc for graphics."

    GAM350-Abloominations
    GAM350-Rubrics-
    GAM350-Sludger

    ๐Ÿ‘€ See many more screenshots from DigiPen Singapore 2019 students: #2265 (comment)


    Student showcase: DigiPen Bilbao Junior Students

    editor
    nodes

    More screenshots from DigiPen Bilbao students: #2265 (comment)


    Atlas 64k Graphics Breakdown - Demoscene Stream (2019/05/01)
    https://www.youtube.com/watch?v=Y3d8jR_IwYw / http://www.pouet.net/prod.php?which=80996
    57197283-c5a7cf80-6f65-11e9-8c93-a06c61650cc8

    Fork of ImGui designed to look more like Adobe's Spectrum (https://github.com/adobe/imgui)
    example
    ๐Ÿ‘€ See details

    Single Header Hotkey editor by @CedricGuillemet (https://github.com/CedricGuillemet/ImHotKey)
    ImHotKey

    LIONant's Property System by @TomasArce (https://gitlab.com/LIONant/properties)
    Properties

  • v1.69 Changes

    March 13, 2019

    ๐Ÿš€ This is a general release, keeping with the beat of having more frequent, smaller releases. Reading the full 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 features to explore that you've been ignoring until now!


    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ‘ Issues and support: https://github.com/ocornut/imgui/issues
    ๐Ÿ†• Technical support for new users: https://discourse.dearimgui.org (also search in GitHub Issues)

    Thank you

    Some ongoing work on dear imgui is currently being sponsored by Blizzard Entertainment + general & community work by many individual users, hobbyists and studios via e.g. Patreon or support contracts. See the readme for details. Huge thank you to all of you, past and present supporters! You help is very meaningful.

    TL;DR;

    • โž• Added native support for u8/s8/u16/s16 data types in DragScalar, InputScalar, SliderScalar functions.
    • โž• Added GetBackgroundDrawList() helper to easily submit draw list primitives behind every windows.
    • โž• Added InputTextWithHint() to display a greyed out message when an input field is empty.
    • โž• Added ImGuiColorEditFlags_InputHSV to edit HSV colors without internal RGB<>HSV roundtrips.
    • ๐Ÿ’ป Various fixes in the LogXXX functions to capture UI as text.
    • ๐Ÿ›  Examples: OpenGL: Fixes to support GL ES 2.0 (WebGL 1.0).
    • ๐Ÿ›  Dozens of other fixes and improvements.

    InputTextWithHint()
    image

    ImGuiDataType_S8/ImGuiDataType_U8/ImGuiDataType_S16/ImGuiDataType_U16
    image

    GetBackgroundDrawList()
    image

    ๐Ÿ’ฅ Breaking Changes

    • Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is because the addition of new flag ImGuiColorEditFlags_InputHSV makes the earlier one ambiguous. Keep redirection enum values (will obsolete). (#2384) [@haldean]
    • ๐Ÿ“‡ Renamed GetOverlayDrawList() to GetForegroundDrawList(). Kept redirection function (will obsolete). (#2391)

    Other Changes:

    • โž• Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. (#2391, #545)
    • ๐Ÿ‘ DragScalar, InputScalar, SliderScalar: Added support for u8/s8/u16/s16 data types (ImGuiDataType_S8 etc.). We are reusing function instances of larger types to reduce code size. (#643, #320, #708, #1011)
    • โž• Added InputTextWithHint() to display a description/hint in the text box when no text has been entered. (#2400) [@Organic-Code, @ocornut]
    • ๐Ÿ›  Nav: Fixed a tap on AltGR (e.g. German keyboard) from navigating to the menu layer.
    • ๐Ÿ›  Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. (#2380)
    • ๐Ÿ›  Fixed IsItemDeactivated()/IsItemDeactivatedAfterEdit() from not correctly returning true when tabbing out of a focusable widget (Input/Slider/Drag) in most situations. (#2215, #1875)
    • ๐Ÿ’… InputInt, InputFloat, InputScalar: Fix to keep the label of the +/- buttons centered when style.FramePadding.x is abnormally larger than style.FramePadding.y. Since the buttons are meant to be square (to align with e.g. color button) we always use FramePadding.y. (#2367)
    • InputInt, InputScalar: +/- buttons now respects the natural type limits instead of overflowing or underflowing the value.
    • ๐Ÿ›  InputText: Fixed an edge case crash that would happen if another widget sharing the same ID is being swapped with an InputText that has yet to be activated.
    • ๐Ÿ›  InputText: Fixed various display corruption related to swapping the underlying buffer while a input widget is active (both for writable and read-only paths). Often they would manifest when manipulating the scrollbar of a multi-line input text.
    • ColorEdit, ColorPicker, ColorButton: Added ImGuiColorEditFlags_InputHSV to manipulate color values encoded as HSV (in order to avoid HSV<>RGB round trips and associated singularities). (#2383, #2384) [@haldean]
    • ๐Ÿ›  ColorPicker: Fixed a bug/assertion when displaying a color picker in a collapsed window while dragging its title bar. (#2389)
    • ๐Ÿ›  ColorEdit: Fixed tooltip not honoring the ImGuiColorEditFlags_NoAlpha contract of never reading the 4th float in the array (value was read and discarded). (#2384) [@haldean]
    • ๐Ÿ›  MenuItem, Selectable: Fixed disabled widget interfering with navigation (fix c2db7f6 in 1.67).
    • ๐Ÿ›  TabBar: Fixed a crash when using many BeginTabBar() recursively (didn't affect docking). (#2371)
    • TabBar: Added extra mis-usage error recovery. Past the assert, common mis-usage don't lead to hard crashes any more, facilitating integration with scripting languages. (#1651)
    • ๐Ÿ›  TabBar: Fixed ImGuiTabItemFlags_SetSelected being ignored if the tab is not visible (with scrolling policy enabled) or if is currently appearing.
    • ๐Ÿ›ฐ TabBar: Fixed Tab tooltip code making drag and drop tooltip disappear during the frame where the drag payload activate a tab.
    • TabBar: Reworked scrolling policy (when ImGuiTabBarFlags_FittingPolicyScroll is set) to teleport the view when aiming at a tab far away the visible section, and otherwise accelerate the scrolling speed to cap the scrolling time to 0.3 seconds.
    • ๐Ÿ›  Text: Fixed large Text/TextUnformatted calls not declaring their size into layout when starting below the lower point of the current clipping rectangle. Somehow this bug has been there since v1.0! It was hardly noticeable but would affect the scrolling range, which in turn would affect some scrolling request functions when called during the appearing frame of a window.
    • ๐Ÿ›  Plot: Fixed divide-by-zero in PlotLines() when passing a count of 1. (#2387) [@Lectem]
    • ๐Ÿ›  Log/Capture: Fixed LogXXX functions emitting an extraneous leading carriage return.
    • ๐Ÿ›  Log/Capture: Fixed an issue when empty string on a new line would not emit a carriage return.
    • Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute tree depth instead of a relative one.
    • ๐Ÿ›  Log/Capture: Fixed CollapsingHeader trailing ascii representation being "#" instead of "##".
    • ImFont: Added GetGlyphRangesVietnamese() helper. (#2403)
    • ๐Ÿ’… Misc: Asserting in NewFrame() if style.WindowMinSize is zero or smaller than (1.0f,1.0f).
    • Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
    • Demo: InputText: Demonstrating use of ImGuiInputTextFlags_CallbackResize. (#2006, #1443, #1008).
    • ๐Ÿ Examples: GLFW, SDL: Preserve DisplayFramebufferScale when main viewport is minimized. (This is particularly useful for the viewport branch because we are not supporting per-viewport frame-buffer scale. It fixes windows not refreshing when main viewport is minimized.) (#2416)
    • Examples: OpenGL: Fix to be able to run on ES 2.0 / WebGL 1.0. [@rmitton, @gabrielcuvillier]
    • Examples: OpenGL: Fix for OSX not supporting OpenGL 4.5, we don't try to read GL_CLIP_ORIGIN even if the OpenGL headers/loader happens to define the value. (#2366, #2186)
    • ๐Ÿ‘ Examples: Allegro: Added support for touch events (emulating mouse). (#2219) [@dos1]
    • Examples: DirectX9: Minor changes to match the other DirectX examples more closely. (#2394)

    I want more!

    The docking (#2109) and multi-viewport (#1542) features are available in the docking branch, actively being used by dozens of teams. Your continuous feedback is always appreciated. There's a CMake pull-request (#1713).

    Help wanted!

    • ๐Ÿง Multi-viewports in particular needs help on Linux and Mac, and specific workarounds for both SDL and GLFW are becoming highly desirable. (#2117),
    • ๐Ÿ‘€ The Vulkan renderer appears to have issues (see vulkan tag)
    • ๐Ÿ‘ The DirectX12 renderer needs multi-viewports support.
    • Browsing issues and todo list you may find something something to contribute to!

    Gallery

    ๐Ÿ‘€ Not enough new pictures posted since 1.68! See Gallery threads for pictures and to post yours!

    ๐Ÿšง Instead I'll post a GIF showcasing the WIP automation/testing system (#435), setup to rearrange the demo contents to recreate a screenshot used on the front page. All interactions here are done without human intervention, but played at a human-watchable speed. The system is being designed to also run headless. No ETA yet but it is expected that automation/testing of dear imgui and dear imgui apps will be a thing in 2019.

    20190222_automation

  • v1.68 Changes

    February 19, 2019

    ๐Ÿš€ This is a general release, keeping with the beat of having more frequent, smaller releases. Reading the full 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 features to explore that you've been ignoring until now!


    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ‘ Issues and support: https://github.com/ocornut/imgui/issues
    ๐Ÿ†• Technical support for new users: https://discourse.dearimgui.org (also search in GitHub Issues)

    image

    Thank you

    Some ongoing work on dear imgui is currently being sponsored by Blizzard Entertainment + general & community work by many individual users, hobbyists and studios via e.g. Patreon or support contracts. See the readme for details. Huge thank you to all of you, past and present supporters! You help is very meaningful.

    TL;DR;

    • โž• Added ImDrawData::FramebufferScale to facilitate future support for multiple-viewport over multiple screen with varying retina scale factor (prefer using instead of io.DisplayFramebufferScale!
    • โž• Added ImGui::IsItemActivated().
    • โž• Added ImGuiTabBarFlags_TabListPopupButton flag.
    • โž• Added ImGuiStyle::SelectableTextAlign.
    • ๐Ÿ‘ Examples: Win32: Added support for XInput gamepad (if ImGuiConfigFlags_NavEnableGamepad is enabled).
    • ๐Ÿ›  Dozens of bug fixes and other improvements.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ‘ป Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame). This shouldn't affect you unless for some reason your time step calculation lack precision and give you a zero value, in which case you may e.g. replace it with a dummy small value. Because that replacement would be arbitrary we currently don't try to do it on dear imgui's side.
    • โœ‚ Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).

    Other Changes:

    • โž• Added .editorconfig file for text editors to standardize using spaces. (#2038) [@kudaba]
    • ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale). This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays.
      โšก๏ธ If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (#2306, #1676)
    • โž• Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions
      which are useful to implement variety of undo patterns. (#820, #956, #1875)
    • โช InputText: Fixed a bug where ESCAPE would not restore the initial value in all situations. (#2321) [@relick]
    • ๐Ÿ›  InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. (#2321, #787)
    • ๐Ÿ›  InputText: Fixed redo buffer exhaustion handling (rare) which could corrupt the undo character buffer. The way the redo/undo buffers work would have made it generally unnoticeable to the user. (#2333)
    • ๐Ÿ›  Fixed range-version of PushID() and GetID() not honoring the "###" operator to restart from the seed value.
    • ๐Ÿ›  Fixed CloseCurrentPopup() on a child-menu of a modal incorrectly closing the modal. (#2308)
    • Tabs: Added ImGuiTabBarFlags_TabListPopupButton flag to show a popup button on manual tab bars. (#261, #351)
    • ๐Ÿšš Tabs: Removed ImGuiTabBarFlags_NoTabListPopupButton which was available in 1.67, but not documented and actually had zero use (taking the liberty of not listing this in breaking change since it was thoroughly unused).
    • ๐Ÿ’… Tabs: Fixed a minor clipping glitch when changing style's FramePadding from frame to frame.
    • ๐Ÿ›  Tabs: Fixed border (when enabled) so it is aligned correctly mid-pixel and appears as bright as other borders.
    • ๐Ÿ’… Style, Selectable: Added ImGuiStyle::SelectableTextAlign and ImGuiStyleVar_SelectableTextAlign. (#2347) [@haldean]
    • ๐Ÿ’… Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth) from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. (#1086)
    • ๐Ÿ›  RadioButton: Fixed label horizontal alignment to precisely match Checkbox().
    • ๐Ÿ‘ Window: When resizing from an edge, the border is more visible and better follow the rounded corners.
    • ๐Ÿ Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). (#2336, #176)
    • Scrollbar: Fade out and disable interaction when too small, in order to facilitate using the resize grab on very small window, as well as reducing visual noise/overlap.
    • โšก๏ธ ListBox: Better optimized when clipped / non-visible.
    • โšก๏ธ InputTextMultiline: Better optimized when clipped / non-visible.
    • ๐Ÿ›  Font: Fixed high-level ImGui::CalcTextSize() used by most widgets from erroneously subtracting 1.0f*scale to calculated text width. Among noticeable side-effects, it would make sequences of repeated Text/SameLine calls not align the same as a single call, and create mismatch between high-level size calculation and those performed with the lower-level ImDrawList api. (#792) [@SlNPacifist]
    • ๐Ÿ— Font: Fixed building atlas when specifying duplicate/overlapping ranges within a same font. (#2353, #2233)
    • ๐Ÿ›  ImDrawList: Fixed AddCircle(), AddCircleFilled() angle step being off, which was visible when drawing a "circle" with a small number of segments (e.g. an hexagon). (#2287) [@baktery]
    • ImGuiTextBuffer: Added append() function (unformatted).
    • 0๏ธโƒฃ ImFontAtlas: Added 0x2000-0x206F general punctuation range to default ChineseFull / ChineseSimplifiedCommon ranges. (#2093)
    • ๐Ÿ‘ ImFontAtlas: FreeType: Added support for imgui allocators + custom FreeType only SetAllocatorFunctions. (#2285) [@Vuhdo]
    • ๐Ÿ— ImFontAtlas: FreeType: Fixed using imgui_freetype.cpp in unity builds. (#2302)
    • ๐Ÿ›  Demo: Fixed "Log" demo not initializing properly, leading to the first line not showing before a Clear. (#2318) [@bluescan]
    • ๐ŸŒฒ Demo: Added "Auto-scroll" option in Log/Console demos. (#2300) [@nicolasnoble, @ocornut]
    • ๐Ÿ›  Examples: Metal, OpenGL2, OpenGL3, Vulkan: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. (#2306) [@rasky, @ocornut]
      Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
    • Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
    • ๐Ÿ Examples: Win32: Using GetForegroundWindow()+IsChild() instead of GetActiveWindow() to be compatible with windows created in a different thread or parent. (#1951, #2087, #2156, #2232) [many people]
    • Examples: SDL: Using the SDL_WINDOW_ALLOW_HIGHDPI flag. (#2306, #1676) [@rasky]
    • ๐Ÿ‘ Examples: Win32: Added support for XInput gamepad (if ImGuiConfigFlags_NavEnableGamepad is enabled).
    • Examples: Win32: Added support for mouse buttons 4 and 5 via WM_XBUTTON* messages. (#2264)
    • Examples: DirectX9: Explicitly disable fog (D3DRS_FOGENABLE) before drawing in case user state has it set. (#2288, #2230)
    • Examples: OpenGL2: Added #define GL_SILENCE_DEPRECATION to cope with newer XCode warnings.
    • Examples: OpenGL3: Using GLSL 4.10 shaders for any GLSL version over 410 (e.g. 430, 450). (#2329) [@BrutPitt]

    I want more!

    ๐Ÿง The docking (#2109) and multi-viewport (#1542) features are available in the docking branch, actively being used by dozens of teams. Your continuous feedback is always appreciated. Multi-viewport in particular needs help on Linux and Mac (#2117). There's a CMake pull-request (#1713).

    Gallery

    Imogen by @CedricGuillemet
    68747470733a2f2f692e696d6775722e636f6d2f7351664f3542722e706e67

    RemedyBG

    ๐Ÿ > RemedyBG is a 64-bit Windows debugger written from scratch with the goal of replacing the behemoth Visual Studio debugger.

    remedybg-01

    imgui_markdown.h

    Single-header file for Markdown rendering.

    imgui_markdown_avoyd_about_oss

    GPU profiler at game studio Endroad
    gpuprofiler

    (Right-side) VJ software based on imgui & openFrameworks, by @yumataesu
    ๐Ÿ‘€ Also see GIF.
    dwxpuxsu0aar02i jpg large

  • v1.67 Changes

    January 15, 2019

    Happy new year!

    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    Issues: https://github.com/ocornut/imgui/issues
    ๐Ÿ‘ Technical support for new users: https://discourse.dearimgui.org (also search in GitHub Issues)

    ๐Ÿš‘ Next morning hotfix: A previous tag for the 1.67 release pointed to commit 7a5058e it is now pointing d38d7c6 (two commits later) including a fix for when using multiple append calls to BeginChild/EndChild.

    Thank you

    Some ongoing work on dear imgui is currently being sponsored by Blizzard Entertainment + general & community work by many individual users, hobbyists and studios on Patreon. See the readme for details and a more complete list. Huge thank you to all of you, past and present supporters! You help is very meaningful.

    TL;DR;

    • โž• Added Tab Bar api. This was extracted from the Docking branch (#2109) which is its primary user. You can now uses programatically created tabs without relying on Docking.
    • ๐Ÿ›  Fixes and optimizations to the font atlas builder (both stb_truetype and freetype versions).
    • Resizing windows from edge is now enabled by default if the backend supports mouse cursors shapes.
    • โšก๏ธ About 20% faster in typical debug/unoptimized builds.
    • ๐Ÿ A dozen of other additions and fixes (in gamepad/keyboard navigation, DragFloat, auto-resizing windows uncollapsing, ImGuiWindowFlags_UnsavedDocument, io.ConfigWindowsMoveFromTitleBarOnly, io.AddInputCharacter, etc. read details below).

    (Demo->Layout->Tabs and Demo->Examples->Documents)
    image

    (Demo->Examples->Documents)
    imgui_capture_0002

    ๐Ÿ’ฅ Breaking Changes

    • Made it illegal to call Begin("") with an empty string. This somehow accidentally worked before but had various undesirable side-effect as the window would have ID zero. In particular it is causing problems in viewport/docking branches.
    • ๐Ÿ Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. The addition of new configuration options in the Docking branch is pushing for a little reorganization of those names.
    • ๐Ÿ“‡ Renamed ImFontAtlas::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).

    Other Changes:

    • โž• Added BETA api for Tab Bar/Tabs widgets: (#261, #351)
      • Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
      • Added ImGuiTabBarFlags flags for BeginTabBar() (currently has 8 options).
      • Added ImGuiTabItemFlags flags for BeginTabItem() (currently has 4 options).
      • Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
      • Demo: Added Layout->Tabs demo code.
      • Demo: Added "Documents" example app showcasing possible use for tabs. This feature was merged from the Docking branch in order to allow the use of regular tabs in your code. (It does not provide the docking/splitting/merging of windows available in the Docking branch)
    • Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. In the Docking branch this also has an effect on tab closing behavior.
    • ๐Ÿšš Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus the parent window of the popup instead of the newly clicked window.
    • Window: Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
    • Window: Contents size is preserved while a window contents is hidden (unless it is hidden for resizing purpose).
    • Window: Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works if the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-ends do.
    • ๐Ÿ Window: Added io.ConfigWindowsMoveFromTitleBarOnly option. This is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. (#899)
    • ๐Ÿ›  Window: Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected in the parent window, so there is no mismatch between the layout in parent and the position of the child window.
    • InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. (#2257)
    • ๐Ÿ›  DragFloat: Fixed broken mouse direction change with power!=1.0. (#2174, #2206) [@Joshhua5]
    • ๐Ÿ Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. (#787)
    • โšก๏ธ Nav: Fixed animated window titles from being updated when displayed in the CTRL+Tab list. (#787)
    • ๐ŸŒฒ Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function closer to the user call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. (#1651). Missing calls to End(), past the assert, should not lead to crashes or to the fallback Debug window appearing on screen. Those changes makes it easier to integrate dear imgui with a scripting language allowing, given asserts are redirected into e.g. an error log and stopping the script execution.
    • ImFontAtlas: Stb and FreeType: Atlas width is now properly based on total surface rather than glyph count (unless overridden with TexDesiredWidth).
    • ๐Ÿ— ImFontAtlas: Stb and FreeType: Fixed atlas builder so missing glyphs won't influence the atlas texture width. (#2233)
    • ๐Ÿ— ImFontAtlas: Stb and FreeType: Fixed atlas builder so duplicate glyphs (when merging fonts) won't be included in the rasterized atlas.
    • ๐Ÿ›  ImFontAtlas: FreeType: Fixed abnormally high atlas height.
    • ๐Ÿ›  ImFontAtlas: FreeType: Fixed support for any values of TexGlyphPadding (not just only 1).
    • ๐Ÿš€ ImDrawList: Optimized some of the functions for performance of debug builds where non-inline function call cost are non-negligible. (Our test UI scene on VS2015 Debug Win64 with /RTC1 went ~5.9 ms -> ~4.9 ms. In Release same scene stays at ~0.3 ms.)
    • IO: Added io.BackendPlatformUserData, io.BackendRendererUserData, io.BackendLanguageUserData void* for storage use by back-ends.
    • IO: Renamed InputCharacters[], marked internal as was always intended. Please don't access directly, and use AddInputCharacter() instead!
    • IO: AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
    • ๐Ÿ’… Style: Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
    • ๐Ÿ’… Demo: "Simple Layout" and "Style Editor" are now using tabs.
    • ๐Ÿ Demo: Added a few more things under "Child windows" (changing ImGuiCol_ChildBg, positioning child, using IsItemHovered after a child).
    • Examples: DirectX10/11/12: Made imgui_impl_dx10/dx11/dx12.cpp link d3dcompiler.lib from the .cpp file to ease integration.
    • Examples: Allegro 5: Properly destroy globals on shutdown to allow for restart. (#2262) [@DomRe]

    I want more!

    ๐Ÿง The docking (#2109) and multi-viewport (#1542) features are actively being used by dozens of teams. Your continuous feedback is always appreciated. Multi-viewport in particular needs help on Linux and Mac (#2117).
    There's a CMake pull-request (#1713).

    Gallery

    Zep (text editor widget) by @cmaughan
    sample

    glChAoS.P by @BrutPitt
    sshot_201917_6158

    Internal tooling for Crossout by Targem Games
    crossout

    ๐Ÿ’… C64 style by @Nullious (font, colors)
    c64 imgui

  • v1.66 Changes

    November 22, 2018

    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ†• New users: go to https://discourse.dearimgui.org for technical support.

    TL;DR;

    ๐Ÿš€ This is a small release with all changes applied to master since September.
    Please note that most of the recent works has been happening in the Viewport (#1542) and Docking (#2109) branches. The Docking branch already have dozens of active users and feedback on it is always welcome.

    • New functions/features: ImGuiWindowFlags_NoBackground, ImGuiWindowFlags_NoDecoration, ImGuiWindowFlags_NoMouseInputs, ImGui::GetDragDropPayload().
    • Bindings: Fixes for GL 4.5 contexts using glClipControl(). Chaining GLFW callbacks automatically. Fixes when using IMGUI_IMPL_OPENGL_LOADER_CUSTOM. SDL+Vulkan: Fix shutdown on Linux.
    • ๐Ÿ›  Many other fixes and improvements, read below for details.

    ๐Ÿš€ Reminder: If you are updating from a version BEFORE 1.64 and you have any local modifications of the code, make sure you read the 1.64 release notes carefully.

    Thank you

    Some ongoing work on dear imgui is currently being sponsored by Blizzard Entertainment + general & community work by many individual users, hobbyists and studios on Patreon. See the readme for details and a more complete list. Huge thank you to all of you, past and present supporters! You help is very meaningful.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ“‡ Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
    • Renamed misc/stl/imgui_stl.* to misc/cpp/imgui_stdlib.* in prevision for other C++ helper files. (#2035, #2096)

    Other Changes:

    • ๐Ÿ›  Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. (#2067)
    • ๐Ÿ›  Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. (#2066)
    • ๐Ÿ Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated.
    • ๐Ÿ›  Nav: Fixed an assert in certain circumstance (mostly when using popups) when mouse positions stop being valid. (#2168)
    • ๐Ÿ›  Nav: Fixed explicit directional input not re-highlighting current nav item if there is a single item in the window and highlight has been previously disabled by the mouse. (#787)
    • ๐Ÿ›  DragFloat: Fixed a situation where dragging with value rounding enabled or with a power curve erroneously wrapped the value to one of the min/max edge. (#2024, #708, #320, #2075).
    • DragFloat: Disabled using power curve when one edge is FLT_MAX (broken in 1.61). (#2024)
    • 0๏ธโƒฃ DragFloat: Disabled setting a default drag speed when one edge is FLT_MAX. (#2024)
    • SliderAngle: Added optional format argument to alter precision or localize the string. (#2150) [@podsvirov]
    • ๐Ÿ Window: Resizing from edges (with io.ConfigResizeWindowsFromEdges Beta flag) extends the hit region of root floating windows outside the window, making it easier to resize windows. Resize grips are also extended accordingly so there are no discontinuity when hovering between borders and corners. (#1495, #822)
    • Window: Added ImGuiWindowFlags_NoBackground flag to avoid rendering window background. This is mostly to allow the creation of new flag combinations, as we could already use SetNextWindowBgAlpha(0.0f). (#1660) [@biojppm, @ocornut]
    • Window: Added ImGuiWindowFlags_NoDecoration helper flag which is essentially NoTitleBar+NoResize+NoScrollbar+NoCollapse.
    • Window: Added ImGuiWindowFlags_NoMouseInputs which is basically the old ImGuiWindowFlags_NoInputs (essentially we have renamed ImGuiWindowFlags_NoInputs to ImGuiWindowFlags_NoMouseInputs). Made the new ImGuiWindowFlags_NoInputs encompass both NoMouseInputs+NoNav, which is consistent with its description. (#1660, #787)
    • ๐Ÿ›  Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. (#2110)
    • ๐Ÿ›  BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. (#1698, #894, #713).
    • ๐Ÿ›  TextUnformatted(): Fixed a case where large-text path would read bytes past the text_end marker depending on the position of new lines in the buffer (it wasn't affecting the output but still not the right thing to do!)
    • ๐Ÿ›  ListBox(): Fixed frame sizing when items_count==1 unnecessarily showing a scrollbar. (#2173) [@luk1337, @ocornut]
    • ListBox(): Tweaked frame sizing so list boxes will look more consistent when FramePadding is far from ItemSpacing.
    • โšก๏ธ RenderText(): Some optimization for very large text buffers, useful for non-optimized builds.
    • ๐Ÿ›  BeginMenu(): Fixed menu popup horizontal offset being off the item in the menu bar when WindowPadding=0.0f.
    • ๐Ÿ›  ArrowButton(): Fixed arrow shape being horizontally misaligned by (FramePadding.y-FramePadding.x) if they are different.
    • Demo: Split the contents of ShowDemoWindow() into smaller functions as it appears to speed up link time with VS. (#2152)
    • ๐Ÿ›ฐ Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. (#143)
    • ImGuiTextBuffer: Avoid heap allocation when empty.
    • ๐Ÿ›  ImDrawList: Fixed AddConvexPolyFilled() undefined behavior when passing points_count smaller than 3,
      in particular, points_count==0 could lead to a memory stomp if the draw list was previously empty.
    • ๐Ÿ‘€ Examples: DirectX10, DirectX11: Removed seemingly unnecessary calls to invalidate and recreate device objects
      in the WM_SIZE handler. (#2088) [@ice1000]
    • 0๏ธโƒฃ Examples: GLFW: User previously installed GLFW callbacks are now saved and chain-called by the default callbacks. (#1759)
    • Examples: OpenGL3: Added support for GL 4.5's glClipControl(GL_UPPER_LEFT). (#2186)
    • ๐Ÿ›  Examples: OpenGL3+GLFW: Fixed error condition when using the GLAD loader. (#2157) [@blackball]
    • Examples: OpenGL3+GLFW/SDL: Made main.cpp compile with IMGUI_IMPL_OPENGL_LOADER_CUSTOM (may be missing init). (#2178) [@doug-moen]
    • ๐Ÿง Examples: SDL2+Vulkan: Fixed application shutdown which could deadlock on Linux + Xorg. (#2181) [@eRabbit0]

    Gallery

    ๐Ÿš€ Some of the software spotted since the last release..
    You can submit pictures or video of your games/applications using dear imgui!
    ๐Ÿ‘€ See more pictures here: #1902 and on the wiki: Quotes & Software using dear imgui.

    Imogen by @CedricGuillemet
    imogen

    Unnamed Editor by @rokups (using docking branch)
    kd29jbn

    Zepto8: A PICO-8 emulator and IDE by @samhocevar (using docking branch)
    zepto8

    ๐Ÿ’ป Profiler UI in Lumix Engine by @nem0
    image

    โœ… Unnamed Editor/test-bed by @r-lyeh
    47254043-53a1ea00-d45c-11e8-97c9-335de68c5ee7

    TimeLord
    timelord

  • v1.66.b Changes

    December 03, 2018

    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ†• New users: go to https://discourse.dearimgui.org for technical support.

    TL;DR;

    ๐Ÿš€ Releasing this as a hot-fix as 1.66 suffered from one problematic regression: one of the code-path for rendering large blocks of text (from 10k characters) was buggy. Although it didn't affect functions like TextUnformatted(), it would affect the display when using InputText() on a buffer larger than 10k (some characters would not be displayed or displayed in a wrong position) or calling the low-level ImDrawList::AddText() function with large string.

    ๐Ÿ”ง In addition, the About Window previously available from the Demo Window was promoted to a function ShowAboutWindow() and it now display various system information (compiler, imgui configuration, list of enabled features, etc.). When discussing issues on a forum post, posting the content of this box will help communicate important information across.

    ๐Ÿš€ Reminder: If you are updating from a version BEFORE 1.64 and you have any local modifications of the code, make sure you read the 1.64 release notes carefully. Avoid modifying imgui cpp files, if you do please communicate/discuss your changes so we can think of a solution to avoid it.

    ๐Ÿ”„ Changes

    • ๐Ÿ›  Fixed a text rendering/clipping bug introduced in 1.66 (on 2018-10-12, commit ede3a3b) that affect single ImDrawList::AddText() calls with single strings larger than 10k. Text/TextUnformatted() calls were not affected, but e.g. InputText() was. [@pdoane]
    • โช When the focused window become inactive don't restore focus to a window with the ImGuiWindowFlags_NoInputs flag. (#2213) [@zzzyap]
    • โž• Added io.BackendPlatformName/io.BackendRendererName fields to optionally describe the back-end. Setting them up in the Examples back-ends, so it can be displayed in the About window.
    • ๐Ÿ›  Separator: Fixed Separator() outputting an extraneous empty line when captured into clipboard/text/file.
    • Demo: Added ShowAboutWindow() call, previously was only accessible from the demo window.
    • ๐Ÿ— Demo: ShowAboutWindow() now display various Build/Config Information (compiler, os, etc.) that can easily be copied into bug reports.
    • ๐Ÿ›  Fixed build issue with osxcross and macOS. (#2218) [@dos1]
    • Examples: SDL: changed the signature of ImGui_ImplSDL2_ProcessEvent() to use a const SDL_Event*. (#2187)

    ShowAboutWindow():
    image

  • v1.65 Changes

    September 06, 2018

    v1.65: Passing breeze

    ๐Ÿ‘€ See https://github.com/ocornut/imgui for the project homepage.
    ๐Ÿš€ See https://github.com/ocornut/imgui/releases for earlier release notes.
    ๐Ÿ‘€ See https://github.com/ocornut/imgui/wiki for language/framework bindings, links, 3rd parties helpers/extensions.
    ๐Ÿ†• New users: go to https://discourse.dearimgui.org for technical support.

    TL;DR

    • ๐Ÿš€ This is a minor release, completing the refactor recently done for 1.64. If you are updating from a version BEFORE 1.64 and you have any local modifications of the code, make sure you read the 1.64 release notes carefully.

    ๐Ÿ’ฅ Breaking Changes

    • Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and
      stb_rect_pack.h to imstb_rectpack.h. If you were conveniently using the imgui copy of those
      โšก๏ธ STB headers in your project, you will have to update your include paths. If you are manually copying files to update your copy of imgui, make sure you delete the old stb_.h file in the same directory. (#1718, #2036)
      The reason for this change is to avoid conflicts for projects that may also be importing
      their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
    • ๐Ÿ“‡ Renamed io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427)

    Other Changes:

    • ๐Ÿš€ This is a minor release following the 1.64 refactor, with a little more shuffling of code.
    • Clarified and improved the source code sectioning in all files (easier to search or browse sections).
    • ๐Ÿšš Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system.
      Although it is not perfect and will keep being improved, it is fairly functional and used by many. (#787)
    • ๐Ÿ›  Fixed a build issue with non-Cygwin GCC under Windows.
    • ๐Ÿ”ง Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
    • ๐Ÿ”จ Some more internal refactoring, and exposed more of the Drag/Slider stuff in imgui_internal.h.
    • ๐Ÿ›  Examples: OpenGL3: Fixed error condition when using the GLAD loader. (#2059, #2002). [@jiri]