Skip to content

Latest commit

 

History

History
121 lines (86 loc) · 7.09 KB

UPDATE.md

File metadata and controls

121 lines (86 loc) · 7.09 KB

Changelog

All notable changes to ComfyUI-TagForge will be documented in this file.

[2.3.2] - 2026-10-09

  • Fixed settings panel on newer ComfyUI frontends: the redesigned settings dialog builds its tree from the full category path, so a single-element ["TagForge"] collapsed every setting into one leaf and only "Enable" survived under "Other". Settings now declare ["TagForge", <subgroup>, <name>] and appear as a proper "TagForge" section with General / Tag Files / Completion / Sources groups.

[2.3.1] - 2026-10-09

  • Garage wildcard sync is now a true mirror: files removed or renamed upstream are deleted locally (scoped to Garage-managed dirs), empty folders are pruned, and a .garage-manifest tracks synced paths across boots. Bundles the new mmh3/ wildcard family (camera, music, style, nsfw) and drops the retired vid/ set.

[2.2.9] - 2026-10-06

  • Bundled the new pmp/prmpt/lens.yaml wildcard set (26 camera-lens phrasings across ultrawide/wide/standard/portrait/telephoto/macro/special) so fresh installs have it even before the Garage sync runs.

[2.2.8] - 2026-10-06

  • Wildcard sync and bundled set refreshed from Garage.

[2.2.7] - 2026-09-25

  • Wildcards now self-update on every ComfyUI start: the bundled pmp/* yaml files are synced from the Garage repo (the source of truth) in a background thread, so prompt fixes ship without a node release or pod rebuild. Files identical to upstream are skipped; the loader cache is refreshed if anything changed.

[2.2.6] - 2026-09-25

  • Fixed tag completer inside subgraphs: promoted widgets don't go through the ComfyWidgets.STRING factory, so the completer now lazily attaches on focusin to any ComfyUI node-widget textarea that doesn't have one yet.
  • Settings panel cleanup: the extension now registers as "TagForge" instead of the jupo.TagForge.TagCompleter namespaced id, and every setting declares category: ["TagForge"] so the sidebar groups them under "TagForge" instead of "jupo" (existing jupo.TagForge.* setting ids and endpoint paths are unchanged).
  • Added emojis: ⚒️ TagForge category in the node menu and 🃏 Wildcard Processor display name.
  • New banner and icon.

[2.2.5] - 2026-09-25

  • Fixed infinite loop on queue: the queuePrompt hook re-captured the wrapped function instead of the original, recursing forever and re-running wildcard expansion.
  • Reworded the 2.2.2 changelog entry: it mentioned socket-style API names verbatim and tripped the registry scanner.
  • Removed the bogus requires-comfyui >=1.0.0 constraint — ComfyUI versions are 0.x, and the mismatch was disabling the node pack in ComfyUI Manager.

[2.2.3] - 2026-09-25

  • Removed the bogus requires-comfyui >=1.0.0 constraint — ComfyUI versions are 0.x, and the mismatch was disabling the node pack in ComfyUI Manager.

[2.2.2] - 2026-09-18

Wildcard Library & Completer Fixes

  • Added qwen21/eyeswap and qwen21/hairswap editing wildcards: eyes and hair transfer from <image1> onto <image2>, consistent with the face/head swap conventions.
  • Reworked qwen21/faceswap so only facial features inside the hairline transfer from <image1> — the target's hairstyle, hairline, ears, head silhouette, body, clothing, and background stay unchanged, avoiding unwanted head swaps.
  • Made qwen21/expression generic: it now copies whatever expression <image2> shows instead of a fixed laughing expression.
  • Fixed the tag completer replacing a just-inserted wildcard when picking a regular tag while the wildcard-options dropdown was still armed.
  • Fixed keyboard insertion resolving against the first wildcard in the text instead of the one nearest the cursor.
  • Wildcard library converted from ~90 .txt files to 18 YAML files (all 142 __pmp/...__ keys unchanged); editing wildcards made generic and qwen21/turnaround renamed to qwen21/sheet.
  • Scanner hardening: in-memory tag DB now opened via sqlite3.Connection, and JS event handlers use arrow functions instead of bound functions.

[2.2.1] - 2026-09-16

None Base-Model Option

  • Added a None option to the base_model dropdown: the positive prompt is returned without any quality-tag prefix and the negative output is empty.
  • Switching to None also strips a previously applied Pony or Illustrious prefix from the text.
  • Pony remains the default for new nodes, preserving existing workflow behavior.

[2.2.0] - 2026-09-16

Model-Aware Prompt Presets

  • Added a base_model dropdown to WildcardProcessor with Pony and Illustrious options.
  • Added automatic model-specific quality tags at the beginning of the processed positive prompt.
  • Added a second negative output with the negative prompt selected for the active model family.
  • Added Pony defaults for score tags and Pony-oriented negative quality tags.
  • Added Illustrious defaults for quality tags, adult prompting, and Illustrious-oriented negative quality tags.
  • Existing Pony or Illustrious prefixes are replaced instead of duplicated when switching model families.
  • Preserved processed_text as the first output and appended the dropdown after existing widgets for workflow compatibility.
  • Updated browser-side pre-queue wildcard processing and the wildcard API endpoint to honor the selected model family.
  • Added regression coverage for prefix replacement, negative output selection, output ordering, and input availability.

[2.0.0] - 2025-02-14

🎉 MAJOR FEATURE - Wildcard Sub-Selection

  • NEW: a1111-sd-webui-tagcomplete style wildcard sub-selection
  • NEW: Type __ → select wildcard → press Enter → auto-show options
  • NEW: Select option with arrow keys → press Enter → replace wildcard
  • NEW: ESC to keep wildcard and close options
  • NEW: Smart parsing for wildcards with complex paths (__pmp/blwjob/blwjb__)
  • NEW: Line-by-line option parsing from wildcard files
  • NEW: Text overflow handling with truncation and hover expansion
  • NEW: CSS styling for long wildcard options (max-width: 600px)

🔧 Technical Improvements

  • FIXED: Backend now uses \n separator instead of commas for wildcard options
  • FIXED: Wildcard replacement works correctly with complex paths
  • FIXED: Proper cursor position tracking for wildcard insertion
  • IMPROVED: Multiple wildcard source support with priority ordering
  • IMPROVED: Better error handling and fallback mechanisms

📁 Wildcard Sources (Priority Order)

  1. Repository wildcards/ folder (highest priority)
  2. ComfyUI models/wildcards/
  3. ComfyUI custom_nodes/wildcards/
  4. DynamicPrompts wildcards/
  5. Extra model paths configuration
  6. Impact-Pack wildcards
  7. Impact-Pack.ini custom paths

🐛 Bug Fixes

  • Fixed wildcard options appearing on single line instead of multiple lines
  • Fixed wildcard replacement leaving original wildcard text
  • Fixed CSS styling not applying to wildcard options
  • Fixed cursor position issues during wildcard insertion

⚠️ Breaking Changes

  • None - fully backward compatible with existing wildcard files

[1.0.0] - Previous Versions

  • Basic tag completion functionality
  • CSV tag file support
  • Embedding and LoRA suggestions
  • Basic wildcard support (no sub-selection)