Files
MajoorWaldi-ComfyUI-Majoor-…/CHANGELOG.md
T
2026-09-04 21:18:35 +02:00

26 KiB
Raw Blame History

Changelog

All notable changes to this project are documented in this file.

[Unreleased]

[2.5.1] - 2026-09-04

New Features

  • KJNodes Model Preview Override in Floating Viewer: Added live display support for previews emitted by KJNodes' Model Preview Override node during generation. MFV accepts JPEG, PNG, animated WebP, and MP4 payloads, preserves node, step, dimension, and FPS context, prioritizes the KJNodes stream over duplicate ComfyUI binary previews for the active node, and safely returns to the standard preview stream afterward. The new Show KJNodes Model Preview Override in MFV setting is available under Settings → Majoor Assets Manager → Floating Viewer and is enabled by default; the MFV KSampler Preview toggle must also be enabled.
  • Top bar Viewer button toggle: New Show Viewer button in the top bar setting (Settings → Majoor Assets Manager → Floating Viewer, enabled by default) to show or hide the Viewer toggle button in the ComfyUI top bar. The change applies live and the V shortcut keeps working when the button is hidden.
  • Folder browsing in Input / Output scopes (#188): Subfolders under the Input and Output roots can now appear as folder cards in the grid — open a folder to browse its content, navigate back with the .. parent entry, drag-and-drop assets onto a folder card to move them, and create subfolders from the right-click menu. Opt in with the new Show folders in Input / Output panels setting (Settings → Majoor Assets Manager → Browser, disabled by default — the grid keeps the classic flat listing until enabled). Thanks @bsawang.
  • Collect Files: New right-click action and details-sidebar button that bundles an asset, its workflow JSON, the traced prompt text (positive/negative), and every media input referenced by the workflow into a {asset}_collected.zip created next to the file, with a manifest listing each input and model path. Falls back to output/_mjr_collected/ when the asset folder is not writable. See docs/COLLECT_FILES.md.

Fixed

  • Prototype-pollution guard in bundled state patching: Upgraded Pinia to 4.0.2 so its recursive state merge uses own-property checks for both source and destination objects, resolving CodeQL alert #96 in the generated Vue vendor bundle.
  • Majoor Save filename_prefix placeholders (#194): %date:yyyyMMdd%-style placeholders (and %NodeName.widget% references) in the filename_prefix of Majoor Save Image / Majoor Save Video were written literally into filenames because ComfyUI's frontend only resolves them for its own core save nodes. Placeholders are now resolved on the frontend for Majoor save nodes (matching core node semantics), with a server-side %date:...% fallback in the nodes themselves so API-driven workflows are covered too.
  • Floating Viewer audio compare sync: audio players are now time/play/volume/rate-synchronized in A|B, side-by-side, and grid compare modes, matching video behaviour.
  • Floating Viewer audio player visuals: the unified audio player now shows the same styled backdrop (gradient + filename) as the simple player instead of an empty area behind the controls.
  • Top bar Viewer button stability: the button slot position check now ignores stray text/comment nodes emitted by the host UI, preventing needless DOM re-insertion cycles.
  • Full-text search on prompts restored (#175): since the v18/v19 tag-normalization migrations, the search index column metadata_text was never populated, so prompts, negative prompts, model/LoRA names, and Majoor GenInfo overrides (including custom info blocks) were not searchable. The indexer now persists this text on every metadata write, and migration v21 automatically backfills already-indexed assets on startup — no index reset required.
  • "Allow Remote Full Access" now effective with a configured token (#167): an auto-generated API token always exists after first startup, which silently disabled the Allow Remote Full Access toggle — remote LAN clients without a token were blocked with "Write access is blocked" spam and no working opt-out. The toggle (and MAJOOR_ALLOW_REMOTE_WRITE=1) now permits tokenless remote writes even when a token is configured, unless Require Token For All Writes is enabled.
  • False-positive route collision warning (#167): the startup warning Potential route path collisions detected before registration: /embeddings was caused by comparing ComfyUI's own core routes against themselves via the shared route table. Collision detection now only considers Majoor-owned route paths.

[2.5.0] - 2026-07-09

New Features

  • LTX Director and Ideogram 4 workflow metadata: Added generation info support for LTX Director and Ideogram 4 workflows, including dedicated prompt extraction and sidebar display.
  • Viewer playback speeds: Added 3x, 5x, and 10x playback speeds.
  • Generation source file actions: Added a context menu for source files in the generation sidebar, with viewer, floating viewer, folder, and asset-loading actions.
  • Find Similar action menu: Replaced the direct Find Similar button with a popover menu for Find Similar, Find Duplicate, Generated with same save node, and Generated from same workflow.
  • Experimental JPEG XL support: Added optional .jxl indexing, previews, drag-and-drop, viewer support, MIME handling, and a persistent setting. JPEG XL support remains disabled by default.
  • Native subgraph support in Graph Map: Added recursive expansion of nested ComfyUI subgraphs, including subgraphs that reference root-level definitions.
  • Extended file technical metadata: Added bit depth, pixel format, encoder, and color-space information to the asset sidebar.

Improved

  • Asset sidebar UI: Polished the asset sidebar generation info layout and workflow metadata presentation.
  • Video viewer rendering: Improved video viewer rendering behavior.
  • Toolbar active states: Popover and settings buttons now highlight consistently while their menu/dialog is open, including Messages and updates, Find Similar, Filter, Sort, Collections, Pinned folders, and Settings.
  • Message history UX: Automatically closes the Messages and updates history panel after an auto-opened tracked process completes, while preserving manually opened history panels.
  • Majoor Save metadata persistence: Persisted Asset ID, Job ID, Source Node, Node Type, and Workflow ID in saved asset metadata alongside generation time.
  • Runtime metadata ingestion: Outputs now receive prompt, workflow, GenInfo, job, and source-node metadata directly from ComfyUI history after execution.
  • Rodin 3D output grouping: Rodin GLB packages and previews now inherit execution context and can be stacked by job.
  • Output color management: Majoor Save images now include an sRGB ICC profile, while MP4 output is explicitly tagged as BT.709.
  • Generation prompt selection: GenInfo prompts now take precedence over stale paths or denormalized prompt values.
  • LTX Director prompt extraction: Global prompts are now extracted from timeline metadata.
  • Workflow thumbnail matching: Matching now relies on workflow hashes instead of potentially ambiguous workflow IDs.
  • Top-bar Viewer integration: Improved MFV button placement and compatibility checks for supported ComfyUI top-bar structures.
  • Graph Map navigation: Added deeper zoom support for inspecting dense nested subgraphs.

Fixed

  • Tags shortcuts: Fixed tags shortcut behavior.
  • Viewer playback state: Fixed playback speed persistence and arrow-key navigation.
  • Floating Viewer controls: Fixed Floating Viewer mute/speed persistence and rating hotkeys. Thanks @Aivanis.
  • Generation prompt tracing: Fixed a generation prompt tracing bug.
  • Generation source file viewer loading: Fixed source file preview/viewer loading paths that could show "Failed to load image".
  • Filter popover dismissal: Fixed the Filter popover not closing when clicking outside.
  • Viewer generation info stability: Fixed intermittent Generation Info rendering in the viewer.
  • Open in folder action: Fixed requests so they work with either a filepath or an asset ID.
  • Floating Viewer loading: Fixed loader initialization and retry behavior covered by new regression tests.
  • Subgraph workflow parsing: Prevented prompt nodes from being mixed with serialized subgraph UI nodes.
  • Generation information display: Requested metadata rows now remain visible when their value is unavailable.

[2.4.9] - 2026-06-25

✨ Improved

  • Graph Map UI and Parsing: Improved Graph Map node UI and widget parsing for clearer node inspection and more reliable node details. See docs/GRAPH_MAP.md.
  • GenInfo Metadata Parsing: Improved metadata parsing for GenInfo display accuracy and consistency. See docs/VIEWER_FEATURE_TUTORIAL.md and docs/MFV_GUIDE.md.
  • Quick Media Filters: Added direct filter shortcut buttons to quickly display Images, Videos, Audio, or 3D assets. See docs/SEARCH_FILTERING.md.
  • Drag and Drop Features: Improved drag-and-drop behavior, node compatibility handling, and clean export workflow. See docs/DRAG_DROP.md.

🎉 New Features

  • Configurable Workflow Roots: Added a Settings option for Workflow tab roots and a Workflow-tab toolbar button to pick the saved workflow root directly beside the save/import actions. See docs/WORKFLOWS.md and docs/SETTINGS_CONFIGURATION.md.
  • Workflow Tab Library: Added a dedicated Workflow tab guide and documented the full workflow library behavior: save/import current workflows, load them back into ComfyUI, inspect them in Graph Map, organize categories, set thumbnails, and edit workflow metadata. See docs/WORKFLOWS.md.
  • Majoor GenInfo Override Node: Added a new Majoor GenInfo Override node to inject custom/manual GenInfo data through Majoor Save nodes. See docs/CUSTOM_NODES.md.

Message Center

  • Workflow Tab Guide Announcement: Added a built-in Message Center entry linking directly to the Workflow tab guide.

🔧 Refactoring, Code Quality & Fixes

  • Frontend TypeScript Refactor: Continued major UI code refactoring to TypeScript to align with ComfyUI frontend evolution. See docs/MIGRATION_TS_TRACKER.md.
  • Easier AI Settings Access: Improved access to AI settings via a dedicated button in the Assets Manager panel and in the Floating Viewer. See docs/SETTINGS_CONFIGURATION.md.
  • ComfyUI Frontend Integration: Improved Majoor Assets Manager integration with the ComfyUI frontend for smoother interoperability and UI consistency. See docs/FRONTEND_LIFECYCLE_CONVENTIONS.md.
  • Code Improvements and Bug Fixes: General code improvements and multiple bug fixes across UI and integration layers.

[2.4.8] - 2026-05-18

Improvements & Code Quality

  • Code Corrections and Improvements: Applied frontend code corrections, interaction cleanup, and targeted maintainability improvements across the Assets Manager UI.
  • Settings Access and Clarification: Clarified settings behavior and improved access to settings from the panel gear icon and the Floating Viewer.

Drag and Drop

  • Drag and Drop Bug Fixes and Clarifications: Fixed regressions in drag-and-drop handling, clarified canvas/node drop behavior, staging behavior, visual feedback, and interaction with ComfyUI's native workflow drop handling.

Graph Map & Floating Viewer

  • Workflow Inspection in Floating Viewer: The Floating Viewer can now inspect embedded workflows without opening them on the canvas.
  • Graph Map Node Actions: Added workflow graph inspection tools for copying nodes, copying node attributes, and transferring node attributes to a similar selected node on the ComfyUI graph canvas.

📚 Documentation

  • Graph Map Guide: Added a dedicated Graph Map documentation page with screenshots, workflow map usage notes, and a focused explanation of node detail actions.
  • README Presentation: Added Graph Map presentation content and screenshot references to the main README.

💬 Message Center

  • Graph Map Announcement: Added a built-in Message Center entry linking directly to the Graph Map guide.

[2.4.7] - 2026-05-01

🚀 Performance

  • Grid Performance Improvements: Improved grid responsiveness, scrolling stability, and asset loading behavior for large libraries.

🎉 Major Features — Majoor Floating Viewer

  • MFV is now an advanced viewer: The Floating Viewer is no longer a light viewer only; it now provides a richer workflow surface for inspecting, comparing, and controlling generation assets.
  • Node Stream: Follow selected node previews directly inside the Floating Viewer, including supported live preview sources.
  • Node Parameters: Open the workflow node sidebar from the viewer and inspect node parameters without leaving the MFV.
  • Edit Nodes from the Viewer: Edit node widgets directly inside the Floating Viewer, including prompts and common workflow parameters.

🧰 Toolbox

  • New Toolbox Tools: Added new tools to the toolbox for faster access to common asset and workflow operations.

🔧 Code Quality & Fixes

  • Code Corrections: Applied code corrections and cleanup across the frontend/backend integration surface for better maintainability.

[2.4.6] - 2026-04-20

🐛 Bug Fixes & Performance

  • Bug Fixes: Various bug fixes
  • Performance and Fluidity: Performance and fluidity improvements

✨ Improved

  • Concatenate Support: Improved concatenate support for default and custom nodes — by Forsion07

🔌 API & Integrations

  • Api Node Helpers: Add support helpers for Api Node
  • Ernie Image Helper: Add support helper for Ernie Image

⚙️ Settings & Defaults

  • Live Stream disabled by default: MFV Live Stream (green button) is now OFF by default; can be re-enabled permanently via Settings → Majoor Assets Manager › Viewer
  • Live Stream & KSampler Preview configurable by default: Both toggles can be set as the default state via Settings → Viewer; when Live Stream is active, clicking a Load Image node or a generation end automatically opens the Floating Viewer

[2.4.5] - 2026-04-10

🎉 New Features — Floating Viewer

  • Multi-Pin References (A/B/C/D): Pin up to 4 images simultaneously with toggle buttons; pinned slots hold their content while unpinned slots follow Live Stream
  • Node Parameters Sidebar: View and edit workflow node widgets (prompts, seeds, samplers) directly inside the Floating Viewer
  • Run Button in Viewer: Queue prompt from the viewer toolbar without switching back to the canvas
  • Expandable Text Areas: Collapse/expand long text inputs with a toggle button
  • Sidebar Position Setting: Choose right, left, or bottom placement for the Node Parameters sidebar via Settings; applies immediately without reload
  • Toolbar Layout: Run and Node Parameters buttons placed at far right for ergonomic access
  • Topbar MFV Button: New Viewer toggle button in the ComfyUI top action bar — open or close the Floating Viewer without opening the sidebar; highlights when the viewer is active

🎉 New Features — Custom Nodes

  • Majoor Save Image 💾: Drop-in replacement for the built-in SaveImage node that persists generation_time_ms in PNG text chunks alongside prompt and workflow metadata; supports auto-detection of generation time from the prompt lifecycle
  • Majoor Save Video 🎬: Save IMAGE batches or VIDEO inputs as MP4 (h264 via PyAV), GIF, or WebP; embeds generation_time_ms, prompt, and workflow directly in the MP4 container metadata; optional PNG sidecar for first frame; supports audio muxing and configurable CRF quality
  • Generation Time Extraction: The metadata extraction pipeline now reads generation_time_ms from PNG text chunks and MP4 container format tags, so the value survives index resets and re-indexing

✨ Improved

  • MFV Gen Info Overlay Placement: Keep Gen Info as the original overlay and automatically place it above the inline player controls when the player is visible
  • MFV Simple Player Keyboard Controls: Support focused playback shortcuts with Space for play/pause and Left/Right for frame-by-frame stepping

🐛 Bug Fixes & Issue Resolutions

  • Realtime Vector Indexing: Fixed newly generated assets not always entering automatic vector indexing after save/index events
  • Grid Reload Stability: Fixed unnecessary full refreshes and parasitic reloads triggered by ambiguous settings sync and window events
  • Pagination Freeze at Bottom: Fixed cases where scrolling could stall when a page returned results that were fully deduplicated or hidden
  • MFV Video Overlay Overlap: Fixed Gen Info overlapping inline video player controls in simple player mode
  • GenInfo Pipeline Accuracy: Fixed sampler pass deduping and rgthree Any Switch tracing so multi-pass workflow metadata stays in the correct order

[2.4.4] - 2026-04-05

✨ Improved

  • Refactor frontend in Vue to match ComfyUI frontend evolution

📚 Documentation

  • Sync documentation with the current repository layout and commands
  • Update published documentation and user guide to version 2.4.4
  • Refresh plugin compatibility examples and reference material

[2.4.3] - 2026-03-29

✨ Improved

  • Improve assets metadata parsing
  • Add Grid Compare capability in floating viewer up to 4 Assets
  • Add ping pong loop in main Viewer player
  • Add job id and stack id in DB for better assets management
  • Stack assets generated from same workflow job with same job ID
  • Code refactor for maintainability
  • Various bug fixes
  • Add generated feed feature
  • Add lite version of grid in bottom tab

[2.4.2] - 2026-03-17

🎉 Major Features

3D Model Viewing Support

  • Basic 3D Model Thumbnail Rendering — Implemented 3D model thumbnail rendering with fallback icon support
  • Viewer Mode Selection — Updated viewer logic to handle 3D model assets
  • 3D Model Interactions — Added checks for 3D model interactions in the viewer
  • Drag & Drop Extension — Extended drag & drop support to include 3D model assets

Toast History Tab

  • History Tab Implementation — Added new history tab to message popover alongside messages and shortcuts
  • Recent Toast Notifications — Display recent toast notifications in the history panel
  • Clear History — Included clear button to remove toast history
  • Unread Indicator — Added unread indicator to history tab when there are new entries
  • Layout Updates — Updated message popover layout and styling to accommodate new tab

Enhanced Floating Viewer

  • Document Picture-in-Picture — Implemented PiP for always-on-top secondary monitor support
  • Pop-out Functionality — Enhanced with fallback to window.open() for compatibility
  • Transitions & Interactions — Refined pop-in/out transitions and user interface interactions
  • Media Loading — Optimized media loading and error handling for various scenarios
  • Keyboard Shortcuts — Improved keyboard shortcut integration and behavior
  • CSS Animations — Updated animations and z-index hierarchy for better visual presentation
  • Backend Logging — Enhanced logging for request handling

🐛 Bug Fixes & Resilience

Stability Improvements

  • Card.js Timeout Leak — Fixed potential timeout leak in Card.js
  • AssetsManagerPanel Reload — Enhanced reload logic for better stability
  • FloatingViewer Drag — Optimized drag interactions
  • Plugin Loader — Refined plugin loader and manager for hot-reload safety
  • Registry Configuration — Improved configuration handling
  • File Existence Checks — Removed redundant file existence checks in assets_impl
  • Asset Renaming — Implemented rate limiting for asset renaming

[2.4.1] - 2026-03-09

✨ Added

  • Added CLIP-based semantic search engine with AI toggle, prompt alignment scoring in GenInfo panel, smart collection suggestions, and auto-tagging pipeline
  • Added support for rgthree and easy use custom node parsing
  • Added shortcut guide tab to message popover in panel
  • Added linked model entry function for upscaler model extraction

🐛 Fixed

  • Fixed download form viewers issues
  • Fixed workflow filter bugs
  • Fixed MFV memory leaks and hot-reload listener accumulation
  • Fixed SQL placeholder count unbounded in generation-time batch query (capped at 500)
  • Fixed numpy array dtype consistency (float32) in vector operations

🚀 Improved

  • Enhanced compare overlay functionality
  • Improved text search performance and accuracy
  • Enhanced geninfo extraction for upscalers and samplers
  • Enhanced tag handling and agenda calendar functionality
  • Refactored upscaler model extraction logic

📚 Documentation

  • Added comprehensive AI features guide and new documentation

[2.4.0] - 2026-02-28

🎉 Major Features

Majoor Floating Viewer (MFV) — NEW! 🎯

A lightweight floating viewer panel for real-time generation comparison:

  • Live Stream Mode — Automatically follows new generations from Save/Load nodes
  • Compare Modes — Simple, A/B Compare, and Side-by-Side views
  • Real-time Preview — Watch generations as they complete
  • Node Tracking — Click on LoadImage/SaveImage nodes to preview their content
  • Pan & Zoom — Mouse wheel zoom and click-drag pan for detailed inspection
  • Gen Info Overlay — Display prompt, seed, model, and LoRA for each generation
  • Draggable Panel — Position anywhere on screen, resizable
  • Keyboard Shortcuts — Quick mode switching and controls

🔧 Refactoring & Code Quality

Major Code Refactoring

  • Inline Styles → CSS Classes — Moved all static inline styles to theme-comfy.css
  • Component Separation — Better modularization of viewer components
  • Improved Error Handling — Added proper error logging and user feedback
  • Code Cleanup — Removed dead code, improved naming, added documentation
  • Performance Optimization — Reduced redundant parsing, improved caching

🐛 Bug Fixes

Critical Fixes

  • CSS File Corruption — Fixed null character corruption in theme-comfy.css
  • Gen Info Display — Fixed field extraction and HTML escaping
  • Memory Leaks — Fixed event listener cleanup in viewer components
  • Race Conditions — Fixed async hydration in Floating Viewer
  • Duplicate CSS Rules — Removed duplicate fullscreen rules

General Stability

  • Multiple bug fixes across indexing and metadata parsing
  • Fixed viewer overlay lifecycle management
  • Fixed dropdown positioning and event handling
  • Fixed cache invalidation issues

🐧 Linux Support

Cross-Platform Compatibility

  • Full Linux Support — Tested on Ubuntu 22.04+, Fedora, Debian
  • Path Handling — Fixed Windows-style path separators for Linux
  • File Permissions — Proper handling of Linux file permissions
  • Case Sensitivity — Fixed case-sensitive file system issues
  • Dependencies — Updated requirements.txt for Linux compatibility

🧪 Test Coverage

New Test Suites

  • Unit Tests — Added tests for geninfo parser, metadata extraction
  • Integration Tests — Viewer component testing
  • Frontend Tests — Vitest configuration for JavaScript testing
  • Backend Tests — pytest for Python backend services
  • CI/CD — GitHub Actions workflows for automated testing

Test Files Added

  • tests/parser/test_geninfo_flux.py — GenInfo parser tests
  • tests/features/test_sampler_tracer_extra.py — Sampler tracer tests
  • tests/features/test_role_classifier.py — Role classifier tests
  • tests/metadata/test_extractors_helpers.py — Metadata extractor tests
  • tests/database/test_schema_heal.py — Database schema tests
  • vitest.config.mjs — Frontend test configuration

⚙️ Technical Changes

Dependencies

  • Added Vitest for frontend testing
  • Updated mypy configuration for better type checking
  • Added pre-commit hooks for code quality

Architecture

  • Separated viewer concerns (FloatingViewer, floatingViewerManager, LiveStreamTracker)
  • Improved metadata pipeline (genInfo.js hydration)
  • Better event-driven architecture for viewer lifecycle

[2.3.3] - 2026-02-13

Added / Improved

  • Enhanced metadata extraction for the AC-Step (Ace Step) custom node.
  • Drag & Drop: stage dropped audio files to the node input (audio file staging).
  • Added new filtering/sorting capabilities:
    • Filter by workflow type (I2I, I2V, T2I, T2V, V2V, FLF, UPSCL, INPT, TTS, A2A).
    • Filter by file size (weight).
    • Filter by image resolution/size.
  • Added a settings option to configure the output path directly from the UI.
  • Added grid settings to configure video preview behavior.
  • Refactored frontend/backend integration paths for better ComfyUI compatibility.

Fixed

  • Fixed drag & drop issues for images and videos.
  • Enhanced index status functionality and various bug fixes.
  • Fixed multiple UI/filtering issues and improved overall stability.

[2.3.2] - 2026-02-09

Added / Improved

  • Added language support for Chinese, Korean, Russian, Hindi, Spanish, French, and English. 🌍
  • Added audio support for workflows such as AC-STEP, Stable Audio, and TTS. 🎵
  • Improved metadata extraction. 🧠
  • Improved UI design. 🎨
  • Added database management. 🗄️

Fixed

  • Fixed multiple bugs across the extension. 🐛

[2.3.1] - 2026-02-07

Added / Improved

  • UI parameters for API token and remote access: added settings in the UI to configure an API token and enable remote access to the Assets Manager (secure-by-default). 🔐

Notes

  • This is a non-breaking, minor patch focused on remote access configuration and UI exposure of token settings.

[2.3.0] - 2026-02-07

Added / Improved

  • Improved GenInfo display in the Viewer: side-by-side generation info panel and clearer parameter presentation. 🔧
  • Improved metadata parsing for complex workflows (better handling for nested/custom node graphs). 🧩
  • Viewer enhancements: side-by-side generation info and better workflow minimap rendering. 👀
  • Added "Reset Index" action to re-scan and rebuild the index. ✅
  • Configurable settings for card display and grid layout (card size, density, details). ⚙️

Fixed

  • Multiple bug fixes across indexing, metadata parsing, and viewer interactions. 🐛

For previous history, see earlier tags/releases on GitHub.