Releases
v5.4.2
This release includes support for FLUX IP Adapter v2 and image “batching” for Workflows.
Image Batching for Workflows
The Workflow Editor now supports running a given workflow for each image in a collection of images.
Add an Image Batch node, drag some images into its image collection, and connect its output to any other node(s). Invoke will run the workflow once for each image in the collection.
Here are a few examples to help build intuition for the feature. Click the arrow to expand each example.
Example 1 - Single Batch -> Single Node
The simplest case is using a batch image output with a single node. Here’s a workflow that resizes 5 images to 200x200 thumbnails.
Workflow
Results
This batch queues 5 graphs, each containing a single resize node with one of the 5 images in the batch list. Note the images are 200x200 pixels.
Example 2 - Single Batch -> Multiple Nodes
You can also use a batch image output with multiple nodes. This contrived workflow resizes the image to a 200x200 thumbnail, like the previous example, the pastes the thumbnail on the full size image.
Workflow
Results
This batch also queues 5 graphs, each of which contains one resize and one paste node. In each graph, the nodes get the image of the 5 images in the batch collection. The batch node can connect to any number of other nodes. For each queued graph, all connected nodes will get the same image.
Example 3 - Multiple Batches (Product Batching)
When multiple batches are used, they are combined such that all permutations are queued (e.g. the product of batches is taken).
Workflow
Results
In this case, the product of the two batches is 15 graphs. Each image of the 3-image batch is used as the base image, and a thumbnail of each tiger is pasted on top of it. We’ll call this “product” batching.
Zipped Batching
The batching API supports “zipped” batches, where the batch collections are merged into a single batch.
For example, imagine two batches of 5 images. As described in the “product” example above, you’d get 5 images * 5 images = 25 graphs. Zipped batching would instead take the first image from each of the two batches and use them together in the first graph, then take the second two images for the second graph, and so on.
Zipped batching is not supported in the UI at this time.
Versus Iterate Nodes
We support similar functionality to batching with Iterate nodes, so why add batching? In short, Iterate nodes have some technical issues which are addressed by batching.
Why `Iterate` Nodes are Scary
They result in unbounded graph complexity and size. If you don’t know what these words mean, but they sound kinda scary, congrats! You are on the right track. They are indeed scary words.
- When using
Iteratenodes, the graph is expanded with new nodes and edges during execution. Pretty scary. - We cannot know ahead of time how much the graph will expand, because iterate nodes’ collections are dynamic. Terrifying.
- Multiple iterate nodes combine via Cartesian product, resulting in combinatorial explosion. Your graph could be running at the heat death of the universe. Existential dread.
Batch collections are defined up front and don’t expand the graph. We know exactly the complexity we are getting into before the graph executes. Sanity restored!
Batching also more intuitive - we run exactly this graph, once for each image.
Unlike Iterate nodes, Image Batch nodes’ collections cannot be provided by other nodes in the graph. The collection must be defined up-front, so you cannot replace Iterate with Image Batch for all use-cases.
Nevertheless, we suggest using batching where possible.
Other Notes
- We’ve added
Image Batchnodes first because it images are the highest-impact field type, but the batching API supports arbitrary field types. In fact, the Canvas uses bothintandstrfields internally. We’ll save nodes for other field types for a future enhancement. - If you want to batch over a board, you’ll need to drag all images from the board into the batch collection. We’ll explore a simpler way to use a board’s images for a batch in a future enhancement.
- It is not possible to combine all outputs from a batch within the same workflow.
Other Changes
Enhancements
- Support for FLUX IP Adapter v2. We’ve optimized internal handling for v2, and you may find FLUX IP Adapter v1 results are degraded. Update to v2 to fix this.
- Updated image collection inputs for nodes. You may now drag images into collections directly.
- Brought some of @dwringer’s often-requested composition nodes into Invoke’s core nodes. They have been renamed to not conflict with your existing install of the node pack. Thanks for your work on these very useful nodes @dwringer!
- Show tab-specific info in the Invoke button’s tooltip.
- Update the
New from Imagecontext menu actions. The actions that resize the image after creating a new Canvas are clearly named. - Change the
Reset Canvasbutton, which was too similar to theDelete Imagebutton, into a menu with more options:- New Canvas Session: Resets all generation settings, resets all layers, and enables Send to Canvas.
- New Gallery Session: Resets all generation settings, resets all layers, and enables Send to Gallery.
- Reset Generation Settings: Resets all generation settings, leaving layers alone.
- Reset Canvas Layers: Resets all layers, leaving generation settings alone.
- New Support Videos button in the bottom-left corner of the app, which lists and links to videos on our YouTube channel.
Fixes
- Added padding to the metadata recall buttons in the metadata viewer, so they aren’t cut off by other UI elements.
- The progress bar stopped throbbing in the last release. We apologize for this oversight. Throbbing has been restored.
- Addressed some edge cases that could cause the UI to crash with an error about an entity not found.
- Updated grid size for SD3.5 models to 16px. Thanks for the heads up @dunkeroni.
Internal
- Removed a node with a GPL-3 dependency (
easing-functions), which had been contributed in thestep_param_easingnode that used it. While this node has been deprecated, please let us know if you were using this node, and the use-cases, so that we can better design inputs where these are found helpful.
Translations
We have had some issues communicating with “walk-in” translators on Weblate, resulting in translations being changed when they are already correct. To mitigate this, we are trying a more restricted Weblate translation setup. Access to contribute translations must be granted by @Harvester62. Please @ them in the #translators channel on discord to get access.
Our Weblate also has an account issue and is currently locked. This is unrelated to the access restriction changes.
We apologize for any inconvenience this change may cause. Thanks to all our translators for their continued efforts!
- Updated Chinese (Simplified). Thanks @youo0o0!
- Updated Italian. Thanks @Harvester62!
- Updated Spanish. Thanks gallegonovato (weblate user)!
Installation and Updating
To install or update, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- feat(ui): deferred invocation progress details for model loading by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7320
- fix(ui): add padding to the metadata recall section so buttons are not blocked by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7326
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7323
- remove GPL-3 licensed package easing-functions by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7337
- fix(ui): progress bar not throbbing when it should by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7332
- fix(ui): prevent entity not found errors by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7340
- XLabs FLUX IP-Adapter v2 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7338
- feat(ui): image batching in workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7343
- fix(ui): add sd-3 grid size of 16px to grid util by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7346
- chore: bump version to v5.4.2rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7344
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7331
- feat: ingest composition nodes into core by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7341
- fix(ui): simplify logic for non-local invocation progress alerts by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7353
- feat(ui): update invoke button tooltip for batching by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7350
- feat(ui): change reset canvas icon to “empty” by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7351
- feat(ui): clarified new from image menu items by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7352
- feat(ui): change reset canvas button to new session menu by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7356
- feat(ui): support videos modal by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7300
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7355
- chore: bump version to v5.4.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7354
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.4.1…v5.4.2
v5.4.1
This release includes support for SD 3.5, plus a number of fixes and improvements.
We pulled v5.4.0 due to issues with model installation and loading. This release (v5.4.1) resolves those issues and includes all changes from v5.4.0.
Enhancements
- Support for SD 3.5 Medium and Large. You can download them in the starter models.
- Moved
Denoising Strengthslider to top of Layers panel with updated UI and info popover. - Update viewer styling to have a menubar-ish header. Also used for image comparison.
- Layer preview tooltip with larger sized preview.
- Empty state for Control Layers, guiding user to upload an image, drag an image from gallery or start drawing.
- “Simple” mode for control layers filtering, triggered when you select a control model. This automatically selects and processes the default filter for that model, if a default exists. If the user clicks
Advanced, they get the full filter settings UI. Control Layers now start with no model selected, implicitly directing users into this flow. - Updated default control weight to 0.75 and end step % to 0.75. Updated label for the
Balancedcontrol mode, indicating it is the recommended setting. - The FLUX Denoise node now has a flag to skip adding noise to input latents. This is useful for switching models mid-generation and other fancy denoising techniques. Thanks @JPPhoto!
- Migrated the UI’s drag-and-drop functionality to a new library, improving the overall performance of dnd. It also allows us to support external dnd. For example, dragging images from the OS directly into the canvas is now possible (not implemented in this release).
- Canvas layers may be sorted via drag-and-drop.
- When graph building fails, you will see an error toast. Previously, it only logged a message to the browser’s JS console.
- Updated model warnings on Upscaling tab to not be misleading.
- More FLUX LoRA format support.
- Show alert over canvas/viewer with invocation progress event messages.
- Tweak gallery image selection styles to better differentiate between hovered and selected.
Output Only Masked Regionsrenamed toOutput only Generated Regionsand now enabled by default.
Fixes
- Canvas progress images do not clear when canceling generation after at least one image has been staged.
- Tooltips on boards list stay open when scrolling, potentially causing the whole app to scroll.
- Saving canvas to gallery does not create a new image in gallery.
- Applying a filter could erase or otherwise change a layer’s data unexpectedly, causing a range of user-facing generation issues.
- Unable to queue graphs with the Segment Anything node when its inputs were provided by connection.
- Unable to load a workflow from file when using the three-dots menu.
pipdownloadstorchtwice. This didn’t cause any application issues - just a waste of time and bandwidth. We pinnedtorchto<2.5.0to preventpip’s dependency resolver from getting confused.mediapipeinstall issue on Windows, related to its latest release. We pinnedmediapipeto a known working version.- CLIP Vision error when using FLUX IP Adapter.
- Fit bbox to layers math could result in a slightly-too-large bbox.
- Outdated link to FLUX IP Adapter. Thanks @RadTechDad!
- Force a compatible precision for FLUX VAEs to prevent black outputs.
Translations
We have had some issues communicating with “walk-in” translators on Weblate, resulting in translations being changed when they are already correct. To mitigate this, we are trying a more restricted Weblate translation setup. Access to contribute translations must be granted by @Harvester62. Please @ them in the #translators channel on discord to get access.
We apologize for any inconvenience this change may cause. Thanks to all our translators for their continued efforts!
- Updated German. Thanks @rikublock!
- Updated Chinese (Simplified). Thanks @youo0o0!
- Updated Italian. Thanks @Harvester62 & @dakota2472!
- Updated Spanish. Thanks gallegonovato (weblate user)!
- Updated Vietnamese. Thanks Linos (weblate user)!
- Updated Japanese. Thanks @GGSSKK!
Internal
- Simplified parameter schema declarations. Thanks @rikublock!
- Simplified dnd image and gallery rendering, resulting in improved performance.
Installation and Updating
To install or update, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- Pin torch to <2.5.0 to prevent unnecessary downloads by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7247
- fix(ui): misc fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7252
- fix(nodes): relaxed validation for segment anything by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7253
- fix(ui): load workflow from file by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7254
- fix(deps): pin mediapipe strictly to a known working version by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7258
- Ryan/sd3 diffusers by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7222
- chore: bump version to v5.4.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7259
- fix: Never throw an exception when finding the clip variant type by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7263
- fix(ui): add some feedback while layers are merging by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7265
- feat(api,ui): allow Whats New module to get content from back-end by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7268
- fix(ui): fix link for infill method popover by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7269
- update Whats New for 5.3.1 by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7272
- fix(ui): bad merge conflict by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7273
- fix: get_clip_variant_type should never return None by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7275
- feat(ui): denoising strength UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7262
- chore(gh): update pr template w/ reminder for what’s new copy by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7274
- feat(ui): simplify parameter schema declaration by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7281
- feat(ui): new user ux improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7279
- fix: Avoid downloading unsafe .bin files if a safetensors file is ava… by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7282
- fix: Look in known subfolders for configs for clip variants by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7283
- chore: release v5.4.1rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7285
- Update flux_denoise.py by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/7270
- fix(app): silence pydantic protected namespace warning by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7291
- chore(ui): migrate dnd library by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7288
- chore: bump version to v5.4.1rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7293
- fix(ui): FLUX IP adapter clip vision model error by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7292
- fix(ui): excessive toasts when generating on canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7294
- fix(ui): fit bbox to layers math by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7297
- fix(ui): restore missing image paste handler by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7298
- feat(ui): update warnings on upscaling tab based on model arch by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7299
- feat(ui): clarify denoising strength badge text by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7304
- Updated link to flux ip adapter model by @RadTechDad in https://github.com/invoke-ai/InvokeAI/pull/7309
- Flux Vae broke for float16, force bfloat16 or float32 were compatible by @Vargol in https://github.com/invoke-ai/InvokeAI/pull/7213
- Fix FLUX diffusers LoRA models with no
.proj_mlplayers by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7313 - SD3 Image-to-Image and Inpainting by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7295
- (ui): update en string for full IP adapter by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7312
- feat(ui, worker): add invocation progress events to model loading by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7286
- feat(ui): tweak image selection/hover styling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7302
- feat(ui): update output only masked regions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7303
- fix(ui): image uploading handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7315
- fix(ui): unable to use text inputs within draggable by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7316
- fix(ui): multiple selection dnd sometimes doesn’t get full selection by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7317
- fix(ui): remove progress message condition for canvas destinations by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7319
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7242
New Contributors
- @RadTechDad made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7309
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.3.1…v5.4.1
v5.3.1
This release expands layer merging capabilities in the Canvas and makes a number of other fixes and enhancements.
Layer Merging
We’ve expanded layer merging capabilities to all layer types and made one change to the existing Merge Visible operation.
Merge Down (new)
The selected layer and the one immediately below it are merged into a single layer. The two input layers are deleted as part of this process.
Merge Visible (changed)
Previously, in Invoke, Merge Visible deleted all the layers that were merged together.
This has been changed to match image editors like Affinity Photo and PS, where the merged layer is added as a new layer, leaving all other layers untouched.
Merging Regional Guidance
When merging Regional Guidance, the resultant merged Regional Guidance has no prompt or reference image. It’s not possible to merge those settings. Keep this in mind when doing a Merge Down, which will delete the two input Regional Guidance layers.
Merging Control Layers
When merging Control Layers, the resultant merged Control Layer has no model or control settings. Like Regional Guidance, it’s not possible to merge the settings, and Merge Down will delete the two input layers.
Control Layers require some special handling. For example, we display them with a “transparency effect” to help you visualize how they stack up. When merging them, we first apply a similar effect to the layer. Specifically, we use the “lighter” blend mode, optimizing for control images with black backgrounds.
All Changes
Enhancements
- Layer merging improvements.
- Updated “What’s New” popover.
Inpaint MaskandRegional Guidancemay be saved to assets.- Support for HF tokens in the model manager UI. This prepares Invoke’s MM for SD3.5, which requires you to authenticate with HF to download the model. You can paste your token into the MM to allow the the model to download, instead of needing to configure it with the HF CLI.
- Add a safeguard for invocation classes, requiring they implement the
invokemethod and have a correct output annotation.
Fixes
- Canvas alerts prevent clicks on the metadata viewer tabs.
Save as-ing a Filtered layer may result in the wrong image data being used during generation.- More resilient Filter handling.
- SDXL T2I OpenPose model gets input images with the correct channel order, which makes this model work correctly. Thanks @dunkeroni!
- T2I Adapters now work with any output size supported by the main model. Previously, they required output sizes to be in multiples of 32 or 64. Thanks @dunkeroni!
- Recall of seamless metadata settings. Thanks @rikublock!
- Fixed broken link in installer. Thanks @hippalectryon-0!
- Fixed (another) broken link in installer. Thanks @ventureOptimism!
Internal
- Bump
diffusers,accelerateandhuggingface-hubdependencies to latest versions. - Refactored
CanvasCompositorModuleto support new merge capabilities. - Remove version pins for several packages including torch and numpy. This is in preparation for an updated installer and also makes it easier for advanced users to customize the versions of various packages.
- Canvas inpaint and outpaint graphs output one less intermediate image, saving one expensive PNG encode (and your disk space).
- Added caches for generation mode calculations in Canvas, providing a substantial reduction in intermediate images created and faster Invoke-to-Queue times.
Docs
- Updated
patchmatchdocs. Thanks @nirmal0001! - Updated FAQ. Thanks @JPPhoto!
- Updated dev docs. Thanks @hippalectryon-0!
Translations
- Updated German. Thanks @rikublock & @Atalanttore!
- Updated Chinese (Simplified). Thanks @qyouqme & @youo0o0!
- Updated Italian. Thanks @Harvester62 & @dakota2472!
- Updated French. Thanks @Ery4z!
Installation and Updating
To install or update, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- fix(ui): canvas alerts blocking metadata panel by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7210
- Bump
diffusersversion (andaccelerate,hugginface-hub) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7174 - feat(ui): canvas graph improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7218
- Fix SDXL t2i adapters expect BGR instead of RGB by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/7205
- fix(ui): recall seamless settings by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7217
- feat(ui): update announcements for v5.3.0 by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7221
- fix(ui): canvas filter and SAM module fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7224
- feat(ui): canvas entity merging by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7219
- chore: bump version to v5.3.1rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7225
- fix(ui): compositor not setting processing flag when cleaning up by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7227
- fix(nodes): nodes denylist handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7235
- feat(ui,api): support for HF tokens in UI, handle Unauthorized and Forbidden responses from HF by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7201
- Update patchmatch.md by @nirmal0001 in https://github.com/invoke-ai/InvokeAI/pull/7165
- Update FAQ.md by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/6801
- Fix link in dev docs by @hippalectryon-0 in https://github.com/invoke-ai/InvokeAI/pull/7200
- feat(nodes): add validation for invoke method return types by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6279
- refactor(ui): layer interaction locking by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7234
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7166
- feat(ui): filter/select-object do not exit on save-as by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7238
- fix broken link in installer by @hippalectryon-0 in https://github.com/invoke-ai/InvokeAI/pull/7211
- Adjust pins for torch, numpy, other dependencies by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7232
- fix(ui): add missing translations by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7237
- removing periods from update link to prevent page not found error by @ventureOptimism in https://github.com/invoke-ai/InvokeAI/pull/6526
- fix(ui): canvas misc bugs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7244
- Make T2I Adapters work with any resolution supported by the models by @dunkeroni in https://github.com/invoke-ai/InvokeAI/pull/7215
- chore: bump version to v5.3.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7245
New Contributors
- @nirmal0001 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7165
- @ventureOptimism made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6526
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.3.0…v5.3.1
v5.3.0
This release includes a number of enhancements and fixes. Standouts include:
- Object selection in Canvas (via Segment Anything).
- Support for XLabs FLUX IP Adapters.
- Installer improvements, which should resolve all
xformers-related issues. - Improved FLUX support for MPS (Apple Silicon) devices.
- Reworked context menus, now with sub-menus.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Canvas Select Object
Click the Canvas to add Include and Exclude points to select an object in a layer, then use the selection as an Inpaint Mask.
In the next example, we want to select the fox and the ground, but the model has a hard time with this, as it is trained to select single objects. We are able to work around this by selecting the background and inverting the selection.
https://github.com/user-attachments/assets/29fd08a3-10f0-4cb6-bc7b-699ff0a0094d
As demonstrated, applying the selection masks the layer with the selection. You can also save the selection as a Raster Layer, Control Layer or Regional Guidance. This enables some useful workflows.
Internally, this uses Segment Anything v1. We’ll upgrade to SAM v2, which substantially improves object selection, once support for it lands in transformers.
FLUX IP Adapters
We now support XLabs FLUX IP Adapters. There’s only the one model right now, which we’ve added to the starter models.
| Workflow & Input Image | Output |
|---|---|
Internally, IP Adapter requires CFG to work. For now, this is only exposed via workflows. Negative conditioning is also now available in workflows. We’re exploring a sane way to expose this in the linear UI.
Negative conditioning requires a CFG value >1. Leave CFG at 1 to disable it and ignore negative conditioning.
Note: CFG doubles denoising time, and negative conditioning requires a good additional chunk of VRAM.
All Changes
Enhancements
- Object selection in Canvas (via Segment Anything).
- Support for XLabs FLUX IP Adapters.
- Support for CFG and Negative Conditioning for FLUX in workflows only.
- Added
RealVisXL5to SDXL Starter Model Bundle. - Model manager
in-placecheckbox remembers your choice. Thanks @rikublock! - Better tooltips in the model manager, including a starter bundle contents.
- Support for sub-menus, which are now used in the Image context menu and various Canvas context menus.
- Support more conversions between Canvas layers. Both in-place and copy conversions are supported. For example, convert between Inpaint Masks and Regional Guidance, or copy a Raster Layer into a new Inpaint Mask.
- Model descriptions are now displayed in model selection drop-downs. You can disable this in settings.
- We now track whether or not enabled model default settings are currently set. When they are not, we list the defaults that differ in a tooltip on the little button next to the main model drop-down.
- Always show staging images when staging starts, even if user hid them last staging session.
- Canvas alerts (e.g. the
Sending to Galleryalert overlaid on the canvas) are moved to the top-left corner of the center panel. - Updated translations. Thanks @rikublock, @Vasyanator, @Harvester62, @Ery4z!
Fixes
- Improved FLUX support for MPS devices. Thanks @Vargol!
- FLUX denoise node erroneously required
controlnet_vaefield. - Uninstall
xformersbefore installation, fixing issues w/xformersversion mismatch. - Fixed installer text output. Thanks @max-maag!
- Fixed ROCm PyPI indices. Thanks @max-maag!
- Normalize solid infill alpha values from 0-1 to 0-255 when building canvas graphs. This issue didn’t cause any problems, because VAE ignores the alpha channel, but it should be fixed regardless.
- View/Hide Boards button cut off with certain translations.
- Fix a longstanding issue where nodes could mutate the objects (images, tensors, conditioning data) in disk-backed in-memory caches. For example, node 1 might retrieve image X and do some in-place operation on it to create image Y. Node 2 retrieves image X but gets image Y instead. This issue only affected the in-memory caches; mutations were not pushed to disk. The invocation API now returns clones of all objects, so nodes can safely mutate their inputs in-place.
Internal
- Reworked logging implementation.
- Directory traversal issue when deleting images.
Documentation
- Updated dev install docs. Thanks @hippalectryon-0!
Installation and Updating
To install or update, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- fix(app): directory traversal when deleting images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7145
- Small improvements for the installer text output by @max-maag in https://github.com/invoke-ai/InvokeAI/pull/7150
- refactor(ui): logging config handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7143
- add starter model Architecture (RealVisXL5) by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7151
- fix(nodes):
FluxDenoiseInvocation.controlnet_vaemissingdefault=Noneby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7156 - Remove xformers before installation by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7161
- FLUX CFG support by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7152
- FLUX XLabs IP-Adapter Support by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7157
- Fix AMD GPUs not being detected by @max-maag in https://github.com/invoke-ai/InvokeAI/pull/7147
- Load non quantized t5encoder using same dtype the model is saved in/ by @Vargol in https://github.com/invoke-ai/InvokeAI/pull/7140
- Get flux working with MPS on torch 2.4.1, with GGUF support by @Vargol in https://github.com/invoke-ai/InvokeAI/pull/7113
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7135
- feat(ui): canvas auto-mask by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7163
- chore: bump version to v5.3.0rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7164
- feat(ui): move model manager in-place install state to redux by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7167
- feat(ui): canvas auto mask followups 1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7168
- fix(ui): normalize infill alpha to 0-255 when building infill nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7172
- tweak(ui): prevent show/hide boards button cutoff by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7184
- feat(ui,api): misc model QoL by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7173
- feat(ui): canvas auto mask followups 2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7180
- feat(ui): canvas auto mask followups 3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7189
- chore: bump version to v5.3.0rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7190
- feat(ui): canvas auto-mask followups 4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7193
- feat(ui): add setting for showing model descriptions in dropdown by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7187
- feat(ui): add out of sync details to default settings button by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7188
- feat: canvas auto mask followups 5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7196
- fix(nodes): return copies of objects in invocation ctx by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7195
- Improve dev install docs by @hippalectryon-0 in https://github.com/invoke-ai/InvokeAI/pull/7199
- feat(ui): canvas auto mask followups 6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7203
- chore: bump version to v5.3.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7204
New Contributors
- @hippalectryon-0 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7199
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.2.0…v5.3.0
v5.2.0
This release includes a number of enhancements and fixes. Standouts include:
- Support for FLUX ControlNets.
- Improved UX for common
img2imgflows in Canvas. - Boards may be sorted by name or date.
- Starter model bundles in Model Manager.
- Support for bulk image uploads.
** 🚨 Important Update Note: **
During update, you’ll now be selecting between different configurations of the Invoke environment that are optimized and dependent on your hardware (specifically, torch-sdp vs. xformers) — If you have previously used xformers, and update to the version for 3xxx and 4xxx NVidia cards, you’ll often experience an error after the update.
You can uninstall xformers before running the update by -
- Running the Invoke batch script from your existing installation
- Selecting the “developer console” option
- Typing
pip uninstall xformers
We’ve also added a fix for Apple Silicon users for the mushy noise issue and updated the installer to skip xformers for GPUs where it causes a performance hit.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
FLUX ControlNets
We now support both XLabs and InstantX ControlNets for FLUX. We’ve found the Union Pro model substantially outperforms the other models and added it to the starter models. Other models work, but outputs are not as good.
You can use FLUX ControlNets in both Workflows and the Linear UI. We will be adding a union mode control to the Linear UI in a a future release. You can select the union mode in Workflows today.
Canvas img2img Flow
We’ve made a number of changes to support the common img2img flow in the Canvas:
- Transform now supports 3 modes:
fill(old behaviour): The layer is stretched to fit the generation bbox exactly. Its aspect ratio is not maintained.contain(new default): The layer is stretched to fit the generation bbox, retaining its aspect ratio.cover: The layer is scaled up so that its smallest dimension fits the bbox exactly, retaining its aspect ratio.
- Add a layer context menu item to fit the layer to the bbox using the
containmode. - Update the
New Canvas from Imageimage context menu item to streamline theimg2imgflow. It now resizes the bbox to match the image’s aspect ratio, respecting the currently-selected models’ optimal size. The image will fit exactly in the box. You can click this and then immediately Invoke to doimg2img.
Installer Updates
The performance of torch-sdp attention is substantially faster than xformers on 30xx and 40xx series GPUs. We’ve made two changes to ensure you generate with the best settings:
- Add an installer option for 30xx & 40xx series GPUs, which does not install
xformers. - When the attention type is set to
auto(the default), and you do havexformersinstalled, we choose the best option oftorch-sdpandxformers, based on your GPU.
Apple Silicon Fix
The mushy noise issue on Apple Silicon is related to sliced attention. We’ve temporarily forced all MPS devices to use torch-sdp. Memory usage is a bit higher, but you won’t get mushy noise (unless, of course, you prompt for it 😅).
This appears to be a torch bug, and we’ll revert this change once it is resolved.
All Changes
Enhancements
- Support for FLUX ControlNets.
- Improved UX for common
img2imgflows in Canvas. - Installer option to select best packages based on GPU model, and internal logic to select the best attention type based on GPU model.
- Updated workflow list menu UI, restoring
New Workflowconfirmation dialog. - Support for bulk image uploads, button in gallery to upload images.
- Boards maybe sorted by name or date.
- Recall FLUX guidance parameter. Thanks @rikublock!
- Add starter model bundle for each supported architecture to model manager.
- The
LayersandGallerytabs now remember which one you last selected. - Added an indicator to the
LayersandGallerytabs when dragging an image to indicate you that you can hover over the tabs to change them. - Updated translations. French is now 100%! Thanks gallegonovato, @Harvester62, @Ery4z!
Fixes
- Workaround for Apple Silicon SDXL noisy mush issue.
- Fixed misc UI jank in workflow list menu UI.
- Fixed longstanding issue where workflows were marked as unsaved immediately after loading.
- Fixed canvas layer preview not updating if layer is disabled.
- Fixed an edge case where entity isn’t visible until interacting with canvas.
Perf
- Reworked gallery rendering and context menu for a ~100% perf boost when rendering the gallery.
- Rendering optimizations for canvas.
Installation and Updating
To install or update to v5.2.0, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- feat(ui): img2img UX by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7081
- feat(ui): add option to copy share link for workflows by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7082
- Allow explicitly selecting xFormers at install time by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7065
- refactor(ui): modals state, workflow list modal misc by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7087
- perf(ui): rendering optimizations by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7061
- feat(ui): img2img UX 2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7090
- Add support for FLUX ControlNet models (XLabs and InstantX) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7070
- feat(ui): consolidate img2img canvas flow by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7093
- fix(ui): use non-icon version of delete menu item on canvas context menu by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7094
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7086
- chore: bump version to v5.2.0rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7096
- Add a workaround for broken sliced attention on MPS with torch 2.4.1 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7066
- fix(ui): edge case where controladapters added counts could be off by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7095
- fix(ui): edge case where entity isn’t visible until interacting with canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7099
- build(ui): set package mode target to ES2015 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7100
- perf(ui): gallery / image perf by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7101
- feat(ui,api): board sorting by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7106
- fix(ui): prefix share link with window location by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7104
- fix(api): undo changes that made workflow category optional in list query by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7105
- fix(api): update enum usage to work for python 3.11 by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7110
- fix: Pin onnx versions to builds that don’t require rare dlls by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/7107
- fix(ui): properly recall guidance value for flux images by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7108
- Update workflow_records_sqlite.py by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/7109
- feat(ui,api): add starter bundles to model manager by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7097
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7103
- fix(ui): fit to bbox just flashes transform handles by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7122
- chore: bump version to v5.2.0rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7121
- Maryhipp/bulk upload by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7123
- feat(ui): updates to Layers and Gallery tabs by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7119
- fix(ui): add error handling to upload button by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7125
- fix(ui): upload tooltip should only show plural if multiple upload is enabled by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7126
- fix(ui): remove extra slash in workflow share link by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7128
- feat(ui): make debug logger middleware configurable by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7124
- chore: bump version to v5.2.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7136
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.1.1…v5.2.0
v5.1.1
This release fixes a number of issues and updates the workflows list to function like the style presets list.
❗ We are investigating an issue with Apple Silicon devices and SDXL. Users with Apple Silicon devices may wish to hold off on updating until we resolve this. See the Known Issues section below for more information and a workaround.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Enhancements
- New workflow list UI. Thanks @maryhipp!
- Added explanatory tooltips to images and assets tabs in gallery. Thanks @maryhipp!
- Added prompt template message to first-run blurb. Thanks @maryhipp!
- Add button to rename board (in addition to double-click). Thanks @maryhipp!
- Updated translations. Thanks @Harvester62 @Ery4z!
- Updated example config file comment to prevent footguns.
Fixes
- Updates to get FLUX working on MPS on
torch2.5.0 / nightlies. Thanks @Vargol! - Fixed incorrect events being tracked for some buttons. Notably, this prevents accidental deletion of layers when the Canvas is busy.
- Fixed UI jank with Canvas number input components.
- Fixed issue where invalid edges could be pasted.
- Fixed issue preventing touch and Apple Pencil from being able to interact with the Canvas.
Internal
- Fixed Nix flake. Thanks @aakropotkin!
Docs
- Add Enhance Detail community node. Thanks @skunkworxdark!
- Fixed typos. Thanks @nnsW3!
- Added FLUX support to docs. Thanks @aakropotkin!
Known Issues
Apple Silicon devices will output mushy noise on SDXL unless Regional Guidance or an IP Adapter is used.
The issue appears to be related to us bumping torch to v2.4.1, which was needed for GGUF FLUX support. The SDXL generation code wasn’t changed in this release. We are investigating the issue.
As a workaround, users can set their attention type to torch-sdp in their invoke.yaml configuration file:
attention_type: torch-sdpThis will result in some increased memory utilization, but allow for generations to proceed as normal.
Installation and Updating
To install or update to v5.1.1, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- Add Enhance Detail to communityNodes.md by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/7043
- Docs fix spelling issues by @nnsW3 in https://github.com/invoke-ai/InvokeAI/pull/7047
- update flake by @aakropotkin in https://github.com/invoke-ai/InvokeAI/pull/7032
- Get Flux working on MPS when torch 2.5.0 test or nightlies are installed by @Vargol in https://github.com/invoke-ai/InvokeAI/pull/7063
- feat(ui,api): alternate workflow list UX by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7059
- misc(ui): image/asset tab tooltips, icon to rename board, getting started text by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7067
- feat(ui): restore sorting and date displays for workflow library list items by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7068
- feat(ui): board edit tweaks by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7069
- add missing translations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7073
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7062
- fix(ui): remove straggling onPointerUp handlers by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7074
- fix(ui): canvas sliders misc by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7075
- fix(ui): validate edges on paste by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7072
- fix(ui): sync pointer position on pointerdown by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7076
- feat(app): update example config file comment by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7071
- chore: bump version to v5.1.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7077
New Contributors
- @nnsW3 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7047
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.1.0…v5.1.1
v5.1.0
This release includes drawing tablet support and middle-mouse panning for Canvas, support for GGUF FLUX models, and an assortment of other fixes and enhancements.
❗ We are investigating an issue with Apple Silicon devices and SDXL. Users with Apple Silicon devices may wish to hold off on updating until we resolve this. See the Known Issues section below for more information.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Enhancements
- Canvas tablet support for both touch and pen input devices (e.g. drawing tablets).
- Pressure sensitivity for pen input devices. This can be disabled in the Canvas settings.
- Revised Canvas layout to better fit on smaller screens.
- Improved image context menu layout. Thanks @joshistoast!
- Improved Apple Pencil support.
- Added long-press trigger for context menus. The canvas itself does not have a long-press trigger, but the same actions are accessible via menu button at the top-right corner of the canvas.
- Middle-mouse button panning on Canvas. Thanks to @FloeHetling for getting this moving!
- Support for GGUF FLUX models.
- Create a new “session”, resetting all settings and Canvas to their defaults (except for model selection). These functions are in the menu next to the cancel button.
- Crop to bbox on Canvas. You can crop an individual layer, or the whole canvas. Accessed via right-click menus.
- Allow for a broader range of guidance values for flux models. Thanks @rikublock!
- Updated translations. Thanks @rikublock @Ery4z @Vasyanator @Harvester62 @Phrixus2023!
Fixes
- Duplicating a regional guidance layer with a reference image causes an error during graph building, preventing generation from working.
- Recalling LoRAs can create duplicate LoRAs.
- Fixed color picker tool edge case where wrong color could be detected while moving the cursor quickly.
Perf
- Throttled color picker sampling to improve performance.
Internal
- Bump all UI deps to latest.
- Bump
torchandxformersversions to latest. - Gracefully handle promise rejections in the UI’s metadata handlers.
- Updated
docker-compose.ymlto use GHCRlatestimage. Thanks @jkbdco!
Docs
- Added Ollama node to community nodes. Thanks @Jonseed!
- Added FLUX support to docs. Thanks @aakropotkin!
Known Issues
Apple Silicon devices will output mushy noise on SDXL unless Regional Guidance or an IP Adapter is used.
The issue appears to be related to us bumping torch to v2.4.1, which was needed for GGUF FLUX support. The SDXL generation code wasn’t changed in this release. We are investigating the issue.
As a workaround, users can set their attention type to torch-sdp in their invoke.yaml configuration file. This will result in some increased memory utilization, but allow for generations to proceed as normal.
Installation and Updating
To install or update to v5.1.0, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- feat(context menu): :sparkles: condense top row of image context menu by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/7001
- feat(ui): tablet support by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7008
- Initial GGUF support for flux models by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6890
- fix(ui): show color picker when using pen by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7013
- feat(ui): mmb panning (another approach) by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7014
- feat(ui): add new session functionality by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7017
- feat(ui): layer/canvas crop by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7020
- fix(ui): duplicating regional guidance layer breaks graph generation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7015
- fix(ui): recall LoRAs may create duplicates by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7016
- chore(ui): bump deps by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7021
- Bump xformers for compatibility with torch by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7022
- fix(ui): prevent unhandled promise rejections by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7019
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7010
- chore: bump version to v5.1.0rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7024
- Update communityNodes.md add Ollama node by @Jonseed in https://github.com/invoke-ai/InvokeAI/pull/7002
- Update docker-compose.yml by @jkbdco in https://github.com/invoke-ai/InvokeAI/pull/7023
- fix: install issues w/ torch by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7026
- fix(ui): incorrect hotkeys on floating button tooltips by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7029
- feat(ui): canvas ipad improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7027
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7030
- chore: bump version to v5.1.0rc4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7031
- fix(ui): board title editable by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7036
- fix(ui): funky drop targets by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7035
- fix(ui): image context menu buttons don’t close menu by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7038
- chore: bump version to v5.1.0rc5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7039
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7040
- fix(ui): board drop targets by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7041
- feat(ui): canvas tool cleanup & perf by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7044
- fix(ui): alternate Apple Pencil interaction fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7048
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7046
- fix(ui): missing translations for canvas drop area by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7055
- docs: list FLUX as supported by @aakropotkin in https://github.com/invoke-ai/InvokeAI/pull/7053
- feat(ui): allow for a broader range of guidance values for flux models by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7051
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7054
- fix(ui): duplicate translation string for “layer” by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7056
- chore: bump version to v5.1.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7057
New Contributors
- @Jonseed made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7002
- @jkbdco made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7023
- @aakropotkin made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7053
- @rikublock made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7051
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.2…v5.1.0
v5.0.2
This minor release fixes a regression with FLUX LoRAs introduced in v5.0.1.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Fixes
- Fix regression with FLUX LoRAs introduced in v5.0.1.
Enhancements
- Show CLIP Vision models in the model manager UI, allowing for them to be deleted in case of corruption.
Installation and Updating
To install or update to v5.0.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.
What’s Changed
- feat(ui): show CLIP Vision models in model manager UI by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6994
- Fix regression with FLUX diffusers LoRA models by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6997
- chore: bump version to v5.0.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7003
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.1…v5.0.2
v5.0.1
This minor release includes support for Kohya FLUX LoRAs and a handful of fixes and enhancements.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Enhancements
- Support for Kohya FLUX LoRAs with
lora_te1layers (i.e. CLIP LoRA layers) - Default scheduler is now dpmpp_3m_k
- First round of v5 translations @Harvester62 @Vasyanator @Atalanttore @Ery4z @rikublock
- Improved FLUX img2img/inpainting
- ❗ This is a breaking change. The
trajectory_guidance_strengthfield onFluxDenoiseInvocationwas removed in favor of a simpler solution that doesn’t need the extra field. More details in #6938.
- ❗ This is a breaking change. The
- Revised hotkeys focus tracking
- Recall hotkeys work when viewer is closed and gallery is open
- Added
enterandeschotkeys to apply and cancel filters and transforms - Model default settings support for FLUX guidance parameter
Fixes
- Hide brush preview while staging
- Prevent error toasts from being so large they cannot be closed
- UI crash with
TypeError: i.map is not a function - Canvas erroneously interactable after refresh while staging
Internal
- More efficient image selection handling
- More efficient newly-generated image handling
- Revised resizable panels logic
Installation and Updating
To install or update to v5.0.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.
What’s Changed
- fix(ui): reduce extraneous image selection by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6930
- feat(ui): cleanup resizable panels by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6932
- fix(ui): incorrect translations for flux bbox constraints by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6933
- fix,feat: canvas followups 18 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6941
- fix(ui): restore send-to functionality by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6937
- update default scheduler to dpmpp_3m_k by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6943
- fix workflow tab translations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6944
- fix(ui): gallery nav hotkeys not working by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6949
- fix(ui): handle resizable panels not rendered in DOM by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6948
- fix(ui): truncate error description so toast is always close-able by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6946
- fix(ui): new image selection logic by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6951
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6818
- fix(ui): resizable panels collapsed on first app startup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6953
- fix(ui): canvas interactable after refresh while staging by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6956
- Further improvements to FLUX image-to-image by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6938
- (ui): add button to learn more about supported models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6958
- fix(api): UI crash with
TypeError: i.map is not a functionby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6985 - Support FLUX LoRA models in kohya format with
lora_te1layers (i.e. CLIP LoRA layers) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6967 - refactor(ui): hotkey/focus handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6987
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6963
- chore: bump version to v5.0.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6993
- Update communityNodes.md add OBP by @AIrjen in https://github.com/invoke-ai/InvokeAI/pull/6990
- feat(ui,api): add guidance as a default setting option for FLUX models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6959
New Contributors
- @AIrjen made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6990
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.0…v5.0.1
v5.0.0
Invoke 5.0 Release: Our Biggest Update Yet — A new canvas with Layer & Flux support
Today, we’re thrilled to launch the most significant update to Invoke this year: Invoke 5.0. This release introduces Control Canvas, a new tool to generate, iterate, and refine images with unprecedented control and flexibility. We’re also announcing integration with the hugely popular Flux models.
You may notice that some things have moved around. We’ve created a few resources for you to get to know the new Control Canvas and everything new in Invoke 5.0:
- (8 minutes) A short overview of how to complete common tasks in the new Control Canvas
- (23 minutes) A longer workflow demonstration of what is possible in the New Control Canvas and Invoke 5.0
- (~25 minutes) A self-guided tutorial playlist for Getting Started in Invoke
Control Canvas
Building on our Unified Canvas, the new Control Canvas integrates generation, iteration, and refinement into a single workspace. Highlights include:
- Raster Layers: Easily draw, paint, and manipulate shapes or guides that can be moved and resized independently, giving you more flexibility in editing.
- Editable Control Layers: Directly edit Control Layers (e.g., ControlNets) on the canvas, offering precise control over generation tasks without needing to re-upload images.
- Canvas Layer Recall: Save and recall the canvas state of your creation, ensuring that works can be regenerated and saved with the proper metadata.
Flux.1 Model Integration
We’ve partnered with Black Forest Labs to integrate the highly popular Flux.1 models into Invoke. You can now:
- Use Flux’s schnell model for commercial or non-commercial projects and dev models for non-commercial projects in your studio.
- Generate with text-to-image, image-to-image, inpainting, and LoRA support, with more features coming soon.
If you are looking to use Flux [dev] for commercial purposes, you’ll need to obtain a commercial license from Black Forest Labs. This is included as an add-on option in our Professional Edition. If you are interested in learning more, you can get in touch with us.
- Note: Flux Model support is currently only available for local inference on Windows and Linux systems.
Installation and Updating
To install or update to v5.0.0, download the installer and follow the installation instructions To update, select the same installation location. Your user data (images, models, etc) will be retained.
What’s Changed
- feat: canvas v2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6771
- feat, fix: canvas v2 followups 1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6819
- fix, feat: canvas followups 2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6821
- fix,feat: canvas followups 3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6824
- fix,feat: canvas followups 4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6826
- chore: 5.0.0.a1 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6827
- feat,fix,chore: canvas followups 5, release v5.0.0.a2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6832
- fix,feat: canvas followups 6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6834
- feat(nodes): migrate cnet nodes away from
controlnet_auxby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6831 - chore: release v5.0.0.a3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6838
- feat(ui): viewer UX by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6842
- chore: release v5.0.0.a4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6843
- Split LoRA layer implementations into separate files. by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6845
- fix(ui): spandrel filter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6844
- chore: release v5.0.0.a5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6850
- fix,feat: canvas followups 7 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6849
- Invert the expected
denoise_maskparameter to the FLUX Denoise node by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6853 - fix,feat: canvas followups 8 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6858
- chore: v5.0.0.a6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6859
- fix,feat: canvas followups 9 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6860
- chore: v5.0.0.a7 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6861
- fix(ui): remove accidentally added staging button by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6862
- fix(ui): map order of layer types to the menu order by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6863
- feat(ui): change upscaling icon by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6867
- fix(ui): restore Settings Modal functionality to render using children by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6864
- fix(nodes): add thresholding to lineart & lineart anime nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6869
- fix(worker): fix progress image for FLUX inpainting by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6868
- feat(ui): FLUX in linear UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6846
- fix(ui): canvas followups 10 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6872
- feat(ui): update image usage check for canvas v2 layers and upscaling by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6874
- feat(ui): copy layers to clipboard and save layers as assets by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6875
- fix: staging status & queue insanity by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6871
- export hotkeys modal by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6879
- FLUX LoRA Support by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6847
- fix,feat: canvas followups 11 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6878
- chore: v5.0.0.a8 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6882
- Fix typos by @omahs in https://github.com/invoke-ai/InvokeAI/pull/6877
- fix,feat: canvas followups 12 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6884
- fix(ui): update studio destinations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6880
- feat(ui, worker): FLUX LoRAs in linear UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6886
- fix(ui): revert change to grid calc algorithm by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6887
- fix(ui): gallery grid calculation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6889
- feat(ui): “What’s New” in side nav with indicator badge by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6888
- fix,feat: canvas followups 13 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6893
- UI fixes followup by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6895
- fix(ui): set crossOrigin on every image load by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6891
- feat(ui): new user experience by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6892
- feat(ui): canvas error handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6896
- fix(ui): bbox stuff by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6897
- feat: canvas node cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6898
- Fix flaky FLUX LoRA unit test by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6899
- fix(ui): align project name with gallery header by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6901
- tweak(ui): open notification by default, get rid of indicator by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6903
- fix(ui): track whether studio destination hook fn has already fired by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6904
- feat(ui): adds notice for FLUX dev’s commercial license by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6902
- Improve FLUX image-to-image (Trajectory Guidance) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6900
- chore: update version for 5.0.0.rc1 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6905
- docs: cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6913
- fix, feat: canvas followups 14 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6914
- feat: generic progress events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6908
- (fix) fixed bbox size reset to optimals on ‘Use All’ (Asterisk) button press by @FloeHetling in https://github.com/invoke-ai/InvokeAI/pull/6915
- fix(ui): mark optimized inpainting as beta by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6917
- fix, feat: canvas followups 15 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6919
- update links by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6918
- change order of infill methods by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6920
- chore: 5.0.0.rc2 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6921
- Maryhipp/release notes link by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6922
- fix(ui): race condition when filtering causing errors/stuck filter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6923
- fix(ui): prefer ‘lama’ infill when handling infill fallback by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6924
- Update README.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6926
- fix,feat: canvas followups 16 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6927
- fix: filter event listeners by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6928
- chore: 5.0.0 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6935
New Contributors
- @omahs made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6877
- @FloeHetling made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6915
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.9…v5.0.0