Releases
v4.2.6
v4.2.6 includes a handful of fixes and improvements, plus three major changes:
- Gallery updates
- Tiled upscaling via
MultiDiffusion - Checkpoint models work without conversion to diffusers
Gallery Updates
We’ve made some changes to the gallery, adding features, improving the performance of the app and reducing memory usage. The changes also fix a number of bugs relating to stale data - for example, a board not updating as expected after moving an image to it.
Thanks to @chainchompa and @maryhipp for working on this major effort.
Pagination & Selection
Infinite scroll is dead, long live infinite scroll!
The gallery is now paginated. Selection logic has been updated to work with pagination. An indicator shows how many images are selected and allows you to clear the selection entirely. Arrow keys still navigate.
https://github.com/invoke-ai/InvokeAI/assets/4822129/128c998a-efac-41e5-8639-b346da78ca5b
The number of images per page is dynamically calculated as the panel is resized, ensuring the panel is always filled with images.
Boards UI Refresh
The bulky tiled boards grid has been replaced by a scrollable list. The boards list panel is now a resizable, collapsible panel.
https://github.com/invoke-ai/InvokeAI/assets/4822129/2dd7c316-36e3-4f8d-9d0c-d38d7de1d423
Boards and Image Search
Search for boards by name and images by metadata. The search term is matched against the image’s metadata as a string. We landed on full-text search as a flexible yet simple implementation after considering a few methods for search.
https://github.com/invoke-ai/InvokeAI/assets/4822129/ebe2ecfe-edb4-4e09-aef8-212495b32d65
Archived Boards
Archive a board to hide it from the main boards list. This is purely an organizational enhancement. You can still interact with archived boards as you would any other board.
https://github.com/invoke-ai/InvokeAI/assets/4822129/7033b7a1-1cb7-4fa0-ae30-5e1037ba3261
Image Sorting
You can now change the sort for images to show oldest first. A switch allows starred images to be placed in the list according to their age, instead of always showing them first.
https://github.com/invoke-ai/InvokeAI/assets/4822129/f1ec68d0-3ba5-4ed0-b1e8-8e8bc9ceb957
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 continuously. 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. You can find an example workflow in the workflow library’s default workflows.
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.
Thanks to @RyanJDick for designing and implementing MultiDiffusion.
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 diffusers’ handling of VAE tiling, not the new tiled denoising process. 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.
Checkpoint models work without conversion to diffusers
The required conversion of checkpoint format models to diffusers format has long been a pain point. The diffusers library now supports loading single-file (checkpoint) models directly, and we have removed the mandatory checkpoint-to-diffusers conversion step.
The main user-facing change is that there is no longer a conversion cache directory.
Major thanks to @lstein for getting this working.
📈 Patch Nodes for v4.2.6
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_startupconfig 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_modelandload_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.
- Updated gallery UI.
- Checkpoint models work without conversion to diffusers.
- When using a VAE in tiled mode, you may now select the tile size.
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.
- Fixed an issue where a model’s size could be misreported as 0, possibly causing memory issues.
- Fixed an issue where images - especially large images - may fail to delete.
Performance improvements
- Improved LoRA patching.
- Improved RAM <-> VRAM model transfer performance.
Internal changes
- The
DenoiseLatentsInvocationhas had its internal methods split up to support tiled upscaling viaMultiDiffusion. This included some amount of file shuffling and renaming. Theinvokeaipackage’s exported classes should still be the same. Please let us know if this has broken an import for you. - Internal cleanup, intending to eliminate circular import issues. There’s a lot left to do for this issue, but we are making progress.
💾 Installation and Updating
To install or update to v4.2.6, 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 https://github.com/invoke-ai/InvokeAI/pull/6486
- feat(ui): control layers internals cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6487
- LoRA patching optimization by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6439
- fix(ui): re-process control image if processed image is missing on page load by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6494
- Split up latent.py (code reorganization, no functional changes) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6491
- Add simplified model manager install API to InvocationContext by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6132
- fix: Some imports from previous PR’s by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6501
- Improve RAM<->VRAM memory copy performance in LoRA patching and elsewhere by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6490
- Fix
DEFAULT_PRECISIONhandling by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6492 - added route to install huggingface models from model marketplace by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6515
- Model hash validator by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6520
- Tidy
SilenceWarningscontext manager by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6493 - [#6333] Add clear_queue_on_startup config to clear problematic queues by @steffy-lo in https://github.com/invoke-ai/InvokeAI/pull/6502
- [MM] Add support for probing and loading SDXL VAE checkpoint files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6524
- Add
TiledMultiDiffusionDenoiseLatentsinvocation (for upscaling workflows) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6522 - Update prevention exception message by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6543
- Fix handling handling of 0-step denoising process by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6544
- chore: bump version v4.2.5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6547
- feat(ui): gallery pagination by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6527
- fix(backend): mps should not use
non_blockingby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6549 - Load single-file checkpoints directly without conversion by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6510
- feat(ui, api): archive boards by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6546
- Update controlnet starters by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6537
- feat(ui, api): gallery sort by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6551
- fix(app): fix SQL query w/ enum for python 3.11 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6557
- feat(ui, api): gallery search by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6561
- Update README.md by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6519
- fix(ui): don’t mess up redux actions if 403 gets thrown by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6567
- (ui) clarify auto-add logic by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6566
- feat(ui): gallery ux by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6568
- Make the VAE tile size configurable for tiled VAE by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6555
- fix(ui): reset page when search term changes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6569
- Fix access token lookup for model downloads by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6570
- fix sort order by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6573
- Update pnpm github action by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6574
- [MM bugfix] Put model install errors on the event bus by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6578
- Fix some models treated as having size 0 in the model cache by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6571
- Enforce absolute imports with ruff by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6576
- Delete unused duplicate libc_util.py file by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6579
- Update the PR template QA instructions by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6580
- Fix circular imports related to SCHEDULER_NAME_VALUES by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6582
- Fixed 404 error on latest release link (line 16): by @ddm21 in https://github.com/invoke-ai/InvokeAI/pull/6583
- Demote error log to warning for models treated as having size 0 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6589
- Overhaul docker documentation and fix minor bugs by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6540
- Boards UI update and add support for private boards by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6588
- More Styling Updates for Boards and Gallery UI by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6592
- chore: bump version to 4.2.6a1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6595
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6498
- Do not crash if there are invalid model configs in the DB by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6593
- fix(ui): gallery followups by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6601
- fix(app): vae tile size field description by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6600
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6604
- fix(api): delete image race condition by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6607
- chore: bump version to 4.2.6rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6608
- fix(ui): clear selection when deleting last image in board by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6612
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6616
- chore: update default workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6621
- fix(ui): boards cut off when search open by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6619
- chore: bump version to v4.2.6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6620
New Contributors
- @jstnlowe made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6486
- @ddm21 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6583
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.4…v4.2.6
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(optionon mac) while clicking a gallery image to select it as the compare image. - Hold
alt(optionon 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.
https://github.com/invoke-ai/InvokeAI/assets/4822129/4bcfb9c4-c31c-4e62-bfa4-510ab34b15c9
📈 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 https://github.com/invoke-ai/InvokeAI/pull/6419
- Break apart session processor and the running of each session into se… by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6382
- fix(ui): isLocal erroneously hardcoded in error toast by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6436
- fix typo by @cdpath in https://github.com/invoke-ai/InvokeAI/pull/6255
- Optimize RAM to VRAM transfer by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6312
- docs: fix a typo by @hsm207 in https://github.com/invoke-ai/InvokeAI/pull/6395
- Update deps to their lastest versions by @Malrama in https://github.com/invoke-ai/InvokeAI/pull/6327
- fix(ui): parameter not set translation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6441
- refactor(events): use pydantic schemas for events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/5748
- feat(events): restore full invocation in event payloads by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6447
- fix(ui): edit variant for main models only by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6446
- feat(events): register event schemas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6448
- feat(events): add missing classvar to events, add validators for deserialization of events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6451
- Update TI handling for compatibility with transformers 4.40.0 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6449
- [MM]Fix bug in offload_unlocked_models() call by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6450
- docs: add FAQ for fixing controlnet_aux by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6459
- fix(ui): remove overly strict constraints on control adapter weight by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6460
- fix: openapi stuff by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6454
- feat(ui): image compare by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6464
- [feat] Reduce peak VRAM memory usage of IP adapter by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6453
- fix(ui): metadata recall fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6480
- fix(nodes): blend latents with weight=0 with DPMSolverSDEScheduler by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6482
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6440
- chore: v4.2.4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6485
New Contributors
- @cdpath made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6255
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/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 https://github.com/invoke-ai/InvokeAI/pull/6413
- feat(ui): workflow resource check by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6417
- feat(ui): restore spellcheck on prompt boxes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6418
- feat(ui): toasts rework by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6415
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6372
- Update error boundary to link to support ticket for non-local by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6422
- fix(ui): regional guidance layers not disabling correctly by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6427
- fix: remove db maintenance script from launcher by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6431
- feat(api): downgrade metadata parse warnings to debug by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6426
- fix(ui):
'undefined'being used for metadata on uploaded images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6433 - fix(ui): initial image layers always ignored by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6434
- chore: v4.2.3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6432
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6428
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/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-vto 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 https://github.com/invoke-ai/InvokeAI/pull/6370
- feat(ui): graph builder by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6361
- docs: fix install reqs link by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6374
- feat(ui): SDXL clip skip by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6378
- [Refactor] Update min and max values for LoRACard weight input by @H0onnn in https://github.com/invoke-ai/InvokeAI/pull/6383
- feat(ui): workflows undo/redo by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6379
- feat(ui): prevent connections to direct-only inputs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6387
- feat(ui): copy/paste input edges when copying node by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6385
- fix(ui): allow image dims multiple of 32 with SDXL and T2I adapter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6366
- revert(ui): SDXL clip skip by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6389
- fix(ui): field ordering & display by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6390
- feat(ui): store workflow in generation tab images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6384
- feat(worker): add nullable user_id and project_id to invocation error events by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6388
- docs: fix link to. install reqs by @hsm207 in https://github.com/invoke-ai/InvokeAI/pull/6392
- fix(ui): control adapter auto-process jank by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6393
- feat(ui): connection validation rework by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6386
- fix(ui): edge case resulting in no node templates when loading workfl… by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6397
- feat: write-only canvas metadata by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6404
- fix(ui): fix t2i adapter dimensions error message by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6391
- feat(ui): better field types by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6396
- fix(ui): workflow edges not saved by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6403
- [#6351] ui: retain denoise strength and opacity when changing image by @steffy-lo in https://github.com/invoke-ai/InvokeAI/pull/6407
- chore: v4.2.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6410
- fix(ui): crash when using notes nodes or missing node/field templates by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6412
New Contributors
- @H0onnn made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6383
- @hsm207 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6392
- @steffy-lo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6407
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/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-vto 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 https://github.com/invoke-ai/InvokeAI/pull/6370
- feat(ui): graph builder by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6361
- docs: fix install reqs link by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6374
- feat(ui): SDXL clip skip by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6378
- [Refactor] Update min and max values for LoRACard weight input by @H0onnn in https://github.com/invoke-ai/InvokeAI/pull/6383
- feat(ui): workflows undo/redo by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6379
- feat(ui): prevent connections to direct-only inputs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6387
- feat(ui): copy/paste input edges when copying node by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6385
- fix(ui): allow image dims multiple of 32 with SDXL and T2I adapter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6366
- revert(ui): SDXL clip skip by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6389
- fix(ui): field ordering & display by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6390
- feat(ui): store workflow in generation tab images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6384
- feat(worker): add nullable user_id and project_id to invocation error events by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6388
- docs: fix link to. install reqs by @hsm207 in https://github.com/invoke-ai/InvokeAI/pull/6392
- fix(ui): control adapter auto-process jank by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6393
- feat(ui): connection validation rework by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6386
- fix(ui): edge case resulting in no node templates when loading workfl… by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6397
- feat: write-only canvas metadata by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6404
- fix(ui): fix t2i adapter dimensions error message by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6391
- feat(ui): better field types by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6396
- fix(ui): workflow edges not saved by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6403
- [#6351] ui: retain denoise strength and opacity when changing image by @steffy-lo in https://github.com/invoke-ai/InvokeAI/pull/6407
- chore: v4.2.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6410
New Contributors
- @H0onnn made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6383
- @hsm207 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6392
- @steffy-lo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6407
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/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 https://github.com/invoke-ai/InvokeAI/pull/6329
- fix: fix seamless by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6344
- fix(ui): CA processor cancellation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6336
- feat(ui): protect against t2i adapters with incompatible image dimensions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6342
- fix(ui): jank in depthanything model size select by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6335
- fix(ui): use translations for canvas layer select by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6357
- fix(ui): disable listening on CA and II layers by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6332
- fix(api): model cover image lost by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6337
- fix(ui): invoke button shows loading while queueing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6359
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6245
- feat(backend): fix nsfw checker catch-22 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6360
- chore: v4.2.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6362
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/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 https://github.com/invoke-ai/InvokeAI/pull/6238
- Re-enable app shutdown actions by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6244
- feat(ui): regional prompting by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6182
- feat(ui): regional prompting followups by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6247
- feat(ui): regional prompting followups 2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6249
- feat(ui): regional prompting followups 3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6256
- chore: v4.2.0a1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6254
- feat(ui): regional prompting followups 4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6257
- fix(ui): disabled ip adapters applied to regional control by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6258
- fix: :bug: handle trigger phrase form submit events by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/6253
- Remove dangling temporary directories from
outputs/tensorsat startup time by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6246 - Fix Gradient Mask (Canvas) Inpaint Model Support by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/6205
- fix: update ip adapter starter models path by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6262
- fix: update SDXL IP Adpater starter model to be ViT-H by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6263
- feat(ui): regional control canvas feedback by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6266
- chore: v4.2.0a3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6269
- feat: controlnet util refresh by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6271
- Update README.md by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6270
- docs: remove references to config script in CONFIGURATION.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6275
- feat(mm): support sdxl ckpt inpainting models by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6281
- fix(nodes): denoise latents accepts and validates CFG lists as input by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/6283
- feat(mm): handle PC_PATH_MAX on external drives on macOS by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6292
- feat: control adapters in control layers canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6287
- chore: v4.2.0a4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6295
- Add TCD scheduler by @l0stl0rd in https://github.com/invoke-ai/InvokeAI/pull/6086
- feat(ui): refactor Control Adapters in Control Layers by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6298
- fix(nodes): fix constraints in cnet processors by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6299
- feat(ui): CL metadata, viewer, img2img by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6300
- chore: v4.2.0b1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6303
- Update TRAINING.md by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6294
- Update Installation Docs by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6296
- feat(ui): cache mask images, fix viewer getting stuck bug by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6304
- feat: improve the switch states of the control layers / viewer area by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6305
- feat(ui): control layers fixes/enhancements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6307
- feat(ui): more control layers enhancements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6311
- feat(ui): control layers styling, floating image viewer by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6316
- fix(ui): stuck viewer, remover floating viewer, viewer switching logic, layer count by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6320
- chore: v4.2.0b2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6317
- feat(ui): move img2img strength out of advanced on canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6321
- feat(ui): layers metadata recall by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6322
- switch to generation tab when someone sends to img2img by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6323
- feat(ui): add
data-testids, fix canvas toolbar align, add invert scroll checkbox to CL settings by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6324 - fix(ui): last-minute CL fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6326
- chore: v4.2.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6328
New Contributors
- @l0stl0rd made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6086
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.1.0…v4.2.0
v4.1.0
Invoke v4.1.0 brings a many fixes and enhancements. The big ticket is Style and Composition IP Adapter.
🧪 Style and Composition IP Adapter (beta)
IP Adapter uses an image as a prompt. Images have two major components - their style and their composition - and you can choose either or both when using IP Adapter.
Use the new IP Adapter Method dropdown to select Full, Style, or Composition. The setting is applied per IP Adapter. You may need to delete and re-add active IP Adapters to see the dropdown.
| No IP Adapter | IP Adapter Image | Full IP Adapter | Style Only | Composition Only |
|---|---|---|---|---|
“a fierce wolf in an alpine forest”, all using same seed - note how the Full method turns the wolf into a mouse-canine hybrid
Shout-out to @blessedcoolant for this feature!
📈 Patch Nodes for v4.1.0
Enhancements
- Backend and nodes implementation for regional prompting and regional IP Adapter (UI in v4.2.0)
- Secret option in Workflow Editor to convert a graph into a workflow. See #6181 for how to use it.
- Assortment of UI papercuts
- Favicon & page title indicate generation status @jungleBadger
- Delete hotkey and button work with gallery selection @jungleBadger
- Workflow editor perf improvements
- Edge labels in workflow editor
- Updated translations @Harvester62, @symant233, @Vasyanator
- Updated docs @sarashinai
- Improved torch device and precision handling
Fixes
multipleOffor invocations (for example, the Noise invocation’s width and height have a step of 8)- Poor quality “fried” refiner outputs
- Poor quality inpainting with gradient denoising and refiner
- Canvas images appearing in the wrong places
- The little eye defaulting to off in canvas staging toolbar
- Premature OOM on windows (see shared GPU memory FAQ)
- ~1s delay between queue items
- Wonky model manager forms navigating away from UI @clsn
Invocation API
- New method to get the filesystem path of an image:
context.images.get_path(image_name: str, thumbnail: bool)@fieldOfView
Internal
- Improved
knipconfig @webpro - Updated python deps @Malrama
💾 Installation and Updating
To install or update to v4.1.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.
🐛 Known Issues
- Inpainting models on Canvas sometimes kinda give up and output mush. The fix didn’t make it in to v4.1.0, we will aim to release a patch in by the weekend.
What’s Changed
- fix(ui): handle multipleOf on number fields by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6167
- feat(backend): clean up choose_precision by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6171
- (feat) add a method to get the path of an image from invocationcontext by @fieldOfView in https://github.com/invoke-ai/InvokeAI/pull/6176
- feat(ui): add graph-to-workflow debug helper by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6181
- fix: Update SDXL Refiner graphs to use Gradient Mask by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6158
- Regional Prompting (Node only) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5916
- Remove Prompt-to-Prompt Cross-Attention Control by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6123
- Regional IP-Adapter (Backend Only) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/5967
- Fix field ordering by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/6186
- Fix regional prompt mask padding by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6187
- fix(ui): always enqueue with fresh staging area bbox by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6184
- fix(nodes): refined fixes for refiner inpainting by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6197
- [mm] clear the cache entry for a model that got an OOM during loading by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6193
- fix(queue): poll queue on finished queue item by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6191
- Remove type=“submit” from all tsx files. by @clsn in https://github.com/invoke-ai/InvokeAI/pull/6200
- Add Toggle for showing Bounding Box, fix Main Model info popover, fix Control Model description on hover by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6202
- Update INSTALL_DEVELOPMENT.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6201
- Correct stated location of Gallery panel in WEB.md by @sarashinai in https://github.com/invoke-ai/InvokeAI/pull/6203
- Fix “recall all” when loras, controls, or high res fix are not present by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6211
- Modify title and favicon when item in progress (issue #2392) by @jungleBadger in https://github.com/invoke-ai/InvokeAI/pull/6204
- remove hires fix badge from settings when using sdxl by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6218
- Enable multi deletion on keystroke by @jungleBadger in https://github.com/invoke-ai/InvokeAI/pull/6216
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6170
- Fix up Knip config & enable —production mode by @webpro in https://github.com/invoke-ai/InvokeAI/pull/6217
- Update deps to their lastest versions by @Malrama in https://github.com/invoke-ai/InvokeAI/pull/6178
- feat(ui): edge labels by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6224
- perf(ui): misc ui improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6225
- [util] Add generic torch device class by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6174
- [mm] Fix race condition when installing multi-file models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6221
- Add IP Adapter Style & Composition Modes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6213
- update IP adapter method labels to be designated as Beta by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6232
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6223
- chore: v4.1.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6234
New Contributors
- @sarashinai made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6203
- @jungleBadger made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6204
- @webpro made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6217
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.0.4…v4.1.0
v4.0.4
🚨 v4 has some major changes. Please read the patch notes. 🚨
Patch Nodes for v4.0.4
This patch release includes the following changes:
- Add fit bounding box to image when sending image to canvas
- Small handful of canvas bugs fixed
- Refiner models displayed in model manager
- Fix OOM on Windows (see this FAQ entry for more detail)
- Restore initial image recall for img2img
💾 Installation and Updating
To install or update to v4.0.4, download the installer and follow the installation instructions. To update, select the same installation location.
🎉 What’s New in Invoke v4
💻 Simplified Installation, Updating and Configuration
We’ve simplified and streamlined installation, making it much faster and more reliable:
- No configuration script - all config is in
invokeai.yaml - No model installs during installation
- Internal “core” models are downloaded only when they are first requested
- Generation models are installed with the Model Manager UI
- 🚨 No updater - you’ll use the installer attached to these releases instead. Select your existing install location to perform an update. All of your user data is retained during the update.
💖 New Model Manager
The model manager is rewritten in v4.0.0, both frontend and backend. This builds a foundation for future model architectures and brings some exciting new user-facing features:
- All model installation happens via the UI (no configure script)
- Queued model downloads
- Per-model preview images
- Per-model default settings - choose a model’s default VAE, Scheduler, CFG Scale, etc
- User-defined trigger phrases for concepts/LoRAs and models - access by typing the
<key in any prompt box - API key support for model marketplaces
- 🚨 Autoimport removed - use
Scan Folderinstead
#️⃣ Model Hashing
When you first run v4, it may take a few minutes to start up as it does a one-time hash of all of your model files.
Do not panic.
Hashes provide a stable identifier for a model that is the same across every platform.
🚨 If you don’t care about this, you can press Ctrl+C to interrupt the process and disable hashing by setting hashing_algorithm: random setting in invokeai.yaml.
🎨 Canvas Improvements
The canvas uses a new method for compositing called gradient denoising. This eliminates the need for multiple “passes”, greatly reducing generation time on the canvas. This method also provides substantially improved visual coherence between the masked regions and the rest of the image.
The compositing settings on canvas allow for control over the gradient denoising process.
Major research & experimentation for this novel denoising implementation was led by @dunkeroni, and @blessedcoolant was responsible for managing integration into the canvas UI.
🐛 Known Issue
🚨 Inpainting models on Canvas sometimes kinda give up and output mush. We have a fix en-route, but it will need to wait for 4.1.0.
📈 Fixes and Enhancements
4.0.4
- Add fit bounding box to image when sending image to canvas
- Small handful of canvas bugs fixed
- Refiner models displayed in model manager
- Fix OOM on Windows (see this FAQ entry for more detail)
- Restore initial image recall for img2img
4.0.2
- Fix errors related to character encodings during install and startup
- UI error on first launch of v4, requiring reset of UI
- Cancel batch button not working
- Improvements to
Scan Folder - FAQ to fix some models not migrating to v4
- Removed unused or wonky GPU options in installer
- Root dir detection via venv path
- Handful of cosmetic UI fixes
- IP Adapter safetensor support
4.0.1
- Minor updates that resolve performance issues on the canvas.
- Some installation/updating fixes to improve experience.
4.0.0
Many small bug fixes, resolved papercuts, and warm fuzzies. Shouting out just a few notable goodies from the community:
- Bulk downloads (download a selection of images or a whole board) @StefanTobler
- Canvas Brush Size Scroll can now be inverted @joshistoast
- Images in the Canvas Staging Area can now be discarded individually @joshistoast
- Numerous fixes and UI enhancements @joshistoast
- Numerous greybeard node things @dunkeroni
- Iterate nodes now iterate in order @cgi-joe
- Sane workflow sorting @clsn
- Image dimensions overlay in the gallery @rohinish404
- Localization fixes @rohinish404
- New translations B N, @Harvester62, @Pfannkuchensack, @Bethanielle, @Vasyanator, @GGSSKK, & @Sufi2425
- Updated
torchanddiffusersdeps @Malrama - Docs updates @skunkworxdark, @gogurtenjoyer
- LoRA probe fix @skunkworxdark
🎁 Bonus: Invoke Training (Beta)
As of v4.0.0, all references to training in the core invoke script now point to the Invoke Training Repo. Invoke Training offers a simple user interface for:
- Textual Inversion Training
- LoRA Training
- Dreambooth Training
- Pivotal Tuning Training
Learn more on the Invoke Training repo, as well as our YT video on getting started
Models don’t show up after upgrading
Follow these steps. If you are still missing some models, please create an issue on GitHub or ask for help on discord.
🤓 Developer Changes
v4.0.0 is versioned as a major release due to breaking changes:
- The internal nodes API has been refactored to provide a stable public API. 🚨 Node authors should review the migration guide.
- The internal graph execution engine is drastically simplified, resulting in more efficient and performant processing. This carries on from the changes in v3.6.0 in which graphs are no longer stored in the database.
🤝 Contributing
As a community-supported project, we rely on volunteers and enthusiasts for continued innovation and polish. Everything from minor documentation fixes to major feature additions are welcome. To get started as a contributor, please refer to How to Contribute or reach out in #dev-chat on Discord!
What’s Changed
- fix(ui): discarding last single canvas image breaks canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6135
- fix: ip adapter clip selection being broken by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6138
- Fix IdealSizeInvocation by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/6145
- [refactor] Infill Methods + Mosaic Infill by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/5998
- fix(ui): display refiner models in model manager by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6146
- Adjust free vram calculation for models that will be offloaded by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6150
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6142
- navigate to workflow tab when clicking load workflow by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6149
- Fix misplaced lock call in VRAM management routines (minor) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6153
- feat: Unified Canvas Fit Image Size on Drop by @symant233 in https://github.com/invoke-ai/InvokeAI/pull/6136
- chore: v4.0.3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6154
- fix: Incorrect default clip vision opt in the node by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6159
- fix(mm): premature insufficient VRAM reporting by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6156
- fix: “Use All” for linear image to image doesn’t recall source image by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6141
- fix(nodes): add WithBoard to public API by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6162
- chore: v4.0.4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6165
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6166
New Contributors
- @symant233 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6136
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.0.2…v4.0.4
v4.0.2
🚨 v4 has some major changes. Please read the patch notes. 🚨
🚨 🚨 🚨 Yes - Those patch notes 👇 🚨 🚨 🚨
🎉 What’s New in 4.0.2
This is a patch release includes these changes:
- Fix errors related to character encodings during install and startup
- UI error on first launch of v4, requiring reset of UI
- Cancel batch button not working
- Improvements to
Scan Folder - FAQ to fix some models not migrating to v4
- Removed unused or wonky GPU options in installer
- Root dir detection via venv path
- Handful of cosmetic UI fixes
It also includes one notable feature:
- IP Adapter safetensor support
💻 Simplified Installation, Updating and Configuration
We’ve simplified and streamlined installation, making it much faster and more reliable:
- No configuration script - all config is in
invokeai.yaml - No model installs during installation
- Internal “core” models are downloaded only when they are first requested
- Generation models are installed with the Model Manager UI
- 🚨 No updater - you’ll use the installer attached to these releases instead. Select your existing install location to perform an update. All of your user data is retained during the update.
💖 New Model Manager
The model manager is rewritten in v4.0.0, both frontend and backend. This builds a foundation for future model architectures and brings some exciting new user-facing features:
- All model installation happens via the UI (no configure script)
- Queued model downloads
- Per-model preview images
- Per-model default settings - choose a model’s default VAE, Scheduler, CFG Scale, etc
- User-defined trigger phrases for concepts/LoRAs and models - access by typing the
<key in any prompt box - API key support for model marketplaces
- 🚨 Autoimport removed - use
Scan Folderinstead
#️⃣ Model Hashing
When you first run v4, it may take a few minutes to start up as it does a one-time hash of all of your model files.
Do not panic.
Hashes provide a stable identifier for a model that is the same across every platform.
🚨 If you don’t care about this, you can press Ctrl+C to interrupt the process and disable hashing by setting hashing_algorithm: random setting in invokeai.yaml.
🎨 Canvas Improvements
The canvas uses a new method for compositing called gradient denoising. This eliminates the need for multiple “passes”, greatly reducing generation time on the canvas. This method also provides substantially improved visual coherence between the masked regions and the rest of the image.
The compositing settings on canvas allow for control over the gradient denoising process.
Major research & experimentation for this novel denoising implementation was led by @dunkeroni, and @blessedcoolant was responsible for managing integration into the canvas UI.
🐛 Known Issue
🚨 Inpainting models on Canvas sometimes kinda give up and output mush. We have a fix en-route, but it will need to wait for 4.1.0.
📈 Fixes and Enhancements
4.0.2
Fixes
- Fix errors related to character encodings during install and startup
- UI error on first launch of v4, requiring reset of UI
- Cancel batch button not working
- Improvements to
Scan Folder - FAQ to fix some models not migrating to v4
- Removed unused or wonky GPU options in installer
- Root dir detection via venv path
- Handful of cosmetic UI fixes
Features
- IP Adapter safetensor support
4.0.1
Fixes
- Minor updates that resolve performance issues on the canvas.
- Some installation/updating fixes to improve experience.
4.0.0
Many small bug fixes, resolved papercuts, and warm fuzzies. Shouting out just a few notable goodies from the community:
- Bulk downloads (download a selection of images or a whole board) @StefanTobler
- Canvas Brush Size Scroll can now be inverted @joshistoast
- Images in the Canvas Staging Area can now be discarded individually @joshistoast
- Numerous fixes and UI enhancements @joshistoast
- Numerous greybeard node things @dunkeroni
- Iterate nodes now iterate in order @cgi-joe
- Sane workflow sorting @clsn
- Image dimensions overlay in the gallery @rohinish404
- Localization fixes @rohinish404
- New translations B N, @Harvester62, @Pfannkuchensack, @Bethanielle, @Vasyanator, @GGSSKK, & @Sufi2425
- Updated
torchanddiffusersdeps @Malrama - Docs updates @skunkworxdark, @gogurtenjoyer
- LoRA probe fix @skunkworxdark
🎁 Bonus: Invoke Training (Beta)
As of v4.0.0, all references to training in the core invoke script now point to the Invoke Training Repo. Invoke Training offers a simple user interface for:
- Textual Inversion Training
- LoRA Training
- Dreambooth Training
- Pivotal Tuning Training
Learn more on the Invoke Training repo, as well as our YT video on getting started
💾 Installation and Upgrading
🚨 To install or upgrade to version 4.0, download the zip file from the release notes (“Assets” section), unzip it, and follow the installation instructions. For upgrades, select the same installation location.
Models don’t show up after upgrading
Follow these steps. If you are still missing some models, please create an issue on GitHub or ask for help on discord.
🤓 Developer Changes
v4.0.0 is versioned as a major release due to breaking changes:
- The internal nodes API has been refactored to provide a stable public API. 🚨 Node authors should review the migration guide.
- The internal graph execution engine is drastically simplified, resulting in more efficient and performant processing. This carries on from the changes in v3.6.0 in which graphs are no longer stored in the database.
🤝 Contributing
As a community-supported project, we rely on volunteers and enthusiasts for continued innovation and polish. Everything from minor documentation fixes to major feature additions are welcome. To get started as a contributor, please refer to How to Contribute or reach out in #dev-chat on Discord!
What’s Changed
- fix(ui): add default coherence mode to generation slice migration by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6109
- docs: fix broken link by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6116
- fix(ui): cancel batch status button greyed out by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6121
- IP-Adapter Safetensor Support by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6041
- feat(mm): include needed vs free in OOM by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6111
- add some test IDs for accordion targeting by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6126
- fix(mm): do not rename model file when model record is renamed by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6113
- Update probe to always use cpu for loading models by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6128
- feat(mm): restore missing models by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6118
- fix(ui): fix model name overflow by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6114
- feat(installer): remove extra GPU options by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6119
- fix(config): fix find_root to use venv parent if no CLI arg or env var by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6115
- docs: update 020_INSTALL_MANUAL.md, remove conda section by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6131
- fix: unicode errors during install or app startup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6133
- chore: v4.0.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6134
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.0.1…v4.0.2