v5.10.0

invoke-ai/InvokeAIv5.10.0Apr 17, 2025by psychedelicious

Upgrading?

Release notes summary

Adds support for Python 3.12 and PyTorch 2.6.0, introduces CogView4 model support, and merges the Form Builder and Node Editor state for unified undo/redo functionality.

Key Highlights

  • Python 3.12 and PyTorch 2.6.0 support
  • CogView4 model support in Canvas and Workflows
  • Merged Form Builder and Node Editor logic
  • Improved undo/redo on Workflows

Breaking Changes

  • Form Builder resets on first launch after update
  • Requires repair mode during installation due to Python 3.12

New Features

  • Python 3.12 Support
  • PyTorch 2.6.0 Support
  • CogView4 Model Support
  • Unified Workflow Editing

Full Release Notes

This release focuses on internal improvements with a number of enhancements and fixes.

The biggest enhancement is support for [CogView4](https://huggingface.co/THUDM/CogView4-6B), a permissively-licensed model that is fairly close to FLUX in terms of quality.

#### 🚨 Achtung! 🚨 

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](https://github.com/user-attachments/assets/e0cecfe3-fc96-46fb-909e-b175d8a2e2b5).
    
    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](https://github.com/user-attachments/assets/45492acc-2f63-4d53-876b-17a497462178), 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.

## Python 3.12 & PyTorch 2.6.0 support

Invoke now supports Python 3.12 and PyTorch 2.6.0. Many major dependencies have also be bumped to their latest version.

## Changes

### Enhancements

- Support for [CogView4](https://huggingface.co/THUDM/CogView4-6B) in Canvas and Workflows. Like FLUX, it works best with detailed, narrative prompts. You can download the model from the Starter Models tab in the Model Manager. It's pretty chunky at ~30GB overall, with similar hardware requirements to FLUX.
- Save Canvas/Bbox to Gallery buttons now save _basic_ metadata with the image (prompts, model, seed).
- Models now have their file sizes recorded and displayed in the Model Manager. Thanks @keturn!
- New capabilities for FLUX Redux to control how much influences the generation. On Canvas, this is controlled by the new Image Influence setting for both Global and Regional Reference Images. There are more controls in Workflows. Thanks @skunkworxdark!
- Added nodes to convert metadata into collection types. Thanks @skunkworxdark!
- Improved undo/redo on Workflows.
- Updated docs. Thanks @chantellmocha!
- Updated translations. Thanks @rikublock @Harvester62 @Linos1391 @RyoK0220!

### Fixes

- Fixed error when loading workflows that has invalid edges. This can occur if an installation is missing a custom node.
- When left/right arrow keys are pressed while focused on a tab UI element, do not switch between images.
- Restored missing "Using torch device" message that should display on startup.
- ONNX models (e.g. DW OpenPose) now have their sizes calculated correctly. This fixes an issue where these models didn't work fully with the model manager.
- Fixed issue where the Canvas Color Picker didn't grab alpha values correctly.
- Fixed Canvas layer drop indicator line color (was bright red).
- Send to Canvas image actions now work when Canvas is uninitialized. For example, if the UI loads on the Workflows tab and the user has not yet clicked the Canvas tab, the Canvas will not be initialized.
- Increased padding when fitting layers to canvas to prevent the floating tool panel and other buttons from covering up the edges of the layers.
- Fixed issue where, after a Canvas reset, if no prompt is entered, generating will re-use the prompt that was last used _before_ the reset.
- Fixed issue where some network queries weren't reset correctly. This could have caused a _minor_ memory leak.

### Internal

- Support for python 3.12. This necessitates the use of repair mode during installation, as described in the 🚨 callout above.
- Bump many dependencies to latest, including torch.
- Remove many unused dependencies.
- Remove legacy scripts from the codebase.
- Ported LoRA model configs to the new classification API. This is an internal change.
- Merged workflow Form Builder and Node Editor state and logic. Undo/redo on the Workflows tab now works for both Node Editor and the Form Builder, and the way actions are grouped in the undo/redo history is improved. This causes the loss of Form Builder state on first run, as described in the 🚨 callout above. Unfortunately, there's no way to prevent this data loss without significant effort.

## 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](https://invoke-ai.github.io/InvokeAI/installation/quick_start/) 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](https://invoke-ai.github.io/InvokeAI/installation/manual/).

## What's Changed
* refactor(nodes): invocation registration logic by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7826
* fix(ui): GET presigned URLs directly instead of trying to use redirects by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7866
* Port LoRA to new classification API by @jazzhaiku in https://github.com/invoke-ai/InvokeAI/pull/7849
* Change `timm` and `controlnet-aux` pins to fix LLaVA model support by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7846
* fix(ui): error loading workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7870
* fix(ui): do not switch between images when focused on a tab element by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7865
* ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7841
* feat: workflow publishing ui by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7871
* gh: update codeowners by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7878
* feat: workflow publish followups by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7876
* Update manual.md by @chantellmocha in https://github.com/invoke-ai/InvokeAI/pull/7874
* chore: support python 3.12, torch 2.6.0, clean up build/deps by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7873
* fix(ui): fix badge for validation run by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7882
* Fix docker build and re-add missing dependency by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7884
* feat(app): restore "Using torch device" message on startup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7888
* docs: remove legacy scripts refs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7889
* feat(mm): support size calculation for onnx models by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7880
* refactor(ui): workflow unsaved changes/published state tracking by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7891
* (ui): more publishing follow-ups by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/7895
* refactor(ui): merge nodes & workflow slices by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7892
* fix(ui): normalize alpha value to 0-1 when picking color on canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7896
* Update flux_redux.py with downsampling and weight options by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/7875
* chore: prep for v5.10.0a1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7898
* ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7879
* feat(ui): save canvas/bbox to gallery saves basic metadata by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7900
* feat(ui): safer use of drawImage by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7902
* fix(ui): canvas dnd drop indicator color by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7903
* feat(ui): allow send-image-to-canvas to work when canvas is uninitialized by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7905
* feat: display model storage size by @keturn in https://github.com/invoke-ai/InvokeAI/pull/7877
* Add CogView4 model support by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7770
* ci: add check for `uv` lockfile consistency with `pyproject.toml` by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7912
* feat: publish misc by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7907
* Add uv lock check to git pre-commit by @ebr in https://github.com/invoke-ai/InvokeAI/pull/7916
* fix(ui): increase padding when fitting layers to stage by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7913
* Update metadata_linked.py with conversion to primitive collections.  by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/7915
* chore: prep for v5.10.0rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7917
* fix(app): remove accidentally committed tensor cache size by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7924
* docs: update pytorch indices by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7919
* fix(ui): ensure dynamic prompts updates on any change to any dependent state by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7920
* fix(ui): ensure query subs are reset in case of error by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7921
* fix(ui): canvas entity type disabled logic by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7927
* fix(ui): scrolling in builder by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7922
* ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7906
* chore: prep for v5.10.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7928

## New Contributors
* @chantellmocha made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7874

**Full Changelog**: https://github.com/invoke-ai/InvokeAI/compare/v5.9.1...v5.10.0

Related Repositories