Releases: invoke-ai/InvokeAI
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 Strength
slider 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
Balanced
control 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 Regions
renamed toOutput only Generated Regions
and 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.
pip
downloadstorch
twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinnedtorch
to<2.5.0
to preventpip
's dependency resolver from getting confused.mediapipe
install issue on Windows, related to its latest release. We pinnedmediapipe
to 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 #7247
- fix(ui): misc fixes by @psychedelicious in #7252
- fix(nodes): relaxed validation for segment anything by @psychedelicious in #7253
- fix(ui): load workflow from file by @psychedelicious in #7254
- fix(deps): pin mediapipe strictly to a known working version by @ebr in #7258
- Ryan/sd3 diffusers by @maryhipp in #7222
- chore: bump version to v5.4.0 by @psychedelicious in #7259
- fix: Never throw an exception when finding the clip variant type by @brandonrising in #7263
- fix(ui): add some feedback while layers are merging by @maryhipp in #7265
- feat(api,ui): allow Whats New module to get content from back-end by @maryhipp in #7268
- fix(ui): fix link for infill method popover by @maryhipp in #7269
- update Whats New for 5.3.1 by @maryhipp in #7272
- fix(ui): bad merge conflict by @maryhipp in #7273
- fix: get_clip_variant_type should never return None by @brandonrising in #7275
- feat(ui): denoising strength UI by @maryhipp in #7262
- chore(gh): update pr template w/ reminder for what's new copy by @psychedelicious in #7274
- feat(ui): simplify parameter schema declaration by @rikublock in #7281
- feat(ui): new user ux improvements by @psychedelicious in #7279
- fix: Avoid downloading unsafe .bin files if a safetensors file is ava… by @brandonrising in #7282
- fix: Look in known subfolders for configs for clip variants by @brandonrising in #7283
- chore: release v5.4.1rc1 by @psychedelicious in #7285
- Update flux_denoise.py by @JPPhoto in #7270
- fix(app): silence pydantic protected namespace warning by @psychedelicious in #7291
- chore(ui): migrate dnd library by @psychedelicious in #7288
- chore: bump version to v5.4.1rc2 by @psychedelicious in #7293
- fix(ui): FLUX IP adapter clip vision model error by @psychedelicious in #7292
- fix(ui): excessive toasts when generating on canvas by @psychedelicious in #7294
- fix(ui): fit bbox to layers math by @psychedelicious in #7297
- fix(ui): restore missing image paste handler by @psychedelicious in #7298
- feat(ui): update warnings on upscaling tab based on model arch by @psychedelicious in #7299
- feat(ui): clarify denoising strength badge text by @psychedelicious in #7304
- Updated link to flux ip adapter model by @RadTechDad in #7309
- Flux Vae broke for float16, force bfloat16 or float32 were compatible by @Vargol in #7213
- Fix FLUX diffusers LoRA models with no
.proj_mlp
layers by @RyanJDick in #7313 - SD3 Image-to-Image and Inpainting by @RyanJDick in #7295
- (ui): update en string for full IP adapter by @maryhipp in #7312
- feat(ui, worker): add invocation progress events to model loading by @maryhipp in #7286
- feat(ui): tweak image selection/hover styling by @psychedelicious in #7302
- feat(ui): update output only masked regions by @psychedelicious in #7303
- fix(ui): image uploading handling by @psychedelicious in #7315
- fix(ui): unable to use text inputs within draggable by @psychedelicious in #7316
- fix(ui): multiple selection dnd sometimes doesn't get full selection by @psychedelicious in #7317
- fix(ui): remove progress message condition for canvas destinations by @psychedelicious in #7319
- ui: translations update from weblate by @weblate in #7242
New Contributors
- @RadTechDad made their fi...
v5.4.1rc2
This release brings support for SD 3.5 to Workflows, 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.
SD 3.5
We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.
Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.
Other Changes
Enhancements
- Moved
Denoising Strength
slider 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
Balanced
control 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.
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.
pip
downloadstorch
twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinnedtorch
to<2.5.0
to preventpip
's dependency resolver from getting confused.mediapipe
install issue on Windows, related to its latest release. We pinnedmediapipe
to a known working version.- CLIP Vision error when using FLUX IP Adapter.
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 #7247
- fix(ui): misc fixes by @psychedelicious in #7252
- fix(nodes): relaxed validation for segment anything by @psychedelicious in #7253
- fix(ui): load workflow from file by @psychedelicious in #7254
- fix(deps): pin mediapipe strictly to a known working version by @ebr in #7258
- Ryan/sd3 diffusers by @maryhipp in #7222
- chore: bump version to v5.4.0 by @psychedelicious in #7259
- fix: Never throw an exception when finding the clip variant type by @brandonrising in #7263
- fix(ui): add some feedback while layers are merging by @maryhipp in #7265
- feat(api,ui): allow Whats New module to get content from back-end by @maryhipp in #7268
- fix(ui): fix link for infill method popover by @maryhipp in #7269
- update Whats New for 5.3.1 by @maryhipp in #7272
- fix(ui): bad merge conflict by @maryhipp in #7273
- fix: get_clip_variant_type should never return None by @brandonrising in #7275
- feat(ui): denoising strength UI by @maryhipp in #7262
- chore(gh): update pr template w/ reminder for what's new copy by @psychedelicious in #7274
- feat(ui): simplify parameter schema declaration by @rikublock in #7281
- feat(ui): new user ux improvements by @psychedelicious in #7279
- fix: Avoid downloading unsafe .bin files if a safetensors file is ava… by @brandonrising in #7282
- fix: Look in known subfolders for configs for clip variants by @brandonrising in #7283
- chore: release v5.4.1rc1 by @psychedelicious in #7285
- Update flux_denoise.py by @JPPhoto in #7270
- fix(app): silence pydantic protected namespace warning by @psychedelicious in #7291
- chore(ui): migrate dnd library by @psychedelicious in #7288
- chore: bump version to v5.4.1rc2 by @psychedelicious in #7293
- fix(ui): FLUX IP adapter clip vision model error by @psychedelicious in #7292
- fix(ui): excessive toasts when generating on canvas by @psychedelicious in #7294
Full Changelog: v5.3.1...v5.4.1rc2
v5.4.1rc1
This release brings support for SD 3.5 to Workflows, 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.
SD 3.5
We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.
Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.
Other Changes
Enhancements
- Moved
Denoising Strength
slider 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. - Update default control weight to 0.75, end step % to 0.75. Update label for the
Balanced
control mode, indicating it is the recommended setting.
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.
pip
downloadstorch
twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinnedtorch
to<2.5.0
to preventpip
's dependency resolver from getting confused.mediapipe
install issue on Windows, related to its latest release. We pinnedmediapipe
to a known working version.
Internal
- Simplified parameter schema declarations. Thanks @rikublock!
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 #7247
- fix(ui): misc fixes by @psychedelicious in #7252
- fix(nodes): relaxed validation for segment anything by @psychedelicious in #7253
- fix(ui): load workflow from file by @psychedelicious in #7254
- fix(deps): pin mediapipe strictly to a known working version by @ebr in #7258
- Ryan/sd3 diffusers by @maryhipp in #7222
- chore: bump version to v5.4.0 by @psychedelicious in #7259
- fix: Never throw an exception when finding the clip variant type by @brandonrising in #7263
- fix(ui): add some feedback while layers are merging by @maryhipp in #7265
- feat(api,ui): allow Whats New module to get content from back-end by @maryhipp in #7268
- fix(ui): fix link for infill method popover by @maryhipp in #7269
- update Whats New for 5.3.1 by @maryhipp in #7272
- fix(ui): bad merge conflict by @maryhipp in #7273
- fix: get_clip_variant_type should never return None by @brandonrising in #7275
- feat(ui): denoising strength UI by @maryhipp in #7262
- chore(gh): update pr template w/ reminder for what's new copy by @psychedelicious in #7274
- feat(ui): simplify parameter schema declaration by @rikublock in #7281
- feat(ui): new user ux improvements by @psychedelicious in #7279
- fix: Avoid downloading unsafe .bin files if a safetensors file is ava… by @brandonrising in #7282
- fix: Look in known subfolders for configs for clip variants by @brandonrising in #7283
- chore: release v5.4.1rc1 by @psychedelicious in #7285
Full Changelog: v5.3.1...v5.4.1rc1
v5.4.0
This release brings support for SD 3.5 to Workflows, plus a number of fixes.
❗ We've discovered an issue with model installation and loading on this release. If you installed v5.4.0 and experience problems with model installation and loading, you can roll back to v5.3.1 by running the installer and choosing v5.3.1.
SD 3.5
We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.
Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.
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.
pip
downloadstorch
twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinnedtorch
to<2.5.0
to preventpip
's dependency resolver from getting confused.mediapipe
install issue on Windows, related to its latest release. We pinnedmediapipe
to a known working version.
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 #7247
- fix(ui): misc fixes by @psychedelicious in #7252
- fix(nodes): relaxed validation for segment anything by @psychedelicious in #7253
- fix(ui): load workflow from file by @psychedelicious in #7254
- fix(deps): pin mediapipe strictly to a known working version by @ebr in #7258
- Ryan/sd3 diffusers by @maryhipp in #7222
- chore: bump version to v5.4.0 by @psychedelicious in #7259
Full Changelog: v5.3.1...v5.4.0
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 Mask
andRegional Guidance
may 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
invoke
method 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
,accelerate
andhuggingface-hub
dependencies to latest versions. - Refactored
CanvasCompositorModule
to 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
patchmatch
docs. 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 #7210
- Bump
diffusers
version (andaccelerate
,hugginface-hub
) by @RyanJDick in #7174 - feat(ui): canvas graph improvements by @psychedelicious in #7218
- Fix SDXL t2i adapters expect BGR instead of RGB by @dunkeroni in #7205
- fix(ui): recall seamless settings by @rikublock in #7217
- feat(ui): update announcements for v5.3.0 by @maryhipp in #7221
- fix(ui): canvas filter and SAM module fixes by @psychedelicious in #7224
- feat(ui): canvas entity merging by @psychedelicious in #7219
- chore: bump version to v5.3.1rc1 by @psychedelicious in #7225
- fix(ui): compositor not setting processing flag when cleaning up by @psychedelicious in #7227
- fix(nodes): nodes denylist handling by @psychedelicious in #7235
- feat(ui,api): support for HF tokens in UI, handle Unauthorized and Forbidden responses from HF by @maryhipp in #7201
- Update patchmatch.md by @nirmal0001 in #7165
- Update FAQ.md by @JPPhoto in #6801
- Fix link in dev docs by @hippalectryon-0 in #7200
- feat(nodes): add validation for invoke method return types by @psychedelicious in #6279
- refactor(ui): layer interaction locking by @psychedelicious in #7234
- ui: translations update from weblate by @weblate in #7166
- feat(ui): filter/select-object do not exit on save-as by @psychedelicious in #7238
- fix broken link in installer by @hippalectryon-0 in #7211
- Adjust pins for torch, numpy, other dependencies by @ebr in #7232
- fix(ui): add missing translations by @psychedelicious in #7237
- removing periods from update link to prevent page not found error by @ventureOptimism in #6526
- fix(ui): canvas misc bugs by @psychedelicious in #7244
- Make T2I Adapters work with any resolution supported by the models by @dunkeroni in #7215
- chore: bump version to v5.3.1 by @psychedelicious in #7245
New Contributors
- @nirmal0001 made their first contribution in #7165
- @ventureOptimism made their first contribution in #6526
Full Changelog: v5.3.0...v5.3.1
v5.3.1rc1
This release candidate expands layer merging capabilities in Canvas, plus 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 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 Mask
andRegional Guidance
may be saved to assets.
Performance
- 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.
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 get get input images in the expected channel order. Thanks @dunkeroni!
- Recall of seamless metadata settings. Thanks @rikublock!
Internal
- Bump
diffusers
,accelerate
andhuggingface-hub
dependencies to latest versions. - Refactored
CanvasCompositorModule
to support new merge capabilities.
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 #7210
- Bump
diffusers
version (andaccelerate
,hugginface-hub
) by @RyanJDick in #7174 - feat(ui): canvas graph improvements by @psychedelicious in #7218
- Fix SDXL t2i adapters expect BGR instead of RGB by @dunkeroni in #7205
- fix(ui): recall seamless settings by @rikublock in #7217
- feat(ui): update announcements for v5.3.0 by @maryhipp in #7221
- fix(ui): canvas filter and SAM module fixes by @psychedelicious in #7224
- feat(ui): canvas entity merging by @psychedelicious in #7219
- chore: bump version to v5.3.1rc1 by @psychedelicious in #7225
- fix(ui): compositor not setting processing flag when cleaning up by @psychedelicious in #7227
Full Changelog: v5.3.0...v5.3.1rc1
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.
select-object-save-as-inpaint-mask.mov
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.
select-object-invert-apply.mov
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.
select-object-apply-convert-control.mov
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
RealVisXL5
to SDXL Starter Model Bundle. - Model manager
in-place
checkbox 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 Gallery
alert 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_vae
field. - Uninstall
xformers
before installation, fixing issues w/xformers
version 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 #7145
- Small improvements for the installer text output by @max-maag in #7150
- refactor(ui): logging config handling by @psychedelicious in #7143
- add starter model Architecture (RealVisXL5) by @maryhipp in #7151
- fix(nodes):
FluxDenoiseInvocation.controlnet_vae
missingdefault=None
by @psychedelicious in #7156 - Remove xformers before installation by @ebr in #7161
- FLUX CFG support by @RyanJDick in #7152
- FLUX XLabs IP-Adapter Support by @RyanJDick in #7157
- Fix AMD GPUs not being detected by @max-maag in #7147
- Load non quantized t5encoder using same dtype the model is saved in/ by @Vargol in #7140
- Get flux working with MPS on torch 2.4.1, with GGUF support by @Vargol in #7113
- ui: translations update from weblate by @weblate in #7135
- feat(ui): canvas auto-mask by @psychedelicious in #7163
- chore: bump version to v5.3.0rc1 by @psychedelicious in #7164
- feat(ui): move model manager in-place install state to redux by @rikublock in #7167
- feat(ui): canvas auto mask followups 1 by @psychedelicious in #7168
- fix(ui): normalize infill alpha to 0-255 when building infill nodes by @psychedelicious in #7172
- tweak(ui): prevent show/hide boards button cutoff by @psychedelicious in #7184
- feat(ui,api): misc model QoL by @maryhipp in #7173
- feat(ui): canvas auto mask followups 2 by @psychedelicious in #7180
- feat(ui): canvas auto mask followups 3 by @psychedelicious in #7189
- chore: bump version to v5.3.0rc2 by @psychedelicious in #7190
- feat(ui): canvas auto-mask followups 4 by @psychedelicious in #7193
- feat(ui): add setting for showing model descriptions in dropdown by @maryhipp in #7187
- feat(ui): add out of sync details to default settings button by @maryhipp in #7188
- feat: canvas auto mask followups 5 by @psychedelicious in #7196
- fix(nodes): return copies of objects in invocation ctx by @psychedelicious in #7195
- Improve dev install docs by @hippalectryon-0 in #7199
- feat(ui): canvas auto mask followups 6 by @psychedelicious in #7203
- chore: bump version to v5.3.0 by @psychedelicious in #7204
New Contributors
- @hippalectryon-0 made their first contribution in #7199
Full Changelog: v5.2.0...v5.3.0
v5.3.0rc2
This release candidate includes a number of enhancements and fixes. Standouts include:
- Support for FLUX IP Adapters.
- Auto-masking in Canvas (via Segment Anything).
- 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.
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.
Canvas Auto-Masking
Use auto-mask to quickly select objects from a layer, then use the selection as a mask. Add Include
and Exclude
points to fine-tune the masking.
Screen.Recording.2024-10-25.at.8.00.48.am.mov
You can also save the selection as a Raster or Control Layer.
Internally, this uses Segment Anything v1. We'll upgrade to SAM v2 once support for it lands in transformers
, which will improve both speed and quality.
All Changes
Enhancements
- Support for FLUX IP Adapters.
- Support for CFG and Negative Conditioning for FLUX in workflows only.
- Canvas auto-mask.
- Added
RealVisXL5
to SDXL Starter Model Bundle. - Model manager
in-place
checkbox 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.
- Updated translations. Thanks @rikublock, @Vasyanator, @Harvester62, @Ery4z!
Fixes
- Improved FLUX support for MPS devices. Thanks @Vargol!
- FLUX denoise node erroneously required
controlnet_vae
field. - Uninstall
xformers
before installation, fixing issues w/xformers
version 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.
Internal
- Reworked logging implementation.
- Directory traversal issue when deleting images.
Installation and Updating
To install or update to v5.3.0rc2, 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 #7145
- Small improvements for the installer text output by @max-maag in #7150
- refactor(ui): logging config handling by @psychedelicious in #7143
- add starter model Architecture (RealVisXL5) by @maryhipp in #7151
- fix(nodes):
FluxDenoiseInvocation.controlnet_vae
missingdefault=None
by @psychedelicious in #7156 - Remove xformers before installation by @ebr in #7161
- FLUX CFG support by @RyanJDick in #7152
- FLUX XLabs IP-Adapter Support by @RyanJDick in #7157
- Fix AMD GPUs not being detected by @max-maag in #7147
- Load non quantized t5encoder using same dtype the model is saved in/ by @Vargol in #7140
- Get flux working with MPS on torch 2.4.1, with GGUF support by @Vargol in #7113
- ui: translations update from weblate by @weblate in #7135
- feat(ui): canvas auto-mask by @psychedelicious in #7163
- chore: bump version to v5.3.0rc1 by @psychedelicious in #7164
- feat(ui): move model manager in-place install state to redux by @rikublock in #7167
- feat(ui): canvas auto mask followups 1 by @psychedelicious in #7168
- fix(ui): normalize infill alpha to 0-255 when building infill nodes by @psychedelicious in #7172
- tweak(ui): prevent show/hide boards button cutoff by @psychedelicious in #7184
- feat(ui,api): misc model QoL by @maryhipp in #7173
- feat(ui): canvas auto mask followups 2 by @psychedelicious in #7180
- feat(ui): canvas auto mask followups 3 by @psychedelicious in #7189
- chore: bump version to v5.3.0rc2 by @psychedelicious in #7190
Full Changelog: v5.2.0...v5.3.0rc2
v5.3.0rc1
This release candidate includes a number of enhancements and fixes. Standouts include:
- Support for FLUX IP Adapters.
- Auto-masking in Canvas (via Segment Anything).
- Installer improvements, which should resolve all
xformers
-related issues. - Improved FLUX support for MPS (Apple Silicon) devices.
Be sure to review the v5 release notes if you haven't already upgraded to v5.
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.
Canvas Auto-Masking
Use auto-mask to quickly extract objects from a layer. Create foreground, background, or neutral points to fine-tune the masking.
auto-mask.mov
Internally, this uses Segment Anything v1. We'll upgrade to SAM v2 once support for it lands in transformers
.
All Changes
Enhancements
- Support for FLUX IP Adapters.
- Support for CFG and Negative Conditioning for FLUX in workflows only.
- Canvas auto-mask.
- Added
RealVisXL5
to SDXL Starter Model Bundle. - Updated translations. Thanks @rikublock, @Vasyanator, @Harvester62, @Ery4z!
Fixes
- Improved FLUX support for MPS devices. Thanks @Vargol!
- FLUX denoise node erroneously required
controlnet_vae
field. - Uninstall
xformers
before installation, fixing issues w/xformers
version mismatch. - Fixed installer text output. Thanks @max-maag!
- Fixed ROCm PyPI indices. Thanks @max-maag!
Internal
- Reworked logging implementation.
- Directory traversal issue when deleting images.
Installation and Updating
To install or update to v5.3.0rc1, 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 #7145
- Small improvements for the installer text output by @max-maag in #7150
- refactor(ui): logging config handling by @psychedelicious in #7143
- add starter model Architecture (RealVisXL5) by @maryhipp in #7151
- fix(nodes):
FluxDenoiseInvocation.controlnet_vae
missingdefault=None
by @psychedelicious in #7156 - Remove xformers before installation by @ebr in #7161
- FLUX CFG support by @RyanJDick in #7152
- FLUX XLabs IP-Adapter Support by @RyanJDick in #7157
- Fix AMD GPUs not being detected by @max-maag in #7147
- Load non quantized t5encoder using same dtype the model is saved in/ by @Vargol in #7140
- Get flux working with MPS on torch 2.4.1, with GGUF support by @Vargol in #7113
- ui: translations update from weblate by @weblate in #7135
- feat(ui): canvas auto-mask by @psychedelicious in #7163
- chore: bump version to v5.3.0rc1 by @psychedelicious in #7164
Full Changelog: v5.2.0...v5.3.0rc1
v5.2.0
This release includes a number of enhancements and fixes. Standouts include:
- Support for FLUX ControlNets.
- Improved UX for common
img2img
flows 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
contain
mode. - Update the
New Canvas from Image
image context menu item to streamline theimg2img
flow. 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 havexformers
installed, we choose the best option oftorch-sdp
andxformers
, 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
img2img
flows 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 Workflow
confirmation 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
Layers
andGallery
tabs now remember which one you last selected. - Added an indicator to the
Layers
andGallery
tabs 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 #7081
- feat(ui): add option to copy share link for workflows by @maryhipp in #7082
- Allow explicitly selecting xFormers at install time by @ebr in #7065
- refactor(ui): modals state, workflow list modal misc by @psychedelicious in #7087
- perf(ui): rendering optimizations by @psychedelicious in #7061
- feat(ui): img2img UX 2 by @psychedelicious in #7090
- Add support for FLUX ControlNet models (XLabs and InstantX) by @RyanJDick in #7070
- feat(ui): consolidate img2img canvas flow by @psychedelicious in #7093
- fix(ui): use non-icon version of delete menu item on canvas context menu by @psychedelicious in #7094
- ui: translations update from weblate by @weblate in #7086
- chore: bump version to v5.2.0rc1 by @psychedelicious in #7096
- Add a workaround for broken sliced attention on MPS with torch 2.4.1 by @RyanJDick in #7066
- fix(ui): edge case where controladapters added counts could be off by @psychedelicious in #7095
- fix(ui): edge case where entity isn't visible until interacting with canvas by @psychedelicious in #7099
- build(ui): set package mode target to ES2015 by @psychedelicious in #7100
- perf(ui): gallery / image perf by @psychedelicious in #7101
- feat(ui,api): board sorting by @maryhipp in #7106
- fix(ui): prefix share link with window location by @maryhipp in #7104
- fix(api): undo changes that made workflow category optional in list query by @maryhipp in #7105
- fix(api): update enum usage to work for python 3.11 by @maryhipp in #7110
- fix: Pin onnx versions to builds that don't require rare dlls by @brandonrising in #7107
- fix(ui): properly recall guidance value for flux images by @rikublock in #7108
- Update workflow_records_sqlite.py by @skunkworxdark in #7109
- feat(ui,api): add starter bundles to model manager by @maryhipp in #7097
- ui: translations update from weblate by @weblate in #7103
- fix(ui): fit to bbox just flashes transform handles by @psychedelicious in #7122
- chore: bump version to v5.2.0rc2 by @psychedelicious in #7121
- Maryhipp/bulk upload by @maryhipp in #7123
- feat(ui): updates to Layers and Gallery tabs by @maryhipp in #7119
- fix(ui): add error handling to upload button by @maryhipp in #7125
- fix(ui): upload tooltip should only show plural if multiple upload is enabled by @maryhipp in #7126
- fix(ui): remove extra slash in workflow share link by @maryhipp in #7128
- feat(ui): make debug logger middleware configurable by @psychedelicious in #7124
- chore: bump version to v5.2.0 by @psychedelicious in #7136
Full Changelog: v5.1.1...v5.2.0