All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Pre-filled issue backlog in
.github/issues/documenting 5 known bugs and 7 planned features. - Gemini-powered issue triage workflow (
gemini-issue-triage.yml): auto-labels and welcomes new issues, detects duplicates, and validates model output before auto-closing. - Documentation sync workflow (
gemini-doc-sync.yml): audits Doxygen, README, and CHANGELOG on PRs touchinginclude/; updates existing comment in place on re-runs. - Monthly vcpkg maintenance workflow (
vcpkg-maintenance.yml): creates a version report issue on the 1st of each month forimgui,implot,imgui-node-editor, andcatch2. .coderabbit.yaml: CodeRabbit auto-review with C++20 style, platform guard, Doxygen, and test coverage rules.
- CMakeLists version bumped from
1.0to2.0.0; addedVERSION_PATCHvariable and compile definition to match the v2.0.0 git tag.
2.0.1 — 2026-06-09
CHANGELOG.mdfollowing the Keep a Changelog format.- GitHub issue templates (
bug_report.yml,feature_request.yml) as structured YAML forms with platform-aware dropdowns and automatic labeling (bug/enhancement,needs-triage). - GitHub PR template (
PULL_REQUEST_TEMPLATE.md) with per-platform build checklists and a preprocessor guard reminder. config.ymlto disable blank issues and provide upstream contact links (Dear ImGui, ImPlot, imgui-node-editor).
- Wiki documentation reorganized and expanded with new pages: Getting Started, Configuration, Creating Windows, Built-in Windows, Themes and Colours, ImPlot and Node Editor, Building from Source.
2.0.0 — 2026-04-30
- Initial stable release of imgui-platform-kit.
- Cross-platform support: Windows (DirectX 12), Linux (GLFW/OpenGL3), macOS (GLFW/OpenGL3).
UserInterfaceclass withinitialize(),render(),shutdown(), andaddWindow<T>().UserInterfaceParametersconfiguration system:WindowParameters,FontParameters,StyleParameters,IconParameters,BackgroundImageParameters.UserInterfaceWindowabstract base class for custom windows.- Built-in
LogWindowwith colored, filterable, auto-scrolling log output (addLog,clearLogs,getLogCount). TemplateWindowas a minimal subclassing example.- 39 built-in themes via
Themeenum andshowImGuiKitThemeSelector(). - 50+ color constants in
colour_palette.h(Basic, Extended, Grayscale, Pastel, Dark groups). - Global window flags management (
getGlobalWindowFlags,setGlobalWindowFlags,addGlobalWindowFlags,removeGlobalWindowFlags). - ImPlot integration: context created/destroyed automatically; exposed via
user_interface_window.h. - imgui-node-editor integration: linked and context destroyed on shutdown.
stb_image.hbundled for image loading.- Background image support with fit modes (DX12 and OpenGL paths).
- DPI scaling on all three platforms.
- JetBrainsMono font family bundled (Regular, Bold, Italic, Light, Medium, Thin).
- Window icon loading:
.icoon Windows,.pngon Linux (macOS: GLFW limitation, no-op). - VCPKG-based dependency management with CMake 3.15+ and C++20.
- GitHub Actions CI workflows for Windows, Linux, and macOS builds.
- Code coverage workflow (Linux/GCC, lcov, Codecov upload).
- Release packaging workflow.
- Unit tests with Catch2: window flags, colour palette, themes, parameters, log window.
- CMake install targets with config exports for downstream
find_packageuse. - Build and install scripts for all platforms (
build.bat,build.sh,build_macos.sh,install.bat,install.sh). - SRV descriptor heap management for DX12 background image textures.
- Retry logic for vcpkg dependency installation in CI.
--ignore-errors unusedoption for lcov to improve coverage reporting robustness.- macOS architecture auto-detection in CI (arm64-osx for Apple Silicon, x64-osx for Intel).
IM_FMTARGSindex inLogWindow::addLogdeclaration.- CMake install prefix paths for Windows, Linux, and macOS.
- GLFW window creation error handling.
UserInterfaceParameterstest to avoid GLFW monitor query in headless CI.- Catch2 installation step ordering in Windows and macOS CI workflows.
- Redundant test cases removed;
colour_palette.hincluded in all test files. log_window: replaced<stdarg.h>with<cstdarg>for standard conformance.
LogWindow::renderContent()extracted from the main render path for modularity.- Global window flag variables converted from global to
inline constexprfor better linkage. - SRV descriptor heap management refactored into dedicated helper functions in the DX12 backend.