ComfyUI 0.30.0 tightened get_save_image_path with an os.path.commonpath
security check that incorrectly rejects subfolders of Windows drive-root
output dirs (e.g. Z:\). Added _get_save_path() which delegates to the
ComfyUI API and falls back to our own path resolution — using startswith
which handles drive roots correctly — when the "outside the output folder"
error fires.
Bumps version to 1.0.5.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PIL silently drops the exif= kwarg when saving a freshly-created image
(not loaded from a file). Switch to piexif.insert() post-save which
injects the EXIF APP1 segment directly into the JPEG file, bypassing
PIL's encoder entirely. Also make piexif import conditional so the node
loads cleanly even if piexif is missing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch from PIL's Image.Exif to piexif for reliable GPS sub-IFD
serialization. Also pre-check EXIF size — when workflow JSON pushes
over the 65535-byte JPEG limit, drop only the JSON and keep GPS + basic
tags rather than stripping all EXIF.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fill description and OS-independent classifier in pyproject.toml
- Bump version to 1.0.2 (includes date macro + EXIF fixes)
- Add .comfyignore to exclude dev-only files from registry archive
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When workflow JSON exceeds JPEG's 65535-byte EXIF limit, fall back to
saving without embedded EXIF rather than raising ValueError.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expands %date:FORMAT% and %time:FORMAT% tokens before passing the prefix
to folder_paths.get_save_image_path, fixing NotADirectoryError when the
path contains unexpanded Windows-style date macros.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>