This release includes a number of enhancements and fixes. Standouts include:
- Object selection in Canvas (via Segment Anything).
- Support for XLabs FLUX IP Adapters.
- Installer improvements, which should resolve all
xformers
-related issues. - Improved FLUX support for MPS (Apple Silicon) devices.
- Reworked context menus, now with sub-menus.
Be sure to review the v5 release notes if you haven't already upgraded to v5.
Canvas Select Object
Click the Canvas to add Include
and Exclude
points to select an object in a layer, then use the selection as an Inpaint Mask.
select-object-save-as-inpaint-mask.mov
In the next example, we want to select the fox and the ground, but the model has a hard time with this, as it is trained to select single objects. We are able to work around this by selecting the background and inverting the selection.
select-object-invert-apply.mov
As demonstrated, applying the selection masks the layer with the selection. You can also save the selection as a Raster Layer, Control Layer or Regional Guidance. This enables some useful workflows.
select-object-apply-convert-control.mov
Internally, this uses Segment Anything v1. We'll upgrade to SAM v2, which substantially improves object selection, once support for it lands in transformers
.
FLUX IP Adapters
We now support XLabs FLUX IP Adapters. There's only the one model right now, which we've added to the starter models.
Workflow & Input Image | Output |
---|---|
Internally, IP Adapter requires CFG to work. For now, this is only exposed via workflows. Negative conditioning is also now available in workflows. We're exploring a sane way to expose this in the linear UI.
Negative conditioning requires a CFG value >1
. Leave CFG at 1
to disable it and ignore negative conditioning.
Note: CFG doubles denoising time, and negative conditioning requires a good additional chunk of VRAM.
All Changes
Enhancements
- Object selection in Canvas (via Segment Anything).
- Support for XLabs FLUX IP Adapters.
- Support for CFG and Negative Conditioning for FLUX in workflows only.
- Added
RealVisXL5
to SDXL Starter Model Bundle. - Model manager
in-place
checkbox remembers your choice. Thanks @rikublock! - Better tooltips in the model manager, including a starter bundle contents.
- Support for sub-menus, which are now used in the Image context menu and various Canvas context menus.
- Support more conversions between Canvas layers. Both in-place and copy conversions are supported. For example, convert between Inpaint Masks and Regional Guidance, or copy a Raster Layer into a new Inpaint Mask.
- Model descriptions are now displayed in model selection drop-downs. You can disable this in settings.
- We now track whether or not enabled model default settings are currently set. When they are not, we list the defaults that differ in a tooltip on the little button next to the main model drop-down.
- Always show staging images when staging starts, even if user hid them last staging session.
- Canvas alerts (e.g. the
Sending to Gallery
alert overlaid on the canvas) are moved to the top-left corner of the center panel. - Updated translations. Thanks @rikublock, @Vasyanator, @Harvester62, @Ery4z!
Fixes
- Improved FLUX support for MPS devices. Thanks @Vargol!
- FLUX denoise node erroneously required
controlnet_vae
field. - Uninstall
xformers
before installation, fixing issues w/xformers
version mismatch. - Fixed installer text output. Thanks @max-maag!
- Fixed ROCm PyPI indices. Thanks @max-maag!
- Normalize solid infill alpha values from 0-1 to 0-255 when building canvas graphs. This issue didn't cause any problems, because VAE ignores the alpha channel, but it should be fixed regardless.
- View/Hide Boards button cut off with certain translations.
- Fix a longstanding issue where nodes could mutate the objects (images, tensors, conditioning data) in disk-backed in-memory caches. For example, node 1 might retrieve image X and do some in-place operation on it to create image Y. Node 2 retrieves image X but gets image Y instead. This issue only affected the in-memory caches; mutations were not pushed to disk. The invocation API now returns clones of all objects, so nodes can safely mutate their inputs in-place.
Internal
- Reworked logging implementation.
- Directory traversal issue when deleting images.
Documentation
- Updated dev install docs. Thanks @hippalectryon-0!
Installation and Updating
To install or update, download the latest installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- fix(app): directory traversal when deleting images by @psychedelicious in #7145
- Small improvements for the installer text output by @max-maag in #7150
- refactor(ui): logging config handling by @psychedelicious in #7143
- add starter model Architecture (RealVisXL5) by @maryhipp in #7151
- fix(nodes):
FluxDenoiseInvocation.controlnet_vae
missingdefault=None
by @psychedelicious in #7156 - Remove xformers before installation by @ebr in #7161
- FLUX CFG support by @RyanJDick in #7152
- FLUX XLabs IP-Adapter Support by @RyanJDick in #7157
- Fix AMD GPUs not being detected by @max-maag in #7147
- Load non quantized t5encoder using same dtype the model is saved in/ by @Vargol in #7140
- Get flux working with MPS on torch 2.4.1, with GGUF support by @Vargol in #7113
- ui: translations update from weblate by @weblate in #7135
- feat(ui): canvas auto-mask by @psychedelicious in #7163
- chore: bump version to v5.3.0rc1 by @psychedelicious in #7164
- feat(ui): move model manager in-place install state to redux by @rikublock in #7167
- feat(ui): canvas auto mask followups 1 by @psychedelicious in #7168
- fix(ui): normalize infill alpha to 0-255 when building infill nodes by @psychedelicious in #7172
- tweak(ui): prevent show/hide boards button cutoff by @psychedelicious in #7184
- feat(ui,api): misc model QoL by @maryhipp in #7173
- feat(ui): canvas auto mask followups 2 by @psychedelicious in #7180
- feat(ui): canvas auto mask followups 3 by @psychedelicious in #7189
- chore: bump version to v5.3.0rc2 by @psychedelicious in #7190
- feat(ui): canvas auto-mask followups 4 by @psychedelicious in #7193
- feat(ui): add setting for showing model descriptions in dropdown by @maryhipp in #7187
- feat(ui): add out of sync details to default settings button by @maryhipp in #7188
- feat: canvas auto mask followups 5 by @psychedelicious in #7196
- fix(nodes): return copies of objects in invocation ctx by @psychedelicious in #7195
- Improve dev install docs by @hippalectryon-0 in #7199
- feat(ui): canvas auto mask followups 6 by @psychedelicious in #7203
- chore: bump version to v5.3.0 by @psychedelicious in #7204
New Contributors
- @hippalectryon-0 made their first contribution in #7199
Full Changelog: v5.2.0...v5.3.0