This is a Release Candidate. We strongly suggest [backing up your database](https://invoke-ai.github.io/InvokeAI/features/DATABASE/) before testing to prevent data loss in case of any issues.
Please let us know if you run into anything unexpected.
What's New
We are now updated to use diffusers:0.27.0 and pytorch 2.2.1!
In RC4, the configs managed in invokeai.yaml are managed differently within the app. As a consequence of this, we will no longer be supporting passing in all configs as args on the `invokeai-web` cli command. Instead configs can be passed in via environment variables in the form of `INVOKEAI_<name_of_config>`
For example:
bash
INVOKEAI_REMOTE_API_TOKENS="[{\"url_regex\":\"huggingface.co/.*\", \"token\":\"example\"}]" invokeai-web
As seen in the example, JSON notation can be used for any config properties that are more complicated than a standard string.
Along with revamping how we manage configs, we've also removed the need for the `invokeai-configure` script which was previously required before installation.
RC1 supported the setting skip_model_hash in invokeai.yaml. In RC2, this is replaced by a more flexible setting [hashing_algorithm](https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/#model-hashing).
New Model Manager
The model manager is rewritten in v4.0.0, both frontend and backend. This builds a foundation for future model architectures and brings some exciting new user-facing features:
- Queued model downloads
- Per-model preview images
- Per-model default settings - choose a model’s default VAE, Scheduler, CFG Scale, etc.
- User-defined trigger phrases for concepts/LoRAs and models - access by typing the < key in any prompt box
- [API key support for model marketplaces](https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/#model-marketplace-api-keys)
Model Hashing
When you first run v4.0.0, it will take a while to start up as it does a one-time hash of all of your model files.
**Do not panic.**
Hashes provide a stable identifier for a model that is the same across every platform.
If you don’t care about this, you can [disable the hashing](https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/#model-hashing) using the hashing_algorithm setting in [invokeai.yaml](https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/#invokeai.app.services.config.config_default.InvokeAIAppConfig).
Canvas Improvements
The canvas uses a new method for compositing called gradient denoising. This eliminates the need for multiple “passes”, greatly reducing generation time on the canvas. This method also provides substantially improved visual coherence between the masked regions and the rest of the image.
The compositing settings on canvas allow for control over the gradient denoising process.
Major research & experimentation for this novel denoising implementation was led by dunkeroni, and blessedcoolant was responsible for managing integration into the canvas UI.
Bonus: Invoke Training (Beta)
As of v4.0.0, all references to training in the core invoke script now point to the Invoke Training Repo. Invoke Training offers a simple user interface for:
- Textual Inversion Training
- LoRA Training
- Dreambooth Training
- Pivotal Tuning Training
You can learn more about Invoke Training at https://github.com/invoke-ai/invoke-training
Minor UI/UX Enhancements:
- Canvas Brush Size Scroll can now be inverted (Thanks joshistoast!)
- Images in the Canvas Staging Area can now be discarded individually (Thanks joshistoast!)
- Many small bug fixes and resolved papercuts
Installation and Upgrading
To install or upgrade to version 4.0, download the zip file from the release notes ("Assets" section), unpack it, and follow the installation instructions. For upgrades, select the same installation location.
💾 [Download Installer](https://github.com/invoke-ai/InvokeAI/releases/download/v4.0.0rc4/InvokeAI-installer-v4.0.0rc4.zip)
💻 Developer Changes