Changelog#

The format is based on Keep a Changelog.

[2.2.2] - 2026-09-28#

Fixed#

  • OMPE-57854 (NVBug 5426377): only free the per-context ImGui constant-buffer descriptor count on shutdown if startup() actually incremented it. startup() can bail out early (pipeline, buffers, or shader resource view creation failure) before incrementing, and an unconditional decrement in that case stole a descriptor-pool slot from an unrelated live context. Refines the [2.1.0] fix below.

[2.2.1] - 2026-09-21#

Fixed#

  • OMPE-110194: characters above U+00FF (Latin Extended, Greek, Cyrillic) no longer render as ‘?’ with the default font.

[2.2.0] - 2026-07-09#

Added#

  • OMPE-76724: dispatch an omni.kit.renderer.imgui.cursorChanged eventdispatcher (Events 2.0) event whenever the effective mouse cursor shape changes (from ImGui hover state or an explicit override), carrying cursor_name and app_window_title. Fires in headless / streaming mode as well, so the livestream extension can observe it by name (no IImGuiRenderer dependency) and forward it to a web client as an onCursor message, supporting custom cursors for streamed Kit apps.

Changed#

  • OMPE-76724: custom (“extend”) cursors registered via registerCursorShapeExtend now register by name even when the OS cursor can’t be created (e.g. headless / streaming), and the OS cursor is created lazily when a window becomes available. This lets setCursorShapeOverrideExtend set a custom cursor by name and broadcast it on the cursor event stream in headless mode, so a streamed client can map that name to its own custom cursor image.

[2.1.0] - 2026-06-19#

Fixed#

  • OMPE-57854 (NVBug 5426377): free the per-context ImGui constant-buffer descriptor count on shutdown so recreating scene widgets no longer exhausts the descriptor pool.

[2.0.8] - 2026-05-29#

Fixed#

  • OMPE-92157: guard EditorMenuItem.__del__ against teardown. The finalizer used to unconditionally call carb.log_info and EditorMenu.remove_item, which during fastShutdown / interpreter teardown either spammed omni.kit.menu.utils not loaded for remove_item(...) warnings or raised TypeError (when carb was already finalized to None) and let the exception escape the destructor. __del__ now bails out cleanly when the menu subsystem or carb is gone and never lets an exception leave the finalizer.

[2.0.7] - 2026-05-26#

Fixed#

  • Fix “Subscriber not found” warnings when closing an external window or returning to main window by destroying the carb::imgui Context in clearAppWindow() (while the underlying IAppWindow’s keyboard/mouse devices are still alive), instead of waiting until deferred shutdown when the devices have already been torn down.

[2.0.6] - 2025-05-06#

Changed#

  • Updated to use omni.appwindow via eventdispatcher (Events 2.0)

[2.0.5] - 2025-05-01#

Changed#

  • Prepare for Python-3.12

[2.0.4] - 2025-04-29#

Fixed#

  • Fix ETM test on OVC2

[2.0.3] - 2025-04-15#

Fixed#

  • OMPE-43816: ensured some extension enable/disable hook objects are cleaned up.

[2.0.2] - 2025-04-01#

Fixed#

  • Fix crash when moving external window to main window

[2.0.1] - 2025-03-12#

Fixed#

  • Fix crash when adding custom glyph to font atlas

[2.0.0] - 2025-01-14#

Changed#

  • Removed deprecated carb.imgui module alias (use omni.kit.imgui)

[1.0.3] - 2024-12-23#

Fixed#

  • Fixed reading font region files with long lines

[1.0.2] - 2024-10-30#

Changed#

  • Avoid crash when creating too large font texture

  • Follow existing omni.ui app.font.overresolutionSize setting to override Ultra font size

[1.0.1] - 2023-12-20#

Changed#

  • Push mouse-event modifiers into ImGui state.

[1.0.0] - 2023-12-20#

Fixed#

  • Typo

Added#

  • Versioning data.