Releases
InvokeAI Version 3.0.1
InvokeAI Version 3.0.1
InvokeAI is a leading creative engine built to empower professionals and enthusiasts alike. Generate and create stunning visual media using the latest AI-driven technologies. InvokeAI offers an industry leading Web Interface, interactive Command Line Interface, and also serves as the foundation for multiple commercial products.
InvokeAI version 3.0.1 adds support for rendering with Stable Diffusion XL Version 1.0 directly in the Text2Image and Image2Image panels, as well as many internal changes.
- What’s New
- Installation and Upgrading
- Getting Started with SDXL
- Known Bugs
- Getting Help
- Contributing
- Detailed Change Log
To learn more about InvokeAI, please see our Documentation Pages.
What’s New in v3.0.1
- Stable Diffusion XL support in the Text2Image and Image2Image (but not the Unified Canvas).
- Can install and run both diffusers-style and .safetensors-style SDXL models.
- Download Stable Diffusion XL 1.0 (base and refiner) using the model installer or the Web UI-based Model Manager
- Invisible watermarking, which is recommended for use with Stable Diffusion XL, is now available as an option in the Web UI settings dialogue.
- The NSFW detector, which was missing in 3.0.0, is again available. It can be activated as an option in the settings dialogue.
- During initial installation, a set of recommended ControlNet, LoRA and Textual Inversion embedding files will now be downloaded and installed by default, along with several “starter” main models.
- User interface cleanup to reduce visual clutter and increase usability.
Recent Changes
Since RC3, the following has changed:
- Fixed crash on Macintosh M1 machines when rendering SDXL images
- Fixed black images when generating on Macintoshes using the Unipc scheduler (falls back to CPU; slow)
Since RC2, the following has changed:
- Added compatibility with Python 3.11
- Updated diffusers to 0.19.0
- Cleaned up console logging - can now change logging level as described in the docs
- Added download of an updated SDXL VAE “sdxl-vae-fix” that may correct certain image artifacts in SDXL-1.0 models
- Prevent web crashes during certain resize operations
Developer changes:
- Reformatted the whole code base with the “black” tool for a consistent coding style
- Add pre-commit hooks to reformat committed code on the fly
Installation / Upgrading
Installing using the InvokeAI zip file installer
To install 3.0.1 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
If you have an earlier version of InvokeAI installed, we strongly recommend that you install into a new directory, such as invokeai-3 instead of the previously-used invokeai directory. We provide a script that will let you migrate your old models and settings into the new directory, described below.
Upgrading in place
All users can upgrade from 3.0.0 using the launcher’s “upgrade” facility. If you are on a Linux or Macintosh, you may also upgrade a 2.3.2 or higher version of InvokeAI to 3.0 using this recipe, but upgrading from 2.3 will not work on Windows due to a 2.3.5 bug (see workaround below):
- Enter the root directory you wish to upgrade
- Launch
invoke.shorinvoke.bat - Select the
upgrademenu option [9] - Select “Manually enter the tag name for the version you wish to update to” option [3]
- Select option [1] to upgrade to the latest version.
- When the upgrade is complete, the main menu will reappear. Choose “rerun the configure script to fix a broken install” option [7]
Windows users can instead follow this recipe:
- Enter the 2.3 root directory you wish to upgrade
- Launch
invoke.shorinvoke.bat - Select the “Developer’s console” option [8]
- Type the following commands:
pip install "invokeai @ https://github.com/invoke-ai/InvokeAI/archive/refs/tags/v3.0.1.zip" --use-pep517 --upgradeinvokeai-configure --root .This will produce a working 3.0 directory. You may now launch the WebUI in the usual way, by selecting option [1] from the launcher script
After you have confirmed everything is working, you may remove the following backup directories and files:
- invokeai.init.orig
- models.orig
- configs/models.yaml.orig
- embeddings
- loras
To get back to a working 2.3 directory, rename all the ‘*.orig” files and directories to their original names (without the .orig), run the update script again, and select [1] “Update to the latest official release”.
What to do if problems occur during the install
Due to the large number of Python libraries that InvokeAI requires, as well as the large size of the newer SDXL models, you may experience glitches during the install process. This particularly affects Windows users. Please see the Installation Troubleshooting Guide for solutions.
Migrating models and settings from a 2.3 InvokeAI root directory to a 3.0 directory
We provide a script, invokeai-migrate3, which will copy your models and settings from a 2.3-format root directory to a new 3.0 directory. To run it, execute the launcher and select option [8] “Developer’s console”. This will take you to a new command line interface. On the command line, type:
invokeai-migrate3 --from <path to 2.3 directory> --to <path to 3.0 directory>Provide the old and new directory names with the --from and --to arguments respectively. This will migrate your models as well as the settings inside invokeai.init. You may provide the same --from and --to directories in order ot upgrade a 2.3 root directory in place. (The original models and configuration files will be backed up.)
Upgrading using pip
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using:
pip install --use-pep517 --upgrade InvokeAIinvokeai-configure --skip-sd-weightsYou may specify a particular version by adding the version number to the command, as in:
pip install --use-pep517 --upgrade InvokeAI==3.0.1invokeai-configure --skip-sd-weightsImportant: After doing the pip install, it is necessary to invokeai-configure in order to download new core models needed to load and convert Stable Diffusion XL .safetensors files. The web server will refuse to start if you do not do so.
Getting Started with SDXL
Stable Diffusion XL (SDXL) is the latest generation of StabilityAI’s image generation models, capable of producing high quality 1024x1024 photorealistic images as well as many other visual styles. SDXL comes with two models, a “base” model that generates the initial image, and a “refiner” model that takes the initial image and improves on it in an img2img manner. In many cases, just the base model will give satisfactory results.
To download the base and refiner SDXL models, you have several options:
- Select option [5] from the
invoke.batlauncher script, and select the base model, and optionally the refiner, from the checkbox list of “starter” models. - Use the Web’s Model Manager to select “Import Models” and when prompted provide the HuggingFace repo_ids for the two models:
- stabilityai/stable-diffusion-xl-base-1.0
- stabilityai/stable-diffusion-xl-refiner-1.0 (note that these are preliminary IDs - these notes are being written before the SDXL release)
- Download the models manually and cut and paste their paths into the Location field in “Import Models”
Also be aware that SDXL requires at 6-8 GB of VRAM in order to render 1024x1024 images and a minimum of 16 GB of RAM. For best performance, we recommend the following settings in invokeai.yaml:
precision: float16max_cache_size: 12.0max_vram_cache_size: 0.0Users with 12 GB or more VRAM can reduce the time waiting for the image to start generating by setting max_vram_cache_size to 6 GB or higher.
Known Bugs in 3.0
This is a list of known bugs in 3.0.1 as well as features that are planned for inclusion in later releases:
- Variant generation was not fully functional and did not make it into the release. It will be added in the next point release.
- Perlin noise and symmetrical tiling were not widely used and have been removed from the feature set.
- Face restoration is no longer needed due to the improvent in recent SD 1.x, 2.x and XL models and has been removed from the feature set.
- High res optimization has been removed from the basic user interface as we experiment with better ways to achieve good results with nodes. However, you will find several community-contributed high-res optimization pipelines in the Community Nodes Discord channel at https://discord.com/channels/1020123559063990373/1130291608097661000 for use with the experimental Node Editor.
- There is no easy way to import a directory of version 2.3 generated images into the 3.0 gallery while preserving metadata. We hope to provide an import script in the not so distant future.
Getting Help
For support, please use this repository’s GitHub Issues tracking service, or join our Discord.
Contributing
As a community-supported project, we rely on volunteers and enthusiasts for continued innovation and polish. Everything from minor documentation fixes to major feature additions are welcome. To get started as a contributor, please see How to Contribute.
What’s Changed
- fix: mps attention fix for sd2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3874
- Warn, do not crash, when duplicate models encountered by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3877
- Update communityNodes.md by @ymgenesis in https://github.com/invoke-ai/InvokeAI/pull/3876
- Update communityNodes.md by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/3873
- ui: pay back tech debt by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3896
- Fix ‘Del’ hotkey to delete current image by @zopieux in https://github.com/invoke-ai/InvokeAI/pull/3904
- fix: Fix app crashing when you upload an incorrect JSON to node editor by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3911
- feat: increase seed from int32 to uint32 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3933
- fix: Generate random seed using the generator instead of RandomState by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3940
- Add missing import by @zopieux in https://github.com/invoke-ai/InvokeAI/pull/3917
- Fix incorrect use of a singleton list by @zopieux in https://github.com/invoke-ai/InvokeAI/pull/3914
- feat(nodes,ui): fix soft locks on session/invocation retrieval by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3910
- feat(ui): display canvas generation mode in status text by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3915
- docs generation: fix typo and remove trailing white space by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/3972
- add option to disable model syncing in UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3992
- docs/features/NODES.md - Fix image links by @ymgenesis in https://github.com/invoke-ai/InvokeAI/pull/3969
- Update stale issues action by @Millu in https://github.com/invoke-ai/InvokeAI/pull/3960
- feat: Add SDXL To Linear UI by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3973
- [Nodes/Temp fix] for is intermediate switch for l2i by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3997
- 3.0.1 - Pre-Release UI Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4001
- Add support for controlnet & sdxl checkpoint conversion by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3905
- feat: :sparkles: consolidated app nav to settings & dropdown by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/4000
- NSFW checker and watermark nodes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3923
- Download all model types. by @camenduru in https://github.com/invoke-ai/InvokeAI/pull/3944
- enable hide localization toggle by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/4004
- feat: SDXL - Concat Prompt and Style for Style Prompt by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4005
- Bugfix/checkpoint conversion by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4010
- fix: Metadata Not Being Saved by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4009
- Documentation updates for SDXL license terms, invisible watermark by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4012
- Rework configure/install TUI to require less space by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3989
- Configure script should not overwrite models.yaml if it is well formed by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4019
- install SDXL “fixed” VAE by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4020
- Restore ability to convert SDXL checkpoints to diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4021
- PR for 3.0.1 release by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3998
- Dev/black by @lillekemiker in https://github.com/invoke-ai/InvokeAI/pull/3840
- prevent resize error by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/4031
- Support Python 3.11 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3966
- feat: Upgrade Diffusers to 0.19.0 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4011
- Unify uvicorn and backend logging by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4034
- Add LoRAs to the model manager by @zopieux in https://github.com/invoke-ai/InvokeAI/pull/3902
- feat: Unify Promp Area Styling by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4033
- Update troubleshooting guide with ~ydantic and SDXL unet issue advice by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4054
- fix: Concat Link Styling by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/4048
- bugfix: Float64 error for mps devices on set_timesteps by @ZachNagengast in https://github.com/invoke-ai/InvokeAI/pull/4040
- Release 3.0.1 release candidate 3 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/4025
New Contributors
- @zopieux made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3904
- @joshistoast made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3972
- @camenduru made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3944
- @ZachNagengast made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/4040
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v3.0.0…v3.0.1
Source code and previous installer files
The files below include the InvokeAI installer zip file, the full source code, and previous release candidates for 3.0.1
InvokeAI 3.0.0
InvokeAI Version 3.0.0
InvokeAI is a leading creative engine built to empower professionals and enthusiasts alike. Generate and create stunning visual media using the latest AI-driven technologies. InvokeAI offers an industry leading Web Interface, interactive Command Line Interface, and also serves as the foundation for multiple commercial products.
InvokeAI version 3.0.0 represents a major advance in functionality and ease compared with the last official release, 2.3.5.
- What’s New
- Installation and Upgrading
- Getting Started with SDXL
- Known Bugs
- Getting Help
- Contributing
- Detailed Change Log
Please use the 3.0.0 release discussion thread, for comments on this version, including feature requests, enhancement suggestions and other non-critical issues. Report bugs to InvokeAI Issues. For interactive support with the development team, contributors and user community, you are invited join the InvokeAI Discord Server.
To learn more about InvokeAI, please see our Documentation Pages.
What’s New in v3.0.0
Quite a lot has changed, both internally and externally.
Web User Interface:
- A ControlNet interface that gives you fine control over such things as the posture of figures in generated images by providing an image that illustrates the end result you wish to achieve.
- A Dynamic Prompts interface that lets you generate combinations of prompt elements.
- Preliminary support for Stable Diffusion XL the latest iteration of Stability AI’s image generation models.
- A redesigned user interface which makes it easier to access frequently-used elements, such as the random seed generator.
- The ability to create multiple image galleries, allowing you to organize your generated images topically or chronologically.
- An experimental Nodes Editor that lets you design and execute complex image generation operations using a point-and-click interface. To activate this, please use the settings icon at the upper right of the Web UI.
- Macintosh users can now load models at half-precision (float16) in order to reduce the amount of RAM.
- Advanced users can choose earlier CLIP layers during generation to produce a larger variety of images.
- Long prompt support (>77 tokens).
- Memory and speed improvements.
The WebUI can now be launched from the command line using either invokeai-web (preferred new way) or invokeai --web (deprecated old way).
Command Line Tool
The previous command line tool has been removed and replaced with a new developer-oriented tool invokeai-node-cli that allows you to experiment with InvokeAI nodes.
Installer
The console-based model installer, invokeai-model-install has been redesigned and now provides tabs for installing checkpoint models, diffusers models, ControlNet models, LoRAs, and Textual Inversion embeddings. You can install models stored locally on disk, or install them using their web URLs or Repo_IDs.
Internal
Internally the code base has been completely rewritten to be much easier to maintain and extend. Importantly, all image generation options are now represented as “nodes”, which are small pieces of code that transform inputs into outputs and can be connected together into a graph of operations. Generation and image manipulation operations can now be easily extended by writing a new InvokeAI nodes.
Installation / Upgrading
Installing using the InvokeAI zip file installer
To install 3.0.0 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
If you have an earlier version of InvokeAI installed, we strongly recommend that you install into a new directory, such as invokeai-3 instead of the previously-used invokeai directory. We provide a script that will let you migrate your old models and settings into the new directory, described below.
Upgrading in place
All users can upgrade from the 3.0 beta releases using the launcher’s “upgrade” facility. If you are on a Linux or Macintosh, you may also upgrade a 2.3.2 or higher version of InvokeAI to 3.0 using this recipe, but upgrading from 2.3 will not work on Windows due to a 2.3.5 bug (see workaround below):
- Enter the 2.3 root directory you wish to upgrade
- Launch
invoke.shorinvoke.bat - Select the
upgrademenu option [9] - Select “Manually enter the tag name for the version you wish to update to” option [3]
- Select option [1] to upgrade to the latest version.
- When the upgrade is complete, the main menu will reappear. Choose “rerun the configure script to fix a broken install” option [7]
Windows users can instead follow this recipe:
- Enter the 2.3 root directory you wish to upgrade
- Launch
invoke.shorinvoke.bat - Select the “Developer’s console” option [8]
- Type the following command:
pip install "invokeai @ https://github.com/invoke-ai/InvokeAI/archive/refs/tags/v3.0.0.zip" --use-pep517 --upgradeThis will produce a working 3.0 directory. You may now launch the WebUI in the usual way, by selecting option [1] from the launcher script
After you have confirmed everything is working, you may remove the following backup directories and files:
- invokeai.init.orig
- models.orig
- configs/models.yaml.orig
- embeddings
- loras
To get back to a working 2.3 directory, rename all the ‘*.orig” files and directories to their original names (without the .orig), run the update script again, and select [1] “Update to the latest official release”.
Migrating models and settings from a 2.3 InvokeAI root directory to a 3.0 directory
We provide a script, invokeai-migrate3, which will copy your models and settings from a 2.3-format root directory to a new 3.0 directory. To run it, execute the launcher and select option [8] “Developer’s console”. This will take you to a new command line interface. On the command line, type:
invokeai-migrate3 --from <path to 2.3 directory> --to <path to 3.0 directory>Provide the old and new directory names with the --from and --to arguments respectively. This will migrate your models as well as the settings inside invokeai.init. You may provide the same --from and --to directories in order ot upgrade a 2.3 root directory in place. (The original models and configuration files will be backed up.)
Upgrading using pip
Once 3.0.0 is released, developers and power users can upgrade to the current version by activating the InvokeAI environment and then using:
pip install --use-pep517 --upgrade InvokeAIYou may specify a particular version by adding the version number to the command, as in:
pip install --use-pep517 --upgrade InvokeAI==3.0.0To upgrade to an xformers version if you are not currently using xformers, use:
pip install --use-pep517 --upgrade InvokeAI[xformers]You can see which versions are available by going to The PyPI InvokeAI Project Page
Getting Started with SDXL
Stable Diffusion XL (SDXL) is the latest generation of StabilityAI’s image generation models, capable of producing high quality 1024x1024 photorealistic images as well as many other visual styles. As of the current time (July 2023) SDXL had not been officially released, but a pre-release 0.9 version is widely available. InvokeAI provides support for SDXL image generation via its Nodes Editor, a user interface that allows you to create and customize complex image generation pipelines using a drag-and-drop interface. Currently SDXL generation is not directly supported in the text2image, image2image, and canvas panels, but we expect to add this feature as soon as SDXL 1.0 is officially released.
SDXL comes with two models, a “base” model that generates the initial image, and a “refiner” model that takes the initial image and improves on it in an img2img manner. For best results, the initial image is handed off from the base to the refiner before all the denoising steps are complete. It is not clear whether SDXL 1.0, when it is released, will require the refiner.
To experiment with SDXL, you’ll need the “base” and “refiner” models. Currently a beta version of SDXL, version 0.9, is available from HuggingFace for research purposes. To obtain access, you will need to register with HF at https://huggingface.co/join, obtain an access token at https://huggingface.co/settings/tokens, and add the access token to your environment. To do this, run the InvokeAI launcher script, activate the InvokeAI virtual environment with option [8], and type the command huggingface-cli login. Paste in your access token from HuggingFace and hit return (the token will not be echoed to the screen). Alternatively, select launcher option [6] “Change InvokeAI startup options” and paste the HF token into the indicated field.
Now navigate to https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9 and fill out the access request form for research use. You will be granted instant access to download. Next launch the InvokeAI console-based model installer by selecting launcher option [5] or by activating the virtual environment and giving the command invokeai-model-install. In the STARTER MODELS section, select the checkboxes for stable-diffusion-xl-base-0-9 and stable-diffusion-xl-refiner-0-9. Press Apply Changes to install the models and keep the installer running, or Apply Changes and Exit to install the models and exit back to the launcher menu.
Alternatively you can install these models from the Web UI Model Manager (cube at the bottom of the left-hand panel) and navigate to Import Models. In the field labeled Location type in the repo id of the base model, which is stabilityai/stable-diffusion-xl-base-0.9. Press Add Model and wait for the model to download and install. After receiving confirmation that the model installed, repeat with stabilityai/stable-diffusion-xl-refiner-0.9.
Note that these are large models (12 GB each) so be prepared to wait a while.
To use the installed models you will need to activate the Node Editor, an advanced feature of InvokeAI. Go to the Settings (gear) icon on the upper right of the Web interface, and activate “Enable Nodes Editor”. After reloading the page, an inverted “Y” will appear on the left-hand panel. This is the Node Editor.
Enter the Node Editor and click the Upload button to upload either the SDXL base-only or SDXL base+refiner pipelines (right click to save these .json files to disk). This will load and display a flow diagram showing the (many complex) steps in generating an SDXL image.
Ensure that the SDXL Model Loader (leftmost column, bottom) is set to load the SDXL base model on your system, and that the SDXL Refiner Model Loader (third column, top) is set to load the SDXL refiner model on your system. Find the nodes that contain the example prompt and style (“bluebird in a sakura tree” and “chinese classical painting”) and replace them with the prompt and style of your choice. Then press the Invoke button. If all goes well, an image will eventually be generated and added to the image gallery. Unlike standard rendering, intermediate images are not (yet) displayed during rendering.
Be aware that SDXL support is an experimental feature and is not 100% stable. When designing your own SDXL pipelines, be aware that there are certain settings that will have a disproportionate effect on image quality. In particular, the latents decode VAE step must be run at fp32 precision (using a slider at the bottom of the VAE node), and that images will change dramatically as the denoising threshold used by the refiner is adjusted.
Also be aware that SDXL requires at 6-8 GB of VRAM in order to render 1024x1024 images and a minimum of 16 GB of RAM. For best performance, we recommend the following settings in invokeai.yaml:
precision: float16max_cache_size: 12.0max_vram_cache_size: 0.0Known Bugs in 3.0
This is a list of known bugs in 3.0 as well as features that are planned for inclusion in later releases:
- On Macintoshes with MPS, Stable Diffusion 2 models will not render properly. This will be corrected in the next point release.
- Variant generation was not fully functional and did not make it into the release. It will be added in the next point release.
- Perlin noise and symmetrical tiling were not widely used and have been removed from the feature set.
- Face restoration is no longer needed due to the improvent in recent SD 1.x, 2.x and XL models and has been removed from the feature set.
- High res optimization has been removed from the basic user interface as we experiment with better ways to achieve good results with nodes. However, you will find several community-contributed high-res optimization pipelines in the Community Nodes Discord channel at https://discord.com/channels/1020123559063990373/1130291608097661000 for use with the experimental Node Editor.
- There is no easy way to import a directory of version 2.3 generated images into the 3.0 gallery while preserving metadata. We hope to provide an import script in the not so distant future.
- The NSFW checker (blurs explicit images) is currently disabled but will be reenabled in time for the next release.
Getting Help
For support, please use this repository’s GitHub Issues tracking service, or join our Discord.
Contributing
As a community-supported project, we rely on volunteers and enthusiasts for continued innovation and polish. Everything from minor documentation fixes to major feature additions are welcome. To get started as a contributor, please see How to Contribute.
What’s Changed Since 2.3.5
- doc(invoke_ai_web_server): put docstrings inside their functions by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2816
- perf(invoke_ai_web_server): encode intermediate result previews as jpeg by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2817
- Split requirements / pyproject installation in Dockerfile by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2815
- add a workflow to close stale issues by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2808
- [nodes] Add better error handling to processor and CLI by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2828
- fix newlines causing negative prompt to be parsed incorrectly by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2837
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/2850
- Final phase of source tree restructure by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2833
- Fix for txt2img2img.py by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/2856
- Protect invocations against black autoformatting by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2854
- fix broken scripts by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2857
- deps: upgrade to diffusers 0.14, safetensors 0.3, transformers 4.26, accelerate 0.16 by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2865
- remove legacy ldm code by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2866
- fix Dockerfile after restructure by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2863
- [ui]: migrate all styling to chakra-ui theme by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2814
- Migrate to new HF diffusers cache location by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2867
- Bugfix/reenable ckpt conversion to ram by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2868
- add .git-blame-ignore-revs file to maintain provenance by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2855
- migrate to new diffusers model layout by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2871
- support both epsilon and v-prediction v2 inference by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2870
- feat(ui): migrate theming to chakra ui by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2873
- add missing package by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/2878
- Fixed startup issues with the web UI. by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2876
- [cli] Update CLI to define commands as Pydantic objects by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2861
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/2882
- ui: update readme & scripts by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2884
- build: update actions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2883
- Make img2img strength 1 behave the same as txt2img by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2895
- decouple default component from react root by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/2897
- [cli] Execute commands in-order with nodes by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2901
- add back pytorch-lightning dependency by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2899
- [ui] chore(Accessibility): various additions by @ElrikUnderlake in https://github.com/invoke-ai/InvokeAI/pull/2888
- Bypass the 77 token limit by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2896
- Remove label from stale issues on comment event by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2903
- Revert “Remove label from stale issues on comment event” by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2912
- backend: more post-ldm-removal cleanup by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2911
- Make sure command also works with Oh-my-zsh by @patrickvonplaten in https://github.com/invoke-ai/InvokeAI/pull/2905
- FIX bug that caused black images when converting ckpts to diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2914
- Chore/accessibility add all aria labels to translation by @ElrikUnderlake in https://github.com/invoke-ai/InvokeAI/pull/2919
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/2922
- raise operations-per-run for issue workflow to 500 by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2925
- build: exclude ui from
test-invoke-pipby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2892 - Remove image generation node dependencies on generate.py by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2902
- [ui]: add resizable pinnable drawer component by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2874
- [fix] Get the model again if current model is empty by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2938
- [nodes-api] Fix API generation to correctly reference outputs by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2939
- [nodes] Fixes calls into image to image and inpaint from nodes by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2940
- Fix bug #2931 by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2942
- chore(UI, accessibility): Icons. Header links & radio button by @ElrikUnderlake in https://github.com/invoke-ai/InvokeAI/pull/2935
- add additional build mode by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/2904
- fix —png_compression command line argument by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2950
- Removed file-extension-based arbitrary code execution attack vector by @CodeZombie in https://github.com/invoke-ai/InvokeAI/pull/2946
- fix(inpaint): Seam painting being broken by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2952
- Allow for dynamic header by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/2955
- [nodes] Add Edge data type by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/2958
- [deps] update compel to fix black output with weight=0; also use new downweighting algorithm by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2961
- nodes: api fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2959
- Fix some text and a link by @thinkyhead in https://github.com/invoke-ai/InvokeAI/pull/2910
- [WebUI] Quick Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2974
- [nodes] Update fastapi packages to latest (except FastAPI, which has an annotation bug in the newest version) by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/3004
- Export more for header by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/2996
- load embeddings after a ckpt legacy model is converted to diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3013
- make step_callback work again in generate() call by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2957
- [deps] upgrade compel for better .swap defaults and a bugfix by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/3014
- Tidy up Tests and Provide Documentation by @mastercaster9000 in https://github.com/invoke-ai/InvokeAI/pull/2869
- Allow loading all types of dreambooth models - Fix issue #2932 by @mrwho in https://github.com/invoke-ai/InvokeAI/pull/2933
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/3021
- build: do not run python tests on ui build by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2987
- re-implement model scanning when loading legacy checkpoint files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3012
- doc(readme): fix incorrect install command by @darkcl in https://github.com/invoke-ai/InvokeAI/pull/3024
- add github API token to mkdocs workflow by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3023
- Convert custom VAEs during legacy checkpoint loading by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3010
- (fix)[docs] Fixed snippet/code formatting by @felixsanz in https://github.com/invoke-ai/InvokeAI/pull/2918
- fix issue with embeddings being loaded twice by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3029
- Avoid invoke.sh infinite loop (main branch) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3017
- feat[web]: use the predicted denoised image for previews by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2915
- nodes: add cancelation, updated progress callback, typing fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3036
- fix(ui): fix viewer tooltip localisation strings by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3037
- Doc: updating ROCm version in documentation by @aeyno in https://github.com/invoke-ai/InvokeAI/pull/3041
- Downgrade FastAPI by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3039
- Fix bugs in online ckpt conversion of 2.0 models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3057
- improve importation and conversion of legacy checkpoint files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3053
- I18n build mode by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3051
- add basic autocomplete functionality to node cli by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3035
- Add support for yet another TI embedding format (main version) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3050
- fix(nodes): commit changes to db by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3103
- [deps] bump compel version to fix crash on invalid (auto111) syntax by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/3107
- fix(nodes): fix typo in
list_sessionshandler by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3109 - Right link on pytorch installer for linux rocm by @creachec in https://github.com/invoke-ai/InvokeAI/pull/3084
- feat(nodes): save thumbnails by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3105
- fix build-container.yml by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/3117
- Model API Merge Into Main by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3079
- [nodes] Add latent nodes, storage, and fix iteration bugs by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/3091
- Fix typo by @panicsteve in https://github.com/invoke-ai/InvokeAI/pull/3133
- Change where !replay looks for its infile by @teerl in https://github.com/invoke-ai/InvokeAI/pull/3129
- add a new method to model_manager that retrieves individual pipeline components by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3120
- chore: configure stale bot by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3134
- remove vestiges of non-functional autoimport code for legacy checkpoints by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3076
- Add python-multipart, which is needed by nodes by @cmsj in https://github.com/invoke-ai/InvokeAI/pull/3141
- fix(nodes): use correct torch device in NoiseInvocation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3128
- fix typo by @c67e708d in https://github.com/invoke-ai/InvokeAI/pull/3147
- Add/Update and Delete Models by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3131
- feat(nodes): add list_images endpoint by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3126
- feat(nodes): mark ImageField properties required, add invocation README by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3108
- Increase chunk size when computing diffusers SHAs by @AbdBarho in https://github.com/invoke-ai/InvokeAI/pull/3159
- fix(nodes): add missing type to
ImageFieldby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3170 - fix(nodes):
sampler_name—>schedulerby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3169 - feat(nodes): fix typo in PasteImageInvocation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3155
- feat(nodes): add invocation schema customisation, add model selection by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3171
- Fixed a Typo. by @nicholaskoerfer in https://github.com/invoke-ai/InvokeAI/pull/3190
- [nodes] Add subgraph library, subgraph usage in CLI, and fix subgraph execution by @Kyle0654 in https://github.com/invoke-ai/InvokeAI/pull/3180
- feat(ui): Add “Hide Preview” Button to WebUI by @SammCheese in https://github.com/invoke-ai/InvokeAI/pull/3204
- Make InvocationQueueItem serializable by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3187
- [bug] #3218 HuggingFace API off when —no-internet set by @TimCabbage in https://github.com/invoke-ai/InvokeAI/pull/3219
- Added CPU instruction for README by @EternalLeo in https://github.com/invoke-ai/InvokeAI/pull/3225
- Update NSFW.md by @AldeRoberge in https://github.com/invoke-ai/InvokeAI/pull/3231
- update CODEOWNERS for changed team composition by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3234
- chore: add “.version” and “.last_model” to gitignore by @SammCheese in https://github.com/invoke-ai/InvokeAI/pull/3208
- Partial migration of UI to nodes API by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3195
- [Nodes UI] Invocation Component Updates by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3247
- Responsive Mobile Layout by @SammCheese in https://github.com/invoke-ai/InvokeAI/pull/3207
- [Nodes UI] More Work by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3248
- feat(ui): add support for shouldFetchImages if UI needs to re-fetch an image URL by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3250
- feat(ui): add reload schema button by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3252
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/3259
- Event service will now sleep for 100ms between polls instead of 1ms, reducing CPU usage significantly by @cmsj in https://github.com/invoke-ai/InvokeAI/pull/3256
- update to diffusers 0.15 and fix code for name changes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3201
- [Bugfix] fixes and code cleanup to update and installation routines by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3101
- [Bugfix] prevent cli crash by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3132
- fix(ui): fix no progress images when gallery is empty by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3268
- [nodes] add delete image & delete images endpoint by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3245
- feat(ui): support disabledFeatures, add nicer loading by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3271
- feat(ui): wip img2img ui by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3258
- fix(ui): update UI to handle uploads with alternate URLs by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3274
- docs: add note on README about migration by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3277
- feat(ui): add config slice, configuration default values by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3273
- fix(ui): add formatted neg prompt for linear nodes by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3282
- feat(ui): remove connected/disconnected toasts bc we have status for that by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3287
- fix(ui): update thumbnailReceived to match change in route params by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3286
- fix(ui): update exported types by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3283
- feat(nodes): add resize and scale latents nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3261
- ui: set up more straightforward packaging of UI components by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3292
- ui: session persistence by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3280
- fix(ui): fix packaging import issue by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3294
- fix(ui): restore missing chakra-cli package by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3295
- feat(ui): logging by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3299
- ui: error handling, init image, cleanup, recall params by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3301
- ui, nodes: fix img2img fit param by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3308
- nodes-api: enforce single thread for the processor by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3312
- feat(ui): use windowing for gallery by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3307
- feat(nodes): allow multiples of 8 for dimensions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3260
- fix(nodes): fix
t2igraph by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3318 - chore(ui): bump react-virtuoso by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3324
- feat(ui): do not persist gallery images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3331
- [Enhancement] Regularize logging messages by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3176
- Fix inpaint node by @aluhrs13 in https://github.com/invoke-ai/InvokeAI/pull/3284
- Add compel node and conditioning field type by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3265
- Fix logger namespace clash in web server by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3344
- add -y to the automated install instructions by @stevemar in https://github.com/invoke-ai/InvokeAI/pull/3349
- ui: support collect nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3357
- Deploy documentation from v2.3 branch rather than main by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3356
- Use websocket transport first for Socket.io by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3369
- if backend throws a socket connection error, let user know via toast by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3364
- surface error detail field to redux layer for 403 errors by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3362
- Update dependencies to get deterministic image generation behavior (main branch) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3354
- fix(nodes): fix #3306 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3377
- feat(nodes): add ui build static route by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3378
- fix some missing translations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3381
- ui: migrate canvas to nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3323
- filter out websocket errors by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3382
- fix(nodes): fix missing
contextarg in LatentsToLatents by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3387 - ui: miscellaneous fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3386
- fix translations again by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3395
- Add UniPC / Euler Karras / DPMPP_2 Karras / DEIS / DDPM Schedulers by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3388
- fix(model manager): fix string formatting error on model checksum timer by @keturn in https://github.com/invoke-ai/InvokeAI/pull/3397
- docs(ui): update ui readme by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3396
- feat(ui): make core parameters layout consistent by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3394
- fix(nodes): remove Optionals on ImageOutputs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3392
- feat(nodes): add w/h to latents outputs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3389
- feat(nodes): add RandomIntInvocation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3390
- feat(ui): expand config options by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3393
- ui: misc fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3398
- Feat/ui/improve-language by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3399
- fix(nodes): temporarily disable librarygraphs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3372
- Make InvocationProcessor more robust against exceptions by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3376
- rehydrate selectedImage URL when results and uploads are fetched by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3403
- Add Heun Karras Scheduler by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3402
- ui: commercial fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3409
- Logging Improvements by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3401
- fix(ui): fix syntax error in the logo component flexbox by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3410
- make conditioning.py work with compel 1.1.5 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3383
- ui: restore canvas and upload functionality by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3414
- ui: cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3418
- feat(nodes): add low and high to RandomIntInvocation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3419
- tell user to refresh page on image load error by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3425
- Add configuration system, remove legacy globals, args, generate and CLI by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3340
- add some IDs by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3432
- added optional middleware prop and new actions needed by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3437
- add crossOrigin = anonymous attribute to konva image by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3450
- fix(ui): send to canvas in currentimagebuttons not working by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3428
- build: fix test-invoke-pip.yml by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3451
- fix: attempt to fix actions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3454
- fix(nodes): fix seam painting by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3449
- images refactor by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3443
- Update 020_INSTALL_MANUAL.md by @KernelGhost in https://github.com/invoke-ai/InvokeAI/pull/3439
- fix tests by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3458
- Use parameter fixes by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3464
- Default Scheduler Update by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3457
- feat(nodes, ui): change how “intermediate” artefacts are handled by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3463
- (wip) Fix gallery jumpiness when image is fully generated by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3465
- ui: error and event handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3467
- Update CODEOWNERS by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3468
- Feat/controlnet nodes by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3405
- image service fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3473
- misc fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3479
- Fixed problem with inpainting after controlnet support added to main. by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3483
- feat(ui): more misc fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3482
- fix(ui): ensure download image opens in new tab by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3484
- fix(ui): fix width and height not working on txt2img tab by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3485
- ui: improve metadata handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3487
- ui: fix looping gallery fetch by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3488
- add optional config for settings modal by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3490
- Make Invoke Button also the progress bar by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3492
- Add logging configuration by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3460
- feat(nodes): add separate scripts to launch cli and web by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3495
- ui: controlnet in linear ui by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3491
- Update web README.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3496
- Prompting: enable long prompts and compel’s new
.and()concatenating feature by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/3497 - ui: handle drag and drop to canvas by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3499
- feat(ui): fix image fit by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3501
- Fix potential race condition in config system by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3466
- feat(ui): improve UI on smaller screens by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3505
- feat(ui): fix canvas saving by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3503
- ui: improve image url refresh, error and deletion handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3502
- feat(ui): update image urls on connect by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3507
- feat(ui): fix bugs with image deletion by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3506
- Graph overlay was expanding off the screen to the size of the prompt line by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3510
- ui: controlnet tweaks by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3508
- docs(nodes): update INVOCATIONS.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3511
- fix(ui): default controlnet autoprocess to true by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3513
- Update installer support for main by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3448
- create databases directory on startup by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3518
- feat(ui): skip resize on img2img if not needed by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3520
- feat(ui): restore reset button for init image by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3521
- feat(nodes): depth-first execution by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3517
- feat(ui): decrease delay on dnd to 150ms by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3522
- feat(ui): enhance IAICustomSelect by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3523
- ui: misc fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3525
- fix(ui): fix crash when using dropdown on certain device resolutions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3526
- fix logger behavior so that it is initialized after command line parsed by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3509
- Feat/easy param by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3504
- fix: git stash by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3528
- Fix/UI/controlnet fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3531
- Upgrade to Diffusers 0.17.0 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3514
- Add Mantine UI Support by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3532
- remove
image_originfrom most places by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3537 - refactor(minor): Image & Latent File Storage by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3538
- nodes: add dynamic prompt node by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3533
- Model Manager rewrite by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3335
- Model manager fixes by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3541
- Add lms and dpmpp2_s karras scheduler by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3551
- feat: Port Schedulers to Mantine by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3552
- Update index.md by @DrGunnarMallon in https://github.com/invoke-ai/InvokeAI/pull/3553
- Add dpmpp_sde and dpmpp_2m_sde schedulers(with karras) by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3554
- Fix inpaint node to new manager by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3550
- feat: Upgrade to Diffusers 0.17.1 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3545
- fix failing pytest for config module by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3559
- image boards by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3534
- Update UI To Use New Model Manager by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3548
- fix(linux): installer script prints maximum python version usable by @skf-funzt in https://github.com/invoke-ai/InvokeAI/pull/3546
- Fix vae conversion by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3555
- ui: api cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3572
- ui: fix initial image buttons, uploader functionality by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3576
- chore(ui): bump all packages by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3579
- Add control_mode parameter to ControlNet by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3535
- fix(ui): fix controlnet image size by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3585
- feat(ui): improved node parsing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3584
- feat(ui): add dynamic prompts to t2i tab by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3588
- feat(ui): only show canvas image fallback on loading error by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3589
- Bypass failing tests by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3593
- Configure and model install TUI tweaks by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3519
- feat(ui): add type extraction helpers by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3597
- fix(nodes): use context for logger in param_easing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3529
- feat(ui): use max prompts for combinatorial, iterations for non-combi… by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3600
- Feat/controlnet extras by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3596
- nodes: default to CPU noise by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3598
- Configuration and model installer for new model layout by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3547
- Update 060_INSTALL_PATCHMATCH.md by @sammyf in https://github.com/invoke-ai/InvokeAI/pull/3591
- Apply lora by model patching by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3583
- Set use-credentials on commercial deployment if authToken is set on c… by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/3606
- ui: fix ts perf by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3609
- Fix Typo in migrate_to_3.py by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3610
- Fix duplicate model key addition when root directory is a relative path by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3607
- Maryhipp/delete images on board by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3604
- Add image board support to invokeai-node-cli by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3594
- ui: support dark mode by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3592
- feat(ui): tweak light mode colors, buttons pop by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3612
- fix(ui): fix canvas crash by rolling back swagger-parser by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3611
- export new ColorModeButton component by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3614
- fix incorrect VAE config file path during conversion of ckpts by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3616
- feat(ui): minimum gallery size by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3617
- feat(ui): gallery minSize tweak by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3618
- loading state for gallery and model list by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3615
- Fix Invoke Progress Bar by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3626
- ui: batches by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3603
- feat(ui): hide batch ui pending logic implementation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3629
- Add missing k-* legacy sampler names to init file migrate list by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3625
- Make unit tests work again by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3575
- Add runtime root path to relative vaes and other submodels by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3631
- Quash memory leak when compel invocation called by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3633
- (wip) Model Manager 3.0 UI by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3586
- ui: loras by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3638
- ui: render perf fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3642
- feat: Add Lora to Canvas by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3643
- fix: Change Lora weight bounds to -1 to 2 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3645
- Expose max_cache_size in config by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3640
- Fix model detection by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3646
- feat(ui): improve accordion ux by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3647
- fix(ui): deleting image selects first image by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3648
- fix(ui): fix dnd on nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3649
- Detect invalid model names when migrating 2.3->3.0 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3623
- Fix clip path in migrate script by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3651
- fix(ui): fix prompt resize & style resizer by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3652
- Fix loading diffusers ti by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3661
- Fix ckpt scanning on conversion by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3653
- close modal when user clicks cancel by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3656
- build: remove web ui dist from gitignore by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3650
- Remove hardcoded cuda device in model manager init by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3624
- Put tokenizer and text encoder in same clip-vit-large-patch14 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3662
- feat: Add Embedding Picker to Linear UI by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3654
- only show delete icon if big enough by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3657
- LoRA model loading fixes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3663
- expose max_cache_size to invokeai-configure interface by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3664
- Improved loading for UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3667
- [Docs] ELI5 Tutorial For Invocations by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3524
- Add REACT API routes for model manager by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3639
- feat: Add Clip Skip by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3666
- feat(ui): update
openapi-fetch; fix upload issue by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3674 - fix: Adjust clip skip layer count based on model by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3675
- UI model compatibiltiy by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3672
- feat(ui): improve embed button styles by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3676
- add ability to disable lora, ti, dynamic prompts, vae selection by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3677
- prop to hide toggle for advanced settings by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3681
- Branch for 3.0alpha release installation tweaks and bug fixes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3608
- Make the update script work on Windows by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3622
- fixes ImportError described in #3658. by @Zadagu in https://github.com/invoke-ai/InvokeAI/pull/3668
- Mac MPS FP16 fixes by @gogurtenjoyer in https://github.com/invoke-ai/InvokeAI/pull/3641
- get uploads working again by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3679
- Revert “get uploads working again” by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3686
- ui: add cpu noise by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3688
- fix(ui): fix readonly inputs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3689
- fix(ui): do not diable show progress toggle while generating by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3690
- fix(ui): fix inconsistent shift modifier capture by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3691
- gallery tweaks by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3682
- feat: Add App Version to UI by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3692
- fix(ui): fix tab translations by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3698
- fix(ui): fix selection on dropdowns by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3697
- Version of _find_root() that works in conda environment by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3696
- feat: Upgrade Diffusers to 0.18.1 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3699
- fix: Rearrange Model Select to take full width by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3701
- add load more images to the right arrow by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3694
- fix(ui): escape on embedding popup closes it by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3703
- feat(ui): add progress image node by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3704
- fix(api): fix for borked windows mimetypes registry by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3705
- Add Cancel Button button to nodes tab by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3706
- Updating Docs by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3456
- ui, db: rand fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3715
- feat: Add Aspect Ratio by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3709
- Maryhipp/disable multiselect by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3722
- disable hotkey for lightbox if lightbox is disabled by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3725
- always enable these things on txt2img tab by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3726
- Branch for invokeai 3.0-beta bugfixes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3683
- Fix the test of the config system by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3730
- Node Editor: QoL Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3734
- installer installs torchimetrics 0.11.4 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3733
- Less naive model detection by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3685
- disable features that are not supported yet or no longer supported by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3739
- Container build fixes + docker-compose by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3587
- feat: Save and Loads Nodes From Disk by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3724
- feat: Add Aspect Ratio To Canvas Bounding Box by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3717
- output stringified error for session and invocation errors by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3741
- feat: core metadata & graph in viewer by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3728
- Add Clear nodes Button by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3747
- fix(ui): fix inpaint invalid model error by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3750
- fix(ui): check for metadata accumulator before connecting to it by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3751
- fix(ui): fix lora name disappearing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3753
- fix(ui): fix node parsing failing by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3754
- fix(ui): fix nodes crash when adding model loader by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3755
- Fix clear nodes with psychedelicious Requests by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3749
- Fix Inpainting Issues by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3744
- Fix wrong conditioning used by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3595
- detect patchmatch by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3740
- fix: model_name reference in Model Manager by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3756
- ui: gallery enhancements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3752
- ui: model-related fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3761
- fix(nodes): make ResizeLatents w/h optional by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3762
- feat(api): set max-age for images by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3711
- Model Manager 3.0 UI by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3735
- Allow ImageResizeInvocation w/h to take inputs from other nodes by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/3765
- Create NODES.md by @ymgenesis in https://github.com/invoke-ai/InvokeAI/pull/3729
- Pad conditionings using zeros and encoder_attention_mask by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3772
- fix(ui): fix mouse interactions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3764
- fix(ui): fix crash on LoRA remove / weight change by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3774
- restore scrollbar by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3767
- Model manager route enhancements by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3768
- Rewrite controlnet to new model manager by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3665
- fix: Minor UI tweak to Control Net enable button by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3783
- Nodes + Backend Owners by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/3782
- add fp16 support to controlnet models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3785
- migrate script now initializes destination root if needed by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3784
- add documentation on the configuration system by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3787
- Setup textual inversion training with new model manager by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/3775
- Update NODES.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3788
- add renaming capabilities to model update API route by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3793
- Updating installation instructions to include Node.JS by @lillekemiker in https://github.com/invoke-ai/InvokeAI/pull/3795
- Add defaults for controlnet/textual inversion/realesrgan by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3773
- Fix error with long prompts when controlnet used by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3792
- Added class PromptsFromFileInvocation to prompt.py. by @skunkworxdark in https://github.com/invoke-ai/InvokeAI/pull/3781
- Allow bin extension to detect diffusers-ti provided as file by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3796
- Create pull request template for the project by @Millu in https://github.com/invoke-ai/InvokeAI/pull/3798
- ui: improve context menu by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3799
- model installer — Prevent crashes on malformed models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3619
- Fix/long prompts by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3806
- docs: add vscode setup instructions by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3807
- Hide legend button Option 2 by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3797
- feat: model events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3786
- Model Manager UI 3.0 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3778
- Update LOCAL_DEVELOPMENT.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3808
- fix: Model Manager scan Auto Add not detecting checkpoint correctly by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3810
- Support SDXL models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3714
- Add Toggle for Minimap and Tooltips by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3809
- feat(ui): hide sdxl from linear UI by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3815
- 3.0 Pre-Release Polish — Bug Fixes / Style Fixes / Misc by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3812
- Release - invokeai 3 0 beta by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3814
- fix(nodes): fix inpaint cond logic for new compel version by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3816
- VRAM Optimizations, sdxl on 8gb by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3818
- feat: String Param Node + titles and tags for all Nodes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3819
- Rename clip1 to clip by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3822
- Avoid crash if unable to modify the model config file by @ebr in https://github.com/invoke-ai/InvokeAI/pull/3824
- Cleanup vram after models offloading by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3826
- add option to hide version on logo by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3825
- install, nodes, ui: restore ad-hoc upscaling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3800
- Release/invokeai 3 0 beta - mkdocs fix by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3821
- Missing def choose_torch_device by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3834
- Tweaks to Image Progress Node by @mickr777 in https://github.com/invoke-ai/InvokeAI/pull/3833
- [WIP] Load text_model.embeddings.position_ids outsude state_dict by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3829
- Maryhipp/clear intermediates by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3820
- clear canvas alongside intermediates by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3837
- feat(ui): another go at gallery by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3791
- add toggle for isNodesEnabled in settings by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3839
- Changing ImageToLatentsInvocation node to default to detected precision by @lillekemiker in https://github.com/invoke-ai/InvokeAI/pull/3838
- Beta branch containing documentation enhancements, minor bug fix by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3831
- feat(api): use next available port by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3710
- fix inpaint model detection by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3843
- fix v1-finetune.yaml is not in the subpath of "" by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3848
- fix: Model List not scrolling through checkpoints by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3849
- feat: Add Setting Switch Component by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/3847
- Updated documentation by @Millu in https://github.com/invoke-ai/InvokeAI/pull/3832
- ui: enhance intermediates clear, enhance board auto-add by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3851
- feat: Add Sync Models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3850
- feat(ui): boards styling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3856
- feat: ControlNet Resize Mode by @GreggHelt2 in https://github.com/invoke-ai/InvokeAI/pull/3854
- if updating intermediate, dont add to gallery list cache by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/3859
- fix(ui): fix no_board cache not updating by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/3852
- Add get_log_level and set_log_level operations to the app route by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3858
- Add sdxl generation preview by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3862
New Contributors
- @ElrikUnderlake made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2888
- @patrickvonplaten made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2905
- @mastercaster9000 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2869
- @mrwho made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2933
- @darkcl made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3024
- @felixsanz made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2918
- @aeyno made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3041
- @creachec made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3084
- @teerl made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3129
- @cmsj made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3141
- @c67e708d made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3147
- @AbdBarho made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3159
- @nicholaskoerfer made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3190
- @TimCabbage made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3219
- @EternalLeo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3225
- @AldeRoberge made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3231
- @aluhrs13 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3284
- @stevemar made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3349
- @KernelGhost made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3439
- @GreggHelt2 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3405
- @DrGunnarMallon made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3553
- @skf-funzt made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3546
- @sammyf made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3591
- @brandonrising made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3606
- @Zadagu made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3668
- @ymgenesis made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3729
- @lillekemiker made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3795
- @skunkworxdark made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3781
- @Millu made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3798
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.5…v3.0.0rc2
InvokeAI 2.3.5.post2
We are pleased to announce a minor update to InvokeAI with the release of version 2.3.5.post2.
- What’s New
- Installation and Upgrading
- Known Bugs
- Getting Help
- Development Roadmap
- Detailed Change Log
- Acknowledgements
What’s New in 2.3.5.post2
This is a bugfix release. In previous versions, the built-in updating script did not update the Xformers library when the torch library was upgraded, leaving people with a version that ran on CPU only. Install this version to fix the issue so that it doesn’t happen when updating to future versions of InvokeAI 3.0.0.
As a bonus, this version allows you to apply a checkpoint VAE, such as vae-ft-mse-840000-ema-pruned.ckpt to a diffusers model, without worrying about finding the diffusers version of the VAE. From within the web Model Manager, choose the diffusers model you wish to change, press the edit button, and enter the Location of the VAE file of your choice. The field will now accept either a .ckpt file, or a diffusers directory.
Installation / Upgrading
To install 2.3.5.post2 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.5.post2.zip
If you are using the Xformers library, and running v2.3.5.post1 or earlier, please do not use the built-in updater to update, as it will not update xformers properly. Instead, either download the installer and ask it to overwrite the existing invokeai directory (your previously-installed models and settings will not be affected), or use the following recipe to perform a command-line install:
- Start the launcher script and select option # 8 - Developer’s console.
- Give the following command:
pip install invokeai[xformers] --use-pep517 --upgradeIf you do not use Xformers, the built-in update option (# 9) will work, as will the above command without the “[xformers]” part. From v2.3.5.post2 onward, the updater script will work properly with Xformers installed.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using:
pip install --use-pep517 --upgrade InvokeAIYou may specify a particular version by adding the version number to the command, as in:
pip install --use-pep517 --upgrade InvokeAI==2.3.5.post2To upgrade to an xformers version if you are not currently using xformers, use:
pip install --use-pep517 --upgrade InvokeAI[xformers]You can see which versions are available by going to The PyPI InvokeAI Project Page
Known Bugs in 2.3.5.post2
These are known bugs in the release.
- Windows Defender will sometimes raise Trojan or backdoor alerts for the
codeformer.pthface restoration model, as well as theCIDAS/clipsegandrunwayml/stable-diffusion-v1.5models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available.
Getting Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Development Roadmap
This is very likely to be the last release on the v2.3 source code branch. All new features are being added to the main branch. At the current time (mid-May, 2023), the main branch is only partially functional due to a complex transition to an architecture in which all operations are implemented via flexible and extensible pipelines of “nodes”.
If you are looking for a stable version of InvokeAI, either use this release, install from the v2.3 source code branch, or use the pre-nodes tag from the main branch. Developers seeking to contribute to InvokeAI should use the head of the main branch. Please be sure to check out the dev-chat channel of the InvokeAI Discord, and the architecture documentation located at Contributing to come up to speed.
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.5…v2.3.5.post2
What’s Changed
- autoconvert legacy VAEs by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3235
- 2.3.5 fixes to automatic updating and vae conversions by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3444
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.5.post1…v2.3.5.post2
InvokeAI Version 2.3.5.post1
We are pleased to announce a minor update to InvokeAI with the release of version 2.3.5.post1.
- What’s New
- Installation and Upgrading
- Known Bugs
- Getting Help
- Development Roadmap
- Detailed Change Log
- Acknowledgements
What’s New in 2.3.5.post1
The major enhancement in this version is that NVIDIA users no longer need to decide between speed and reproducibility. Previously, if you activated the Xformers library, you would see improvements in speed and memory usage, but multiple images generated with the same seed and other parameters would be slightly different from each other. This is no longer the case. Relative to 2.3.5 you will see improved performance when running without Xformers, and even better performance when Xformers is activated. In both cases, images generated with the same settings will be identical.
Here are the new library versions:
| Library | Version |
|---|---|
| Torch | 2.0.0 |
| Diffusers | 0.16.1 |
| Xformers | 0.0.19 |
| Compel | 1.1.5 |
Other Improvements
When running the WebUI, we have reduced the number of times that InvokeAI reaches out to HuggingFace to fetch the list of embeddable Textual Inversion models. We have also caught and fixed a problem with the updater not correctly detecting when another instance of the updater is running (thanks to @pedantic79 for this).
Installation / Upgrading
To install or upgrade to InvokeAI 2.3.5.post1 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.5.post1.zip
If you are using the Xformers library, please do not use the built-in updater to update, as it will not update xformers properly. Instead, either download the installer and ask it to overwrite the existing invokeai directory (your previously-installed models and settings will not be affected), or use the following recipe to perform a command-line install:
- Start the launcher script and select option # 8 - Developer’s console.
- Give the following command:
pip install invokeai[xformers] --use-pep517 --upgradeIf you do not use Xformers, the built-in update option (# 9) will work, as will the above command without the “[xformers]” part.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.5.post1. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page
Known Bugs in 2.3.5.post1
These are known bugs in the release.
- Windows Defender will sometimes raise Trojan or backdoor alerts for the
codeformer.pthface restoration model, as well as theCIDAS/clipsegandrunwayml/stable-diffusion-v1.5models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available.
Getting Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Development Roadmap
This is very likely to be the last release on the v2.3 source code branch. All new features are being added to the main branch. At the current time (mid-May, 2023), the main branch is only partially functional due to a complex transition to an architecture in which all operations are implemented via flexible and extensible pipelines of “nodes”.
If you are looking for a stable version of InvokeAI, either use this release, install from the v2.3 source code branch, or use the pre-nodes tag from the main branch. Developers seeking to contribute to InvokeAI should use the head of the main branch. Please be sure to check out the dev-chat channel of the InvokeAI Discord, and the architecture documentation located at Contributing to come up to speed.
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.4.post1…v2.3.5-rc1
What’s Changed
- Update dependencies to get deterministic image generation behavior (2.3 branch) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3353
- [Bugfix] Update check failing because process disappears by @pedantic79 in https://github.com/invoke-ai/InvokeAI/pull/3334
- Turn the HuggingFaceConceptsLib into a singleton to prevent redundant connections by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3337
New Contributors
- @pedantic79 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/3334
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.5…v2.3.5.post1
InvokeAI 2.3.5
We are pleased to announce a features update to InvokeAI with the release of version 2.3.5. This is currently a pre-release for community testing and bug reporting.
- What’s New
- Installation and Upgrading
- Known Bugs
- Getting Help
- Development Roadmap
- Detailed Change Log
- Acknowledgements
What’s New in 2.3.5
This release expands support for additional LoRA and LyCORIS models, upgrades diffusers to 0.15.1, and fixes a few bugs.
LoRA and LyCORIS Support Improvement
- A number of LoRA/LyCORIS fine-tune files (those which alter the text encoder as well as the unet model) were not having the desired effect in InvokeAI. This bug has now been fixed. Full documentation of LoRA support is available at InvokeAI LoRA Support.
- Previously, InvokeAI did not distinguish between LoRA/LyCORIS models based on Stable Diffusion v1.5 vs those based on v2.0 and 2.1, leading to a crash when an incompatible model was loaded. This has now been fixed. In addition, the web pulldown menus for LoRA and Textual Inversion selection have been enhanced to show only those files that are compatible with the currently-selected Stable Diffusion model.
- Support for the newer LoKR LyCORIS files has been added.
Diffusers 0.15.1
- This version updates the diffusers module to version 0.15.1 and is no longer compatible with 0.14. This provides a number of performance improvements and bug fixes.
Performance Improvements
- When a model is loaded for the first time, InvokeAI calculates its checksum for incorporation into the PNG metadata. This process could take up to a minute on network-mounted disks and WSL mounts. This release noticeably speeds up the process.
Bug Fixes
- The “import models from directory” and “import from URL” functionality in the console-based model installer has now been fixed.
Installation / Upgrading
To install or upgrade to InvokeAI 2.3.5 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.5.zip
To update from versions 2.3.1 or higher, select the “update” option (choice 6) in the invoke.sh/invoke.bat launcher script and choose the option to update to 2.3.5. Alternatively, you may use the installer zip file to update. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.5. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page
Known Bugs in 2.3.5
These are known bugs in the release.
- Windows Defender will sometimes raise Trojan or backdoor alerts for the
codeformer.pthface restoration model, as well as theCIDAS/clipsegandrunwayml/stable-diffusion-v1.5models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available. - If the
xformersmemory-efficient attention module is used, each image generated with the same prompt and settings will be slightly different.xformers 0.0.19reduces or eliminates this problem, but hasn’t been extensively tested with InvokeAI. If you wish to upgrade, you may do so by entering the InvokeAI “developer’s console” and giving the commandpip install xformers==0.0.19. You may see a message about InvokeAI being incompatible with this version, which you can safely ignore. Be sure to report any unexpected behavior to the Issues pages.
Getting Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Development Roadmap
This is very likely to be the last release on the v2.3 source code branch. All new features are being added to the main branch. At the current time (late April, 2023), the main branch is only partially functional due to a complex transition to an architecture in which all operations are implemented via flexible and extensible pipelines of “nodes”.
If you are looking for a stable version of InvokeAI, either use this release, install from the v2.3 source code branch, or use the pre-nodes tag from the main branch. Developers seeking to contribute to InvokeAI should use the head of the main branch. Please be sure to check out the dev-chat channel of the InvokeAI Discord, and the architecture documentation located at Contributing to come up to speed.
Change Log
- fix the “import from directory” function in console model installer by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3211
- [Feature] Add support for LoKR LyCORIS format by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3216
- CODEOWNERS update - 2.3 branch by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3230
- Enable LoRAs to patch the text_encoder as well as the unet by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/3214
- improvements to the installation and upgrade processes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3186
- Revert “improvements to the installation and upgrade processes” by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3266
- [Enhancement] distinguish v1 from v2 LoRA models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3175
- increase sha256 chunksize when calculating model hash by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3162
- bump version number to 2.3.5-rc1 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3267
- [Bugfix] Renames in 0.15.0 diffusers by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3184
New Contributors and Acknowledgements
- @AbdBarho contributed the checksum performance improvements
- @StAlKeR7779 (Sergey Borisov) contributed the LoKR support, did the diffusers 0.15 port, and cleaned up the code in multiple places.
Many thanks to these individuals, as well as @damian0815 for his contribution to this release.
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.4.post1…v2.3.5-rc1
InvokeAI Version 2.3.4.post1 - A Stable Diffusion Toolkit
We are pleased to announce a features update to InvokeAI with the release of version 2.3.4.
Update: 13 April 2024 - 2.3.4.post1 is a hotfix that corrects an installer crash resulting from an update to the upstream diffusers library. If you have recently tried to install 2.3.4 and experienced a crash relating to “crossattention,” this release will fix the issue.
What’s New in 2.3.4
This features release adds support for LoRA (Low-Rank Adaptation) and LyCORIS (Lora beYond Conventional) models, as well as some minor bug fixes.
LoRA and LyCORIS Support
LoRA files contain fine-tuning weights that enable particular styles, subjects or concepts to be applied to generated images. LyCORIS files are an extended variant of LoRA. InvokeAI supports the most common LoRA/LyCORIS format, which ends in the suffix .safetensors. You will find numerous LoRA and LyCORIS models for download at Civitai, and a small but growing number at Hugging Face. Full documentation of LoRA support is available at InvokeAI LoRA Support.( Pre-release note: this page will only be available after release)
To use LoRA/LyCORIS models in InvokeAI:
-
Download the
.safetensorsfiles of your choice and place in/path/to/invokeai/loras. This directory was not present in earlier version of InvokeAI but will be created for you the first time you run the command-line or web client. You can also create the directory manually. -
Add
withLora(lora-file,weight)to your prompts. The weight is optional and will default to 1.0. A few examples, assuming that a LoRA file namedloras/sushi.safetensorsis present:
family sitting at dinner table eating sushi withLora(sushi,0.9)family sitting at dinner table eating sushi withLora(sushi, 0.75)family sitting at dinner table eating sushi withLora(sushi)Multiple withLora() prompt fragments are allowed. The weight can be arbitrarily large, but the useful range is roughly 0.5 to 1.0. Higher weights make the LoRA’s influence stronger. Negative weights are also allowed, which can lead to some interesting effects.
-
Generate as you usually would! If you find that the image is too “crisp” try reducing the overall CFG value or reducing individual LoRA weights. As is the case with all fine-tunes, you’ll get the best results when running the LoRA on top of the model similar to, or identical with, the one that was used during the LoRA’s training. Don’t try to load a SD 1.x-trained LoRA into a SD 2.x model, and vice versa. This will trigger a non-fatal error message and generation will not proceed.
-
You can change the location of the
lorasdirectory by passing the--lora_directoryoption to `invokeai.
New WebUI LoRA and Textual Inversion Buttons
This version adds two new web interface buttons for inserting LoRA and Textual Inversion triggers into the prompt as shown in the screenshot below.

Clicking on one or the other of the buttons will bring up a menu of available LoRA/LyCORIS or Textual Inversion trigger terms. Select a menu item to insert the properly-formatted withLora() or <textual-inversion> prompt fragment into the positive prompt. The number in parentheses indicates the number of trigger terms currently in the prompt. You may click the button again and deselect the LoRA or trigger to remove it from the prompt, or simply edit the prompt directly.
Currently terms are inserted into the positive prompt textbox only. However, some textual inversion embeddings are designed to be used with negative prompts. To move a textual inversion trigger into the negative prompt, simply cut and paste it.
By default the Textual Inversion menu only shows locally installed models found at startup time in /path/to/invokeai/embeddings. However, InvokeAI has the ability to dynamically download and install additional Textual Inversion embeddings from the HuggingFace Concepts Library. You may choose to display the most popular of these (with five or more likes) in the Textual Inversion menu by going to Settings and turning on “Show Textual Inversions from HF Concepts Library.” When this option is activated, the locally-installed TI embeddings will be shown first, followed by uninstalled terms from Hugging Face. See The Hugging Face Concepts Library and Importing Textual Inversion files for more information.
Minor features and fixes
This release changes model switching behavior so that the command-line and Web UIs save the last model used and restore it the next time they are launched. It also improves the behavior of the installer so that the pip utility is kept up to date.
Installation / Upgrading
To install or upgrade to InvokeAI 2.3.4 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.4.post1.zip
To update from versions 2.3.1 or higher, select the “update” option (choice 6) in the invoke.sh/invoke.bat launcher script and choose the option to update to 2.3.4. Alternatively, you may use the installer zip file to update. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.4. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page (Pre-release note: this will only work after the official release.)
Known Bugs in 2.3.4
These are known bugs in the release.
- The Ancestral DPMSolverMultistepScheduler (
k_dpmpp_2a) sampler is not yet implemented fordiffusersmodels and will disappear from the WebUI Sampler menu when adiffusersmodel is selected. - Windows Defender will sometimes raise Trojan or backdoor alerts for the
codeformer.pthface restoration model, as well as theCIDAS/clipsegandrunwayml/stable-diffusion-v1.5models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available.
Getting Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Change Log
- [FEATURE] Lora support in 2.3 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3072
- [FEATURE] LyCORIS support in 2.3 by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3118
- [Bugfix] Pip - Access is denied durring installation by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/3123
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/2804
- [Enhancement] save name of last model to disk whenever model changes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3102
New Contributors and Acknowledgements
- @felorhik contributed the vast bulk of the LoRA implementation in https://github.com/invoke-ai/InvokeAI/pull/2712
- @felorhik, @neecapp, and @StAlKeR7779 (Sergey Borisov) all contributed to the v2.3 backport in https://github.com/invoke-ai/InvokeAI/pull/3072
- @StAlKeR7779 (Sergey Borisov) contributed LyCORIS support in https://github.com/invoke-ai/InvokeAI/pull/3118, plus multiple bugfixes to the LoRA manager.
Many thanks to these individuals, as well as @blessedcoolant and @damian0815 for their contributions to this release.
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.3…v2.3.4rc1
InvokeAI Version 2.3.3 - A Stable Diffusion Toolkit
We are pleased to announce a bugfix update to InvokeAI with the release of version 2.3.3.
What’s New in 2.3.3
This is a bugfix and minor feature release.
Bugfixes
Since version 2.3.2 the following bugs have been fixed:
Bugs
- When using legacy checkpoints with an external VAE, the VAE file is now scanned for malware prior to loading. Previously only the main model weights file was scanned.
- Textual inversion will select an appropriate batchsize based on whether
xformersis active, and will default toxformersenabled if the library is detected. - The batch script log file names have been fixed to be compatible with Windows.
- Occasional corruption of the
.next_prefixfile (which stores the next output file name in sequence) on Windows systems is now detected and corrected. - Support loading of legacy config files that have no personalization (textual inversion) section.
- An infinite loop when opening the developer’s console from within the
invoke.shscript has been corrected. - Documentation fixes, including a recipe for detecting and fixing problems with the AMD GPU ROCm driver.
Enhancements
- It is now possible to load and run several community-contributed SD-2.0 based models, including the often-requested “Illuminati” model.
- The “NegativePrompts” embedding file, and others like it, can now be loaded by placing it in the InvokeAI
embeddingsdirectory. - If no
--modelis specified at launch time, InvokeAI will remember the last model used and restore it the next time it is launched. - On Linux systems, the
invoke.shlauncher now uses a prettier console-based interface. To take advantage of it, install thedialogpackage using your package manager (e.g.sudo apt install dialog). - When loading legacy models (safetensors/ckpt) you can specify a custom config file and/or a VAE by placing like-named files in the same directory as the model following this example:
my-favorite-model.ckptmy-favorite-model.yamlmy-favorite-model.vae.pt # or my-favorite-model.vae.safetensorsInstallation / Upgrading
To install or upgrade to InvokeAI 2.3.3 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
To update from 2.3.1 or 2.3.2 you may use the “update” option (choice 6) in the invoke.sh/invoke.bat launcher script and choose the option to update to 2.3.3.
Alternatively, you may use the installer zip file to update. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.3. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page
Known Bugs in 2.3.3
These are known bugs in the release.
- The Ancestral DPMSolverMultistepScheduler (
k_dpmpp_2a) sampler is not yet implemented fordiffusersmodels and will disappear from the WebUI Sampler menu when adiffusersmodel is selected. - Windows Defender will sometimes raise Trojan or backdoor alerts for the
codeformer.pthface restoration model, as well as theCIDAS/clipsegandrunwayml/stable-diffusion-v1.5models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available.
What’s Changed
- Enhance model autodetection during import by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3043
- Correctly load legacy checkpoint files built on top of SD 2.0/2.1 bases, such as Illuminati 1.1 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3058
- Add support for the TI embedding file format used by
negativeprompts.safetensorsby @lstein in https://github.com/invoke-ai/InvokeAI/pull/3045 - Keep torch version at 1.13.1 by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2985
- Fix textual inversion documentation and code by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3015
- fix corrupted outputs/.next_prefix file by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3020
- fix batch generation logfile name to be compatible with Windows OS by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3018
- Security patch: Scan all pickle files, including VAEs; default to safetensor loading by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3011
- prevent infinite loop when launching developer’s console by @lstein in https://github.com/invoke-ai/InvokeAI/pull/3016
- Prettier console-based frontend for
invoke.shon Linux systems with “dialog” installed by Joshua Kimsey. - ROCM debugging recipe from @EgoringKosmos
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.2.post1…v2.3.3-rc1
Acknowledgements
Many thanks to @psychedelicious, @blessedcoolant (Vic), @JPPhoto (Jonathan Pollack), @ebr (Eugene Brodsky) @JoshuaKimsey, @EgoringKosmos, and our crack team of Discord moderators, @gogurtenjoyer and @whosawhatsis, for all their contributions to this release.
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.2.post1…v2.3.3
InvokeAI Version 2.3.2
We are pleased to announce a bugfix update to InvokeAI with the release of version 2.3.2.
What’s New in 2.3.2
This is a bugfix and minor feature release.
Bugfixes
Since version 2.3.1 the following bugs have been fixed:
- Black images appearing for potential NSFW images when generating with legacy checkpoint models and both
--no-nsfw_checkerand--ckpt_convertturned on. - Black images appearing when generating from models fine-tuned on Stable-Diffusion-2-1-base. When importing V2-derived models, you may be asked to select whether the model was derived from a “base” model (512 pixels) or the 768-pixel SD-2.1 model.
- The “Use All” button was not restoring the Hi-Res Fix setting on the WebUI
- When using the model installer console app, models failed to import correctly when importing from directories with spaces in their names. A similar issue with the output directory was also fixed.
- Crashes that occurred during model merging.
- Restore previous naming of Stable Diffusion base and 768 models.
- Upgraded to latest versions of
diffusers,transformers,safetensorsandacceleratelibraries upstream. We hope that this will fix theassertion NDArray > 2**32issue that MacOS users have had when generating images larger than 768x768 pixels. Please report back.
As part of the upgrade to diffusers, the location of the diffusers-based models has changed from models/diffusers to models/hub. When you launch InvokeAI for the first time, it will prompt you to OK a one-time move. This should be quick and harmless, but if you have modified your models/diffusers directory in some way, for example using symlinks, you may wish to cancel the migration and make appropriate adjustments.
New “Invokeai-batch” script
2.3.2 introduces a new command-line only script called invokeai-batch that can be used to generate hundreds of images from prompts and settings that vary systematically. This can be used to try the same prompt across multiple combinations of models, steps, CFG settings and so forth. It also allows you to template prompts and generate a combinatorial list like:
a shack in the mountains, photographa shack in the mountains, watercolora shack in the mountains, oil paintinga chalet in the mountains, photographa chalet in the mountains, watercolora chalet in the mountains, oil paintinga shack in the desert, photograph...If you have a system with multiple GPUs, or a single GPU with lots of VRAM, you can parallelize generation across the combinatorial set, reducing wait times and using your system’s resources efficiently (make sure you have good GPU cooling).
To try invokeai-batch out. Launch the “developer’s console” using the invoke launcher script, or activate the invokeai virtual environment manually. From the console, give the command invokeai-batch --help in order to learn how the script works and create your first template file for dynamic prompt generation.
Installation / Upgrading
To install or upgrade to InvokeAI 2.3.2 please download the zip file at the bottom of the release notes (under “Assets”), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.2.post1.zip
To update from 2.3.1 you may use the “update” option (choice 6) in the invoke.sh/invoke.bat launcher script. Alternatively, you may use the installer. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.2. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page
Known Bugs in 2.3.2
These are known bugs in the release.
- The Ancestral DPMSolverMultistepScheduler (
k_dpmpp_2a) sampler is not yet implemented fordiffusersmodels and will disappear from the WebUI Sampler menu when adiffusersmodel is selected. - Windows Defender will sometimes raise a Trojan alert for the
codeformer.pthface restoration model. As far as we have been able to determine, this is a false positive and can be safely whitelisted.
What’s Changed
- fix python 3.9 compatibility by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2780
- fixes crashes on merge in both WebUI and console by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2800
- hotfix for broken merge function by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2801
- [ui]: 2.3 hotfixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2806
- restore previous naming scheme for sd-2.x models: by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2820
- quote output, embedding and autoscan directores in invokeai.init by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2827
- Introduce pre-commit, black, isort, … by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2822
- propose more restrictive codeowners by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2781
- fix newlines causing negative prompt to be parsed incorrectly by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2838
- Prevent crash when converting models from within CLI using legacy model URL by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2846
- [WebUI] Fix ‘Use All’ Params not Respecting Hi-Res Fix by @blhook in https://github.com/invoke-ai/InvokeAI/pull/2840
- Disable built-in NSFW checker on models converted with —ckpt_convert by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2908
- Dynamic prompt generation script for parameter scans by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2831
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.1…v2.3.2
Acknowledgements
Many thanks to @mauwii (Matthias Wilde), @psychedelicious, @blessedcoolant (Vic), @blhook (Pull Shark), and our crack team of Discord moderators, @gogurtenjoyer and @whosawhatsis, for all their contributions to this release.
v.2.3.1.post2
We are pleased to announce a bugfix and quality of life update to InvokeAI with the release of version 2.3.1.
- What’s New
- Installation and Upgrading
- Getting Help
- Known Bugs
- Contributors
- Detailed Change Log
- Acknowledgements
What’s New in 2.3.1
This is primarily a bugfix release, but it does provide several new features that will improve the user experience.
Enhanced support for model management
InvokeAI now makes it convenient to add, remove and modify models. You can individually import models that are stored on your local system, scan an entire folder and its subfolders for models and import them automatically, and even directly import models from the internet by providing their download URLs. You also have the option of designating a local folder to scan for new models each time InvokeAI is restarted.
There are three ways of accessing the model management features:
- From the WebUI, click on the cube to the right of the model selection menu. This will bring up a form that allows you to import models individually from your local disk or scan a directory for models to import.

- Using the Model Installer App
Choose option (5) download and install models from the invoke launcher script to start a new console-based application for model management. You can use this to select from a curated set of starter models, or import checkpoint, safetensors, and diffusers models from a local disk or the internet. The example below shows importing two checkpoint URLs from popular SD sites and a HuggingFace diffusers model using its Repository ID. It also shows how to designate a folder to be scanned at startup time for new models to import.
Command-line users can start this app using the command invokeai-model-install.

- Using the Command Line Client (CLI)
The !install_model and !convert_model commands have been enhanced to allow entering of URLs and local directories to scan and import. The first command installs .ckpt and .safetensors files as-is. The second one converts them into the faster diffusers format before installation.
Internally InvokeAI is able to probe the contents of a .ckpt or .safetensors file to distinguish among v1.x, v2.x and inpainting models. This means that you do not need to include “inpaint” in your model names to use an inpainting model. Note that Stable Diffusion v2.x models will be autoconverted into a diffusers model the first time you use it.
Please see INSTALLING MODELS for more information on model management.
An Improved Installer Experience
The installer now launches a console-based UI for setting and changing commonly-used startup options:

After selecting the desired options, the installer installs several support models needed by InvokeAI’s face reconstruction and upscaling features and then launches the interface for selecting and installing models shown earlier. At any time, you can edit the startup options by launching invoke.sh/invoke.bat and entering option (6) change InvokeAI startup options
Command-line users can launch the new configure app using invokeai-configure.
This release also comes with a renewed updater. To do an update without going through a whole reinstallation, launch invoke.sh or invoke.bat and choose option (9) update InvokeAI . This will bring you to a screen that prompts you to update to the latest released version, to the most current development version, or any released or unreleased version you choose by selecting the tag or branch of the desired version.

Command-line users can run this interface by typing invokeai-configure
Image Symmetry Options
There are now features to generate horizontal and vertical symmetry during generation. The way these work is to wait until a selected step in the generation process and then to turn on a mirror image effect. In addition to generating some cool images, you can also use this to make side-by-side comparisons of how an image will look with more or fewer steps. Access this option from the WebUI by selecting Symmetry from the image generation settings, or within the CLI by using the options --h_symmetry_time_pct and --v_symmetry_time_pct (these can be abbreviated to --h_sym and --v_sym like all other options).

A New Unified Canvas Look
This release introduces a beta version of the WebUI Unified Canvas. To try it out, open up the settings dialogue in the WebUI (gear icon) and select Use Canvas Beta Layout:

Refresh the screen and go to to Unified Canvas (left side of screen, third icon from the top). The new layout is designed to provide more space to work in and to keep the image controls close to the image itself:

Model conversion and merging within the WebUI
The WebUI now has an intuitive interface for model merging, as well as for permanent conversion of models from legacy .ckpt/.safetensors formats into diffusers format. These options are also available directly from the invoke.sh/invoke.bat scripts.
An easier way to contribute translations to the WebUI
We have migrated our translation efforts to Weblate, a FOSS translation product. Maintaining the growing project’s translations is now far simpler for the maintainers and community. Please review our brief translation guide for more information on how to contribute.
Numerous internal bugfixes and performance issues
This releases quashes multiple bugs that were reported in 2.3.0. Major internal changes include upgrading to diffusers 0.13.0, and using the compel library for prompt parsing. See Detailed Change Log for a detailed list of bugs caught and squished.
Summary of InvokeAI command line scripts (all accessible via the launcher menu)
Installation
To install or upgrade to InvokeAI 2.3.1, please download the zip file below, unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
InvokeAI-installer-v2.3.1.post2.zip
If you are upgrading from an earlier version of InvokeAI, run the installer and when it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.1. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page
Last Feature Release on the 2.3.x Branch
This will be the last feature release on the 2.3.x branch. The development team is migrating to a new software architecture called Nodes, which will provide enhanced workflow management features as well as a much easier way for community developers to contribute to the project. We anticipate the transition taking 4-8 weeks (spring 2023). Until that time, we will be releasing bugfixes and other minor updates only.
Known Bugs in 2.3.1
These are known bugs in the release.
- MacOS users generating 768x768 pixel images or greater using
diffusersmodels may experience a hard crash withassertion NDArray > 2**32This appears to be an issue in an upstream library and currently the only workaround is to install and use legacy.ckpt/.safetensorsmodels instead of thediffusersmodels. For more information on this bug, see this Issue - The Ancestral DPMSolverMultistepScheduler (
k_dpmpp_2a) sampler is not yet implemented fordiffusersmodels and will disappear from the WebUI Sampler menu when adiffusersmodel is selected. Support will be added in the nextdiffuserslibrary release. - Windows Defender will sometimes raise a Trojan alert for the
codeformer.pthface restoration model. As far as we have been able to determine, this is a false positive and can be safely whitelisted. - InvokeAI’s memory requirements have increased modestly due to a variety of factors. For help debugging and mitigating out of memory issues, see the Troubleshooting section of the installation guide.
- FIXED IN 2.3.1.post1 — model merging fixed
- FIXED in 2.3.1.post2 — during installation, output and embeddings directories with spaces in their path names are now handled correctly.
Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Contributors
InvokeAI is the product of the loving attention of a large number of Contributors. For this release in particular, we’d like to recognize the combined efforts of @blessedcoolant, who worked tirelessly on the model management interface despite multiple changes in the backend, and Jonathon Pollack (@JPPhoto) for working deep in the bowels of memory management and image generation. Kudos to @damian0815 and Kevin Turner (@keturn) for their improvements on model memory management and prompt parsing, respectively, and many thanks to Matthias Wild (@mauwii) and Eugene Brodsky (@ebr) for their work on package management and installation.
Last but not least, we acknowledge the tireless efforts of Kent Keirsey (@hipsterusername) for his amazing videos, outreach and team management.
What’s Changed
- adding support for ESRGAN denoising strength by @tjennings in https://github.com/invoke-ai/InvokeAI/pull/2598
- 2.3.0 Documentation Fixes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2609
- fix two bugs in conversion of inpaint models from ckpt to diffusers m… by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2620
- Fix Incorrect Windows Environment Activation Location (Manual Installation Documentation) by @blhook in https://github.com/invoke-ai/InvokeAI/pull/2627
- small change to pull esrgan denoise strength through to the generate API. by @tjennings in https://github.com/invoke-ai/InvokeAI/pull/2623
- Huge Docker Update - better caching, don’t use root user, include dockerhub and more… by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2597
- add
merge_grouptrigger to test-invoke-pip.yml by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2590 - Strategize slicing based on free [V]RAM by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2572
- Improve error messages from Textual Inversion and Merge scripts by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2641
- Added arabic locale files by @ParisNeo in https://github.com/invoke-ai/InvokeAI/pull/2561
- Fix link to the installation documentation by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2648
- Add thresholding for all diffusers types by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2479
- Fix typo and Hi-Res Bug by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/2667
- Fix perlin noise generator for diffusers tensors by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2678
- [WebUI] Model Conversion by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2616
- fix minor typos by @fat-tire in https://github.com/invoke-ai/InvokeAI/pull/2666
- Make install.bat.in point to correct configuration script by @zalo in https://github.com/invoke-ai/InvokeAI/pull/2680
- build: lint/format ignores stats.html by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2681
- [WebUI] Even off JSX string syntax by @dreglad in https://github.com/invoke-ai/InvokeAI/pull/2058
- design: smooth progress bar animations by @ryanccn in https://github.com/invoke-ai/InvokeAI/pull/2685
- skip huge workflows if not needed by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2688
- new OffloadingDevice loads one model at a time, on demand by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2596
- Fix workflow path filters by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2689
- Update 050_INSTALLING_MODELS.md by @panicsteve in https://github.com/invoke-ai/InvokeAI/pull/2690
- [WebUI] They see me slidin .. they hatin… by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2614
- Bugfix/convert v2 models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2630
- Bugfixes on the merge_model GUI by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2697
- [WebUI] Model Merging by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2699
- fix(xformers): shush about not having Triton available. by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2701
- feat(ui): set up for weblate translation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2702
- AttributeError: ‘Namespace’ object has no attribute ‘log_tokenization’ by @spezialspezial in https://github.com/invoke-ai/InvokeAI/pull/2698
- [WebUI] Localization Port Bug Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2706
- Fixed grammar in “other options” feature tooltip by @ExperimentalCyborg in https://github.com/invoke-ai/InvokeAI/pull/2711
- fix(ui): fix translation files by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2708
- fix(diffusers_pipeline): ensure
cuda.get_mem_infoalways gets a specific device index. by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2700 - fix conversion of checkpoints into incompatible diffusers models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2714
- [ui] fix weblate merge conflict by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2716
- [WebUI] Implement a “Cancel after current iteration” Button by @blhook in https://github.com/invoke-ai/InvokeAI/pull/2642
- add ability to retrieve current list of embedding trigger strings by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2650
- [WebUI] Model Manager Lag Fix by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2720
- docs(ti): add using & troubleshooting sections by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2717
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/2727
- Fix behavior when encountering a bad embedding by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2721
- ui: update deps, fix husky script by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2726
- docs: add translation info to readme by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2725
- [WebUI] Bug Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2728
- Add symmetry to generation by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2675
- Fix for issue #2707 by @AutoAwesome in https://github.com/invoke-ai/InvokeAI/pull/2710
- remove old swagger related files since security issues by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2730
- add @lstein and @blessedcoolant to all codeowner paths by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2742
- [WebUI] Symmetry Settings by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2741
- Correctly detect when an embedding is incompatible with the current model by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2736
- Fix crash on calling diffusers’ prepare_attention_mask by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2743
- fix crash in CLI when —save_intermediates called by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2744
- [WebUI] Symmetry Fix by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2745
- restore ability of textual inversion manager to read .pt files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2746
- During textual inversion training, skip over non-image files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2747
- Add ‘update’ action to launcher script by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2636
- update installation docs for 2.3.1 installer screens by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2749
- performance: low-memory option for calculating guidance sequentially by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2732
- Fixed embiggening crash by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2756
- Fix crashing when using 2.1 model by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2757
- Fallback to using filename to trigger embeddings by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2752
- fix crash in textual inversion with “num_samples=0” error by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2762
- ui: fix use prompt when prompt has colon by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2760
New Contributors
- @blhook made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2627
- @fat-tire made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2666
- @zalo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2680
- @panicsteve made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2690
- @ExperimentalCyborg made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2711
- @weblate made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2727
- @AutoAwesome made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2710
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.0…v.2.3.1-rc1
InvokeAI Version 2.3.0
We are pleased to announce a features and performance update to InvokeAI with the release of version 2.3.0.
- What’s New
- Installation and Upgrading
- Getting Help
- Known Bugs
- Contributors
- Detailed Change Log
- Acknowledgements
What’s New in 2.3.0
There are multiple internal and external changes in this version of InvokeAI which greatly enhance the developer and user experiences respectively.
Migration to Stable Diffusion diffusers models
Previous versions of InvokeAI supported the original model file format introduced with Stable Diffusion 1.4. In the original format, known variously as “checkpoint”, or “legacy” format, there is a single large weights file ending with .ckpt or .safetensors. Though this format has served the community well, it has a number of disadvantages, including file size, slow loading times, and a variety of non-standard variants that require special-case code to handle. In addition, because checkpoint files are actually a bundle of multiple machine learning sub-models, it is hard to swap different sub-models in and out, or to share common sub-models. A new format, introduced by the StabilityAI company in collaboration with HuggingFace, is called diffusers and consists of a directory of individual models. The most immediate benefit of diffusers is that they load from disk very quickly. A longer term benefit is that in the near future diffusers models will be able to share common sub-models, dramatically reducing disk space when you have multiple fine-tune models derived from the same base.
When you perform a new install of version 2.3.0, you will be offered the option to install the diffusers versions of a number of popular SD models, including Stable Diffusion versions 1.5 and 2.1 (including the 768x768 pixel version of 2.1). These will act and work just like the checkpoint versions. Do not be concerned if you already have a lot of “.ckpt” or “.safetensors” models on disk! InvokeAI 2.3.0 can still load these and generate images from them without any extra intervention on your part.
To take advantage of the optimized loading times of diffusers models, InvokeAI offers options to convert legacy checkpoint models into optimized diffusers models. If you use the invokeai command line interface, the relevant commands are:
!convert_model— Take the path to a local checkpoint file or a URL that is pointing to one, convert it into adiffusersmodel, and import it into InvokeAI’s models registry file.!optimize_model— If you already have a checkpoint model in your InvokeAI models file, this command will accept its short name and convert it into a like-nameddiffusersmodel, optionally deleting the original checkpoint file.!import_model— Take the local path of either a checkpoint file or adiffusersmodel directory and import it into InvokeAI’s registry file. You may also provide the ID of any diffusers model that has been published on the HuggingFace models repository and it will be downloaded and installed automatically.
The WebGUI offers similar functionality for model management.
For advanced users, new command-line options provide additional functionality. Launching invokeai with the argument --autoconvert <path to directory> takes the path to a directory of checkpoint files, automatically converts them into diffusers models and imports them. Each time the script is launched, the directory will be scanned for new checkpoint files to be loaded. Alternatively, the --ckpt_convert argument will cause any checkpoint or safetensors model that is already registered with InvokeAI to be converted into a diffusers model on the fly, allowing you to take advantage of future diffusers-only features without explicitly converting the model and saving it to disk.
Please see INSTALLING MODELS for more information on model management in both the command-line and Web interfaces.
Support for the XFormers Memory-Efficient Crossattention Package
On CUDA (Nvidia) systems, version 2.3.0 supports the XFormers library. Once installed, thexformers package dramatically reduces the memory footprint of loaded Stable Diffusion models files and modestly increases image generation speed. xformers will be installed and activated automatically if you specify a CUDA system at install time.
The caveat with using xformers is that it introduces slightly non-deterministic behavior, and images generated using the same seed and other settings will be subtly different between invocations. Generally the changes are unnoticeable unless you rapidly shift back and forth between images, but to disable xformers and restore fully deterministic behavior, you may launch InvokeAI using the --no-xformers option. This is most conveniently done by opening the file invokeai/invokeai.init with a text editor, and adding the line --no-xformers at the bottom.
A Negative Prompt Box in the WebUI
There is now a separate text input box for negative prompts in the WebUI. This is convenient for stashing frequently-used negative prompts (“mangled limbs, bad anatomy”). The [negative prompt] syntax continues to work in the main prompt box as well.
To see exactly how your prompts are being parsed, launch invokeai with the --log_tokenization option. The console window will then display the tokenization process for both positive and negative prompts.
Model Merging
Version 2.3.0 offers an intuitive user interface for merging up to three Stable Diffusion models using an intuitive user interface. Model merging allows you to mix the behavior of models to achieve very interesting effects. To use this, each of the models must already be imported into InvokeAI and saved in diffusers format, then launch the merger using a new menu item in the InvokeAI launcher script (invoke.sh, invoke.bat) or directly from the command line with invokeai-merge --gui. You will be prompted to select the models to merge, the proportions in which to mix them, and the mixing algorithm. The script will create a new merged diffusers model and import it into InvokeAI for your use.
See MODEL MERGING for more details.
Textual Inversion Training
Textual Inversion (TI) is a technique for training a Stable Diffusion model to emit a particular subject or style when triggered by a keyword phrase. You can perform TI training by placing a small number of images of the subject or style in a directory, and choosing a distinctive trigger phrase, such as “pointillist-style”. After successful training, The subject or style will be activated by including <pointillist-style> in your prompt.
Previous versions of InvokeAI were able to perform TI, but it required using a command-line script with dozens of obscure command-line arguments. Version 2.3.0 features an intuitive TI frontend that will build a TI model on top of any diffusers model. To access training you can launch from a new item in the launcher script or from the command line using invokeai-ti --gui.
See TEXTUAL INVERSION for further details.
A New Installer Experience
The InvokeAI installer has been upgraded in order to provide a smoother and hopefully more glitch-free experience. In addition, InvokeAI is now packaged as a PyPi project, allowing developers and power-users to install InvokeAI with the command pip install InvokeAI --use-pep517. Please see Installation for details.
Developers should be aware that the pip installation procedure has been simplified and that the conda method is no longer supported at all. Accordingly, the environments_and_requirements directory has been deleted from the repository.
Installation
To install or upgrade to InvokeAI 2.3.0, please download the zip file below, unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.
If you are upgrading from an earlier version of InvokeAI, all you have to do is to run the installer for your platform. When the installer asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate “yes”.
Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.1. You can see which versions are available by going to The PyPI InvokeAI Project Page
Command-line name changes
All of InvokeAI’s functionality, including the WebUI, command-line interface, textual inversion training and model merging, can all be accessed from the invoke.sh and invoke.bat launcher scripts. The menu of options has been expanded to add the new functionality. For the convenience of developers and power users, we have normalized the names of the InvokeAI command-line scripts:
invokeai— Command-line clientinvokeai --web— Web GUIinvokeai-merge --gui— Model merging script with graphical front endinvokeai-ti --gui— Textual inversion script with graphical front endinvokeai-configure— Configuration tool for initializing theinvokeaidirectory and selecting popular starter models.
For backward compatibility, the old command names are also recognized, including invoke.py and configure-invokeai.py. However, these are deprecated and will eventually be removed.
Developers should be aware that the locations of the script’s source code has been moved. The new locations are:
invokeai=>ldm/invoke/CLI.pyinvokeai-configure=>ldm/invoke/config/configure_invokeai.pyinvokeai-ti=>ldm/invoke/training/textual_inversion.pyinvokeai-merge=>ldm/invoke/merge_diffusers
Developers are strongly encouraged to perform an “editable” install of InvokeAI using pip install -e . --use-pep517 in the Git repository, and then to call the scripts using their 2.3.0 names, rather than executing the scripts directly. Developers should also be aware that the several important data files have been relocated into a new directory named invokeai. This includes the WebGUI’s frontend and backend directories, and the INITIAL_MODELS.yaml files used by the installer to select starter models. Eventually all InvokeAI modules will be in subdirectories of invokeai.
Known Bugs in RC7
These are known bugs that will not be fixed prior to the release.
- The Ancestral DPMSolverMultistepScheduler (
k_dpmpp_2a) sampler is not yet implemented fordiffusersmodels and will disappear from the WebUI Sampler menu when adiffusersmodel is selected. Support will be added in the nextdiffuserslibrary release. - Metadata will not at first be retrieved when uploading an image into the WebGUI. The metadata will appear when the WebUI is reset and the page reloaded.
- The noise and threshold values are not loaded into the WebUI when the ”*” (reuse all values) button is selected.
- The
k_heunandk_dpm_2schedulers will appear to perform twice as many sampling steps than were requested. This is an artifact of the fact that these schedulers perform two samplings per step and is a cosmetic issue only. - When launching the Textual Inversion console-based GUI, if the command window is too small, the GUI will crash with an obscure error message. Make the window larger and relaunch.
Help
Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.
Contributors
InvokeAI is the product of the loving attention of a large number of Contributors. For this release in particular, we’d like to recognize the combined efforts of Kevin Turner (@keturn), who got the diffusers port past the finish line, Eugene Brodsky (@ebr), for his work on the new installer, and Matthias Wild (@mauwii), for his many significant improvements to the testing pipeline and for setting up the system that uploads releases to the PyPi Python module repository.
We’d also like to call out Jonathon Pollack (@JPPhoto) for tirelessly testing each release candidate, @blessedcoolant and @psychedelicious for their work on the Web UI Model Manager and other UI features, and Kent Keirsey (@hipsterusername) for his amazing videos, outreach and team management.
What’s Changed
- update installers for v2.2.4 tag by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1936
- Fix the mistake of not importing the gc by @rmagur1203 in https://github.com/invoke-ai/InvokeAI/pull/1939
- Load model in inpaint when using free_gpu_mem option by @rmagur1203 in https://github.com/invoke-ai/InvokeAI/pull/1938
- Improves configure_invokeai.py postscript by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/1935
- add —karras_max option to invoke.py command line by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1762
- add logic for finding the root (runtime) directory by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1948
- Make Dockerfile cloud ready (tested on runpod) by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1950
- [WebUI 2.2.5] Unified Canvas Alternate UI Beta by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/1951
- Fix crash when upscaling with CLI by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1962
- Possible fix for crash introduced in #1948 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/1963
- Lstein installer improvements by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1954
- [WebUI 2.2.5] Hotkeys Update by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/1965
- Potential fix for segfault on macOS in homebrew-provided Python by @ebr in https://github.com/invoke-ai/InvokeAI/pull/1969
- Typo fix in INSTALL_AUTOMATED.md by @limonspb in https://github.com/invoke-ai/InvokeAI/pull/1968
- remove redundant tests, only do 20 steps by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1972
- add concurrency to test actions by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1975
- re-enable wheel install in
test-invoke-pip.ymlby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1971 - Fix: define path as None before usage by @limonspb in https://github.com/invoke-ai/InvokeAI/pull/1974
- Permit usage of GPUs in docker script by @xrd in https://github.com/invoke-ai/InvokeAI/pull/1985
- fix attention maps crash by properly restricting token sequence length by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/1999
- fix manual install documentation by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1957
- update Contributors directive to merge to main by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/1984
- better error reporting when root directory not found by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2001
- update requirements and environment files for patchmatch 0.1.5 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2000
- build: GitHub Action to lint python files with pyflakes by @keturn in https://github.com/invoke-ai/InvokeAI/pull/1332
- Correct timestep for img2img initial noise addition by @wfng92 in https://github.com/invoke-ai/InvokeAI/pull/1946
- Remove circular dependencies from frontend by @kasbah in https://github.com/invoke-ai/InvokeAI/pull/1995
- Reduce frontend eslint warnings to 0 by @kasbah in https://github.com/invoke-ai/InvokeAI/pull/2008
- Fix intitial theme setting by @kasbah in https://github.com/invoke-ai/InvokeAI/pull/2025
- Replace latest link by @zeptofine in https://github.com/invoke-ai/InvokeAI/pull/2020
- (docs) update index and changelog by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2017
- improve installation documentation by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2026
- Add Embedding Parsing by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/1973
- Fix —config arg not being recognized by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2028
- Delete old ‘server’ package and the dependency_injector requirement by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2032
- update (docker-)build scripts,
.dockerignoreand add patchmatch by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/1970 - Auto-format frontend by @kasbah in https://github.com/invoke-ai/InvokeAI/pull/2009
- add an argument that lets user specify folders to scan for weights by @lstein in https://github.com/invoke-ai/InvokeAI/pull/1977
- avoid leaking data to HuggingFace by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2021
- Fix broken embedding variants by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2037
- Updated to pull threshold from an existing image even if 0 by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2051
- Added compiled TS changes by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2060
- Accept —root_dir in addition to —root in configure_ivokeai.py to be… by @shapor in https://github.com/invoke-ai/InvokeAI/pull/2057
- Add redirects for moved pages by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2063
- Relax Huggingface login requirement during setup by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2046
- Don’t crash CLI on exceptions by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2066
- set workflow PR triggers to filter PR-types by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2065
- Install documentation updates by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2071
- remove redundant code line by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2068
- Global replace [ \t]+$, add “GB” by @thinkyhead in https://github.com/invoke-ai/InvokeAI/pull/1751
- Revert “Don’t crash CLI on exceptions” by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2078
- optimize
Dockerfileby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2036 - Fix the configure script crash when no TTY is allocated (e.g. a container) by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2080
- add —version to invoke.py arguments by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2038
- Correct asset link by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/2081
- defer patchmatch loading by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2039
- Add @ebr to Contributors by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2095
- correct a crash in img2img under particular circumstances by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2088
- Update 020_INSTALL_MANUAL.md by @tomosuto in https://github.com/invoke-ai/InvokeAI/pull/2092
- [docs] Provide an example of reading prompts from a script by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2087
- Fix of Hires Fix on Img2Img tab by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/2096
- [docker] use
uname -minstead ofarchby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2110 - [WebUI] Localization Support by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2050
- Update 020_INSTALL_MANUAL.md by @netsvetaev in https://github.com/invoke-ai/InvokeAI/pull/2114
- Update 020_INSTALL_MANUAL.md by @tomosuto in https://github.com/invoke-ai/InvokeAI/pull/2093
- Update README.md by @netsvetaev in https://github.com/invoke-ai/InvokeAI/pull/2115
- [WebUI] Model Manager by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2127
- i18n: simplified chinese translations for model manager by @ryanccn in https://github.com/invoke-ai/InvokeAI/pull/2165
- Update WEBUIHOTKEYS.md by @Yorzaren in https://github.com/invoke-ai/InvokeAI/pull/2148
- [WebUI] Localize tooltips by @prvdph in https://github.com/invoke-ai/InvokeAI/pull/2136
- attempt to address memory issues when loading ckpt models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2128
- I18n es by @dreglad in https://github.com/invoke-ai/InvokeAI/pull/2150
- [WebUI] 2.2.5 Bug Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2180
- Update WEBUIHOTKEYS.md - Key Display by @Yorzaren in https://github.com/invoke-ai/InvokeAI/pull/2190
- Lstein release candidate 2.2.5 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2137
- update version number by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2199
- Fix patchmatch-docs by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2111
- fixing a typo in invoke.py by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2204
- Explicitly call python found in system by @CodeZombie in https://github.com/invoke-ai/InvokeAI/pull/2203
- fix spelling mistake in readme by @NamesCode in https://github.com/invoke-ai/InvokeAI/pull/2207
- Local embeddings support (CLI autocomplete) by @pythonlearner1025 in https://github.com/invoke-ai/InvokeAI/pull/2211
- fix facexlib weights being downloaded to .venv by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2221
- Allow multiple CORS origins by @xrd in https://github.com/invoke-ai/InvokeAI/pull/2031
- Require huggingface-hub version 0.11.1 by @williamchong in https://github.com/invoke-ai/InvokeAI/pull/2222
- update python requirements by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2251
- tweak install instructions by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2227
- enhance the .bat installer by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2299
- update Readme by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/2278
- Consolidate version numbers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2201
- use 🧨diffusers model by @keturn in https://github.com/invoke-ai/InvokeAI/pull/1583
- adjust initial model defaults by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2322
- Pin dnspython version by @anveo in https://github.com/invoke-ai/InvokeAI/pull/2327
- Improve readability of the manual installation documentation by @addianto in https://github.com/invoke-ai/InvokeAI/pull/2296
- upgrade requirements to CUDA 11.7, torch 1.13 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2331
- Fix
percent_throughcalculation for cross-attention control by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2342 - [Enhancement] add —default_only arg to configure_invokeai.py, for CI use by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2355
- tip fix by @younyokel in https://github.com/invoke-ai/InvokeAI/pull/2281
- do not use autocast for diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2349
- further improvements to initial load by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2330
- Update automated install doc - link to MS C libs by @gogurtenjoyer in https://github.com/invoke-ai/InvokeAI/pull/2306
- Store & load 🤗 models at XDG_CACHE_HOME if HF_HOME is not set by @addianto in https://github.com/invoke-ai/InvokeAI/pull/2359
- [bugfix] suppress extraneous warning messages generated by diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2374
- [feat] Provide option to disable xformers from command line by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2373
- Save HFToken only if it is present by @wasabigeek in https://github.com/invoke-ai/InvokeAI/pull/2370
- [enhancement] Reorganize form for textual inversion training by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2375
- Add instructions for installing xFormers on linux by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2360
- Update index.md by @michaelk71 in https://github.com/invoke-ai/InvokeAI/pull/2377
- fix long prompt weighting bug in ckpt codepath by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2382
- fix: use pad_token for padding by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2381
- [bugfix] ckpt conversion script respects cache in ~/invokeai/models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2395
- [Feature] Add interactive diffusers model merger by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2388
- add Japanese Translation by @Katsuyuki-Karasawa in https://github.com/invoke-ai/InvokeAI/pull/2397
- Make sure —free_gpu_mem still works when using CKPT-based diffuser model by @addianto in https://github.com/invoke-ai/InvokeAI/pull/2367
- [enhancement] import .safetensors ckpt files directly by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2353
- [feat] Better status reporting when loading embeds and concepts by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2372
- improve UI of textual inversion frontend by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2333
- [Enhancements] Allow user to specify VAE with !import_model and delete underlying model with !del_model by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2369
- replace legacy setup.py with pyproject.toml by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2350
- Dutch localization by @dvanzoerlandt in https://github.com/invoke-ai/InvokeAI/pull/2409
- Remove dependency on original clipseg library for text masking by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2425
- dev: update to diffusers 0.12, transformers 4.26 by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2420
- Fix Sliders unable to take typed input by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2407
- [enhancement] Improve organization & behavior of model merging and textual inversion scripts by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2427
- Improve configuration of initial Waifu models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2426
- [WebUI] Diffusers Model Manager Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2432
- Fix download button styling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2435
- adds double-click to reset view to 100% by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2436
- removed defunct textual inversion script by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2433
- Update —hires_fix by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2414
- fix documentation of huggingface cache location by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2430
- Implement
.swap()against diffusers 0.12 by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2385 - fix dimension errors when inpainting model is used with hires-fix by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2440
- fix(inpainting model): blank areas to be repainted in the masked image by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2447
- feat(inpaint): add solid infill for use with inpainting model by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2441
- fix broken Dockerfile by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2445
- fix img2img on mps by working around pytorch bug by @damian0815 in https://github.com/invoke-ai/InvokeAI/pull/2458
- [enhancement] Print status message at startup when xformers is available by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2461
- Prevent actions from running on draft PRs by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2457
- requirements: add xformers for CUDA platforms by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2465
- add workflow to clean caches after PR gets closed by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2450
- Remove Inpaint Replace by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/2466
- Fix typo in xformers version, 0.16 -> 0.0.16 by @noodlebox in https://github.com/invoke-ai/InvokeAI/pull/2475
- fix(img2img): do not attempt to do a zero-step img2img when strength is low by @keturn in https://github.com/invoke-ai/InvokeAI/pull/2472
- Swap codeowners for installer by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2477
- Load legacy ckpt files as diffusers models by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2468
- Installer rewrite in Python by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2448
- remove requirements step from install manual by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2442
- Add python version warning from the docs by @gogurtenjoyer in https://github.com/invoke-ai/InvokeAI/pull/2469
- remove the environments-and-requirements directory by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2481
- Prevent crash in invokeai-configure when no default model defined by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2485
- feat: add copy image in share menu by @ryanccn in https://github.com/invoke-ai/InvokeAI/pull/2484
- Bugfixes for path finding during manual install by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2490
- enhance console gui for invokeai-merge by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2480
- Fix: upgrade fails if existing venv was created with symlinks by @ebr in https://github.com/invoke-ai/InvokeAI/pull/2489
- Adapt latest changes to Dockerfile by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2478
- small f-string syntax fix in generate.py by @gogurtenjoyer in https://github.com/invoke-ai/InvokeAI/pull/2483
- Do not install the “update” script by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2504
- this fixes an issue when the install script is called outside its directory by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2507
- Added French Locale by @ParisNeo in https://github.com/invoke-ai/InvokeAI/pull/2502
- Add Ukrainian Localization by Давыдова Екатерина in https://github.com/invoke-ai/InvokeAI/pull/2486 (submitted by @blessedcoolant)
- Fix bugs in merge and convert process by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2491
- use torch-cu117 from download.torch.org rather than pypi by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2492
- Fix registration of text masks by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2501
- Fixes
PYTORCH_ENABLE_MPS_FALLBACKnot set correctly by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2508 - Add workflow for PyPI Release by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2516
- Configuration script tidying up by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2513
- Fix crash when text mask applied to img2img by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2526
- This fixes a crash in the TI frontend by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2527
- Add —log_tokenization to sysargs by @whosawhatsis in https://github.com/invoke-ai/InvokeAI/pull/2523
- Allow multiple models to be imported by passing a directory. by @dsully in https://github.com/invoke-ai/InvokeAI/pull/2529
- 2.3.0rc4 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2514
- Issue/2487/address docker issues by @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2517
- hotfix
build-container.ymlby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2537 - Updates frontend README.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/2539
- fix crash in both textual_inversion and merge front ends when not enough models defined by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2540
- update
pypi_helper.pyby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2533 - fix crash in txt2img and img2img w/ inpainting models and perlin > 0 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2544
- Update base.py by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2543
- Update
test-invoke-pip.ymlby @mauwii in https://github.com/invoke-ai/InvokeAI/pull/2524 - In exception handlers, clear the torch CUDA cache (if we’re using CUD… by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/2549
- [WebUI 2.3] Release Fixes by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/2546
- force torch reinstall by @lstein in https://github.com/invoke-ai/InvokeAI/pull/2532
New Contributors
- @limonspb made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/1968
- @xrd made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/1985
- @kasbah made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/1995
- @zeptofine made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2020
- @shapor made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2057
- @thinkyhead made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/1751
- @tomosuto made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2092
- @ryanccn made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2165
- @Yorzaren made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2148
- @prvdph made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2136
- @dreglad made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2150
- @CodeZombie made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2203
- @NamesCode made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2207
- @pythonlearner1025 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2211
- @williamchong made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2222
- @anveo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2327
- @younyokel made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2281
- @gogurtenjoyer made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2306
- @wasabigeek made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2370
- @michaelk71 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2377
- @Katsuyuki-Karasawa made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2397
- @dvanzoerlandt made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2409
- @ParisNeo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2502
- @whosawhatsis made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2523
- @dsully made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/2529
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.2.4…v2.3.0-rc5
Acknowledgements:
- This release was supported in part by compute capacity provided by Mahdi Chaker’s “GPU Garden” cluster
- A thousand thanks to @gogurtenjoyer and @whosawhatsis for their tireless work supporting users on the Discord server, as well as their contributions to bug finding and fixing.