Releases: invoke-ai/InvokeAI
v4.2.5
🚨 macOS users may get black images when using LoRAs or IP Adapters. Users with CUDA GPUs may get unexpected OOMs. We are investigating. 🚨
v4.2.5 includes a handful of fixes and improvements, plus one exciting beta node - tiled upscaling via MultiDiffusion
.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
Tiled Upscaling via MultiDiffusion
MultiDiffusion
is a fairly straightforward technique for tiled denoising. The gist is similar to other tiled upscaling methods - split the input image up in to tiles, process each independently, and stitch them back together. The main innovation for MultiDiffusion
is to do this in latent space, blending the tensors together continually. This results in excellent consistency across the output image, with no seams.
This feature is exposed as a Tiled MultiDiffusion Denoise Latents
node, currently classified as a beta version. It works much the same as the OG Denoise Latents
node. Here's a workflow to get you started: sd15_multi_diffusion_esrgan_x2_upscale.json
We are still thinking about to expose this in the linear UI. Most likely, we expose this with very minimal settings. If you want to tweak it, use the workflow.
How to use it
This technique is fundamentally the same as normal img2img. Appropriate use of conditioning and control will greatly improve the output. The one hard requirement is to use the Tile ControlNet model.
Besides that, here are some tips from our initial testing:
- Use a detail-adding or style LoRAs.
- Use a base model best suited for the desired output style.
- Prompts make a difference.
- The initial upscaling method makes a difference.
- Scheduler makes a difference. Some produce softer outputs.
VRAM Usage
This technique can upscale images to very large sizes without substantially increasing VRAM usage beyond what you'd see for a "normal" sized generation. The VRAM bottlenecks then become the first VAE encode (Image to Latents
) and final VAE decode (Latents to Image
) steps.
You may run into OOM errors during these steps. The solution is to enable tiling using the toggle on the Image to Latents
and Latents to Image
nodes. This allows the VAE operations to be done piecewise, similar to the tiled denoising process, without using gobs of VRAM.
There's one caveat - VAE tiling often introduces inconsistency across tiles. Textures and colors may differ from tile to tile. This is a function of the diffusers handling of VAE tiling, not the tiled denoising process introduced in v4.2.5. We are investigating ways to improve this.
Takeaway: If your GPU can handle non-tiled VAE encode and decode for a given output size, use that for best results.
📈 Patch Nodes for v4.2.5
Enhancements
- When downloading image metadata, graphs or workflows, the JSON file includes the image name and type of data. Thanks @jstnlowe!
- Add
clear_queue_on_startup
config setting to clear problematic queues. This is useful for a rare edge case where your queue is full of items that somehow crash the app. Set this to true, and the queue will clear before it has time to attempt to execute the problematic item. Thanks @steffy-lo! - Performance and memory efficiency improvements for LoRA patching and model offloading.
- Addition of a simplified model installation methods to the Invocation API:
download_and_cache_model
,load_local_model
andload_remote_model
. These methods allow models to be used without needing them to be added to the model manager. For example, we are now using these methods to load ESRGAN models. - Support for probing and loading SDXL VAE checkpoint.
Fixes
- Fix handling handling of 0-step denoising process.
- If a control image's processed version is missing when the app loads, it is now re-processed.
Performance improvements
- Improved LoRA patching.
- Improved RAM <-> VRAM model transfer performance.
Internal changes
- The
DenoiseLatentsInvocation
has had its internal methods split up to support tiled upscaling viaMultiDiffusion
. This included some amount of file shuffling and renaming. Theinvokeai
package's exported classes should still be the same. Please let us know if this has broken an import for you.
💾 Installation and Updating
To install or update to v4.2.5, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- Prefixed JSON filenames with the image UUID by @jstnlowe in #6486
- feat(ui): control layers internals cleanup by @psychedelicious in #6487
- LoRA patching optimization by @lstein in #6439
- fix(ui): re-process control image if processed image is missing on page load by @psychedelicious in #6494
- Split up latent.py (code reorganization, no functional changes) by @RyanJDick in #6491
- Add simplified model manager install API to InvocationContext by @lstein in #6132
- fix: Some imports from previous PR's by @blessedcoolant in #6501
- Improve RAM<->VRAM memory copy performance in LoRA patching and elsewhere by @lstein in #6490
- Fix
DEFAULT_PRECISION
handling by @RyanJDick in #6492 - added route to install huggingface models from model marketplace by @chainchompa in #6515
- Model hash validator by @brandonrising in #6520
- Tidy
SilenceWarnings
context manager by @RyanJDick in #6493 - [#6333] Add clear_queue_on_startup config to clear problematic queues by @steffy-lo in #6502
- [MM] Add support for probing and loading SDXL VAE checkpoint files by @lstein in #6524
- Add
TiledMultiDiffusionDenoiseLatents
invocation (for upscaling workflows) by @RyanJDick in #6522 - Update prevention exception message by @hipsterusername in #6543
- Fix handling handling of 0-step denoising process by @RyanJDick in #6544
- chore: bump version v4.2.5 by @psychedelicious in #6547
New Contributors
Full Changelog: v4.2.4...v4.2.5
v4.2.4
v4.2.4 brings one frequently requested feature and a host of fixes and improvements, mostly focused on performance and internal code quality.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
Image Comparison
The image viewer now supports comparing two images using a Slider, Side-by-Side or Hover UI.
To enter the comparison UI, select a compare image using one of these methods:
- Right click an image and click
Select for Compare
. - Hold
alt
(option
on mac) while clicking a gallery image to select it as the compare image. - Hold
alt
(option
on mac) and use the arrow keys to select the comparison image.
Press C
to swap the images and M
to cycle through the comparison modes. Press Escape
or Z
to exit the comparison UI and return to the single image viewer.
When comparing images of different aspect ratios or sizes, the compare image will be stretched to fit the viewer image. Disable the toggle button at the top-left to instead contain the compare image within the viewer image.
Screen.Recording.2024-06-05.at.9.26.00.am.mov
📈 Patch Nodes for v4.2.4
Enhancements
- The queue item detail view now updates when it finishes. The finished (completed, failed or canceled) session is displayed.
- Updated translations. @Harvester62 @Vasyanator @BrunoCdot @gallegonovato @Atalanttore @hugoalh
- Docs updates. @hsm207 @cdpath
Fixes
- Fixed problem when using a latents from the blend latents node for denoising with certain schedulers which made images drastically different, even with an alpha of 0.
- Fixed unnecessarily strict constraints for ControlNet and IP Adapter weights in the Control Layers UI. This prevented layers with weights outside the range of 0-1 from recalling.
- Fixed error when editing non-main models (e.g. LoRAs).
- Fixed the SDXL prompt concat flag from not being set when recalling prompts.
- Fixed model metadata recall not working when a model has a different key. This can happen if the model was uninstalled and reinstalled. When recalling, we fall back on the model's name, base and type, if the key doesn't match an existing model.
Performance improvements
Big thanks to @lstein for these very impactful improvements!
- Substantially improved performance when moving models between RAM and VRAM. For example, an SDXL model RAM -> VRAM -> RAM roundtrip tested at ~0.8s, down from ~3s. That's about 75% faster!
- Fixed bug with VRAM lazy offloading which caused inefficient VRAM cache usage.
- Reduced VRAM requirements when using IP Adapter.
Internal changes
- Modularize the queue processor.
- Use pydantic models for events instead of plain dicts.
- Improved handling of pydantic invocation unions.
- Updated ML dependencies. @Malrama
💾 Installation and Updating
To install or update to v4.2.4, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- feat: update queue items session on complete by @psychedelicious in #6419
- Break apart session processor and the running of each session into se… by @brandonrising in #6382
- fix(ui): isLocal erroneously hardcoded in error toast by @psychedelicious in #6436
- fix typo by @cdpath in #6255
- Optimize RAM to VRAM transfer by @lstein in #6312
- docs: fix a typo by @hsm207 in #6395
- Update deps to their lastest versions by @Malrama in #6327
- fix(ui): parameter not set translation by @psychedelicious in #6441
- refactor(events): use pydantic schemas for events by @psychedelicious in #5748
- feat(events): restore full invocation in event payloads by @psychedelicious in #6447
- fix(ui): edit variant for main models only by @psychedelicious in #6446
- feat(events): register event schemas by @psychedelicious in #6448
- feat(events): add missing classvar to events, add validators for deserialization of events by @psychedelicious in #6451
- Update TI handling for compatibility with transformers 4.40.0 by @RyanJDick in #6449
- [MM]Fix bug in offload_unlocked_models() call by @lstein in #6450
- docs: add FAQ for fixing controlnet_aux by @psychedelicious in #6459
- fix(ui): remove overly strict constraints on control adapter weight by @psychedelicious in #6460
- fix: openapi stuff by @psychedelicious in #6454
- feat(ui): image compare by @psychedelicious in #6464
- [feat] Reduce peak VRAM memory usage of IP adapter by @lstein in #6453
- fix(ui): metadata recall fixes by @psychedelicious in #6480
- fix(nodes): blend latents with weight=0 with DPMSolverSDEScheduler by @psychedelicious in #6482
- ui: translations update from weblate by @weblate in #6440
- chore: v4.2.4 by @psychedelicious in #6485
New Contributors
Full Changelog: v4.2.3...v4.2.4
v4.2.3
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
📈 Patch Nodes for v4.2.3
-
Spellcheck is re-enabled on prompt boxes
-
DB maintenance script removed from launcher (it currently does not work)
-
Reworked toasts. When a toast of a given type is triggered, if another toast of that type is already being displayed, it is updated instead of creating another toast. The old behaviour was painful in situations where you queue up many generations that all immediately fail, or install a lot of models at once. In these situations, you'd get a wall of toasts. Now you get only 1.
-
Fixed: Control layer checkbox correctly indicates that it enables or disables the layer
-
Fixed: Disabling Regional Guidance layers didn't work
-
Fixed: Excessive warnings in terminal when uploading images
-
Fixed: When loading a workflow, if an image, board or model for an input for that workflow no longer exists, the workflow will execute but error.
For example, say you save a workflow that has a certain model set for a node, then delete the model. When you load that workflow, the model is missing but the workflow doesn't detect this. You can run the workflow, and it will fail when it attempts to use the nonexistent model.
With this fix, when a workflow is loaded, we check for the existence of all images, boards and models referenced by the workflow. If something is missing, that input is reset.
-
Docs updates @hsm207
-
Translations updates @gallegonovato @Harvester62 @dvanzoerlandt
💾 Installation and Updating
To install or update to v4.2.3, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- docs: fix link to Invoke AI's models site by @hsm207 in #6413
- feat(ui): workflow resource check by @psychedelicious in #6417
- feat(ui): restore spellcheck on prompt boxes by @psychedelicious in #6418
- feat(ui): toasts rework by @psychedelicious in #6415
- ui: translations update from weblate by @weblate in #6372
- Update error boundary to link to support ticket for non-local by @maryhipp in #6422
- fix(ui): regional guidance layers not disabling correctly by @psychedelicious in #6427
- fix: remove db maintenance script from launcher by @psychedelicious in #6431
- feat(api): downgrade metadata parse warnings to debug by @psychedelicious in #6426
- fix(ui):
'undefined'
being used for metadata on uploaded images by @psychedelicious in #6433 - fix(ui): initial image layers always ignored by @psychedelicious in #6434
- chore: v4.2.3 by @psychedelicious in #6432
- ui: translations update from weblate by @weblate in #6428
Full Changelog: v4.2.2post1...v4.2.3
v4.2.2post1
This release brings many fixes and enhancements, including two long-awaited features: undo/redo in workflows and load workflow from any image.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
📈 Patch Nodes for v4.2.2post1
v4.2.2 had a critical bug related to notes nodes & missing templates in workflows. That is fixed in v4.2.2post1.
✨ Undo/redo in Workflows
Undo/redo redo now available in the workflow editor. There's some amount of tuning to be done with how actions are grouped.
For example, when you move a node around, do we allow you to undo each pixel of movement, or do we group the position changes as one action? When you are typing a prompt, do we undo each letter, word, or the whole change at once?
Currently, we group like changes together. It's possible some things are grouped when they shouldn't be, or should be grouped but are not. Your feedback will be very useful in tuning the behaviour so it un-does the right changes.
✨ Load Workflow from Any Image
Starting with v4.2.2, graphs are embedded in all images generated by Invoke. Images generated in the workflow editor also have the enriched workflow embedded separately. The Load Workflow
button will load the enriched workflow if it exists, else it will load the graph.
You'll see a new Graph
tab in the metadata viewer showing the embedded graph.
Graph vs Workflow
Graphs are used by the backend and contain minimal data. Workflows are an enrich data format that includes a representation of the graph plus extra information, including things like:
- Title, description, author, etc
- Node positions
- Custom node and field labels
This new feature embeds the graph in every image - including images generated on the Generation or Canvas tabs.
Canvas Caveat
This functionality is available only for individual canvas generations - not the full composition. Why is that?
Consider what goes into a full canvas composition. It's the product of any number of graphs, with any amount of drawing and erasing between each graph execution. It's not possible to consolidate this into a single graph.
When you generate on canvas, your images for the given bounding box are added to a staging area, which allows you to cycle through images and commit or discard the image. The staging area also allows you to save a candidate generation. It is these images that can be loaded as a workflow, because they are the product of a single graph execution.
👷 Other Fixes and Enhancements
- Min/max LoRA weight values extended (-10 to +10) @H0onnn
- Denoising strength and layer opacity are retained when sending image to initial image @steffy-lo
- SDXL T2I Adapter only blocks invoking when dimensions aren't multiple of 32 (was erroneously 64)
- Improved UX when manipulating edges in workflows
- Connected inputs on nodes collapse, hiding the nonfunctional UI component
- Use
ctrl/cmd-shift-v
to paste copied nodes with input edges - Docs updates @hsm207
- Fix: visible seams when outpainting
- Fix: edge case that could prevent workflows from loading if user hadn't opened the workflows tab yet
- Fix: minor jank/inefficiency with control adapter auto-process (control layers only)
- Internal: utility to create graph objects without going crazy
- Internal: rewritten connection validation logic for workflows with full test coverage
- Internal: rewritten edge connection interactions
- Internal: revised field type format
💾 Installation and Updating
To install or update to v4.2.2post1, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- fix: Fix Outpaint not applying the expanded mask correctly by @blessedcoolant in #6370
- feat(ui): graph builder by @psychedelicious in #6361
- docs: fix install reqs link by @psychedelicious in #6374
- feat(ui): SDXL clip skip by @psychedelicious in #6378
- [Refactor] Update min and max values for LoRACard weight input by @H0onnn in #6383
- feat(ui): workflows undo/redo by @psychedelicious in #6379
- feat(ui): prevent connections to direct-only inputs by @psychedelicious in #6387
- feat(ui): copy/paste input edges when copying node by @psychedelicious in #6385
- fix(ui): allow image dims multiple of 32 with SDXL and T2I adapter by @psychedelicious in #6366
- revert(ui): SDXL clip skip by @psychedelicious in #6389
- fix(ui): field ordering & display by @psychedelicious in #6390
- feat(ui): store workflow in generation tab images by @psychedelicious in #6384
- feat(worker): add nullable user_id and project_id to invocation error events by @maryhipp in #6388
- docs: fix link to. install reqs by @hsm207 in #6392
- fix(ui): control adapter auto-process jank by @psychedelicious in #6393
- feat(ui): connection validation rework by @psychedelicious in #6386
- fix(ui): edge case resulting in no node templates when loading workfl… by @psychedelicious in #6397
- feat: write-only canvas metadata by @psychedelicious in #6404
- fix(ui): fix t2i adapter dimensions error message by @psychedelicious in #6391
- feat(ui): better field types by @psychedelicious in #6396
- fix(ui): workflow edges not saved by @psychedelicious in #6403
- [#6351] ui: retain denoise strength and opacity when changing image by @steffy-lo in #6407
- chore: v4.2.2 by @psychedelicious in #6410
- fix(ui): crash when using notes nodes or missing node/field templates by @psychedelicious in #6412
New Contributors
- @H0onnn made their first contribution in #6383
- @hsm207 made their first contribution in #6392
- @steffy-lo made their first contribution in #6407
Full Changelog: v4.2.1...v4.2.2post1
v4.2.2
This release brings many fixes and enhancements, including two long-awaited features: undo/redo in workflows and load workflow from any image.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
📈 Patch Nodes for v4.2.2
✨ Undo/redo in Workflows
Undo/redo redo now available in the workflow editor. There's some amount of tuning to be done with how actions are grouped.
For example, when you move a node around, do we allow you to undo each pixel of movement, or do we group the position changes as one action? When you are typing a prompt, do we undo each letter, word, or the whole change at once?
Currently, we group like changes together. It's possible some things are grouped when they shouldn't be, or should be grouped but are not. Your feedback will be very useful in tuning the behaviour so it un-does the right changes.
✨ Load Workflow from Any Image
Starting with v4.2.2, graphs are embedded in all images generated by Invoke. Images generated in the workflow editor also have the enriched workflow embedded separately. The Load Workflow
button will load the enriched workflow if it exists, else it will load the graph.
You'll see a new Graph
tab in the metadata viewer showing the embedded graph.
Graph vs Workflow
Graphs are used by the backend and contain minimal data. Workflows are an enrich data format that includes a representation of the graph plus extra information, including things like:
- Title, description, author, etc
- Node positions
- Custom node and field labels
This new feature embeds the graph in every image - including images generated on the Generation or Canvas tabs.
Canvas Caveat
This functionality is available only for individual canvas generations - not the full composition. Why is that?
Consider what goes into a full canvas composition. It's the product of any number of graphs, with any amount of drawing and erasing between each graph execution. It's not possible to consolidate this into a single graph.
When you generate on canvas, your images for the given bounding box are added to a staging area, which allows you to cycle through images and commit or discard the image. The staging area also allows you to save a candidate generation. It is these images that can be loaded as a workflow, because they are the product of a single graph execution.
👷 Other Fixes and Enhancements
- Min/max LoRA weight values extended (-10 to +10) @H0onnn
- Denoising strength and layer opacity are retained when sending image to initial image @steffy-lo
- SDXL T2I Adapter only blocks invoking when dimensions aren't multiple of 32 (was erroneously 64)
- Improved UX when manipulating edges in workflows
- Connected inputs on nodes collapse, hiding the nonfunctional UI component
- Use
ctrl/cmd-shift-v
to paste copied nodes with input edges - Docs updates @hsm207
- Fix: visible seams when outpainting
- Fix: edge case that could prevent workflows from loading if user hadn't opened the workflows tab yet
- Fix: minor jank/inefficiency with control adapter auto-process (control layers only)
- Internal: utility to create graph objects without going crazy
- Internal: rewritten connection validation logic for workflows with full test coverage
- Internal: rewritten edge connection interactions
- Internal: revised field type format
💾 Installation and Updating
To install or update to v4.2.2, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- fix: Fix Outpaint not applying the expanded mask correctly by @blessedcoolant in #6370
- feat(ui): graph builder by @psychedelicious in #6361
- docs: fix install reqs link by @psychedelicious in #6374
- feat(ui): SDXL clip skip by @psychedelicious in #6378
- [Refactor] Update min and max values for LoRACard weight input by @H0onnn in #6383
- feat(ui): workflows undo/redo by @psychedelicious in #6379
- feat(ui): prevent connections to direct-only inputs by @psychedelicious in #6387
- feat(ui): copy/paste input edges when copying node by @psychedelicious in #6385
- fix(ui): allow image dims multiple of 32 with SDXL and T2I adapter by @psychedelicious in #6366
- revert(ui): SDXL clip skip by @psychedelicious in #6389
- fix(ui): field ordering & display by @psychedelicious in #6390
- feat(ui): store workflow in generation tab images by @psychedelicious in #6384
- feat(worker): add nullable user_id and project_id to invocation error events by @maryhipp in #6388
- docs: fix link to. install reqs by @hsm207 in #6392
- fix(ui): control adapter auto-process jank by @psychedelicious in #6393
- feat(ui): connection validation rework by @psychedelicious in #6386
- fix(ui): edge case resulting in no node templates when loading workfl… by @psychedelicious in #6397
- feat: write-only canvas metadata by @psychedelicious in #6404
- fix(ui): fix t2i adapter dimensions error message by @psychedelicious in #6391
- feat(ui): better field types by @psychedelicious in #6396
- fix(ui): workflow edges not saved by @psychedelicious in #6403
- [#6351] ui: retain denoise strength and opacity when changing image by @steffy-lo in #6407
- chore: v4.2.2 by @psychedelicious in #6410
New Contributors
- @H0onnn made their first contribution in #6383
- @hsm207 made their first contribution in #6392
- @steffy-lo made their first contribution in #6407
Full Changelog: v4.2.1...v4.2.2
v4.2.1
This patch release brings a handful of fixes, plus docs and translation updates.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
📈 Patch Nodes for v4.2.1
- Fixed seamless not being perfectly seamless sometimes
- Fixed Control Adapter processor cancellation jank
- Fixed Depth Anything processor drop-down jank
- Fixed Control Adapter layers preventing interactions with layers below them (e.g. cannot move a Regional Guidance layer)
- Fixed two issues with model cover images
- When editing a model, the cover image disappeared, but reappeared on refresh
- When converting a model to diffusers, the cover image was lost forever
- Fixed NSFW checker for new installs
- Prevent errors when using T2I adapter
- May not invoke when image dimensions are not a multiple of 64
- Control Adapter model select differentiates between ControlNet and T2I Adapter models
- Reworked Invoke button tooltip describing why you may not Invoke when there is a configuration issue
- Fixed translations for canvas layer select
- Fixed Invoke button not showing loading state while queuing
- Docs update @gogurtenjoyer
- Translation updates @Harvester62 @Vasyanator @Pfannkuchensack @flower-elf @gallegonovato
💾 Installation and Updating
To install or update to v4.2.1, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- Update INSTALL_REQUIREMENTS.md - 'linux only' under AMD for SDXL. by @gogurtenjoyer in #6329
- fix: fix seamless by @blessedcoolant in #6344
- fix(ui): CA processor cancellation by @psychedelicious in #6336
- feat(ui): protect against t2i adapters with incompatible image dimensions by @psychedelicious in #6342
- fix(ui): jank in depthanything model size select by @psychedelicious in #6335
- fix(ui): use translations for canvas layer select by @psychedelicious in #6357
- fix(ui): disable listening on CA and II layers by @psychedelicious in #6332
- fix(api): model cover image lost by @psychedelicious in #6337
- fix(ui): invoke button shows loading while queueing by @psychedelicious in #6359
- ui: translations update from weblate by @weblate in #6245
- feat(backend): fix nsfw checker catch-22 by @psychedelicious in #6360
- chore: v4.2.1 by @psychedelicious in #6362
Full Changelog: v4.2.0...v4.2.1
v4.2.0
Since the very beginning, Invoke has been innovating where it matters for creatives. Today, we're excited to do it again with Control Layers.
Invoke 4.2 brings a number of enhancements and fixes, with the addition of a major new feature - Control Layers.
🧪 Control Layers
Integrating some of the latest in open-source research, creatives can use Control Adapters, Image Prompts, and regional guidance to articulate and control the generation process from a single panel. With regional guidance, you can compose specific regions to apply a positive prompt, negative prompt, or any number of IP Adapters to be applied to the masked region. Control Adapters (ControlNet & T2I Adapters) and an Initial Image are visualized on the new Control Layers canvas.
You can read more about how to use Control Layers here - Control Layers
📈 Patch Nodes for v4.2.0
Enhancements
- Control Layers
- Add TCD scheduler @l0stl0rd
- Image Viewer updates -- You can easily switch to the Image Viewer on the Generations tab by tapping the Z hotkey, or double clicking on any image in the gallery.
Major Changes
Also known as the "who moved my 🧀?" section, this list details where certain features have moved.
- Image to Image: The Image to Image pipeline can be executed using Control Layers by adding an Initial Image layer.
- Control Adapters and IP Adapters: These have been moved to the Control Layers tab -- with the added benefit of being able to visualize your control adapter's processed images easily!
Fixes
- Fixed inpainting models on canvas @dunkeroni
- Fixed IP Adapter starter models
- Fixed bug where temp files (tensors, conditioning) aren't cleaned up properly
- Fixed trigger phrase form submit @joshistoast
- Fixed SDXL checkpoint inpainting models not installing
- Fixed installing models on external SSDs on macOS
- Fixed Control Adapter processors' image size constraints being overly restrictive
💾 Installation and Updating
To install or update to v4.2.0, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data will not be touched.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- fix: IP Adapter Method having incorrect informational popover by @blessedcoolant in #6238
- Re-enable app shutdown actions by @lstein in #6244
- feat(ui): regional prompting by @psychedelicious in #6182
- feat(ui): regional prompting followups by @psychedelicious in #6247
- feat(ui): regional prompting followups 2 by @psychedelicious in #6249
- feat(ui): regional prompting followups 3 by @psychedelicious in #6256
- chore: v4.2.0a1 by @psychedelicious in #6254
- feat(ui): regional prompting followups 4 by @psychedelicious in #6257
- fix(ui): disabled ip adapters applied to regional control by @psychedelicious in #6258
- fix: 🐛 handle trigger phrase form submit events by @joshistoast in #6253
- Remove dangling temporary directories from
outputs/tensors
at startup time by @lstein in #6246 - Fix Gradient Mask (Canvas) Inpaint Model Support by @dunkeroni in #6205
- fix: update ip adapter starter models path by @blessedcoolant in #6262
- fix: update SDXL IP Adpater starter model to be ViT-H by @blessedcoolant in #6263
- feat(ui): regional control canvas feedback by @psychedelicious in #6266
- chore: v4.2.0a3 by @psychedelicious in #6269
- feat: controlnet util refresh by @psychedelicious in #6271
- Update README.md by @hipsterusername in #6270
- docs: remove references to config script in CONFIGURATION.md by @psychedelicious in #6275
- feat(mm): support sdxl ckpt inpainting models by @psychedelicious in #6281
- fix(nodes): denoise latents accepts and validates CFG lists as input by @dunkeroni in #6283
- feat(mm): handle PC_PATH_MAX on external drives on macOS by @psychedelicious in #6292
- feat: control adapters in control layers canvas by @psychedelicious in #6287
- chore: v4.2.0a4 by @psychedelicious in #6295
- Add TCD scheduler by @l0stl0rd in #6086
- feat(ui): refactor Control Adapters in Control Layers by @psychedelicious in #6298
- fix(nodes): fix constraints in cnet processors by @psychedelicious in #6299
- feat(ui): CL metadata, viewer, img2img by @psychedelicious in #6300
- chore: v4.2.0b1 by @psychedelicious in #6303
- Update TRAINING.md by @hipsterusername in #6294
- Update Installation Docs by @hipsterusername in #6296
- feat(ui): cache mask images, fix viewer getting stuck bug by @psychedelicious in #6304
- feat: improve the switch states of the control layers / viewer area by @blessedcoolant in #6305
- feat(ui): control layers fixes/enhancements by @psychedelicious in #6307
- feat(ui): more control layers enhancements by @psychedelicious in #6311
- feat(ui): control layers styling, floating image viewer by @psychedelicious in #6316
- fix(ui): stuck viewer, remover floating viewer, viewer switching logic, layer count by @psychedelicious in #6320
- chore: v4.2.0b2 by @psychedelicious in #6317
- feat(ui): move img2img strength out of advanced on canvas by @psychedelicious in #6321
- feat(ui): layers metadata recall by @psychedelicious in #6322
- switch to generation tab when someone sends to img2img by @maryhipp in #6323
- feat(ui): add
data-testid
s, fix canvas toolbar align, add invert scroll checkbox to CL settings by @psychedelicious in #6324 - fix(ui): last-minute CL fixes by @psychedelicious in #6326
- chore: v4.2.0 by @psychedelicious in #6328
New Contributors
Full Changelog: v4.1.0...v4.2.0
v4.2.0b2
This is a beta release. There may be some hiccups, but overally, it is purring along nicely.
Changes since v4.2.0b1
- Control Layer masks are cached, reducing time spent outside denoising.
- Fixed viewer getting stuck when spamming the toggle hotkey
- Fixed viewer show/hide logic
- Viewer button more obviously a button
- Do not run HRO when using an initial image
- Fixed next/prev buttons getting stuck
- Fixed upscaling while on canvas tab saves to gallery
- Snap to canvas bounds with rect tool
- Perf enhancements in control layers canvas
- Settings/Control Layers tabs look like tabs
- Close viewer when adding RG layer
- Fix auto-switch to viewer on new image
- Control Layers tab now shows total layer count, not just "valid" layer count
- Internal: bump all UI deps
🧪 Control Layers
Control Layers give you control over specific areas of the image. Draw a mask and set a positive prompt, negative prompt, or any number of IP Adapters to be applied to the masked region. Control Adapters (ControlNet & T2I Adapters) and the Initial Image are visualized on the canvas.
Full documentation to be included with the full release.
Your feedback is greatly appreciated as we continue to iterate on Control Layers.
❗ Updating from v4.2.0a4
You may get a white screen on first launch, if you were testing the alpha release. This won't be a problem for users updating from the last stable release (v4.1.0). If you encounter this, follow these steps to reset the browser storage:
- Start the app and get to the blank screen
- Open your browser's dev tools
- Open the JS console
- Paste and run this command to delete the browser storage:
indexedDB.deleteDatabase('invoke')
- Refresh the page
📈 Patch Nodes for v4.2.0
Enhancements
- Control Layers
- Add TCD scheduler @l0stl0rd
- Image viewer updates
Fixes
- Fixed inpainting models on canvas
- IP Adapter starter models fixed
- Fixed bug where temp files (tensors, conditioning) aren't cleaned up properly
- FIxed trigger phrase form submit @joshistoast
- Fixed SDXL Checkpoint Inpainting models
- Fixed installing models on external SSDs on macOS
- Fixed Control Adapter processors' image size constraints
💾 Installation and Updating
To install or update to v4.2.0b2, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data will not be touched.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- Update TRAINING.md by @hipsterusername in #6294
- Update Installation Docs by @hipsterusername in #6296
- feat(ui): cache mask images, fix viewer getting stuck bug by @psychedelicious in #6304
- feat: improve the switch states of the control layers / viewer area by @blessedcoolant in #6305
- feat(ui): control layers fixes/enhancements by @psychedelicious in #6307
- feat(ui): more control layers enhancements by @psychedelicious in #6311
- feat(ui): control layers styling, floating image viewer by @psychedelicious in #6316
- fix(ui): stuck viewer, remover floating viewer, viewer switching logic, layer count by @psychedelicious in #6320
- chore: v4.2.0b2 by @psychedelicious in #6317
Full Changelog: v4.2.0b1...v4.2.0b2
v4.2.0b1
This is a beta release. There may be some hiccups, but overally, it is purring along nicely.
Changes since v4.2.0a4
- Initial image support in Control Layers, no more dedicated tab
- Tabs renamed to
Generation
,Canvas
,Workflows
,Models
andQueue
- Refactored internal handling of control layers, which fixes all reported UI errors
- T2I Adapter support in Control Layers
- FF v125 bug fixed
- Add TCD scheduler @l0stl0rd
- Image viewer updates
- Fixed Control Adapter processors' image size constraints
- Metadata recall for Control Layers
- Many small and not-particularly-memorable bugfixes
🧪 Control Layers
Control Layers give you control over specific areas of the image. Draw a mask and set a positive prompt, negative prompt, or any number of IP Adapters to be applied to the masked region. Control Adapters (ControlNet & T2I Adapters) and the Initial Image are visualized on the canvas.
Full documentation to be included with the full release.
Your feedback is greatly appreciated as we continue to iterate on Control Layers.
🐛 Known Issues
- The viewer stays open after using
Send to Image to Image
,Send to Unified Canvas
, and doing anything that adds a layer. - If you spam the viewer button (or hold down the hotkey
z
), it can get stuck. If you run into this, you'll need to reset the UI to fix it. This will be fixed in the next release.
❗ Updating from v4.2.0a4
You may get a white screen on first launch, if you were testing the alpha release. This won't be a problem for users updating from the last stable release (v4.1.0). If you encounter this, follow these steps to reset the browser storage:
- Start the app and get to the blank screen
- Open your browser's dev tools
- Open the JS console
- Paste and run this command to delete the browser storage:
indexedDB.deleteDatabase('invoke')
- Refresh the page
📈 Patch Nodes for v4.2.0
Enhancements
- Control Layers
- Add TCD scheduler @l0stl0rd
- Image viewer updates
Fixes
- Fixed inpainting models on canvas
- IP Adapter starter models fixed
- Fixed bug where temp files (tensors, conditioning) aren't cleaned up properly
- FIxed trigger phrase form submit @joshistoast
- Fixed SDXL Checkpoint Inpainting models
- Fixed installing models on external SSDs on macOS
- Fixed Control Adapter processors' image size constraints
💾 Installation and Updating
To install or update to v4.2.0b1, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data will not be touched.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- Add TCD scheduler by @l0stl0rd in #6086
- feat(ui): refactor Control Adapters in Control Layers by @psychedelicious in #6298
- fix(nodes): fix constraints in cnet processors by @psychedelicious in #6299
- feat(ui): CL metadata, viewer, img2img by @psychedelicious in #6300
- chore: v4.2.0b1 by @psychedelicious in #6303
New Contributors
Full Changelog: v4.2.0a4...v4.2.0b1
v4.2.0a4
This is an alpha release. We suggest backing up your database in case there are any issues and you need to roll back.
Changes since v4.2.0a3
- "Regional Control" -> "Control Layers"
- Control Adapters supported in Control Layers
- Updates to Control Layers UI
- Fixed SDXL Checkpoint Inpainting models
- Fixed installing models on external SSDs on macOS
🧪 Control Layers
Control Layers give you control over specific areas of the image. Draw a mask and set a positive prompt, negative prompt, or any number of IP Adapters to be applied to the masked region. Control Adapters (ControlNet & T2I Adapters) are visualized on the canvas.
Full documentation to be included with the full release.
Your feedback is greatly appreciated as we continue to iterate on Control Layers.
🐛 Known Issues
These issues will be fixed for the full release.
- If you undo after deleting a Regional Guidance layer's IP Adapter, Global IP Adapter layer, or Global Control Adapter Layer, the UI may error. You'll just need to click Reset if this happens.
- There is a bug on Firefox v125 that causes very poor performance in the Control Layers canvas. This is not an issue for Firefox v126 Developer Edition. Other versions of Firefox have not been tested.
- T2I Adapters are not supported in Control Layers.
📈 Patch Nodes for v4.2.0
Enhancements
- Control Layers
Fixes
- Fixed inpainting models on canvas
- IP Adapter starter models fixed
- Fixed bug where temp files (tensors, conditioning) aren't cleaned up properly
- FIxed trigger phrase form submit @joshistoast
- Fixed SDXL Checkpoint Inpainting models
- Fixed installing models on external SSDs on macOS
💾 Installation and Updating
To install or update to v4.2.0a4, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data will not be touched.
Missing models after updating from v3 to v4
See this FAQ.
What's Changed
- feat: controlnet util refresh by @psychedelicious in #6271
- Update README.md by @hipsterusername in #6270
- docs: remove references to config script in CONFIGURATION.md by @psychedelicious in #6275
- feat(mm): support sdxl ckpt inpainting models by @psychedelicious in #6281
- fix(nodes): denoise latents accepts and validates CFG lists as input by @dunkeroni in #6283
- feat(mm): handle PC_PATH_MAX on external drives on macOS by @psychedelicious in #6292
- feat: control adapters in control layers canvas by @psychedelicious in #6287
- chore: v4.2.0a4 by @psychedelicious in #6295
Full Changelog: v4.2.0a3...v4.2.0a4