Releases: invoke-ai/InvokeAI
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
v5.12.0rc2
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 more.
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!
- 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
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
New Contributors
Full Changelog: v5.11.0...v5.12.0rc2
v5.12.0rc1
This release includes support for Nvidia 50xx GPUs, a way to relate models (e.g. LoRAs with a specific main model), and new IP Adapter methods.
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!
- Internal invocation model changes, which aim to reduce occurrences of
ValidationError
errors. - Addressed pydantic deprecation warning.
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
New Contributors
Full Changelog: v5.11.0...v5.12.0rc1
v5.11.0
This release's largest change is a new and improved model drop-down component.
🚨 Achtung! 🚨
If you already updated to v5.10.0, you can skip this section. If you are on v5.9.1 or older, please review this section before updating.
There are important installation notes to be aware of in this release, which includes major updates to Invoke's core components.
-
You must use the latest installer/launcher (v1.5.0). If you’re using an older launcher version, the update may fail.
To fix this, download the latest installer/launcher from https://invoke.com/downloads.
-
If the installation fails, use repair mode to fix it.
The installation may fail due to Python environment conflicts with log messages like those in this screenshot.
To fix this, retry the installation with repair mode enabled, which will reinstall the bundled Python and resolve most installation issues.
Enable repair mode by ticking this checkbox on the Review step of the install, then click Install.
-
Form Builder reset on first launch.
When you start Invoke for the first time after updating to v5.10.0, your Form Builder will be reset, losing any unsaved changes.
Before updating, save your current workflow. After updating, re-load it manually.
Changes
- New model drop-down component, aiming to improve the user experience with selecting models. It's currently enabled only for the main model drop-down.
- Added button to reset an existing HF token to the Model Manager tab.
- Support for FLUX LoRAs trained in
invoke-training
. - Nodes that output images, including nodes that output image collections, should always update the gallery.
- Fixed issue where drag-and-drop didn't scroll when used in a scrollable container (for example, when you have a lot of layers or form builder elements).
- Internal: Updated frontend dependencies.
- Internal: Optional
output_meta
field added toBaseInvocationOutput
. This field is not currently exposed in the Workflow Editor. In the future, it may be exposed to facilitate attaching additional metadata to invocation outputs. - Internal: Support code for a generation via Imagen3/ChatGPT 4o. These API models are currently unavailable in the Community Edition, but we may be able to change that in the future.
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
- feat(ui): new model picker combobox by @psychedelicious in #7904
- fix(ui): dnd autoscroll in scrollable containers by @psychedelicious in #7955
- feat(ui): add all image outputs to gallery (including collections) by @psychedelicious in #7957
- chore(ui): bump deps by @psychedelicious in #7956
- chore: prep for v5.11.0rc1 by @psychedelicious in #7966
- add optional output_metadata to baseinvocation by @maryhipp in #7958
- feat: support for commercial imagen3 node by @psychedelicious in #7967
- add gpt-image to possible base model types by @maryhipp in #7970
- fix(ui): toast typo by @psychedelicious in #7971
- change base model for chatGPT 4o by @maryhipp in #7972
- Maryhipp/chatgpt UI by @maryhipp in #7969
- docs: fix Contribute node import error by @ubansi in #7968
- feat(ui): chatgpt ref images & img2img by @psychedelicious in #7974
- send the list of reference images reversed to chatGPT so it matches displayed order by @maryhipp in #7978
- feat(ui): ability to disable generating with API models by @maryhipp in #7979
- feat(ui): iterate on combobox component, model picker by @psychedelicious in #7975
- feat(ui): show unsupported gen mode toasts as warnings intead of errors by @psychedelicious in #7982
- fix(ui): always add selectModelsTab hotkey data to prevent unhandled exception while registering the hotkey handler by @psychedelicious in #7981
- add prompt validation of at least one character to imagen3 graph by @maryhipp in #7983
- fix: deprecation warning in get_iso_timestamp by @blessedcoolant in #7953
- feat: UI to reset HF token by @psychedelicious in #7988
- chore: prep for v5.11.0rc2 by @psychedelicious in #7990
- Implementing support for Non-Standard LoRA Format by @hipsterusername in #7985
- display credit column in queue list if shouldShowCredits is true by @maryhipp in #7991
- add credits to queue item status changed by @maryhipp in #7993
- feat: support usage_info, chatgpt/imagen3 model fields by @psychedelicious in #7994
- Change feature to disable
apiModels
tochatGPT4oModels
only by @maryhipp in #7996 - use the max for iterations passed in by @maryhipp in #7998
- refetch queue list on mount by @maryhipp in #7999
- easier way to override Whats New by @maryhipp in #8000
- feat(ui): custom error toast support by @maryhipp in #8001
- feat(nodes): support bottleneck flag for nodes by @psychedelicious in #8003
- chore: prep for v5.11.0 by @psychedelicious in #7995
New Contributors
Full Changelog: v5.10.1...v5.11.0
v5.11.0rc2
🚨 Achtung! 🚨
If you already updated to v5.10.0, you can skip this section. If you are on v5.9.1 or older, please review this section before updating.
There are important installation notes to be aware of in this release, which includes major updates to Invoke's core components.
-
You must use the latest installer/launcher (v1.5.0). If you’re using an older launcher version, the update may fail.
To fix this, download the latest installer/launcher from https://invoke.com/downloads.
-
If the installation fails, use repair mode to fix it.
The installation may fail due to Python environment conflicts with log messages like those in this screenshot.
To fix this, retry the installation with repair mode enabled, which will reinstall the bundled Python and resolve most installation issues.
Enable repair mode by ticking this checkbox on the Review step of the install, then click Install.
-
Form Builder reset on first launch.
When you start Invoke for the first time after updating to v5.10.0, your Form Builder will be reset, losing any unsaved changes.
Before updating, save your current workflow. After updating, re-load it manually.
Changes
- New model combobox component, aiming to improve the user experience with selecting models. It's currently enabled only for the main model drop-down.
- Added button to reset an existing HF token to the Model Manager tab.
- Support for FLUX LoRAs trained in
invoke-training
. - Nodes that output images, including nodes that output image collections, should always update the gallery.
- Fixed issue where drag-and-drop didn't scroll when used in a scrollable container (for example, when you have a lot of layers or form builder elements).
- Internal: Updated frontend dependencies.
- Internal: Optional
output_meta
field added toBaseInvocationOutput
. This field is not currently exposed in the Workflow Editor. In the future, it may be exposed to facilitate attaching additional metadata to invocation outputs. - Internal: Support code for a generation via Imagen3/ChatGPT 4o. These API models are currently unavailable in the Community Edition, but we may be able to change that in the future.
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
- feat(ui): new model picker combobox by @psychedelicious in #7904
- fix(ui): dnd autoscroll in scrollable containers by @psychedelicious in #7955
- feat(ui): add all image outputs to gallery (including collections) by @psychedelicious in #7957
- chore(ui): bump deps by @psychedelicious in #7956
- chore: prep for v5.11.0rc1 by @psychedelicious in #7966
- add optional output_metadata to baseinvocation by @maryhipp in #7958
- feat: support for commercial imagen3 node by @psychedelicious in #7967
- add gpt-image to possible base model types by @maryhipp in #7970
- fix(ui): toast typo by @psychedelicious in #7971
- change base model for chatGPT 4o by @maryhipp in #7972
- Maryhipp/chatgpt UI by @maryhipp in #7969
- docs: fix Contribute node import error by @ubansi in #7968
- feat(ui): chatgpt ref images & img2img by @psychedelicious in #7974
- send the list of reference images reversed to chatGPT so it matches displayed order by @maryhipp in #7978
- feat(ui): ability to disable generating with API models by @maryhipp in #7979
- feat(ui): iterate on combobox component, model picker by @psychedelicious in #7975
- feat(ui): show unsupported gen mode toasts as warnings intead of errors by @psychedelicious in #7982
- fix(ui): always add selectModelsTab hotkey data to prevent unhandled exception while registering the hotkey handler by @psychedelicious in #7981
- add prompt validation of at least one character to imagen3 graph by @maryhipp in #7983
- fix: deprecation warning in get_iso_timestamp by @blessedcoolant in #7953
- feat: UI to reset HF token by @psychedelicious in #7988
- chore: prep for v5.11.0rc2 by @psychedelicious in #7990
- Implementing support for Non-Standard LoRA Format by @hipsterusername in #7985
New Contributors
Full Changelog: v5.10.1...v5.11.0rc2
v5.11.0rc1
🚨 Achtung! 🚨
If you already updated to v5.10.0, you can skip this section. If you are on v5.9.1 or older, please review this section before updating.
There are important installation notes to be aware of in this release, which includes major updates to Invoke's core components.
-
You must use the latest installer/launcher (v1.5.0). If you’re using an older launcher version, the update may fail.
To fix this, download the latest installer/launcher from https://invoke.com/downloads.
-
If the installation fails, use repair mode to fix it.
The installation may fail due to Python environment conflicts with log messages like those in this screenshot.
To fix this, retry the installation with repair mode enabled, which will reinstall the bundled Python and resolve most installation issues.
Enable repair mode by ticking this checkbox on the Review step of the install, then click Install.
-
Form Builder reset on first launch.
When you start Invoke for the first time after updating to v5.10.0, your Form Builder will be reset, losing any unsaved changes.
Before updating, save your current workflow. After updating, re-load it manually.
Changes
- New model combobox component, aiming to improve the user experience with selecting models. It's currently enabled only for the main model drop-down, but we will enable it for other model fields prior to the stable release.
- Nodes that output images, including nodes that output image collections, should always update the gallery.
- Fixed issue where drag-and-drop didn't scroll when used in a scrollable container (for example, when you have a lot of layers or form builder elements).
- Internal: Updated frontend dependencies.
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
- feat(ui): new model picker combobox by @psychedelicious in #7904
- fix(ui): dnd autoscroll in scrollable containers by @psychedelicious in #7955
- feat(ui): add all image outputs to gallery (including collections) by @psychedelicious in #7957
- chore(ui): bump deps by @psychedelicious in #7956
- chore: prep for v5.11.0rc1 by @psychedelicious in #7966
Full Changelog: v5.10.1...v5.11.0rc1
v5.10.1
🚨 Achtung! 🚨
If you already updated to v5.10.0, you can skip this section. If you are on v5.9.1 or older, please review this section before updating.
There are important installation notes to be aware of in this release, which includes major updates to Invoke's core components.
-
You must use the latest installer/launcher (v1.5.0). If you’re using an older launcher version, the update may fail.
To fix this, download the latest installer/launcher from https://invoke.com/downloads.
-
If the installation fails, use repair mode to fix it.
The installation may fail due to Python environment conflicts with log messages like those in this screenshot.
To fix this, retry the installation with repair mode enabled, which will reinstall the bundled Python and resolve most installation issues.
Enable repair mode by ticking this checkbox on the Review step of the install, then click Install.
-
Form Builder reset on first launch.
When you start Invoke for the first time after updating to v5.10.0, your Form Builder will be reset, losing any unsaved changes.
Before updating, save your current workflow. After updating, re-load it manually.
Changes
- Support partial loading for LLaVA and SigLIP (FLUX Redux) models, reducing VRAM requirements for users with Nvidia GPUs.
- Reduce peak CPU RAM usage during initial load of LLaVA and SigLIP models. This allows users with at least 24GB CPU RAM to run the LLaVA 7B model without crashing during load. With partial loading now working for the model, most users should be able to run the model - though it can take a few minutes if you don't have a GPU with 24GB VRAM.
- Revert a recent change to model installation, which could result in some models being misidentified as LoRAs.
- The data viewer component, used to display JSON (e.g. metadata, workflows, node outputs) now wraps lines.
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
- feat(ui): wrap JSON in dataviewer by @psychedelicious in #7930
- fix(mm): partial loading for LLaVA and SigLIP models, hard crash on initial load by @psychedelicious in #7929
- fix(mm): disable new model probe API by @psychedelicious in #7940
- chore: bump version to v5.10.1 by @psychedelicious in #7941
Full Changelog: v5.10.0...v5.10.1