Releases: invoke-ai/InvokeAI
v6.0.0rc5
Invoke's next major release brings many new features plus an improved UI and user experience.
Your feedback is appreciated for this v6.0.0rc5 release candidate.
Core UI Enhancements
- Launchpads: Guided, intuitive interfaces for getting started using Invoke. Each tab has a dedicated launchpad to help you get started.
- New
Generate
tab for simple Text-to-Image generation, without the need to learn the canvas. - Updated layout including tabbed Image Viewer.
- Gallery now shows all images at once in a single grid - no pagination.
Enhanced Canvas Experience
- Composition guides (i.e Rule of Thirds) on the bounding box.
- New "Edit" button in image viewer, creating a new canvas with the selected image.
- Toggle all non-Raster layers on/off with
Shift + H
. - Updated and intuitive reference image management, now in the left-hand settings panel.
- Improved staging toolbar and navigation.
- Export Canvas to PSD (Photoshop) format.
Other Features and Improvements
- FLUX Kontext Support on Generate, Canvas and Workflows tabs.
- OMI LoRA Support and additional AI Toolkit LoRA support for FLUX.
- Prompt Expansion (Pro Only). Secure, AI-powered prompt enhancement and image-to-prompt conversion.
- Countless bug fixes, enhancements and performance improvements.
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- fix names of unpublishable nodes by @maryhipp in #8110
- fix(nodes): ensure each invocation overrides _original_model_fields with own field data by @psychedelicious in #8114
- Change save button to Invoke Blue by @hipsterusername in #8116
- Omi by @jazzhaiku in #8120
- Flux Kontext UI support by @maryhipp in #8111
- feat: add user_label to FieldIdentifier by @psychedelicious in #8126
- fix 1:1 ratio for flux kontext by @maryhipp in #8127
- Jazzhaiku/vendor omi by @jazzhaiku in #8128
- refactor(ui): canvas flow by @psychedelicious in #8069
- fix(ui): regional guidance ref image not selecting by @psychedelicious in #8129
- convert LoRA picker to use new model picker component by @maryhipp in #8070
- fix(ui): Fix LoRA picker to default to current base model architecture by @hipsterusername in #8135
- Add hotkey and button for layer visibility by @hipsterusername in #8122
- Updated Model Launchpad by @hipsterusername in #8124
- Improve prompt template menu by @hipsterusername in #8131
- Rule of 3rds Composition Guide by @hipsterusername in #8130
- fix(ui): Waiting for Image UX by @hipsterusername in #8133
- feat(ui): Add FLUX Kontext conditioning support for reference images by @hipsterusername in #8134
- Update flux_text_encoder.py with log_tokenization in a similar way to how compel does it. by @skunkworxdark in #8144
- fix(ui): prevent NaN from getting into konva internals by @psychedelicious in #8138
- feat(ui): workflows styling tweaks by @psychedelicious in #8137
- Update flux_denoise.py by @JPPhoto in #8143
- feat(ui): run graph abstraction by @psychedelicious in #8146
- Fixed a typo by @DustyShoe in #8153
- fix(app): prep of collect nodes can create invalid edges by @psychedelicious in #8154
- refactor(ui): enqueue/graph-building meta-logic by @psychedelicious in #8155
- feat(ui):Export to PSD by @hipsterusername in #8147
- fix(ui): Fix related models in new model picker. by @hipsterusername in #8151
- fix(ui): Upscale creativity bug by @hipsterusername in #8157
- feat(ui):Workflow and upscale launchpads by @hipsterusername in #8159
- fix(ui):On Edit/View workflow buttons, navigate to the right panel. by @hipsterusername in #8160
- fix(ui): Updating styling to include Launchpad Icon & remove Canvas progress bar by @hipsterusername in #8161
- Image Viewer Toolbar Updates by @hipsterusername in #8162
- refactor(ui): focus/hotkey handling for new layout by @psychedelicious in #8156
- chore: bump version to v6.0.0rc1 by @psychedelicious in #8164
- fix(ui): really do not load disabled tabs by @psychedelicious in #8163
- Fix regional guidance tooltip reference by @hipsterusername in #8167
- handle flux-kontext reference images when switching bases by @maryhipp in #8169
- add modelRelationships and aboutModal to disable-able features by @maryhipp in #8166
- fix(api): exception handling in session queue by @psychedelicious in #8179
- fix(ui): button functionality in workflow tab by @hipsterusername in #8168
- fix(ui):Remove Canvas Session button by @hipsterusername in #8170
- feat(ui):Automatically select brush tool on edit by @hipsterusername in #8171
- feat(ui): prompt expansion by @maryhipp in #8140
- fix(ui): Fix translation reference in models picker by @hipsterusername in #8173
- fix(ui): Fix save to gallery image update issue from staging area. by @hipsterusername in #8174
- feat(ui):Add toggle for reference image visibility by @hipsterusername in #8176
- remove pulsing animation by @maryhipp in #8181
- properly build batch for flux kontext api batches by @maryhipp in #8182
- disable dropzone if prompt expansion is disabled by @maryhipp in #8186
- Update flux.py - change T5Tokenizer to T5TokenizerFast by @skunkworxdark in #8180
- fix(ui): Reset canvas session when queue item is canceled by @hipsterusername in #8175
- fix(ui): Fix brush layer positioning in PSD export by @hipsterusername in #8183
- fix(ui): Re-implement image comparison on drag by @hipsterusername in #8185
- fix(ui): Fix gallery toggle button functionality by @hipsterusername in #8187
- fix(ui): control layers ignored in txt2img by @psychedelicious in #8189
- fix(ui): after canceling a filter, layer loses its content by @psychedelicious in #8190
- chore: bump version to v6.0.0rc2 by @psychedelicious in #8178
- fix(ui): sets cfg_rescale_multiplier to 0 if there is no default. Also fixes issue with truthiness check causing 0 value to be missed. by @jeremygooch in #8195
- feat(ui): enable RTK Query's refetchOnReconnect by @psychedelicious in #8193
- fix(ui): hardcode literals for run graph errors by @psychedelicious in #8198
- perf(ui): lora components by @psychedelicious in #8197
- refactor(ui): navigation API by @psychedelicious in #8199
- refactor(ui): metadata parsing by @psychedelicious in #8200
- Nav fixes by @hipsterusername in #8201
- fix(ui): Kontext tiling bug by @hipsterusername in #8192
- flux kontext dev in UI by @maryhipp in #8188
- chore: bump version to v6.0.0rc3 by @psychedelicious in #8196
- tidy(ui): lint & bump by @psychedelicious in #8207
- ui: v6 followups by @psychedelicious in #8211
- chore: bump version t...
v6.0.0rc4
Invoke's next major release brings many new features plus an improved UI and user experience.
Your feedback is appreciated for this v6.0.0rc4 release candidate.
Core UI Enhancements
- Launchpads: Guided, intuitive interfaces for getting started using Invoke. Each tab has a dedicated launchpad to help you get started.
- New
Generate
tab for simple Text-to-Image generation, without the need to learn the canvas. - Updated layout including tabbed Image Viewer.
- Gallery now shows all images at once in a single grid - no pagination.
Enhanced Canvas Experience
- Composition guides (i.e Rule of Thirds) on the bounding box.
- New "Edit" button in image viewer, creating a new canvas with the selected image.
- Toggle all non-Raster layers on/off with
Shift + H
. - Updated and intuitive reference image management, now in the left-hand settings panel.
- Improved staging toolbar and navigation.
- Export Canvas to PSD (Photoshop) format.
Other Features and Improvements
- FLUX Kontext Support on Generate, Canvas and Workflows tabs.
- OMI LoRA Support and additional AI Toolkit LoRA support for FLUX.
- Prompt Expansion (Pro Only). Secure, AI-powered prompt enhancement and image-to-prompt conversion.
- Countless bug fixes, enhancements and performance improvements.
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- fix names of unpublishable nodes by @maryhipp in #8110
- fix(nodes): ensure each invocation overrides _original_model_fields with own field data by @psychedelicious in #8114
- Change save button to Invoke Blue by @hipsterusername in #8116
- Omi by @jazzhaiku in #8120
- Flux Kontext UI support by @maryhipp in #8111
- feat: add user_label to FieldIdentifier by @psychedelicious in #8126
- fix 1:1 ratio for flux kontext by @maryhipp in #8127
- Jazzhaiku/vendor omi by @jazzhaiku in #8128
- refactor(ui): canvas flow by @psychedelicious in #8069
- fix(ui): regional guidance ref image not selecting by @psychedelicious in #8129
- convert LoRA picker to use new model picker component by @maryhipp in #8070
- fix(ui): Fix LoRA picker to default to current base model architecture by @hipsterusername in #8135
- Add hotkey and button for layer visibility by @hipsterusername in #8122
- Updated Model Launchpad by @hipsterusername in #8124
- Improve prompt template menu by @hipsterusername in #8131
- Rule of 3rds Composition Guide by @hipsterusername in #8130
- fix(ui): Waiting for Image UX by @hipsterusername in #8133
- feat(ui): Add FLUX Kontext conditioning support for reference images by @hipsterusername in #8134
- Update flux_text_encoder.py with log_tokenization in a similar way to how compel does it. by @skunkworxdark in #8144
- fix(ui): prevent NaN from getting into konva internals by @psychedelicious in #8138
- feat(ui): workflows styling tweaks by @psychedelicious in #8137
- Update flux_denoise.py by @JPPhoto in #8143
- feat(ui): run graph abstraction by @psychedelicious in #8146
- Fixed a typo by @DustyShoe in #8153
- fix(app): prep of collect nodes can create invalid edges by @psychedelicious in #8154
- refactor(ui): enqueue/graph-building meta-logic by @psychedelicious in #8155
- feat(ui):Export to PSD by @hipsterusername in #8147
- fix(ui): Fix related models in new model picker. by @hipsterusername in #8151
- fix(ui): Upscale creativity bug by @hipsterusername in #8157
- feat(ui):Workflow and upscale launchpads by @hipsterusername in #8159
- fix(ui):On Edit/View workflow buttons, navigate to the right panel. by @hipsterusername in #8160
- fix(ui): Updating styling to include Launchpad Icon & remove Canvas progress bar by @hipsterusername in #8161
- Image Viewer Toolbar Updates by @hipsterusername in #8162
- refactor(ui): focus/hotkey handling for new layout by @psychedelicious in #8156
- chore: bump version to v6.0.0rc1 by @psychedelicious in #8164
- fix(ui): really do not load disabled tabs by @psychedelicious in #8163
- Fix regional guidance tooltip reference by @hipsterusername in #8167
- handle flux-kontext reference images when switching bases by @maryhipp in #8169
- add modelRelationships and aboutModal to disable-able features by @maryhipp in #8166
- fix(api): exception handling in session queue by @psychedelicious in #8179
- fix(ui): button functionality in workflow tab by @hipsterusername in #8168
- fix(ui):Remove Canvas Session button by @hipsterusername in #8170
- feat(ui):Automatically select brush tool on edit by @hipsterusername in #8171
- feat(ui): prompt expansion by @maryhipp in #8140
- fix(ui): Fix translation reference in models picker by @hipsterusername in #8173
- fix(ui): Fix save to gallery image update issue from staging area. by @hipsterusername in #8174
- feat(ui):Add toggle for reference image visibility by @hipsterusername in #8176
- remove pulsing animation by @maryhipp in #8181
- properly build batch for flux kontext api batches by @maryhipp in #8182
- disable dropzone if prompt expansion is disabled by @maryhipp in #8186
- Update flux.py - change T5Tokenizer to T5TokenizerFast by @skunkworxdark in #8180
- fix(ui): Reset canvas session when queue item is canceled by @hipsterusername in #8175
- fix(ui): Fix brush layer positioning in PSD export by @hipsterusername in #8183
- fix(ui): Re-implement image comparison on drag by @hipsterusername in #8185
- fix(ui): Fix gallery toggle button functionality by @hipsterusername in #8187
- fix(ui): control layers ignored in txt2img by @psychedelicious in #8189
- fix(ui): after canceling a filter, layer loses its content by @psychedelicious in #8190
- chore: bump version to v6.0.0rc2 by @psychedelicious in #8178
- fix(ui): sets cfg_rescale_multiplier to 0 if there is no default. Also fixes issue with truthiness check causing 0 value to be missed. by @jeremygooch in #8195
- feat(ui): enable RTK Query's refetchOnReconnect by @psychedelicious in #8193
- fix(ui): hardcode literals for run graph errors by @psychedelicious in #8198
- perf(ui): lora components by @psychedelicious in #8197
- refactor(ui): navigation API by @psychedelicious in #8199
- refactor(ui): metadata parsing by @psychedelicious in #8200
- Nav fixes by @hipsterusername in #8201
- fix(ui): Kontext tiling bug by @hipsterusername in #8192
- flux kontext dev in UI by @maryhipp in #8188
- chore: bump version to v6.0.0rc3 by @psychedelicious in #8196
- tidy(ui): lint & bump by @psychedelicious in #8207
- ui: v6 followups by @psychedelicious in #8211
- chore: bump version t...
v6.0.0rc3
Invoke's next major release brings many new features plus an improved UI and user experience.
Your feedback is appreciated for this v6.0.0rc3 release candidate.
Core UI Enhancements
- Launchpads: Guided, intuitive interfaces for getting started using Invoke. Each tab has a dedicated launchpad to help you get started.
- New
Generate
tab for simple Text-to-Image generation, without the need to learn the canvas. - Updated layout including tabbed Image Viewer.
- Gallery now shows all images at once in a single grid - no pagination.
Enhanced Canvas Experience
- Composition guides (i.e Rule of Thirds) on the bounding box.
- New "Edit" button in image viewer, creating a new canvas with the selected image.
- Toggle all non-Raster layers on/off with
Shift + H
. - Updated and intuitive reference image management, now in the left-hand settings panel.
- Improved staging toolbar and navigation.
- Export Canvas to PSD (Photoshop) format.
Other Features and Improvements
- FLUX Kontext Support on Generate, Canvas and Workflows tabs.
- OMI LoRA Support and additional AI Toolkit LoRA support for FLUX.
- Prompt Expansion (Pro Only). Secure, AI-powered prompt enhancement and image-to-prompt conversion.
- Countless bug fixes, enhancements and performance improvements.
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- fix names of unpublishable nodes by @maryhipp in #8110
- fix(nodes): ensure each invocation overrides _original_model_fields with own field data by @psychedelicious in #8114
- Change save button to Invoke Blue by @hipsterusername in #8116
- Omi by @jazzhaiku in #8120
- Flux Kontext UI support by @maryhipp in #8111
- feat: add user_label to FieldIdentifier by @psychedelicious in #8126
- fix 1:1 ratio for flux kontext by @maryhipp in #8127
- Jazzhaiku/vendor omi by @jazzhaiku in #8128
- refactor(ui): canvas flow by @psychedelicious in #8069
- fix(ui): regional guidance ref image not selecting by @psychedelicious in #8129
- convert LoRA picker to use new model picker component by @maryhipp in #8070
- fix(ui): Fix LoRA picker to default to current base model architecture by @hipsterusername in #8135
- Add hotkey and button for layer visibility by @hipsterusername in #8122
- Updated Model Launchpad by @hipsterusername in #8124
- Improve prompt template menu by @hipsterusername in #8131
- Rule of 3rds Composition Guide by @hipsterusername in #8130
- fix(ui): Waiting for Image UX by @hipsterusername in #8133
- feat(ui): Add FLUX Kontext conditioning support for reference images by @hipsterusername in #8134
- Update flux_text_encoder.py with log_tokenization in a similar way to how compel does it. by @skunkworxdark in #8144
- fix(ui): prevent NaN from getting into konva internals by @psychedelicious in #8138
- feat(ui): workflows styling tweaks by @psychedelicious in #8137
- Update flux_denoise.py by @JPPhoto in #8143
- feat(ui): run graph abstraction by @psychedelicious in #8146
- Fixed a typo by @DustyShoe in #8153
- fix(app): prep of collect nodes can create invalid edges by @psychedelicious in #8154
- refactor(ui): enqueue/graph-building meta-logic by @psychedelicious in #8155
- feat(ui):Export to PSD by @hipsterusername in #8147
- fix(ui): Fix related models in new model picker. by @hipsterusername in #8151
- fix(ui): Upscale creativity bug by @hipsterusername in #8157
- feat(ui):Workflow and upscale launchpads by @hipsterusername in #8159
- fix(ui):On Edit/View workflow buttons, navigate to the right panel. by @hipsterusername in #8160
- fix(ui): Updating styling to include Launchpad Icon & remove Canvas progress bar by @hipsterusername in #8161
- Image Viewer Toolbar Updates by @hipsterusername in #8162
- refactor(ui): focus/hotkey handling for new layout by @psychedelicious in #8156
- chore: bump version to v6.0.0rc1 by @psychedelicious in #8164
- fix(ui): really do not load disabled tabs by @psychedelicious in #8163
- Fix regional guidance tooltip reference by @hipsterusername in #8167
- handle flux-kontext reference images when switching bases by @maryhipp in #8169
- add modelRelationships and aboutModal to disable-able features by @maryhipp in #8166
- fix(api): exception handling in session queue by @psychedelicious in #8179
- fix(ui): button functionality in workflow tab by @hipsterusername in #8168
- fix(ui):Remove Canvas Session button by @hipsterusername in #8170
- feat(ui):Automatically select brush tool on edit by @hipsterusername in #8171
- feat(ui): prompt expansion by @maryhipp in #8140
- fix(ui): Fix translation reference in models picker by @hipsterusername in #8173
- fix(ui): Fix save to gallery image update issue from staging area. by @hipsterusername in #8174
- feat(ui):Add toggle for reference image visibility by @hipsterusername in #8176
- remove pulsing animation by @maryhipp in #8181
- properly build batch for flux kontext api batches by @maryhipp in #8182
- disable dropzone if prompt expansion is disabled by @maryhipp in #8186
- Update flux.py - change T5Tokenizer to T5TokenizerFast by @skunkworxdark in #8180
- fix(ui): Reset canvas session when queue item is canceled by @hipsterusername in #8175
- fix(ui): Fix brush layer positioning in PSD export by @hipsterusername in #8183
- fix(ui): Re-implement image comparison on drag by @hipsterusername in #8185
- fix(ui): Fix gallery toggle button functionality by @hipsterusername in #8187
- fix(ui): control layers ignored in txt2img by @psychedelicious in #8189
- fix(ui): after canceling a filter, layer loses its content by @psychedelicious in #8190
- chore: bump version to v6.0.0rc2 by @psychedelicious in #8178
- fix(ui): sets cfg_rescale_multiplier to 0 if there is no default. Also fixes issue with truthiness check causing 0 value to be missed. by @jeremygooch in #8195
- feat(ui): enable RTK Query's refetchOnReconnect by @psychedelicious in #8193
- fix(ui): hardcode literals for run graph errors by @psychedelicious in #8198
- perf(ui): lora components by @psychedelicious in #8197
- refactor(ui): navigation API by @psychedelicious in #8199
- refactor(ui): metadata parsing by @psychedelicious in #8200
- Nav fixes by @hipsterusername in #8201
- fix(ui): Kontext tiling bug by @hipsterusername in #8192
- flux kontext dev in UI by @maryhipp in #8188
- chore: bump version to v6.0.0rc3 by @psychedelicious in #8196
New Contributors
- @DustyShoe made their first contribution in #8153
- @jeremygooch made their first contribution in #8...
v5.15.0
Changes
- Support for AI Toolkit FLUX LoRAs. Thanks @keturn!
- Fixed
AttributeError: module 'cv2.ximgproc' has no attribute 'thinning'
error, which could occur when using Control Layers. - Added SDXL IP Adapter Plus to starter models.
- Gallery search supports image creation dates. Thanks @dunkeroni!
- Improved JSON formatting. Thanks @j-brooke!
- Fixed (hopefully) a rare
ValidationError
during generation/dequeuing, as seen in #7950. - Support for CUDA devices in slots 2 and above. Thanks @heathen711!
- Internal: Use
warning
instead ofwarn
, fixing deprecation message. Thanks @emmanuel-ferdman! - Improved memory usage behaviour, reducing peak RAM usage due to memory fragmentation.
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Make image creation dates searchable in the gallery by @dunkeroni in #8089
- Add Precise Reference to SDXL Starter Models by @hipsterusername in #8088
- fix: opencv dependency conflict by @psychedelicious in #8095
- disable publish and cancel buttons once it begins by @maryhipp in #8097
- fix(app): error on upload + resize for unusual image modes by @psychedelicious in #8096
- perf(app): reduce peak memory usage by @psychedelicious in #8090
- Migrate to modern logger interface by @emmanuel-ferdman in #8100
- fix(app): guard against possible race conditions during enqueue by @psychedelicious in #8098
- Updated fracturedjsonjs to version 4.1.0 for friendlier comma placement by @j-brooke in #8106
- feat(LoRA): support AI Toolkit LoRA for FLUX by @keturn in #8071
- chore: prep for v5.15.0 by @psychedelicious in #8104
- Update supported cuda slot input. by @heathen711 in #8107
New Contributors
- @j-brooke made their first contribution in #8106
- @heathen711 made their first contribution in #8107
Full Changelog: v5.14.0...v5.15.0
v5.14.0
Changes
- Fix error when using inpainting models. Thanks @dunkeroni!
- Fix issue where Canvas didn't fit layers to the viewport correctly.
- When fitting layers, Canvas animates the transition to the new zoom and scale to make it less jarring.
- During internal Canvas operations like compositing, a small spinner renders in the bottom-right corner of the Canvas to indicate that it is indeed doing something.
- Updated translations. Thanks @Harvester62 @RyoK0220 @hironow!
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Fix: Create Gradient Mask errors when using inpaint model by @dunkeroni in #8082
- feat(ui): canvas stage, zoom, and fit improvements by @psychedelicious in #8085
- ui: translations update from weblate by @weblate in #8080
- ui: translations update from weblate by @weblate in #8086
- chore: bump version to v5.14.0 by @psychedelicious in #8087
Full Changelog: v5.13.0...v5.14.0
v5.13.0
This release adds advanced Inpainting mask controls and a selection of other minor enhancements.
Changes
- Canvas Inpaint Masks have additional per-mask settings. Enable them via right-click menu on the mask layer. Thanks @dunkeroni for working on these very useful features!
Noise Level
adds image-space noise to the masked region before it is denoised. This can add natural variation and detail to the region. The added noise is generated using the global seed parameter as the RNG seed.Denoise Limit
caps the amount of denoising done on the masked region. You can inpaint multiple regions of the image simultaneously, but with different amounts of variation. This greatly simplifies a workflow where you want to make variations on an image, but want different parts of the image to vary more or less.
- When selecting aspect ratios, give special handling to SDXL's trained sizes to reduce artifacts. Thanks @dunkeroni!
- Improved Canvas scroll-to-zoom handling, including smoother scaling on touchpads and snapping to common zoom levels.
- Added button to pull the bbox content into an empty Control Layer.
- Added ability to delete all images from the Uncategorized board via button in its right-click menu.
- Prompt boxes remember their size.
- Support installing HF repo subfolders via Model Manager's HuggingFace tab.
- Faster Heuristic Resize algorithm, used in
New Layer from Image (Resize)
functionality. - Allow LoRA patcher to skip unknown layers instead of erroring. Thanks @keturn!
- Log a warning when a node has an unregistered output class.
- Updated Compel to get better handling for long prompts.
- Updated translations.
Installing and Updating
The Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Update manual installation for v5.12.0 by @JPPhoto in #8036
- fix(backend) add new method types to metadata by @maryhipp in #8037
- Update scaling math to land on 100% consistently. by @hipsterusername in #8043
- Fix: Don't auto-scale away from SDXL training sizes by @dunkeroni in #8042
- Enable 'pull into bounding box' from empty Control Layer by @hipsterusername in #8045
- Complex Inpaint Masks by @dunkeroni in #8035
- Update Compel to 2.1.1 and apply Sentences Split logic by @hipsterusername in #8026
- feat(ui): revised canvas scale snapping by @psychedelicious in #8050
- ui: translations update from weblate by @weblate in #8040
- chore: prep for v5.13.0rc1 by @psychedelicious in #8049
- build: test and fix pyproject classifiers by @psychedelicious in #8051
- gh: update CODEOWNERS by @psychedelicious in #8052
- Update communityNodes.md by @JPPhoto in #8055
- feat(nodes): faster heuristic resize, support resizing on upload, use it in canvas by @psychedelicious in #8057
- use onClickGoToModelManager for empty model picker by @maryhipp in #8060
- Fix: "Preserve Masked Region" for new mask compositing by @dunkeroni in #8065
- feat(ui): persist prompt box sizes by @maryhipp in #8061
- feat(LoRA): allow LoRA layer patcher to continue past unknown layers by @keturn in #8059
- feat(ui): delete all uncategorized images by @maryhipp in #8063
- feat(ui): warn on unregistered invocation output by @psychedelicious in #8056
- chore: bump version to v5.13.0rc2 by @psychedelicious in #8066
- ui: translations update from weblate by @weblate in #8058
- (Fix)(app) Delay Imports that require torch for app launch by @mickr777 in #8067
- chore: bump version to v5.13.0rc3 by @psychedelicious in #8068
- chore: prep for v5.13.0 by @psychedelicious in #8075
- ui: translations update from weblate by @weblate in #8073
- fix(mm): handle invoke syntax for HF repo ids when fetching HF model metadata by @psychedelicious in #8078
- chore(ui): update whatsnew by @psychedelicious in #8079
Full Changelog: v5.12.0...v5.13.0
v5.13.0rc3
This release adds advanced Inpainting mask controls and other minor Canvas enhancements.
Changes
- Canvas Inpaint Masks have additional per-mask settings. Enable them via right-click menu on the mask layer. Thanks @dunkeroni for working on these very useful features!
Noise Level
adds image-space noise to the masked region before it is denoised. This can add natural variation and detail to the region. The added noise is generated using the global seed parameter as the RNG seed.Denoise Limit
caps the amount of denoising done on the masked region. You can inpaint multiple regions of the image simultaneously, but with different amounts of variation. This greatly simplifies a workflow where you want to make variations on an image, but want different parts of the image to vary more or less.
- When selecting aspect ratios, give special handling to SDXL's trained sizes to reduce artifacts. Thanks @dunkeroni!
- Improved Canvas scroll-to-zoom handling, including smoother scaling on touchpads and snapping to common zoom levels.
- Added button to pull the bbox content into an empty Control Layer.
- Added ability to delete all images from the Uncategorized board via button in its right-click menu.
- Prompt boxes remember their size.
- Faster Heuristic Resize algorithm, used in
New Layer from Image (Resize)
functionality. - Allow LoRA patcher to skip unknown layers instead of erroring. Thanks @keturn!
- Log a warning when a node has an unregistered output class.
- Updated Compel to get better handling for long prompts.
- Updated translations.
Installing and Updating
The new Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Update manual installation for v5.12.0 by @JPPhoto in #8036
- fix(backend) add new method types to metadata by @maryhipp in #8037
- Update scaling math to land on 100% consistently. by @hipsterusername in #8043
- Fix: Don't auto-scale away from SDXL training sizes by @dunkeroni in #8042
- Enable 'pull into bounding box' from empty Control Layer by @hipsterusername in #8045
- Complex Inpaint Masks by @dunkeroni in #8035
- Update Compel to 2.1.1 and apply Sentences Split logic by @hipsterusername in #8026
- feat(ui): revised canvas scale snapping by @psychedelicious in #8050
- ui: translations update from weblate by @weblate in #8040
- chore: prep for v5.13.0rc1 by @psychedelicious in #8049
- build: test and fix pyproject classifiers by @psychedelicious in #8051
- gh: update CODEOWNERS by @psychedelicious in #8052
- Update communityNodes.md by @JPPhoto in #8055
- feat(nodes): faster heuristic resize, support resizing on upload, use it in canvas by @psychedelicious in #8057
- use onClickGoToModelManager for empty model picker by @maryhipp in #8060
- Fix: "Preserve Masked Region" for new mask compositing by @dunkeroni in #8065
- feat(ui): persist prompt box sizes by @maryhipp in #8061
- feat(LoRA): allow LoRA layer patcher to continue past unknown layers by @keturn in #8059
- feat(ui): delete all uncategorized images by @maryhipp in #8063
- feat(ui): warn on unregistered invocation output by @psychedelicious in #8056
- chore: bump version to v5.13.0rc2 by @psychedelicious in #8066
- ui: translations update from weblate by @weblate in #8058
- (Fix)(app) Delay Imports that require torch for app launch by @mickr777 in #8067
- chore: bump version to v5.13.0rc3 by @psychedelicious in #8068
Full Changelog: v5.12.0...v5.13.0rc3
v5.13.0rc2
This release adds advanced Inpainting mask controls and other minor Canvas enhancements.
Changes
- Canvas Inpaint Masks have additional per-mask settings. Enable them via right-click menu on the mask layer. Thanks @dunkeroni for working on these very useful features!
Noise Level
adds image-space noise to the masked region before it is denoised. This can add natural variation and detail to the region. The added noise is generated using the global seed parameter as the RNG seed.Denoise Limit
caps the amount of denoising done on the masked region. You can inpaint multiple regions of the image simultaneously, but with different amounts of variation. This greatly simplifies a workflow where you want to make variations on an image, but want different parts of the image to vary more or less.
- When selecting aspect ratios, give special handling to SDXL's trained sizes to reduce artifacts. Thanks @dunkeroni!
- Improved Canvas scroll-to-zoom handling, including smoother scaling on touchpads and snapping to common zoom levels.
- Added button to pull the bbox content into an empty Control Layer.
- Added ability to delete all images from the Uncategorized board via button in its right-click menu.
- Prompt boxes remember their size.
- Faster Heuristic Resize algorithm, used in
New Layer from Image (Resize)
functionality. - Allow LoRA patcher to skip unknown layers instead of erroring. Thanks @keturn!
- Log a warning when a node has an unregistered output class.
- Updated Compel to get better handling for long prompts.
- Updated translations.
Installing and Updating
The new Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Update manual installation for v5.12.0 by @JPPhoto in #8036
- fix(backend) add new method types to metadata by @maryhipp in #8037
- Update scaling math to land on 100% consistently. by @hipsterusername in #8043
- Fix: Don't auto-scale away from SDXL training sizes by @dunkeroni in #8042
- Enable 'pull into bounding box' from empty Control Layer by @hipsterusername in #8045
- Complex Inpaint Masks by @dunkeroni in #8035
- Update Compel to 2.1.1 and apply Sentences Split logic by @hipsterusername in #8026
- feat(ui): revised canvas scale snapping by @psychedelicious in #8050
- ui: translations update from weblate by @weblate in #8040
- chore: prep for v5.13.0rc1 by @psychedelicious in #8049
- build: test and fix pyproject classifiers by @psychedelicious in #8051
- gh: update CODEOWNERS by @psychedelicious in #8052
- Update communityNodes.md by @JPPhoto in #8055
- feat(nodes): faster heuristic resize, support resizing on upload, use it in canvas by @psychedelicious in #8057
- use onClickGoToModelManager for empty model picker by @maryhipp in #8060
- Fix: "Preserve Masked Region" for new mask compositing by @dunkeroni in #8065
- feat(ui): persist prompt box sizes by @maryhipp in #8061
- feat(LoRA): allow LoRA layer patcher to continue past unknown layers by @keturn in #8059
- feat(ui): delete all uncategorized images by @maryhipp in #8063
- feat(ui): warn on unregistered invocation output by @psychedelicious in #8056
- chore: bump version to v5.13.0rc2 by @psychedelicious in #8066
- ui: translations update from weblate by @weblate in #8058
Full Changelog: v5.12.0...v5.13.0rc2
v5.13.0rc1
This release adds advanced Inpainting mask controls and other minor Canvas enhancements.
Changes
- Canvas Inpaint Masks have additional per-mask settings. Enable them via right-click menu on the mask layer. Thanks @dunkeroni for working on these very useful features!
Noise Level
adds image-space noise to the masked region before it is denoised. This can add natural variation and detail to the region. The added noise is generated using the global seed parameter as the RNG seed.Denoise Limit
caps the amount of denoising done on the masked region. You can inpaint multiple regions of the image simultaneously, but with different amounts of variation. This greatly simplifies a workflow where you want to make variations on an image, but want different parts of the image to vary more or less.
- When selecting aspect ratios, give special handling to SDXL's trained sizes to reduce artifacts. Thanks @dunkeroni!
- Improved Canvas scroll-to-zoom handling, including smoother scaling on touchpads and snapping to common zoom levels.
- Added button to pull the bbox content into an empty Control Layer.
- Updated Compel to get better handling for long prompts.
- Updated translations.
Installing and Updating
The new Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- Update manual installation for v5.12.0 by @JPPhoto in #8036
- fix(backend) add new method types to metadata by @maryhipp in #8037
- Update scaling math to land on 100% consistently. by @hipsterusername in #8043
- Fix: Don't auto-scale away from SDXL training sizes by @dunkeroni in #8042
- Enable 'pull into bounding box' from empty Control Layer by @hipsterusername in #8045
- Complex Inpaint Masks by @dunkeroni in #8035
- Update Compel to 2.1.1 and apply Sentences Split logic by @hipsterusername in #8026
- feat(ui): revised canvas scale snapping by @psychedelicious in #8050
- ui: translations update from weblate by @weblate in #8040
- chore: prep for v5.13.0rc1 by @psychedelicious in #8049
- build: test and fix pyproject classifiers by @psychedelicious in #8051
Full Changelog: v5.12.0...v5.13.0rc1
v5.12.0
This release includes support for Nvidia 50xx GPUs, a way to relate models (e.g. LoRAs with a specific main model), new IP Adapter methods and other smaller changes..
Changes
- Bumped PyTorch dependency to v2.7.0, which means Invoke now supports Nvidia 50xx GPUs.
- New model relationship feature. In the model manager tab, you may "link" two models. At this time, the primary intended use case is to link LoRAs to main models. When you have the main model selected, the linked LoRAs will be at the top of the LoRA list. Thanks @xiaden!
- New IP Adapter methods
Style (Strong)
andStyle (Precise)
. The previous style method is renamed toStyle (Simple)
. Thanks @cubiq! - Fixed GGUF quantization on MPS. Thanks @Vargol!
- Updated translations. Thanks @Harvester62 @rikublock @Linos1391 @RyoK0220!
- Internal: Invocation model changes, which aim to reduce occurrences of
ValidationError
errors. - Internal: Addressed pydantic deprecation warning.
- Internal: Re-enabled new model classification API with safeguards.
🚨 Stricter Rules for Nodes, including Custom Nodes
This section is for node authors, whose nodes may be affected by the stricter rules.
Default values for node fields are now validated as the app starts up.
For example, this node defines my_image
as an ImageField
, but it provides a default value of None
, which is not a valid ImageField
:
@invocation("my_invocation")
class MyInvocation(BaseInvocation):
my_image: ImageField = InputField(default=None)
def invoke(self, context: InvocationContext) -> ImageOutput:
...
This node will error on app startup:
# 😱 Error on startup!
InvalidFieldError: Default value for field "my_image" on invocation "my_invocation" is invalid, 1 validation error for MyInvocation
my_image
Input should be a valid dictionary or instance of ImageField [type=model_type, input_value=None, input_type=NoneType]
There are two ways to fix this, depending on the node author's intention.
1. If the field is truly optional, update the type annotation.
Using the example invocation from above, make the type annotation for my_image
a union with None
:
@invocation("my_invocation")
class MyInvocation(BaseInvocation):
my_image: ImageField | None = InputField(default=None)
def invoke(self, context: InvocationContext) -> ImageOutput:
...
ImageField | None
is equivalent toOptional[ImageField]
. Either works.
2. If the field is not optional, remove the default or provide a valid default value.
Using the example invocation from above, simply remove default=None
:
@invocation("my_invocation")
class MyInvocation(BaseInvocation):
my_image: ImageField = InputField()
def invoke(self, context: InvocationContext) -> ImageOutput:
...
This node has an integer field that must be greater than 10, but the provided default value of 5. This will error:
@invocation("my_other_invocation")
class MyOtherInvocation(BaseInvocation):
my_number: int = InputField(default=5, gt=10)
def invoke(self, context: InvocationContext) -> IntegerOutput:
...
Either remove the default, or provide a default value greater than 10.
Installing and Updating
The new Invoke Launcher is the recommended way to install, update and run Invoke. It takes care of a lot of details for you - like installing the right version of python - and runs Invoke as a desktop application.
Follow the Quick Start guide to get started with the launcher.
If you don't want to use the launcher, or need a headless install, you can follow the manual install guide.
What's Changed
- fix(nodes): pydantic field type massaging improvements by @psychedelicious in #7984
- ui: translations update from weblate by @weblate in #7938
- Jazzhaiku/stats by @jazzhaiku in #8006
- feat(ui): model relationship management by @xiaden in #7963
- Add to overload for GGMLTensor, so calling to on the model moves the quantized data. by @Vargol in #7949
- fix(app): address pydantic deprecation warning for accessing
BaseModel.model_fields
by @psychedelicious in #8012 - chore: bump torch to 2.7.0 by @psychedelicious in #8013
- Expanded IP Adapter modes. by @hipsterusername in #8011
- ui: translations update from weblate by @weblate in #8015
- chore: prep for v5.12.0rc1 by @psychedelicious in #8014
- fix(ui): only use client-side uploads if more than one image by @maryhipp in #8016
- fix(nodes): better defaults parsing and error handling by @psychedelicious in #8018
- Re-enable classification API as fallback by @jazzhaiku in #8007
- chore: prep for v5.12.0rc2 by @psychedelicious in #8021
- update chatGPT-4o restriction to only apply to high quality by @maryhipp in #8027
- fix(nodes): transformers bug with SAM by @psychedelicious in #8030
- gh: update CODEOWNERS by @psychedelicious in #8033
- fix: improve gguf performance with torch.compile by @keturn in #8031
- feat(ui): Adds Imagen4 scaffold support by @maryhipp in #8032
- ui: translations update from weblate by @weblate in #8020
- chore: prep for v5.12.0 by @psychedelicious in #8034
New Contributors
Full Changelog: v5.11.0...v5.12.0