Skip to content

v1.91.6

Latest
Compare
Choose a tag to compare
@ocornut ocornut released this 11 Dec 14:16
· 27 commits to master since this release

1.91.6: general maintenance release

❤️ 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 their help with github answers!


Changes (since v1.91.5)

This is an unusual small release. It is mostly motivated by the fact that the Win32 backend in docking branch of v1.91.5 had a crash when running multiple program instances. Most of the work done this month is part of a larger feature I will talk about later :)

Breaking Changes:

  • Backends: DX12: Changed ImGui_ImplDX12_Init() signature to take a ImGui_ImplDX12_InitInfo struct.
    • Using the new API, application is now required to pass function pointers to allocate/free SRV Descriptors.
    • We provide convenience legacy fields to pass a single descriptor, matching the old API, but upcoming features will want multiple.
    • Legacy ImGui_ImplDX12_Init() signature is still supported (will obsolete).
  • Misc: changed CRC32 table from CRC32-adler to CRC32c polynomial in order to be compatible with the result of SSE 4.2 instructions. (#8169, #4933) [@Teselka]
    • As a result, some .ini data may be partially lost when storing checksums (docking and tables information particularly).
    • Because some users have crafted and storing .ini data as a way to workaround limitations of the docking API, we are providing a #define IMGUI_USE_LEGACY_CRC32_ADLER compile-time option to keep using old CRC32 tables if you cannot afford invalidating old .ini data.

Other changes:

  • InputText: added ImGuiInputTextFlags_ElideLeft to elide left side and ensure right side of contents is visible when whole text is not fitting (useful for paths/filenames). (#1442, #1440, #4391, #7208, #8216) [@kucoman, @ocornut]
  • InputText: reactivating last activated InputText() doesn't restore horizontal scrolling (which was disabled during deactivation anyway).
  • Error Handling: fixed cases where recoverable error handling would crash when processing errors outside of the NewFrame()..EndFrame() scope. (#1651)
  • Tables: fixed SetNextWindowScroll() value being ignored by BeginTable() during the first frame or when scrolling flags have changed. (#8196)
  • Misc: changed embedded ProggyClean encoding to save a bit of binary space (~12kb to 9.5kb).
  • Misc: added IMGUI_DISABLE_DEFAULT_FONT to strip embedded font from binary. (#8161) [@Demonese]
  • Demo: example tree used by Property Editor & Selection demos properly freed on application closure. (#8158) [@Legulysse]
  • Fonts: fixed AddCustomRect() not being packed with TexGlyphPadding + not accounted for surface area used to determine best-guess texture size. (#8107) [@YarikTH, @ocornut]
  • Misc: use SSE 4.2 crc32 instructions when available. (#8169, #4933) [@Teselka]
  • Tools: binary_to_compressed_c: added -u8/-u32/-base85 export options.
  • Backends: DirectX12: Let user specifies the DepthStencilView format by setting ImGui_ImplDX12_InitInfo::DSVFormat. (#8217) [@bmarques1995]
  • Backends: Vulkan: Make user-provided descriptor pool optional. As a convenience, when setting init_info->DescriptorPoolSize then the backend will create and manage one itself. (#8172, #4867) [@zeux]
  • Examples: Win32+DX12: Using a basic free-list allocator to manage multiple SRV descriptors.

Changes from 1.91.5 to 1.91.6 in the Docking branch:

  • Backends: Win32: Fixed a crash/regression in 1.91.5 when running two processes with multi-viewports (was using GetProp() to query property which could have belonged to another process). (#8162, #8069) [@sammyfreg, @ocornut]
  • Docking: Added an assert to clarify that ImGuiDockNodeFlags_CentralNode flag (from internals) does not need to be passed to DockSpace(), as it causes general havoc. (#8145)

Gallery

@HODAKdev: "ImGui is amazing, you can make any editor you want. This is what my game engine looks like. ❤️"
https://github.com/HODAKdev/StarEngine
image

@734vin: "a node base editor use ImGui, pegborad module."
pegboard

LightAct 4 (Media Server for Big Shows & Fast Workflows)
https://lightact.com

lightact
2023-04-21-09 50 39-1920x1080px

@matheusgarcez "Working in progress markdown renderer for a game guide overlay (using md4c for building the node tree):"
P5R_fGVrWv1BB9

@coderloff "Here is my basic C++ game engine for learning purposes, Ferx Engine, I'm developing as a 16-year-old:"
Engine

Orion Drift upcoming game by Another Axiom
https://www.meta.com/experiences/orion-drift/7181769438517329/
https://www.youtube.com/watch?v=LWvzanMj_
Orion Drift Level Editor
https://www.meta.com/experiences/orion-drift/7181769438517329/

@BigJk "I'm using ImGui for the whole UI of a small game I'm currently developing for fun after work. It's a First Person Dungeon Crawler with Monster Collecting Elements called Gloamvault."

"It's the first time I had a usecase for ImGui's drag and drop features. I use it so that you can easily move monsters in your party around or cast spells by dragging the spell onto the target 😄 Was super easy to implement. Working with ImGui is a breeze as always!"
image
image


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.