v4.2.4
v4.2.4 brings one frequently requested feature and a host of fixes and improvements, mostly focused on performance and internal code quality.
If you missed v4.2.0, please review its release notes to get up to speed on Control Layers.
Image Comparison
The image viewer now supports comparing two images using a Slider, Side-by-Side or Hover UI.
To enter the comparison UI, select a compare image using one of these methods:
- Right click an image and click
Select for Compare
. - Hold
alt
(option
on mac) while clicking a gallery image to select it as the compare image. - Hold
alt
(option
on mac) and use the arrow keys to select the comparison image.
Press C
to swap the images and M
to cycle through the comparison modes. Press Escape
or Z
to exit the comparison UI and return to the single image viewer.
When comparing images of different aspect ratios or sizes, the compare image will be stretched to fit the viewer image. Disable the toggle button at the top-left to instead contain the compare image within the viewer image.
Screen.Recording.2024-06-05.at.9.26.00.am.mov
📈 Patch Nodes for v4.2.4
Enhancements
- The queue item detail view now updates when it finishes. The finished (completed, failed or canceled) session is displayed.
- Updated translations. @Harvester62 @Vasyanator @BrunoCdot @gallegonovato @Atalanttore @hugoalh
- Docs updates. @hsm207 @cdpath
Fixes
- Fixed problem when using a latents from the blend latents node for denoising with certain schedulers which made images drastically different, even with an alpha of 0.
- Fixed unnecessarily strict constraints for ControlNet and IP Adapter weights in the Control Layers UI. This prevented layers with weights outside the range of 0-1 from recalling.
- Fixed error when editing non-main models (e.g. LoRAs).
- Fixed the SDXL prompt concat flag from not being set when recalling prompts.
- Fixed model metadata recall not working when a model has a different key. This can happen if the model was uninstalled and reinstalled. When recalling, we fall back on the model's name, base and type, if the key doesn't match an existing model.
Performance improvements
Big thanks to @lstein for these very impactful improvements!
- Substantially improved performance when moving models between RAM and VRAM. For example, an SDXL model RAM -> VRAM -> RAM roundtrip tested at ~0.8s, down from ~3s. That's about 75% faster!
- Fixed bug with VRAM lazy offloading which caused inefficient VRAM cache usage.
- Reduced VRAM requirements when using IP Adapter.
Internal changes
- Modularize the queue processor.
- Use pydantic models for events instead of plain dicts.
- Improved handling of pydantic invocation unions.
- Updated ML dependencies. @Malrama
💾 Installation and Updating
To install or update to v4.2.4, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- feat: update queue items session on complete by @psychedelicious in #6419
- Break apart session processor and the running of each session into se… by @brandonrising in #6382
- fix(ui): isLocal erroneously hardcoded in error toast by @psychedelicious in #6436
- fix typo by @cdpath in #6255
- Optimize RAM to VRAM transfer by @lstein in #6312
- docs: fix a typo by @hsm207 in #6395
- Update deps to their lastest versions by @Malrama in #6327
- fix(ui): parameter not set translation by @psychedelicious in #6441
- refactor(events): use pydantic schemas for events by @psychedelicious in #5748
- feat(events): restore full invocation in event payloads by @psychedelicious in #6447
- fix(ui): edit variant for main models only by @psychedelicious in #6446
- feat(events): register event schemas by @psychedelicious in #6448
- feat(events): add missing classvar to events, add validators for deserialization of events by @psychedelicious in #6451
- Update TI handling for compatibility with transformers 4.40.0 by @RyanJDick in #6449
- [MM]Fix bug in offload_unlocked_models() call by @lstein in #6450
- docs: add FAQ for fixing controlnet_aux by @psychedelicious in #6459
- fix(ui): remove overly strict constraints on control adapter weight by @psychedelicious in #6460
- fix: openapi stuff by @psychedelicious in #6454
- feat(ui): image compare by @psychedelicious in #6464
- [feat] Reduce peak VRAM memory usage of IP adapter by @lstein in #6453
- fix(ui): metadata recall fixes by @psychedelicious in #6480
- fix(nodes): blend latents with weight=0 with DPMSolverSDEScheduler by @psychedelicious in #6482
- ui: translations update from weblate by @weblate in #6440
- chore: v4.2.4 by @psychedelicious in #6485
New Contributors
Full Changelog: v4.2.3...v4.2.4