v4.0.0rc5
Pre-releaseThis is a Release Candidate. We strongly suggest backing up your 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 in this RC
RC5 has improved the default hashing experience, updated default ControlNet Processor quality for SDXL outputs, and addressed other minor bugs/issues found in RC testing.
A new node has also been added for masking by ID.
What's New in 4.0
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
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 using the hashing_algorithm setting in invokeai.yaml.
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.
💻 Developer Changes
v4.0.0 is versioned as a major release due to breaking changes:
- The internal nodes API has been refactored to provide a stable public API. Node authors should review the migration guide.
The internal graph execution engine is drastically simplified, resulting in more efficient and performant processing. This carries on from the changes in v3.6.0 in which graphs are no longer stored in the database.
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 refer to How to Contribute or reach out in #dev-chat on Discord!
What's Changed
- fix(ui): set aspect ratio to free when using default model settings by @psychedelicious in #6017
- Wait for threads to exit after stopping model installer/downloader by @lstein in #6014
- feat(mm): display progress when hashing files by @psychedelicious in #6019
- feat(nodes): better controlnet processors by @psychedelicious in #6021
- Fix running under Docker following 4.0.0rc4 config changes by @ebr in #6009
- [feature] Add probe for SDXL controlnet models by @lstein in #5382
- pkg: pin version of
ruff
by @psychedelicious in #6012 - fix(ui): use the old combobox component for dropdowns by @psychedelicious in #6015
- fix(ui): runtime errors related to model types in ui by @psychedelicious in #6016
- gh: update pr template by @psychedelicious in #6018
- feat(mm): use blake3_single as default hashing algo by @psychedelicious in #6020
- Allow checkpoint config files to use root-relative paths by @lstein in #6023
- fix(config): do not write env vars by @psychedelicious in #6013
- ui: translations update from weblate by @weblate in #6006
- feat: Add Mask from ID Node + ColorField Component Improvements by @blessedcoolant in #6008
- Fix minor bugs involving model manager handling of model paths by @lstein in #6024
- feat(mm): revised starter models by @psychedelicious in #6025
- Catch ^C at startup time while models are being registered by @lstein in #6026
- chore(nodes): update default workflows for v4 by @psychedelicious in #6027
- fix(mm): remove proteus model by @psychedelicious in #6028
- fix(nodes): esrgan model name typo by @psychedelicious in #6029
- chore: v4.0.0rc5 by @psychedelicious in #6030
Full Changelog: v4.0.0rc4...v4.0.0rc5