Skip to content

Releases: invoke-ai/InvokeAI

v5.13.0rc3

30 May 11:53
Compare
Choose a tag to compare
v5.13.0rc3 Pre-release
Pre-release

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

Full Changelog: v5.12.0...v5.13.0rc3

v5.13.0rc2

30 May 05:40
Compare
Choose a tag to compare
v5.13.0rc2 Pre-release
Pre-release

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

Full Changelog: v5.12.0...v5.13.0rc2

v5.13.0rc1

27 May 12:23
Compare
Choose a tag to compare
v5.13.0rc1 Pre-release
Pre-release

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

Full Changelog: v5.12.0...v5.13.0rc1

v5.12.0

22 May 04:59
Compare
Choose a tag to compare

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) and Style (Precise). The previous style method is renamed to Style (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 to Optional[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

New Contributors

Full Changelog: v5.11.0...v5.12.0

v5.12.0rc2

21 May 07:32
Compare
Choose a tag to compare
v5.12.0rc2 Pre-release
Pre-release

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) and Style (Precise). The previous style method is renamed to Style (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 to Optional[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

New Contributors

Full Changelog: v5.11.0...v5.12.0rc2

v5.12.0rc1

19 May 13:46
Compare
Choose a tag to compare
v5.12.0rc1 Pre-release
Pre-release

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) and Style (Precise). The previous style method is renamed to Style (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

New Contributors

Full Changelog: v5.11.0...v5.12.0rc1

v5.11.0

13 May 04:23
Compare
Choose a tag to compare

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.

  1. 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.

  2. 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.

  3. 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 to BaseInvocationOutput. 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

New Contributors

Full Changelog: v5.10.1...v5.11.0

v5.11.0rc2

05 May 13:52
1f63b60
Compare
Choose a tag to compare
v5.11.0rc2 Pre-release
Pre-release

🚨 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.

  1. 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.

  2. 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.

  3. 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 to BaseInvocationOutput. 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

New Contributors

Full Changelog: v5.10.1...v5.11.0rc2

v5.11.0rc1

28 Apr 00:36
Compare
Choose a tag to compare
v5.11.0rc1 Pre-release
Pre-release

🚨 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.

  1. 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.

  2. 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.

  3. 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

Full Changelog: v5.10.1...v5.11.0rc1

v5.10.1

19 Apr 07:45
Compare
Choose a tag to compare

🚨 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.

  1. 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.

  2. 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.

  3. 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

Full Changelog: v5.10.0...v5.10.1