Features:
- refiner support #12371
- add NV option for Random number generator source setting, which allows to generate same pictures on CPU/AMD/Mac as on NVidia videocards
- add style editor dialog
- hires fix: add an option to use a different checkpoint for second pass (#12181)
- option to keep multiple loaded models in memory (#12227)
- new samplers: Restart, DPM++ 2M SDE Exponential, DPM++ 2M SDE Heun, DPM++ 2M SDE Heun Karras, DPM++ 2M SDE Heun Exponential, DPM++ 3M SDE, DPM++ 3M SDE Karras, DPM++ 3M SDE Exponential (#12300, #12519, #12542)
- rework DDIM, PLMS, UniPC to use CFG denoiser same as in k-diffusion samplers:
- makes all of them work with img2img
- makes prompt composition posssible (AND)
- makes them available for SDXL
- always show extra networks tabs in the UI (#11808)
- use less RAM when creating models (#11958, #12599)
- textual inversion inference support for SDXL
- extra networks UI: show metadata for SD checkpoints
- checkpoint merger: add metadata support
- prompt editing and attention: add support for whitespace after the number ([ red : green : 0.5 ]) (seed breaking change) (#12177)
- VAE: allow selecting own VAE for each checkpoint (in user metadata editor)
- VAE: add selected VAE to infotext
- options in main UI: add own separate setting for txt2img and img2img, correctly read values from pasted infotext, add setting for column count (#12551)
- add resize handle to txt2img and img2img tabs, allowing to change the amount of horizontable space given to generation parameters and resulting image gallery (#12687, #12723)
- change default behavior for batching cond/uncond -- now it's on by default, and is disabled by an UI setting (Optimizatios -> Batch cond/uncond) - if you are on lowvram/medvram and are getting OOM exceptions, you will need to enable it
- show current position in queue and make it so that requests are processed in the order of arrival (#12707)
- add
--medvram-sdxl
flag that only enables--medvram
for SDXL models - prompt editing timeline has separate range for first pass and hires-fix pass (seed breaking change) (#12457)
Minor:
- img2img batch: RAM savings, VRAM savings, .tif, .tiff in img2img batch (#12120, #12514, #12515)
- postprocessing/extras: RAM savings (#12479)
- XYZ: in the axis labels, remove pathnames from model filenames
- XYZ: support hires sampler (#12298)
- XYZ: new option: use text inputs instead of dropdowns (#12491)
- add gradio version warning
- sort list of VAE checkpoints (#12297)
- use transparent white for mask in inpainting, along with an option to select the color (#12326)
- move some settings to their own section: img2img, VAE
- add checkbox to show/hide dirs for extra networks
- Add TAESD(or more) options for all the VAE encode/decode operation (#12311)
- gradio theme cache, new gradio themes, along with explanation that the user can input his own values (#12346, #12355)
- sampler fixes/tweaks: s_tmax, s_churn, s_noise, s_tmax (#12354, #12356, #12357, #12358, #12375, #12521)
- update README.md with correct instructions for Linux installation (#12352)
- option to not save incomplete images, on by default (#12338)
- enable cond cache by default
- git autofix for repos that are corrupted (#12230)
- allow to open images in new browser tab by middle mouse button (#12379)
- automatically open webui in browser when running "locally" (#12254)
- put commonly used samplers on top, make DPM++ 2M Karras the default choice
- zoom and pan: option to auto-expand a wide image, improved integration (#12413, #12727)
- option to cache Lora networks in memory
- rework hires fix UI to use accordion
- face restoration and tiling moved to settings - use "Options in main UI" setting if you want them back
- change quicksettings items to have variable width
- Lora: add Norm module, add support for bias (#12503)
- Lora: output warnings in UI rather than fail for unfitting loras; switch to logging for error output in console
- support search and display of hashes for all extra network items (#12510)
- add extra noise param for img2img operations (#12564)
- support for Lora with bias (#12584)
- make interrupt quicker (#12634)
- configurable gallery height (#12648)
- make results column sticky (#12645)
- more hash filename patterns (#12639)
- make image viewer actually fit the whole page (#12635)
- make progress bar work independently from live preview display which results in it being updated a lot more often
- forbid Full live preview method for medvram and add a setting to undo the forbidding
- make it possible to localize tooltips and placeholders
- add option to align with sgm repo's sampling implementation (#12818)
- Restore faces and Tiling generation parameters have been moved to settings out of main UI
- if you want to put them back into main UI, use
Options in main UI
setting on the UI page.
- if you want to put them back into main UI, use
Extensions and API:
- gradio 3.41.2
- also bump versions for packages: transformers, GitPython, accelerate, scikit-image, timm, tomesd
- support tooltip kwarg for gradio elements: gr.Textbox(label='hello', tooltip='world')
- properly clear the total console progressbar when using txt2img and img2img from API
- add cmd_arg --disable-extra-extensions and --disable-all-extensions (#12294)
- shared.py and webui.py split into many files
- add --loglevel commandline argument for logging
- add a custom UI element that combines accordion and checkbox
- avoid importing gradio in tests because it spams warnings
- put infotext label for setting into OptionInfo definition rather than in a separate list
- make
StableDiffusionProcessingImg2Img.mask_blur
a property, make more inline with PILGaussianBlur
(#12470) - option to make scripts UI without gr.Group
- add a way for scripts to register a callback for before/after just a single component's creation
- use dataclass for StableDiffusionProcessing
- store patches for Lora in a specialized module instead of inside torch
- support http/https URLs in API (#12663, #12698)
- add extra noise callback (#12616)
- dump current stack traces when exiting with SIGINT
- add type annotations for extra fields of shared.sd_model
Bug Fixes:
- Don't crash if out of local storage quota for javascriot localStorage
- XYZ plot do not fail if an exception occurs
- fix missing TI hash in infotext if generation uses both negative and positive TI (#12269)
- localization fixes (#12307)
- fix sdxl model invalid configuration after the hijack
- correctly toggle extras checkbox for infotext paste (#12304)
- open raw sysinfo link in new page (#12318)
- prompt parser: Account for empty field in alternating words syntax (#12319)
- add tab and carriage return to invalid filename chars (#12327)
- fix api only Lora not working (#12387)
- fix options in main UI misbehaving when there's just one element
- make it possible to use a sampler from infotext even if it's hidden in the dropdown
- fix styles missing from the prompt in infotext when making a grid of batch of multiplie images
- prevent bogus progress output in console when calculating hires fix dimensions
- fix --use-textbox-seed
- fix broken
Lora/Networks: use old method
option (#12466) - properly return
None
for VAE hash when using--no-hashing
(#12463) - MPS/macOS fixes and optimizations (#12526)
- add second_order to samplers that mistakenly didn't have it
- when refreshing cards in extra networks UI, do not discard user's custom resolution
- fix processing error that happens if batch_size is not a multiple of how many prompts/negative prompts there are (#12509)
- fix inpaint upload for alpha masks (#12588)
- fix exception when image sizes are not integers (#12586)
- fix incorrect TAESD Latent scale (#12596)
- auto add data-dir to gradio-allowed-path (#12603)
- fix exception if extensuions dir is missing (#12607)
- fix issues with api model-refresh and vae-refresh (#12638)
- fix img2img background color for transparent images option not being used (#12633)
- attempt to resolve NaN issue with unstable VAEs in fp32 mk2 (#12630)
- implement missing undo hijack for SDXL
- fix xyz swap axes (#12684)
- fix errors in backup/restore tab if any of config files are broken (#12689)
- fix SD VAE switch error after model reuse (#12685)
- fix trying to create images too large for the chosen format (#12667)
- create Gradio temp directory if necessary (#12717)
- prevent possible cache loss if exiting as it's being written by using an atomic operation to replace the cache with the new version
- set devices.dtype_unet correctly
- run RealESRGAN on GPU for non-CUDA devices (#12737)
- prevent extra network buttons being obscured by description for very small card sizes (#12745)
- fix error that causes some extra networks to be disabled if both lora: and lyco: are present in the prompt
- fix defaults settings page breaking when any of main UI tabs are hidden
- fix incorrect save/display of new values in Defaults page in settings
- fix for Reload UI function: if you reload UI on one tab, other opened tabs will no longer stop working
- fix an error that prevents VAE being reloaded after an option change if a VAE near the checkpoint exists (#12797)
- hide broken image crop tool (#12792)
- don't show hidden samplers in dropdown for XYZ script (#12780)
- fix style editing dialog breaking if it's opened in both img2img and txt2img tabs
- fix a bug allowing users to bypass gradio and API authentication (reported by vysecurity)
- fix notification not playing when built-in webui tab is inactive (#12834)
- honor
--skip-install
for extension installers (#12832) - don't print blank stdout in extension installers (#12833, #12855)
- do not change quicksettings dropdown option when value returned is
None
(#12854) - get progressbar to display correctly in extensions tab