Features:
- Update torch to version 2.1.2
- Soft Inpainting (#14208)
- FP8 support (#14031, #14327)
- Support for SDXL-Inpaint Model (#14390)
- Use Spandrel for upscaling and face restoration architectures (#14425, #14467, #14473, #14474, #14477, #14476, #14484, #14500, #14501, #14504, #14524, #14809)
- Automatic backwards version compatibility (when loading infotexts from old images with program version specified, will add compatibility settings)
- Implement zero terminal SNR noise schedule option (SEED BREAKING CHANGE, #14145, #14979)
- Add a [✨] button to run hires fix on selected image in the gallery (with help from #14598, #14626, #14728)
- Separate assets repository; serve fonts locally rather than from google's servers
- Official LCM Sampler Support (#14583)
- Add support for DAT upscaler models (#14690, #15039)
- Extra Networks Tree View (#14588, #14900)
- NPU Support (#14801)
- Prompt comments support
Minor:
- Allow pasting in WIDTHxHEIGHT strings into the width/height fields (#14296)
- add option: Live preview in full page image viewer (#14230, #14307)
- Add keyboard shortcuts for generate/skip/interrupt (#14269)
- Better TCMALLOC support on different platforms (#14227, #14883, #14910)
- Lora not found warning (#14464)
- Adding negative prompts to Loras in extra networks (#14475)
- xyz_grid: allow varying the seed along an axis separate from axis options (#12180)
- option to convert VAE to bfloat16 (implementation of #9295)
- Better IPEX support (#14229, #14353, #14559, #14562, #14597)
- Option to interrupt after current generation rather than immediately (#13653, #14659)
- Fullscreen Preview control fading/disable (#14291)
- Finer settings freezing control (#13789)
- Increase Upscaler Limits (#14589)
- Adjust brush size with hotkeys (#14638)
- Add checkpoint info to csv log file when saving images (#14663)
- Make more columns resizable (#14740, #14884)
- Add an option to not overlay original image for inpainting for #14727
- Add Pad conds v0 option to support same generation with DDIM as before 1.6.0
- Add "Interrupting..." placeholder.
- Button for refresh extensions list (#14857)
- Add an option to disable normalization after calculating emphasis. (#14874)
- When counting tokens, also include enabled styles (can be disabled in settings to revert to previous behavior)
- Configuration for the [📂] button for image gallery (#14947)
- Support inference with LyCORIS BOFT networks (#14871, #14973)
- support resizable columns for touch (tablets) (#15002)
Extensions and API:
- Removed packages from requirements: basicsr, gfpgan, realesrgan; as well as their dependencies: absl-py, addict, beautifulsoup4, future, gdown, grpcio, importlib-metadata, lmdb, lpips, Markdown, platformdirs, PySocks, soupsieve, tb-nightly, tensorboard-data-server, tomli, Werkzeug, yapf, zipp, soupsieve
- Enable task ids for API (#14314)
- add override_settings support for infotext API
- rename generation_parameters_copypaste module to infotext_utils
- prevent crash due to Script
__init__
exception (#14407) - Bump numpy to 1.26.2 (#14471)
- Add utility to inspect a model's dtype/device (#14478)
- Implement general forward method for all method in built-in lora ext (#14547)
- Execute model_loaded_callback after moving to target device (#14563)
- Add self to CFGDenoiserParams (#14573)
- Allow TLS with API only mode (--nowebui) (#14593)
- New callback: postprocess_image_after_composite (#14657)
- modules/api/api.py: add api endpoint to refresh embeddings list (#14715)
- set_named_arg (#14773)
- add before_token_counter callback and use it for prompt comments
- ResizeHandleRow - allow overriden column scale parameter (#15004)
Performance
- Massive performance improvement for extra networks directories with a huge number of files in them in an attempt to tackle #14507 (#14528)
- Reduce unnecessary re-indexing extra networks directory (#14512)
- Avoid unnecessary
isfile
/exists
calls (#14527)
Bug Fixes:
- fix multiple bugs related to styles multi-file support (#14203, #14276, #14707)
- Lora fixes (#14300, #14237, #14546, #14726)
- Re-add setting lost as part of e294e46 (#14266)
- fix extras caption BLIP (#14330)
- include infotext into saved init image for img2img (#14452)
- xyz grid handle axis_type is None (#14394)
- Update Added (Fixed) IPV6 Functionality When there is No Webui Argument Passed webui.py (#14354)
- fix API thread safe issues of txt2img and img2img (#14421)
- handle selectable script_index is None (#14487)
- handle config.json failed to load (#14525, #14767)
- paste infotext cast int as float (#14523)
- Ensure GRADIO_ANALYTICS_ENABLED is set early enough (#14537)
- Fix logging configuration again (#14538)
- Handle CondFunc exception when resolving attributes (#14560)
- Fix extras big batch crashes (#14699)
- Fix using wrong model caused by alias (#14655)
- Add # to the invalid_filename_chars list (#14640)
- Fix extension check for requirements (#14639)
- Fix tab indexes are reset after restart UI (#14637)
- Fix nested manual cast (#14689)
- Keep postprocessing upscale selected tab after restart (#14702)
- XYZ grid: filter out blank vals when axis is int or float type (like int axis seed) (#14754)
- fix CLIP Interrogator topN regex (#14775)
- Fix dtype error in MHA layer/change dtype checking mechanism for manual cast (#14791)
- catch load style.csv error (#14814)
- fix error when editing extra networks card
- fix extra networks metadata failing to work properly when you create the .json file with metadata for the first time.
- util.walk_files extensions case insensitive (#14879)
- if extensions page not loaded, prevent apply (#14873)
- call the right function for token counter in img2img
- Fix the bugs that search/reload will disappear when using other ExtraNetworks extensions (#14939)
- Gracefully handle mtime read exception from cache (#14933)
- Only trigger interrupt on
Esc
when interrupt button visible (#14932) - Disable prompt token counters option actually disables token counting rather than just hiding results.
- avoid doble upscaling in inpaint (#14966)
- Fix #14591 using translated content to do categories mapping (#14995)
- fix: the
split_threshold
parameter does not work when running Split oversized images (#15006) - Fix resize-handle for mobile (#15010, #15065)
Other:
- Assign id for "extra_options". Replace numeric field with slider. (#14270)
- change state dict comparison to ref compare (#14216)
- Bump torch-rocm to 5.6/5.7 (#14293)
- Base output path off data path (#14446)
- reorder training preprocessing modules in extras tab (#14367)
- Remove
cleanup_models
code (#14472) - only rewrite ui-config when there is change (#14352)
- Fix lint issue from 501993e (#14495)
- Update README.md (#14548)
- hires button, fix seeds (#14598)
- Logging: set formatter correctly for fallback logger too (#14618)
- Read generation info from infotexts rather than json for internal needs (save, extract seed from generated pic) (#14645)
- improve get_crop_region (#14709)
- Bump safetensors' version to 0.4.2 (#14782)
- add tooltip create_submit_box (#14803)
- extensions tab table row hover highlight (#14885)
- Always add timestamp to displayed image (#14890)
- Added core.filemode=false so doesn't track changes in file permission… (#14930)
- Normalize command-line argument paths (#14934, #15035)
- Use original App Title in progress bar (#14916)
- register_tmp_file also for mtime (#15012)
Full Changelog: v1.7.0...v1.8.0