All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
0.12.0 (2023-12-31)
- add API parameter for upscale checkbox (71fbc87)
- api: add optimization flag to ORT extended optimizations (e8a30ae)
- api: add stage for local standard deviation denoising for XL (f28fdda)
- api: enable 1x upscaling models (7abe6dc)
- api: support both ESRGAN variants (0ddc162)
- api: support more RealESRGAN-based models (9588643)
- api: use wrapped model's input types in UNet patch (80a2553)
- api: make sure ControlNet constructor is used for same pipeline (#449) (00db9a2)
- api: make sure upscaling only runs once regardless of correction options (c6718a3)
- api: make version-safe imports compatible with tests (6a00481)
- api: reduce min VAE tile size to match min height/width (6d2d505)
- api: turn off SDXL's very visible watermarking (#438) (9736779)
- api: use correct part of the gfpgan output (de8ab6f)
- api: use standard op block list for SDXL (006f983)
- build: use python image for pip release job (7725719)
- docs: add more info about testing models and running server (#451) (9c3ff75)
- docs: remove old tile size section (fab3ac6)
- download LoRAs and other networks by default (a5ecb59)
- exe: correct path for gfpgan folders within bundle (d3a3f95)
- gui: add missing params to client-side config (1d373fa)
- gui: sync client and server default params (b93a5da)
0.11.0 (2023-12-24)
- add panorama pipeline for SDXL (0fa03e7)
- api: add an experimental multi-prompt syntax (0ad2502)
- api: add basic plugin system (535b685)
- api: add chain pipeline stage result type (d52c68d)
- api: add conversion for SDXL models (fe68670)
- api: add converter to extract ZIP archives (#437) (f3e1bea)
- api: add denoise stage, use before highres (95e2d6d)
- api: add edge feathering to region prompts (5951519)
- api: add edge options to region feathering (1fae41d)
- api: add env vars for Civitai and Huggingface auth tokens (4edb32a)
- api: add experimental region prompts to SDXL panorama (5cf7a39)
- api: add feature flag for single-tile panorama highres (5fb2de8)
- api: add feature flags, move panoramic tile feature into flags (def8ad7)
- api: add flag to launch debugger (781b341)
- api: add LCM scheduler (fd97eeb)
- api: add new optimum-based SD converter (b6ef00e)
- api: add strength param to denoise stage (768f478)
- api: add support for DPM SDE scheduler (2fc5ec9)
- api: add tokens to reseed region (8a94cdb)
- api: allow a different prompt for each highres stage (8ce09d3)
- api: allow embeddings as a synonym for TI token (2653dd8)
- api: attempt to calculate total steps for chain pipelines (55ddb9f)
- api: disable prompt alternatives for panorama to fix regions (5968577)
- api: make tile retries configurable (6fb0366)
- api: remove deprecated Karras Ve scheduler (#189) (695eeaf)
- api: replace legacy SD converter with optimum-based one by default (9a077fa)
- api: skip regions on last timestep (09f600a)
- api: support for SDXL LoRAs (bbacfd1)
- api: switch to codeformer lib that works with torch 2.x (7ed30ee)
- api: update pinned onnxruntime to 0.16.3 (6a6a3f0)
- api: upgrade to latest diffusers, optimum, transformers (#433) (c6de256)
- docs: cover pre-converted models in user guide (99161c4)
- docs: set up docs site (#436) (523a2a0)
- exe: include pre-converted models in bundle launch scripts (c85b608)
- gui: add button to open docs site (8e7f8c7)
- gui: add row and column tokens for X/Y prompts (e5a9d57)
- gui: add wildcard menu to web UI (cdbdd9b)
- gui: highlight tokens that have been used in prompt (fd34b4a)
- gui: include some default profiles (#420) (193f82e)
- models: add extras files for pre-converted models (#437) (b2740d3)
- scripts: add script for preparing training images (5d0d904)
- show tokens for networks in prompt (44e4833)
- split up pre-converted models into full and base sets (75ac764)
- split up UNet and VAE tile size and overlap/stride params (e8d7d9a)
- update min CFG for SDXL turbo (419b281)
- api: abandon pretrained loader entirely to fix SD upscaling (fa38b47)
- api: add debugpy to dev deps (b3cf0ac)
- api: add loading path for controlnet (a716f6d)
- api: add logging along SDXL custom VAE codepath (ddd3d45)
- api: add missing param to controlnet pipeline (1163acc)
- api: add out channels to upscaling config (e64e514)
- api: adjust region strength threshold to support up to 90% UNet overlap (2a27c3f)
- api: allow all supported tensors extensions for VAE files (f4f3bda)
- api: allow numbers in archive filenames (4eeb68c)
- api: allow PTH tensor files, add helper to check extension (ebdfa78)
- api: allow random seed in reseed regions (798fa5f)
- api: allow SDXL txt2img models in extras file and schema (6e2896f)
- api: allow SDXL VAE in any supported tensor format, ensure new SDXL models get hash file (1351b2f)
- api: allow spaces in wildcard filenames (02dd17a)
- api: avoid padding latents when they are not being tiled (d94a8d6)
- api: be more careful with VAE patch flags, add margin to latents if needed (93e3125)
- api: better handling of alpha channels (1c3b2f8)
- api: blend embeddings into second tokenizer/text encoder for SDXL (fc02fa6)
- api: build SDXL pipeline to avoid optimum patches (3f3811e)
- api: change default web UI path to match docs (6bec3b0)
- api: change weights filename for new models to match optimum (ebe813d)
- api: check for web UI files in Windows launch scripts (2a641b1)
- api: complete panorama tiles for SD pipeline (b54a57b)
- api: consistently handle tile size across premade pipelines (d78e843)
- api: continue adding tests, fix bugs encountered (047e58c)
- api: convert latents to numpy before using (8d44103)
- api: convert SD models without extracting Torch intermediate (#404) (b29837d)
- api: correct file extension validity check (c8dd85e)
- api: correct origin point when blending images (#445) (3d245a6)
- api: correct VAE extension check during conversion (4fd5098)
- api: correctly detect unknown embedding format (98f8abb)
- api: correctly handle completely black mask images (1818a36)
- api: correctly handle image stacks in persist stages (042181b)
- api: correctly load text encoder 2 and VAE without LoRAs (56f1925)
- api: defer txt2img tiling to panorama pipeline when selected (440e47f)
- api: detect all mask keys, immediately bubble up cancellation errors (95a62b1)
- api: do not apply prompt expansion patch to SDXL (bbff191)
- api: do not parse tokens when removing them (1bdfb4a)
- api: enable prompt alternatives for SDXL (6eb014c)
- api: enable Unet patch for SDXL (d48dbf7)
- api: ensure panorama never generates a negative number of views (944c92b)
- api: ensure pipeline is using selected scheduler (a90a963)
- api: ensure VAE is loaded on correct device (d4b0130)
- api: feather all edges by default (c7cff78)
- api: GC during SDXL conversion (a5a60d3)
- api: handle blending images of different sizes better (de28ecd)
- api: handle blending numpy arrays (83ebd77)
- api: handle empty prompts when parsing (14ddfb4)
- api: handle HF repos in new SD converter (29ccd16)
- api: handle images with alpha channels better (b1328fd)
- api: handle models with integer timestamps (abeedde)
- api: include SD upscaling in diffusion prefixes (293a1bb)
- api: increase max tile size for output and grid stages to max (5ffe8b2)
- api: load lists without empty items (9e930a9)
- api: load pretrained VAE from original path (e7da2cf)
- api: load replacement VAE from single file for SD v1/v2 (c99481f)
- api: make argument for skipping base models work correctly (50d51a3)
- api: make request parsing consistent between JSON and forms (a33c88e)
- api: make sure all file types are covered (#432) (95d8f4a)
- api: make sure diffusion models have a valid prefix (46d9fc0)
- api: make sure new SD converter does not produce extra files (15b9b51)
- api: make sure stage params are declared for all txt2img pipelines (b31227e)
- api: make tile blending symmetrical, correct bottom/right gradients (7106e96)
- api: match inpaint source and mask formats (7ca5dc1)
- api: match SDXL keys per LoRA (74832fc)
- api: only consume one retry per error (911f87f)
- api: only fetch diffusion models if they have not already been converted (#398) (9c1fcd1)
- api: only remove one retry after each tile failure (e7aad28)
- api: only run SDXL LoRA node matching on XL models (ea9023c)
- api: only use optimum's fp16 mode for SDXL export when torch fp16 is enabled (eb3f147)
- api: override pipeline models if pipeline ignored components (6b31075)
- api: parse embedding/TI tokens correctly (76e28d9)
- api: pass correct outscale to highres stages (6ecdae4)
- api: pass replacement VAE to diffusers conversion (8e1f188)
- api: provide some necessary SDXL config (02447f5)
- api: remove redundant torch version pin (27bd307)
- api: remove still-random seed from stage kwargs (a79d835)
- api: report chain progress using a new callback if none was provided (f9acf9b)
- api: resize blend mask to match source (2c2eda8)
- api: resize latents to complete panorama blocks (103d1a4)
- api: resolve XL VAE within model folder (cf2cf51)
- api: restore additional ORT options for multi-GPU machines (b398d65)
- api: restore single-tile code path (828c951)
- api: revert torch to 2.0.1 for ROCm due to MIopen errors (#444) (0aab130)
- api: run blend pipeline in RGB mode (#439) (9e73470)
- api: set VAE attn processor during conversion (0ecae65)
- api: silence controlnet registration warnings (ccff9a3)
- api: support normal LoRA keys in SDXL LoRAs (60615e0)
- api: switch pipeline ctor based on VAE presence, improve panorama logging (9231128)
- api: test LoRA blending code (52fdf4f)
- api: tile stage masks (1fbee0a)
- api: trim whitespace from model names because it breaks things (#376) (4da4cd9)
- api: turn alternatives back off for SDXL (3ffbc00)
- api: unload UNet before CNet conversion (9ffe266)
- api: update arpeggio parser and boto for s3 (0e7e479)
- api: update codeformer patches for new lib (3e1db70)
- api: update controlnet lib (a0ee620)
- api: update dependencies for SDXL (7e73045)
- api: update deprecated import from diffusers (3ffb30f)
- api: update deprecated imports from diffusers (b6aed05)
- api: update flask and pin werkzeug (#414) (0155236)
- api: update HF hub version (#433) (0364543)
- api: update minimum image size for SDXL base (58795de)
- api: upgrade safetensors for SDXL (b37b49e)
- api: use correct post-fetch path when converting from checkpoints (#432) (133c4a2)
- api: use full-size latents for all panorama pipelines (5824149)
- api: use Torch pipelines while loading models for conversion (5d3a7d7)
- api: use upstream SD upscaling pipeline as base for in-tree one (d3a4cc8)
- api: various controlnet fixes (ba9982a)
- api: write tests for embedding/inversion blending (e9b1375)
- build: add vscode config for API testing (db82c6b)
- build: copy web UI output to server default path after bundling (a1fc606)
- build: sort imports in tests (d8ea005)
- docs: add conversion error to user guide (#404) (108c502)
- docs: add links from getting started to other docs (e373e13)
- docs: add missing web UI setup step (6e614aa)
- docs: add note about MIopen errors (#444) (a4c4877)
- docs: add SDXL folders to pre-converted readme (35cc16a)
- docs: add usage instructions to pre-converted models (1f778ab)
- docs: cover grid mode in user guide (7097b18)
- docs: describe reseed tokens (c0a4fb6)
- docs: note LCM in readme (1d65479)
- docs: replace relative links with GH ones (c94c3fa)
- docs: update readme screenshot for SDXL (d378415)
- docs: update tile parameters in user guide (a6cb630)
- exe: include more package metadata (452e18d)
- exe: include necessary codeformer and timm sources in bundle (b8405a7)
- gui: add state migrations for new unet/vae params (#427) (5680dd7)
- gui: add string for LCM scheduler (0b31ad0)
- gui: add strings for XL pipelines (ebdc6a0)
- gui: avoid crashing when copying source image to a tab with a mask canvas (a3fad5c)
- gui: dedupe and sort available prompt tokens (35171e6)
- gui: expand grid ranges while building pipeline (38d3999)
- gui: handle missing prompts when parsing tokens (7132f10)
- gui: make model controls on upscale tab work (e933dc6)
- gui: make overlap params decimal inputs (59e1a1a)
- gui: make prompt input perform better with large LoRA/wildcard lists (e0929ba)
- gui: make UI error screen more likely to show correct API hostname (11c0ab9)
- gui: reduce renders when changing prompt and size params (1541818)
- gui: use new grid seeds for every generation (90d1812)
- increase step limits for SDXL (44851e3)
- models: include correction and upscaling models in preconverted list (83058f5)
- models: update attn parameter name in CNet (f73dce5)
- models: use a real domain for pre-converted models (9f11256)
- scripts: improve MSE logging in release tests (8df6ec2)
- scripts: log node name differences in onnx models (f6db421)
- scripts: update test MSE and references for recent tiling changes (74cb100)
- tests: add release tests for SDXL, LCM, and turbo (68a3f13)
- tests: expand worker tests (5a51770)
0.10.0 (2023-08-23)
- add admin endpoint to restart image workers (#207) (df0e7dc)
- add img2img loopback (#331) (00fb64b)
- add menu for source image filters (4df28a5)
- add method parameter for highres mode (f451d8d)
- add parameter for ControlNet selection (9e017ee)
- add parameter for highres iterations (#316) (7f504a5)
- add tiled VAE parameter to client (7e5380d)
- add UNet stride as its own parameter (3b02fc5)
- api: add chain pipeline stages to load images from S3 or URL (#184, #185) (2eaf85a)
- api: add endpoints to manage extras file (d39c792)
- api: add env vars for controlnet conversion and opset (0d51d61)
- api: add highres to img2img mode for all pipelines (ad35c41)
- api: add img2img mode to panorama pipeline (47d80b0)
- api: add initial support for BSRGAN and SwinIR upscaling (#153, #154) (62aa7e8)
- api: add inpaint to panorama pipeline (71b9518)
- api: add linear blend stage for chain pipeline (#183) (e3540ac)
- api: add list pipelines endpoint (6b51041)
- api: add lock to conversion endpoint (e96bd0f)
- api: add optimization for max attention slicing (#355) (dc6bf33)
- api: add option for CPU-only conversion on systems with CUDA (3f00da9)
- api: add option to reload CNet for conversion (9c28154)
- api: add panorama pipeline for ONNX (214af7f)
- api: add params for more SwinIR models (2a7621c)
- api: add params for SwinIR large models (7f6da8e)
- api: add setup scripts for Windows (1cd436d)
- api: add source image filters for controlnet and others (80d00e4)
- api: add support for highres images (cdaf1b8)
- api: add support for negative embeds (#348) (7b0095a)
- api: add support for PyTorch 2.0 (#292) (34f1973)
- api: add support for wildcards (c8a9dd4)
- api: add SwinIR real x4 to base models (6570d19)
- api: add system notifications when image jobs finish (#329) (d0e4b8d)
- api: add tile size and stride to image parameters (95725ff)
- api: add tiled VAE wrapper (64a753e)
- api: allow converting inpaint models (#356) (dbd9a18)
- api: allow offloading individual models to CPU (#330) (cad87b9)
- api: apply overlap to highres upscaling stage (ed953f5)
- api: convert CNet for existing diffusion models (0dd8272)
- api: create hash file for models without one (7c8dc7a)
- api: do not repeat wildcard values (e65de81)
- api: embed image parameters in EXIF data (#383) (7e21b95)
- api: experimental support for LoHA networks (35432f1)
- api: histogram equalization and blending for highres tiling (6317094)
- api: ignore comments and empty lines in wildcard files (17a7101)
- api: implement spiral tile order for non-square images (c8382dc)
- api: include version number in logs (003a350)
- api: load wildcards from markup files (5df9aa2)
- api: make chain pipeline work without a source image (af416c2)
- api: make chain stages into classes with max tile size and step count estimate (2913cd0)
- api: make pipeline stages support multiple images (3718525)
- api: parse alternative groups in prompts (b249936)
- api: pass tile size param to most pipeline stages (d8ec93a)
- api: read model hash from file (e3a458a)
- api: remove size restrictions on most pipelines (5e1b700)
- api: start adding support for multiple prompt parsers (0f12988)
- api: start using chain pipelines for all images (fd3e65e)
- api: support 3x3 kernels in LoRA and LoCONs (7e3ca8a)
- api: support wildcards in nested folders (865b25e)
- api: switch API server to Waitress (#159) (76860f6)
- api: update requirements for torch 2.0 (89ebbb8)
- api: write model hashes to image exif (062b1c4)
- exe: add file with API version and commit to bundle (94688ab)
- exe: add specs and launch scripts for Windows EXE bundle (#305) (205ff3e)
- experimentally add TensorRT runtime (f420a3a)
- gui: add a tab for managing the extra models (#365) (6e78f40)
- gui: add ability to save profiles for img2txt and txt2txt (4009ed8)
- gui: add button to download image metadata JSON (be39609)
- gui: add extras endpoints to client (a0fdffa)
- gui: add highres control to most tabs (27954f3)
- gui: add highres parameters (ba09748)
- gui: add profile download button (a6e0461)
- gui: add tile and stride params (d63130c)
- gui: load and parse most parameters from image, text, or json (079d4aa)
- gui: move model controls into each tab (f14f197)
- gui: remove generic SD pipeline option (ca2e436)
- gui: sort lists by visible labels after i18n (7f28c0f)
- make enabling highres a parameter of its own (99c91a3)
- make pipeline type a request parameter (2af1530)
- scripts: add json and parquet support to prompt book parser (2121c7a)
- scripts: add release tests for panorama and upscaling with correction (f53e8c1)
- scripts: add retries to release tests (bbd779a)
- scripts: add script to parse prompt books (de8105e)
- api: add arpeggio parser to base requirements (5ede554)
- api: add coloredlogs to base deps (27c6e71)
- api: add conversion to Windows bundle ep (a291dc8)
- api: add convertible pipelines to extras schema (a57d90c)
- api: add env var for admin token (a03f89a)
- api: add missing arguments to prompt patch (#336) (dd77166)
- api: add model image size and version hint to extras file (bc71583)
- api: add name filter and MSE multiplier args to release tests (5378619)
- api: add non-square txt2img test (fcaeb8c)
- api: add pre-converted ControlNets to base sources, add missing ControlNet strings (161913b)
- api: add progress bars to release tests (5d18779)
- api: add pytorch_lightning to optional reqs (#366) (852c57c)
- api: add requirements files for optional deps (ae9f6c2)
- api: add version for omegaconf (9d08676)
- api: allow more LoRA/TI filenames (d699c75)
- api: always use accumulating progress counters (0573721)
- api: apply FP16 patches to SD upscaling pipeline (464bfd0)
- api: avoid passing cache path before sanitizing config name (86d458a)
- api: better handling for errors while converting checkpoint to torch (#165) (ff9ce03)
- api: blend LoHA and LoRA weights for 1x1 kernels (f0109d3)
- api: build sum tokens for TIs using emb_params key (5f54181)
- api: call venv during setup scripts (#378) (3e96609)
- api: check diffusers version before imports (#336) (95841ff)
- api: check GTK import individually (95e75ff)
- api: collate CNet after unloading UNet (b6a4cba)
- api: collect final images from SD upscale stage (3798ea7)
- api: convert hidden states to fp32 before doing normalization on the CPU (#309) (85b3324)
- api: correct dict types for 3.8 (7caaa9e)
- api: correct name of torch extraction var (4810ca8)
- api: correct parameter names for BSRGAN, use RRDB from BasicSR for Real ESRGAN (e0e6b74)
- api: correct return value after fully converting checkpoints (e9e9d75)
- api: correct slashes in launch scripts (c96dd81)
- api: correct type of model field in extras (23fb752)
- api: correctly blend LoRAs into UNet during conversion (25176fe)
- api: correctly disable source filtering when none is selected (eeaba37)
- api: correctly handle sliced kernels (7db53a8)
- api: correctly pass noise level to SD upscaling (dde1e2d)
- api: define tile size for logging (7c1b85f)
- api: do not downscale source images for panorama pipeline (d9f7971)
- api: do not overlap tiles by default (8215a1b)
- api: do not overlap upscale tiles during highres (d98ecc0)
- api: download pretrained models from HF correctly (#371) (d66bf9e)
- api: ensure gradient points are always in order (82a80bb)
- api: ensure spiral grid coords are always whole pixels (1cfc538)
- api: fully qualify HF models (#371) (da6aa15)
- api: generate latents before tiling (60aa8ab)
- api: generate new latents for partial tiles (3d4c77d)
- api: get admin token from correct server object (6fecb1e)
- api: handle 3x3 kernels in LoHA networks (bd03edc)
- api: handle blending of mismatched kernels (719b349)
- api: handle empty negative prompts in exif data (7cbb419)
- api: handle empty prompts (#340) (9bb612f)
- api: handle mixed tensors for ControlNet on CPU (3196535)
- api: handle more SwinIR models (1506f51)
- api: handle panoramic outpainting output (c0dd4e9)
- api: handle unlimited size stages correctly (3edf5e6)
- api: improve handling of non-square images around tile size (d9dd1e4)
- api: improve summing of mismatched weights (3e8f4b3)
- api: keep aspect ratio of mask for non-square sources (#373) (c8bc175)
- api: keep ControlNet metadata after lookup (17e7b6a)
- api: keep kernel slices within bounds (5713957)
- api: keep network tokens while replacing wildcards in the saved prompt (f7fc442)
- api: limit fp16 ops for v2.1 models (#364) (572a515)
- api: limit latent padding to tile size (b92853d)
- api: load local custom VAE from within model path (24f1ecc)
- api: log number of tiles contributing to each image pixel (5d13629)
- api: log tile size and overlap (eef055e)
- api: make img2img blend work with LPW (197dc48)
- api: make LPW pipeline valid again (d47dab8)
- api: make panorama switch mode based on kwargs (4b84188)
- api: make panorama work with prompt alternatives (c6fc860)
- api: make pix2pix work with scheduler with float sigma (982dc10)
- api: make SD upscaling compatible with multi-prompt patch (9c337df)
- api: make SD upscaling work with negative prompt (0d60406)
- api: make sure UNet wrapper always has embeds defined (b8b73d8)
- api: make tiling compatible with source stages (8781f7f)
- api: mark panorama outpainting tests as very slow, update refs (f20afeb)
- api: match ControlNet selection against model names (8d47b71)
- api: match LPW parameter order (d2baa32)
- api: match mask and image size before adding noise (#373) (23aaf65)
- api: match panorama img2img parameter check to numpy code path (c8e1519)
- api: match size of existing latent patch (cf95ad2)
- api: open web browser when launching Windows bundle (fea9185)
- api: pad partial latents when working with tiles (6b1ce37)
- api: parse config files as JSON or YAML depending on extension (#370) (b6692f0)
- api: pass additional params to new stages (7a73c9f)
- api: pass batch size and eta params to txt2img stage (89dbf81)
- api: pass correct text model type when converting v2 checkpoints (#360) (2690eaf)
- api: pass inpaint param to checkpoint extraction (e64b813)
- api: pass mask and sources to blending pipeline in correct order (934dabb)
- api: pass overlap params to tile calculation (7736430)
- api: pass strength to LPW pipe from img2img blend (a9fa767)
- api: pass upscale params to correction stages (5556478)
- api: pin pip dependencies, add requirements to renovate (03402db)
- api: print border size in expected order (7b4ce44)
- api: rely on pipeline cache for highres and loopback (4ea372d)
- api: remove device and patch calls to fix SD upscaling (eb100f6)
- api: remove inner loops in upscale stages (12698d3)
- api: remove nested tiling in highres (a7be651)
- api: remove size limit on inpainting stage (f782f39)
- api: remove tile size limit for img2img and outpaint stages (15c26cd)
- api: remove traces of highres from blend pipeline (4ac25f0)
- api: remove trailing space from param name (ac2eceb)
- api: remove unintentional tuple in img2img pipe (fed4315)
- api: repair progress for API pipelines (d9f251c)
- api: replace unknown wildcards with empty string (fa3a36e)
- api: resolve SD upscaling model relative to models path (ec7d563)
- api: restart workers on HIP memory errors (e0e0999)
- api: restart workers on MIOPEN memory errors (6aac0fe)
- api: restore inpaint pipeline option (b076326)
- api: restore old checkpoint conversion code path (339441c)
- api: restore use of config key when converting from checkpoints (5760be7)
- api: return correct output from tiled VAE (b4dfc44)
- api: run GC during diffusers conversion, add flag to skip ControlNet (#369) (e2035c3)
- api: run image workers as daemon procs (1bfc7be)
- api: run PyTorch GC on ROCm devices (#323) (00be4f4)
- api: save prompt with wildcards replaced in EXIF data (2cc4fee)
- api: scope patched imports and run GC after patching (579c5f9)
- api: send tile filters as correct type (b816307)
- api: share loaded pipeline when running loopback or highres after img2img (0a75f96)
- api: skip gradient blending when tiles do not overlap (732b07e)
- api: skip loading custom VAE after torch extraction (#379) (00b1bec)
- api: skip prompt parsing patch when using LPW (dcea248)
- api: specify input channels when converting inpainting models (#356) (0175d7e)
- api: split up worker name and job name to avoid logging false failures (dfe9f6e)
- api: store both pre-parse and parsed prompts (#320) (6e7f202)
- api: strip trailing newlines when reading hash from file (16cf5bb)
- api: support multiple outputs from txt2img stage (6425a91)
- api: swap dimensions for non-upscaling highres modes (f8d59ab)
- api: switch back to torch extraction for now (#379) (3adafea)
- api: switch between available pipelines (b20df68)
- api: switch to diffusers ckpt loading, add more pipelines to conversion (#337, #356) (4c12615)
- api: tile stages based on input image or size param (c9a1ace)
- api: unwrap results of img2img chain (42e6f35)
- api: update latent window size on VAE patches (98386cb)
- api: update panorama params when using cached pipeline (55a1e46)
- api: update VAE tiling params every time pipeline is used (98f99b1)
- api: use consistent cache key for each model type (47b1094)
- api: use correct case for PNG metadata (dc9048c)
- api: use correct latents for scheduler noise (bc946bb)
- api: use correct model for SwinIR (e166989)
- api: use correct params for default outpainting borders (#345) (c7aea34)
- api: use correct tile size for highres upscaling (12e489b)
- api: use correct weight pairs in LoHA (7f7476b)
- api: use diffusion model name without path when looking up hashes (0029943)
- api: use existing progress counter for highres and loopback (5dfb09b)
- api: use img2img pipeline for loopback when controlnet was originally selected (93b0226)
- api: use kwargs for chain stages (2d10252)
- api: use min/max from config for more params (56ff902)
- api: use padding token for prompt padding (2fe6a87)
- api: use slice multiplication for 3x3 kernels without CP decomp (a46f00a)
- api: use tile size for all highres scaling methods (7b0bed7)
- api: use upscaling method param in highres (c515d25)
- api: use VAE model dtype when converting sample (395a632)
- api: use Waitress for Windows bundle (9a2f35e)
- api: wait for worker to become idle before enqueueing next job (#286) (cfdd926)
- build: copy extras file into image from models dir (170e1c7)
- build: copy schemas into containers (b43cb26)
- build: install CPU deps during CI (1853214)
- build: move images to large runners, use image root path (75a239f)
- build: move python builds to larger runners (00fc584)
- build: run tests on python 3.8 and 3.9 (#354) (08a23ed)
- build: use 3.8 packages in AMD linux requirements file to match ROCm base image (10fa36c)
- deps: replace dependency react-query with @tanstack/react-query ^4.0.5 (f53518a)
- docs: add output image size table to user guide (e8ac20b)
- docs: add overlap diagrams (f4153aa)
- docs: add VC redist and security note to Windows setup (ee3774b)
- docs: move container setup to server guide, link to setup methods from readme (968058b)
- docs: note security option on bundle launch scripts (f4c7f02)
- exe: add build script for Windows bundle (a76ded2)
- exe: add missing gfpgan folders (#315) (2a7a068)
- exe: add omegaconf to bundle (4c7e48b)
- exe: add pytorch_lightning to Windows bundle (#366) (25e0ece)
- exe: add version info to bundle build script (6e11218)
- exe: add win10 notification package to bundle (d100d75)
- exe: capture omegaconf version info (963c507)
- exe: copy entrypoint script to correct location before bundling (124014b)
- exe: include launch scripts and readme in bundle build (c0cebcf)
- exe: include realesrgan and coloredlogs in bundles (9b05b6b)
- exe: load extras file from model path again (26bd8cd)
- exe: remove broken venv activation (ff57a48)
- exe: set default model cache to 0 for Windows bundle (e89f2fc)
- gui: add missing pipeline labels (e09b4a4)
- gui: add strings for highres iterations (8beb099)
- gui: add strings for save menu (b4db21e)
- gui: add strings for SwinIR real large models (d95d342)
- gui: attempt to decode unicode EXIF tags (27a21df)
- gui: close save menu after selecting an option (b8aef2c)
- gui: correct label for diffusion models in image card (5eb2128)
- gui: draw source to canvas immediately on change (#372) (59075a7)
- gui: handle partial extras file without totally crashing (52b7521)
- gui: improve render performance (64ea060)
- gui: limit stride to lesser of tiles and server values (3c1e154)
- gui: localize pipeline and controlnet menus (953e772)
- gui: make sure models have correct prefix (4ba1768)
- gui: replace divider below tabs, outline restart button (b85a8aa)
- gui: send UNet stride to backend as integer (a3ec880)
- increase max image sizes (5d5bfdb)
- limit UNet stride to tile size (e68e405)
- scripts: add more release tests (cbc4166)
- scripts: add test ref for img2img panorama (44ad515)
- scripts: correct model paths in test scripts (e12f3c2)
- scripts: do not use source filter for img2img tests (e283b27)
- scripts: only mark release tests as failed after retrying (c399430)
- scripts: restore MSE calculation, update some test refs (55614cd)
- scripts: show data shape in initializer diff (b4095cc)
0.9.0 (2023-03-28)
- api: add conversion script for LoRAs from sd-scripts (#213) (4c17edb)
- api: add error flag to image ready response (7cf5554)
- api: add flag for ORT float16 optimizations (1c631c2)
- api: add optimization for internal fp16 conversion (afa8f5e)
- api: add pending field to image ready response (8cbdad3)
- api: add section to extras file for additional networks (e3bf04a)
- api: add server setting for CUDA memory limit (#211) (aec540a)
- api: add trace log level (959798e)
- api: blend LoRAs and Textual Inversions from extras file (84bd852)
- api: blend ONNX models in memory (2a8c85c)
- api: blend Textual Inversions from prompt (506cf9f)
- api: build a single token for multi-layer Textual Inversions (#212) (5dd14c1)
- api: check device worker pool and recycle on a regular interval (#284) (e552a55)
- api: detect Textual Inversion type from keys (#262) (0732058)
- api: load i18n labels from additional networks (f8f36e6)
- api: load Textual Inversions from prompt (a2e21f4)
- api: parse LoRA names from prompt (143904f)
- api: parse LoRA weights from prompt (a7f77a0)
- api: pin pytorch versions and update nightly ORT (dca8a97)
- api: split up status endpoint by job status (ccf8d51)
- gui: add error status to image card (6226778)
- gui: add menus to add LoRA and Textual Inversion tokens (b195b59)
- gui: add retry function to error card (8979064)
- scripts: add env debug script (#191) (84718e5)
- scripts: add model type guessing script (#210) (17e4fd7)
- show additional networks in client (2d11210)
- api: add base token for Textual Inversion as sum layer (19d4d55)
- api: add HF hub download to fetch logic for Inversion concepts (ae3bcf3)
- api: add theoretical support for 3x3 conv in LoRA (315e5a3)
- api: allow dash in network names (645da3d)
- api: always reset job counter when creating new device worker (2b179be)
- api: apply fp16 optimizations to LoRA and Textual Inversion blending (0315a8c)
- api: assume inversion tokens are embeddings for now (e5862d1)
- api: attempt to read progress updates from recycled workers (2d2283e)
- api: avoid loading encoder twice when using LoRAs and inversions together (af326a7)
- api: better error handling around tensor loading (8acc15f)
- api: bump default model cache to 5 (#242) (a9456f4)
- api: clear job cancelled flag when worker starts a new job (#269) (aefa5b4)
- api: close queues after stopping workers (e1219cc)
- api: combine names for ONNX fp16 optimization (c2f8fb1)
- api: convert back to model format after blending, convert samples as needed (#274) (c8aad85)
- api: correctly load server env for conversion (b8f8163)
- api: disable internal fp16 for VAE encoder (#290) (73e9cf8)
- api: do not assume file extension for additional networks (b797b3d)
- api: do not move jobs from pending to running until progress is reported (27500ec)
- api: download additional networks to their own subdir in models (32b2a76)
- api: embed Inversion concepts using their name (fe498b1)
- api: enqueue next job when previous one finishes and after recycling worker (14ade83)
- api: fetch sources and additional networks by default (0e43acc)
- api: filter out temporary files from model lists (#271) (1971226)
- api: handle CUDA memory errors in workers (b2eb406)
- api: handle more out-of-memory errors in the workers (c8c5e9f)
- api: include worker totals in status endpoint (36bfcca)
- api: increment job counter for worker when it starts a new job (#283) (55e44e8)
- api: load blending tensors onto CPU (3300853)
- api: maintain list of pending jobs (15b6e03)
- api: make format list in schema match code (580d621)
- api: move imports of patches modules into function (c943a55)
- api: move model conversion messages to trace level (9f0a6f1)
- api: move prompt parsing logs to trace level (ed8a7c8)
- api: only remove running jobs from running state (2e89fd4)
- api: provide noise parameter to SD upscaling (#196) (f336cc5)
- api: remove prefix before downloading for HF hub (f779fbd)
- api: restart worker threads if they crash (4dd68ea)
- api: restart worker threads when their respective queues are full (95a61f3)
- api: restore python 3.8 compatibility (1d44f98)
- api: restrict CLIP skip token to integers, allow negative LoRA and Inversion weights (27bd10d)
- api: track last progress within worker (588c8c7)
- api: update LPW pipeline (#298) (93fcfd1)
- api: use exception level logs (226710a)
- api: use lock when restarting workers (88f4713)
- api: use ORT session for correct device when loading blended nets (9f9b73b)
- api: use Torch JIT and fallback loading (0762269)
- api: watch for progress events from leaking workers (4ddd69b)
- build: allow long-running jobs to be interrupted (641456f)
- build: install wheel for basicsr (d9bae80)
- build: make sure Torch is installed first in containers (4de8c16)
- build: pin Torch to 1.x for now (a21750f)
- buil: limit torchvision versions to match torch (fc9245f)
- deps: update dependency i18next to v22.4.13 (35ebb2a)
- deps: update dependency react-query to v3.39.3 (92cb6ac)
- docs: add check scripts to user guide (fca9ba8)
- docs: add more runtimes to memory usage table (c0ece24)
- docs: describe LoRA and Textual Inversion tokens in user guide (74dc0e9)
- docs: explain CLIP skip, describe tokens better (b99c8c8)
- docs: explain extras file format in user guide (a1c3b28)
- docs: explain how to optimize models (31e841a)
- gui: add progress bar to menus while loading (#216) (0ab52f0)
- gui: add prompt tokens to correct tab (#296) (d19bbfc)
- gui: only enable blend tab's generate button with two source images (#235) (3f9789a)
- gui: remove images from history beyond limit (#267) (ba07671)
- gui: remove prompt length error condition (#268) (382316f)
- gui: split base models and additional options (7553040)
- scripts: check for ORT modules (c465b61)
- scripts: check Torch CUDA devices (#242) (391a707)
- scripts: diff model nodes as well (8cf6f22)
- tests: add reference image for UniPC scheduler (cf429ad)
- tests: make release tests fail if image was not successful (#287) (d7e5480)
0.8.1 (2023-03-11)
- api: make cache global within each worker process (#227) (575cb88)
- api: only run GC when a diffusion model has been replaced (cb2b054)
- api: remove unused num_workers logic from server (01d3519)
- docs: remove reference to removed num_workers server variable (db61697)
- tests: clear cache between tests (919f88c)
0.8.0 (2023-03-11)
- add a way to select textual inversions (2e7de16)
- add eta parameter (fixes #194) (c1189aa)
- add parameter to run correction before upscaling (#132) (ecf3c03)
- add support for UniPC multistep scheduler (#226) (fe437e8)
- allow users to add their own labels for models (#144) (5d459ab)
- api: add a way to pass extra args to the conversion script (35303c7)
- api: add an option to remove temporary Torch files after converting to ONNX (#122) (25c41c8)
- api: add batch size to txt2img and img2img pipelines (#195) (5f3b848)
- api: add flag to disable progress bars (#158) (b4e66ef)
- api: add option for custom VAE to extras file (#145) (2c66cc5)
- api: add range syntax to expand numbered tokens (#179) (0a4f83a)
- api: add requirements file for each platform (#193) (31054c4)
- api: add support for custom tokens for textual inversions (#179) (39d3661)
- api: add support for extremely long prompts (66c4248)
- api: add txt2txt endpoint (44393e3)
- api: collect labels from textual inversions (#144) (00fa9c5)
- api: convert Textual Inversion weights (a31f7b9)
- api: enable ONNX optimizations through env (5b4c370)
- api: enable optimizations for SD pipelines based on env vars (#155) (ab6462d)
- api: initial support for textual inversion embeddings from civitai and others (#179) (46aac26)
- api: log CUDA memory stats (#141) (005650a)
- api: look for an index file when checking for converted models (#222) (843e2f1)
- api: prefer chain stage parameters over request parameters (#138) (7b8ced0)
- api: remove Flask app from global scope (06c74a7)
- api: support ckpt inversions by splitting multivector embeddings into multiple tokens (be1c8cd)
- api: support custom VAE for diffusers models (d42de16)
- api: use ONNX for Real ESRGAN v3 model (2c9d96d)
- build: add livereloading to esbuild (b1544a3)
- build: make GUI dev server use port 8000 everywhere (763bdcf)
- docs: add conversion guide (b952c88)
- gui: add i18next and start localization (5bfaddd)
- gui: add loading spinner while fetching server params (aed5e1b)
- gui: add local params and API stub so client can load without a server (#181) (d5a3b0f)
- gui: add prompt to upscale tab (fixes #187) (34832f0)
- gui: add warning when model does not support inpainting (#54) (643f7bb)
- gui: display multiple images on card (061718b)
- gui: export/import client state from settings tab (#161) (4d62404)
- gui: translate most of the client (3760093)
- test: add release regression testing script (9a7770f)
- api: add error handling for optimizations (118695d)
- api: add missing params to SD upscale (0deaa88)
- api: add sources section to extras schema (9e47979)
- api: add worker PID to log messages (cb460a0)
- api: attempt to recycle leaking workers when a job finishes (4ae4ce1)
- api: attempt to validate extra translation strings (b198b3b)
- api: better logging when converting textual inversions (9a0d205)
- api: check for cache rather than converted model before fetch (c0b8873)
- api: continue converting other models after an error in one (#166) (c74d22a)
- api: convert Real ESRGAN v3 using same arch as runtime (338fc23)
- api: correct blending mask (fixes #188) (f561dfa)
- api: correct continuation syntax for Windows launch scripts (6c47542)
- api: correct conversion imports (628812f)
- api: correct device for VRAM check (cf8ca34)
- api: correct imports (10fbafa)
- api: correct VAE config check (555de5e)
- api: correctly handle missing inversion param (3626d69)
- api: create conversion context from environment vars (15060e6)
- api: disable HF hub progress (8dd55cc)
- api: disable progress in diffusers pipelines (b2de114)
- api: enable optimizations during model conversion (fd013c8)
- api: exit worker on memory allocation errors (57fed94)
- api: fallback to PyTorch if tensors fail to load with JIT (b3c8fce)
- api: finished job notification should not block worker (edc55ae)
- api: improve cache logging (cfc20d3)
- api: include bottom margin when calculating output size (da3d95f)
- api: include cache keys in logs (55576ae)
- api: load LPW pipeline from local source (#224) (6e71775)
- api: load tokenizer with textual inversions (4b77a00)
- api: log correct token when converting Textual Inversions (30b08c6)
- api: log number of active threads when running GC (#170) (d09446c)
- api: make size params iterable (3ca02d4)
- api: make stage-specific source image optional in GFPGAN stage (#233) (6bdaa4a)
- api: mark all convert methods as no_grad (21fc7c5)
- api: match format in schema for sd-concepts (6542646)
- api: move prompt splitting logging to debug level (21c6070)
- api: only convert VAE once when coming from checkpoints (7a1f831)
- api: only remove converted VAE if it exists (56a8262)
- api: only run CUDA GC on CUDA devices (e03b637)
- api: only run GC is devices are passed (30978e3)
- api: patch VAE for SD upscaling on older versions of diffusers (#234) (e960ee1)
- api: prevent workers from blocking on their progress queues (3a4928e)
- api: report accurate size when face correction is run twice (c459e96)
- api: resize images to min dimensions by padding if necessary (#172) (0e108da)
- api: restore separate upscale and correction stages (f534fbb)
- api: reuse ORT session params for each device (b532570)
- api: run shape inference before converting models to fp16 (dbf9eaf)
- api: run torch gc alongside python (#156) (0ed4af1)
- api: sanitize filenames in user input (12fb7f5)
- api: show VRAM percent in logs (39b9741)
- api: support loading VAE from CKPT files (ca1b22d)
- api: track and repeatedly attempt to recycle leaking workers (#219) (7a3a81a)
- api: track completed jobs for each device worker (#170) (1f3a5f6)
- api: track currently active worker for each device (c0a01ef)
- api: track items removed from cache (af1c3c7)
- api: unwrap state dict from VAE (37b173d)
- api: update SD upscaling pipeline (3d73b9e)
- api: use pipeline class name in cache key (339868d)
- api: use server model path while converting SD checkpoints (#221) (c45915e)
- api: use stage source when available (ac1f744)
- api: write external weights into same directory as optimized model (74aae1b)
- build: add make target for watch mode (3dde3b9)
- build: disable preview rules in black (f8658c8)
- build: Explicitly set esbuild serve host/port (035446e)
- build: install cv2 deps (26f4b7e)
- build: reset old coverage before running tests (6e8d51b)
- build: use platform-specific requirements for containers (05c628d)
- build: use separate cache for pip packaging jobs (8435b18)
- docs: describe blending tab (a3b4b73)
- docs: describe dev watch mode (3c001a9)
- docs: describe ONNX_WEB_EXTRA_ARGS and _EXTRA_MODELS in admin guide (719fbc3)
- docs: explain converting Textual Inversions, using layer tokens, and prompt range syntax (#179) (7800581)
- docs: note about checking LoRA metadata keys (7ef63e1)
- gui: better spacing around prompt controls (ad08349)
- gui: create logger sooner and use it more (344d17a)
- gui: load server strings into correct namespaces (a0dfc06)
- gui: move pre tag into a valid location (aec44aa)
- gui: remove empty option and fix labels for none in mask filter (#228) (3f18b3b)
- gui: send correct values for upscale order (d0b8045)
- gui: set tile order to value rather than index (#229) (171b9b0)
- gui: start French translation (2b319c4)
- gui: translate the initial progress screen (af05e05)
- scripts: pass protocol and port to all test scripts (b44e644)
- scripts: reduce steps/time on leak test (6204829)
- scripts: update release tests with support for batches (6809d2d)
- tests: add release test for partial blending (312d8d2)
- tests: make release tests more strict, update DEIS reference (3d0f243)
- tests: update blend refs for release tests (5825097)
- tests: use correct endpoint in release tests for blend mode (d794835)
0.7.1 (2023-02-16)
- api: remove unused import
0.7.0 (2023-02-16)
- add iPNDM scheduler (f2d0025)
- add support for DEIS multistep scheduler (6b6f2f0)
- api: add a way to download models from civitai or other https sources (#117) (9f20248)
- api: add an option for custom checkpoint config to extras file (fixes #130) (d6201c9)
- api: add GFPGAN and Real ESRGAN to model cache (0709c1d)
- api: add model cache for diffusion models (e9472bc)
- api: add option to use any available platform (ea3b065)
- api: add tmux launch script (45ad18c)
- api: collect progress from chain pipelines (#90) (d9fc908)
- api: convert from SD checkpoints (#117) (4f71348)
- api: intercept model downloads in libs and use cached copy (fixes #95) (1179092)
- api: make any platform optional (9551e4a)
- api: pass tile order to inpaint and outpaint pipelines (3a29082)
- build: add dry run jobs for packaging (1d56530)
- gui: add a reset all button to settings and error screen (fixes #116) (8f0a8e6)
- gui: add blend tab and copy button (4abbb00)
- gui: add download button to mask (#135) (3544e23)
- gui: add tile order as an inpaint parameter (#107) (51651ab)
- gui: add undo button to mask canvas (bb05395)
- implement blend tab and copy buttons (#62) (7fa1783)
- show model in image card, use labels for model and scheduler (#104) (27a3fa8)
- api: accumulate progress from inpaint pipelines (#90) (034be32)
- api: add v2 conversion config (84079e4)
- api: always fill inpaint/outpaint mask with white (1f06b50)
- api: base model cache size on number of workers (c61f200)
- api: bypass model cache entirely when limit is 0 (df5fb93)
- api: convert blend sources to the same size as the mask (d1b2506)
- api: correctly cache diffusers scheduler (9c5043e)
- api: correctly handle partial extras files (9d1c5dc)
- api: include any platform option (d7383d1)
- api: launch with included extras if user does not provide their own (2cc6048)
- api: load Real ESRGAN PTH from cache (51d5359)
- api: make diffusion model config optional again (4cc1d63)
- api: make SD upscaling compatible with more schedulers (2b29b09)
- api: make tmux launch script executable (1de591e)
- api: make venv has been loaded in launch script (d8d5bcd)
- api: move all unet tensors to the training device (#119) (45b0916)
- api: pass both device and session options to ORT (#38) (8a2a917)
- api: pass device options to ORT session (#38) (d473a0f)
- api: patch download fn in facexlib (#134) (c6b2751)
- api: patch more download paths (#134) (05756b2)
- api: patch various download fns to use cache (#95) (8ea33e9)
- api: remove alpha channel after blending but before upscaling (fixes #148) (32a4bbc)
- api: remove any from device pool (db06f4a)
- api: remove finished jobs from worker pool (#124) (feb4603)
- api: remove inpaint post-multiply (#150) (b5eeb44)
- api: report correct image size for blend tab (d60ec52)
- api: restore python 3.8 compatibility (#146) (3e5edb1)
- api: run garbage collection after job errors (b3e4076)
- api: separate Real ESRGAN upsampler from GFPGAN stage (#87) (82487f5)
- api: skip model download if final converted version already exists (fixes #139) (7f6fa22)
- api: split up base and extras launch scripts (4b18578)
- api: use correct var for diffusion scheduler cache (aaf82a4)
- build: copy readme into packages (#114) (d5bf2b0)
- build: correct base job names for package dry runs (3b65518)
- build: install packaging tools in job (33188f6)
- build: move pip cache into project dir (baa7f91)
- build: use auth for twine upload (bbcd812)
- docs: cover extra models in user guide (24c542a)
- docs: describe how to get model ID from Civitai (#117) (92ede99)
- docs: link to SD models on HF hub (41fad09)
- docs: note launch-extras script (cc7cafa)
- gui: capitalize tile order options (6a6f482)
- gui: correct react update during render (3c7a3e5)
- gui: get tile orders from server params (0356c31)
- gui: remove duplicate dots caused by mouse click and down handlers both firing (fa0cd8e)
- gui: switch back to indeterminate progress when reported steps exceed estimate (#90) (b85c806)
0.6.1 (2023-02-07)
0.6.0 (2023-02-07)
- add face outscale as its own parameter (#111) (de4e7b0)
- api: add a way for the server to disable certain platforms (#83) (67d51a9)
- api: add CodeFormer stage for chain pipelines (e059f11)
- api: add CodeFormer to automatic upscale (0a9f108)
- api: add CodeFormer to conversion script (a2a0028)
- api: add img2img and inpaint chain stages (dcbd059)
- api: add inpaint as a chain stage (4579e96)
- api: add launch script for Windows (fa7e5e8)
- api: add progress to ready endpoint (294c831)
- api: add provider for each available CUDA device (#38) (98b6e4d)
- api: add reduce stages, noise source (c905fbb)
- api: add s3 upload chain stage (8d57d11)
- api: add save-to-disk stage (779457b)
- api: add status endpoint (157ed6d)
- api: create model path if needed during convert script (6c22cb1)
- api: distribute jobs to devices using round-robin (#38) (5e0231c)
- api: enable LPW custom pipeline (#27) (7b506cb)
- api: implement spiral grid for outpainting (a4d3f18)
- api: implement upscaling and correction as a chain pipeline (bcaf0f7)
- api: initial support for Stable Diffusion upscaling (#66) (819af82)
- api: load source and mask images for chain pipelines (#88) (1de2a51)
- api: load-balance background jobs between devices (efee374)
- api: log errors from background jobs (53f4924)
- api: make LPW an image parameter (fb376c6)
- api: parse chain pipeline from request (151ebff)
- api: parse named tile sizes (8f1cbc8)
- api: provide a way for users to add models to the convert list (#70) (c837830)
- api: provide a way to override log settings (406e0f0)
- api: remove client-side request mutex (4e7bfd7)
- api: save image params along with image (#81) (6697c2e)
- api: save output of each stage in debug mode (680adc7)
- api: server setting to select image format (6ce1309)
- api: set default platform for each container (fixes #82) (f4fc627)
- api: start implementing chain pipelines (71ff3bb)
- api: switch inpaint mode to upscale stage (50d6dbb)
- api: switch to device pool for background workers (6426cff)
- api: switch to python logging (4547bce)
- api: synthesize a mask for outpaint stages (5119a98)
- api: use per-tile latents for outpainting (483a1ba)
- build: add basic codespaces definition (#25) (7c96145)
- build: run Python lint during CI (79eaad6)
- docs: note debug mode, server env vars (ce63ef6)
- docs: start a developer guide (39a422f)
- gui: add cancel button to loading card (f5039d8)
- gui: add cancel to API client (900a95e)
- gui: add LPW flag to model settings (c47209c)
- gui: navigate to appropriate tab when copying image (fixes #80) (1e477f7)
- gui: save tabs and allow linking (#80) (e6e9914)
- api: add device index to job status endpoint (ae434f5)
- api: additional logging around model load ops (ea69753)
- api: avoid circular deps in diffusion pipeline cache (c7a6ec4)
- api: avoid setting device on schedulers that do not support it (d636ce3)
- api: calculate outpaint overlap factor before adding margins (b6fd288)
- api: convert images to ndarray before passing to GFPGAN (39f84c4)
- api: convert size to JSON (83992d9)
- api: convert spiral grid coordinates to offsets (6f1ffaa)
- api: correct caching for upscaling models (ee495a8)
- api: correct import error (59b8055)
- api: correct order for img2img params (6fcfe4f)
- api: correct python cmd for Windows (a901cc4)
- api: correctly create model path (f302be7)
- api: correctly make output directory (33bb56d)
- api: default to first available device when there are no other jobs (bf3f227)
- api: drop unused parameter from inpaint pipeline (a3eed7a)
- api: embed LPW pipeline (fixes #96) (7c5f9ba)
- api: exclude finished jobs when load balancing (ed2e15a)
- api: fully switch between LPW and regular ONNX pipelines (5f35a28)
- api: handle partial params when formatting output (c19f39f)
- api: include face correction outscale in final image size (7db5472)
- api: keep chain pipeline images and use request size (9d0609f)
- api: log number of background workers on startup (732aa27)
- api: log stacktrace from job errors (bf1378b)
- api: make sure each pipeline has its own list of stages (b1ba09a)
- api: make sure each upscale/correction model gets its own stage (833fc5c)
- api: move chain body to form field (bef50d8)
- api: only run one form of outpaint tiling (811b664)
- api: only try to load extras when a path is provided (#112) (ad10806)
- api: parse border and upscale in chain stages (18803db)
- api: pass current device when loading GFPGAN (c7e0041)
- api: pass device ID in provider params (37dd892)
- api: pass job context and device to upscaling (3637f64)
- api: pass outscale factor to CodeFormer (fixes #100) (ca2f0a6)
- api: pass prompt to upscaling pipeline (6a0f881)
- api: pin outscale for GFPGAN to 1 to avoid sparse tiling (c34ddac)
- api: prefer device with lower index when queue is tied (13510db)
- api: preserve new pixels after outpainting (7083505)
- api: remove background upscaler from GFPGAN stage (#108) (24ab52b)
- api: remove reference to undeclared var (6c9b0c9)
- api: remove unused flask-executor package (3a91347)
- api: replace some numpy RNGs with torch equivalent (401df84)
- api: respect model selection when running inpaint/outpaint stages (a1298f1)
- api: restore denoise code path for Real ESRGAN v3 (#109) (ae5cf1f)
- api: return JSON params after image requests (2123d42)
- api: run background ESRGAN on same device as GFPGAN (1dfd9e7)
- api: run garbage collection after each model change (066b1a0)
- api: set CUDA device in ORT session (04a2faf)
- api: set minimum image dimensions to 256 (#79) (ecec0a2)
- api: show indeterminate spinner until progress has been determined (88815b3)
- api: split up and cache upscaling and correction stages (56a4ace)
- api: supply missing parameter to GFPGAN (d5e5588)
- api: switch between spiral and grid tiling based on outpaint margins (#101) (6fe278c)
- api: switch RNG based on LPW parameter (f3983a7)
- api: tile mask during outpaint stage (d6193a9)
- api: update SD upscale pipeline (49b3aa6)
- api: use first available platform if requested one does not exist (15c651b)
- api: use grid tiling when inpaint margin is 0 (d6c1244)
- api: use requested size for initial chain pipeline input (0050cea)
- api: use server image format when building output name (e533dad)
- api: use SRVGG net for Real ESRGAN v3 (de4a381)
- api: variable name in GFPGAN (1ca7edb)
- api: write border and upscale to params file (b1eec69)
- build: disable ROCm container (c0e5f43)
- build: include extras and logging config in containers (e1ce3d2)
- build: install dev deps in API test job (1f65da8)
- build: mark additional targets as phony (9f9736c)
- build: sh-friendly syntax (d1ed5c4)
- docs: add checkboxes to release test plan (69ebb1c)
- docs: add duplicate device error to user guide (f6dbab3)
- docs: add PyTorch to ROCm setup section (43787f0)
- docs: correct syntax for skip argument to convert script (480129c)
- docs: describe ROCm setup (dad0564)
- docs: explain how to convert your own models (27da3c3)
- docs: start a guide for chain pipelines (2baf6ed)
- gui: clear loading state for image when it enters history (7181d62)
- gui: load remaining defaults from server params (88e4f74)
- gui: move image card labels to tooltip (2bc679e)
- gui: only send outscale when needed (35445ff)
- gui: only send scale when upscale is enabled (#106) (13de863)
- gui: query for each loading image separately (0eee464)
- gui: show indeterminate spinner when progress is not available (4abd0cb)
- gui: split upscaling and face correction controls (b8ffe3f)
0.5.0 (2023-01-24)
- add additional Real ESRGAN models, strings for them (d52c22e)
- add fill color control to inpaint (3679735)
- add outscaling option (8d3ebed)
- add ROCm provider to list (#10) (3bcd7a8)
- add upscale controls to client, params to server (d1e4fa9)
- add upscaling tab and endpoint (4aeee60)
- add version check to parameters (be3a17b)
- api: add basic upscaling (77cb84c)
- api: add conversion script for models (e59449f)
- api: add ESRGAN/GFPGAN deps (9f43837)
- api: add ONNX implementation of Real ESRGAN net (9519fc1)
- api: add option for HuggingFace token in convert script (45a3ddc)
- api: add strength param to inpaint, remove same from upscale (5ba752e)
- api: add support for Stable Diffusion models to conversion script (decb281)
- api: backend support for multiple GPUs in diffusion pipelines (a868c8c)
- api: return all types of models (ee6308a)
- api: split up test scripts for diffusers and real esrgan (48963fa)
- api: start adding model sources to convert script (4d0898a)
- build: add DirectML and ROCm images (b18567c)
- build: compile ONNX runtime with ROCm support (a8bc371)
- build: run convert script when container starts (a8769a5)
- docs: add platform/model compatibility list (b22f156)
- gui: add API server to settings (d402db8)
- gui: add blend strength to inpainting controls (691aeab)
- gui: add invert button to inpaint mask (fixes #65) (9e31445)
- gui: add menus for upscaling and correction models (0080d86)
- gui: add validation to numeric inputs, token counter to prompt (a1b16bb)
- run: add Docker Compose files for API containers (2a6df0f)
- api: actually return the filtered list of platforms (facd69f)
- api: add an option to skip certain models during conversion (556d5b8)
- api: add extra models to convert script (e083411)
- api: add missing params to load stub (fe65746)
- api: check if output file exists for ready endpoint (#57) (b2e7ad5)
- api: check image size before blending (08dbc0c)
- api: convert back to PIL after upscaling (45d65d1)
- api: convert image to numpy before upscaling (1fe6fa9)
- api: copy checkpoints into correct location, handle more models (353a655)
- api: correct denoise max, add missing face strength param (227056d)
- api: correct name for kwargs (9bff64c)
- api: correct output paths, read strength from params (a76793d)
- api: correct stub method name (f493246)
- api: dedupe models after removing extension (c0ca7cf)
- api: enable tiling when fixing faces after upscaling (ba3eff5)
- api: explicitly delete pipeline results after saving (dddadfc)
- api: filter platforms based on available providers (fixes #69) (c768cd8)
- api: generate correct latents for non-square images (86fb2ae)
- api: get all server paths from environ (4809e00)
- api: get ESRGAN/GFPGAN paths from server context, clean up test scripts (120056f)
- api: get upscale params from request (1f0c19a)
- api: handle parameters correctly when list of valid values is empty (fixes #72) (2921eba)
- api: include model scale (dba6113)
- api: join globs to avoid py 3.10-only args (0273dea)
- api: leave pipelines on default device unless specified (505cacf)
- api: load upscaling model from models dir (806503c)
- api: look up noise coordinates correctly (1283bc3)
- api: pass hardware platform to upscaling pipeline (#77) (f319e6a)
- api: pass image size to upscale job (cf6a151)
- api: pass model to ONNX instances (d406cd4)
- api: pass txt2img dimensions in correct order (be16f33)
- api: pass upscale params when creating RESRGAN (091c4e6)
- api: premultiply noise before compositing (b496e71)
- api: put conversion RNG on training device (#67) (abc1ae5)
- api: report accurate image size when upscaling (9a2e7ad)
- api: report accurate sizes (4bf6875)
- api: resolve face correction model relative to model path (5a01fe4)
- api: return structured error when image parameters are missing (fixes #76) (b62c7d3)
- api: run GC after changing pipeline (#58) (4a3bb97)
- api: skip upscaling if scale is 1 (b7c85aa)
- api: sort models without discarding (b09feda)
- api: trim model names relative to model path (4472a6f)
- api: unload old model before loading next one (9e26ee5)
- api: use correct base path for debug images (634d2e8)
- api: use correct coordinate system for outpainting (a5d3ffc)
- api: use correct scale for background correction (073ff8e)
- api: use training device when loading Real ESRGAN model (#67) (8c9c99e)
- api: validate request params better, esp model path (876b54a)
- build: add cv2 deps to CPU image (77d68bf)
- build: add cv2 deps to CUDA and ROCm images (52484e6)
- build: add launcher script and use for API images (88f9b62)
- build: add params file to other images (5286c4f)
- build: correct venv path in containers (348a4e2)
- build: install prebuilt ROCm ORT (5c026c4)
- build: remove DirectML container until a package can be found (c7bcc62)
- build: share layers from main image in feature branches (455bfdd)
- build: use and cache venv for API job (46e0fe2)
- build: use cached docker images to avoid rebuilding layers (3f1bc0e)
- docs: add podman rocm command to admin guide (fe9206c)
- docs: add server admin guide, cross-link with user guide (5d0aa60)
- docs: list correct packages in readme, move errors to user guide (b1e7ab0)
- docs: note that image parameters are not persisted when reloading (700d31e)
- gui: add server version indicator to settings (7b49b55)
- gui: align background image when it is larger than canvas (99982c6)
- gui: bump state version for new output path (246aa3d)
- gui: correct labels for Nvidia platforms (0afd25f)
- gui: correct menu state for additional models (7cd0345)
- gui: correct state for face correction button (3a3e92a)
- gui: disable face correction strength slider when option is not selected (7c60621)
- gui: do not persist upscale image source (dc84bec)
- gui: draw single clicks and avoid blending mask with itself (5e23f84)
- gui: emphasize the generate buttons, align fill color picker (64663f5)
- gui: make all image cards show at the default size (20ed8f6)
- gui: mask canvas should not tile small images (f1484dc)
- gui: only enable generate buttons after image sources exist (#64) (4898197)
- gui: only send upscaling params when it is enabled (5d2c22a)
- gui: only show inpaint image once (d6f2c62)
- gui: populate empty select menus with first valid value (0d1f236)
- gui: prevent client image history from accumulating indefinitely (df7bba4)
- gui: read image size from its own field (4d6560a)
- gui: reduce rendering when adjusting image controls (4615614)
- gui: remove unused strength param from upscale (d2c7fa9)
- gui: send blend strength for inpainting (521fa88)
- gui: send upscale params (5e5d748)
- gui: set a reasonable timeout on the initial params fetch (50fe17b)
- gui: set initial fill color (ce11165)
- gui: swap toggle buttons for decent checkboxes (46026d9)
- gui: use blur event on fill color for better perf (b66cb8f)
- move output path out of API route (for #7) (cb005d3)
- send missing model params, add face strength control (0e27cc8)
0.4.0 (2023-01-15)
- add gaussian multiply to mask filters (40080ad)
- add noise source with solid color (5bb3f6c)
- api: add a mask filter to blend outpainting edges (6c07d12)
- api: add endpoints for blend and noise settings (a8f0a7a)
- api: add endpoints to serve GUI bundle (88fde63)
- api: add helper to expand images for outpainting (66dc532)
- api: add normal and uniform noise sources (9376de8)
- api: add original source and gaussian blur noise sources (77470a6)
- api: add parameters for noise source and blend op to inpaint (e403980)
- api: add ready endpoint to check output status (55e8b80)
- api: blend outpainting border with noise (1e24018)
- api: limit simultaneous image workers (fixes #15) (e872eea)
- api: move txt2img into a background task (0ef4d60)
- api: put all image pipelines on background tasks (7e35b7b)
- api: take outpainting dimensions from query params (d9bbb9b)
- build: embed GUI bundle in API containers (6eaf92a)
- common: add pod definitions for API (e0589e2)
- gui: add copy to source buttons to image card (028d39c)
- gui: add error message when server is not available (fixes #48) (65f2f4d)
- gui: add fill with white, toggle for outpainting (0d53fdf)
- gui: add menus for noise source and blend mode (d3ad43b)
- gui: add outpainting dimension controls to inpaint tab (9e2921d)
- gui: add outpainting to API client and state (6cd98bb)
- gui: add selector for mask filter (2a30a04)
- gui: add slider for brush strength (fixes #30) (56ac6c6)
- gui: add update instructions to error screen (f00f36b)
- gui: get API root from query string if available (f834997)
- gui: implement image polling on the client (c36dadd)
- gui: produce noise based on source image histogram (b24b1eb)
- gui: replace mask to grayscale with fill button (3ad3299)
- gui: save source and mask images while changing tabs (4e82241)
- gui: show mask brush preview (fixes #39) (a87dc45)
- gui: show source behind mask with offscreen painting (e915ab5)
- gui: split mask canvas into its own component (1183216)
- move API routes under prefix (b477a99)
- api: add missing origin argument to noise sources (4675f89)
- api: add time to filenames (for #55) (16108ae)
- api: always apply mask filter for inpainting (e4020cf)
- api: blend source and noise in correct order (eedea93)
- api: clean up background jobs once they are ready (for #55) (9c93e16)
- api: convert mask before blending source (f142418)
- api: correct endpoint name for blend ops (0ed11af)
- api: correct type of provider in output path (b1aca92)
- api: fill gaussian blur with noise first (e2d17e1)
- api: get default params from file, enforce minimum params (e8b580a)
- api: include all parameters in output path (e429baf)
- api: limit outpainting using image size params (34fa3f6)
- api: make all path vars relative to API dir (360a151)
- api: reduce copies, fix function signatures (f5ed77a)
- api: resize images after getting request params (c29c92e)
- api: restore inpainting without outpainting (09c9b2c)
- api: reuse results of blur modes (ef06b45)
- api: send CORS more consistently (fa82ac1)
- api: set default mask filter to none, matching the client (df6b071)
- api: use correct param name for platform (a3029c3)
- api: use full-image compositing, write debug images to output dir (081a96d)
- api: use same parameter name as GUI for negative prompt (dc33b7c)
- build: correct path to pip requirements (f46647c)
- build: correct paths for GUI bundle (6c11f52)
- build: install torch before other packages in CPU container (e025dbb)
- build: install torch before other packages in CUDA container (b60ccd5)
- docs: add links to GUI client at GH pages (47f9eb1)
- docs: note NodeJS dependency for building GUI, note about ONNX DML upgrading numpy (74eaac3)
- gui: avoid saving mask while actively painting (d5f8838)
- gui: break up state into slices for each tab (689a6a1)
- gui: clear loading data after card leaves (600ebae)
- gui: correct label for blur mode (1c2c8b2)
- gui: disable react profiling in default bundle (1bb0a3a)
- gui: do not persist loading flag (dcfce81)
- gui: history is not iterable error when loading existing state (7885bbf)
- gui: improve API link example (c09eb75)
- gui: improve performance while using image controls (35e2e1d)
- gui: invalidate loading query after mutations (fa639ef)
- gui: load config relative to current page (fixes #43) (2e5c786)
- gui: prevent mask canvas from going into a save loop (4dc915d)
- gui: restore delete image button (68eb8eb)
- gui: send CFG to API as decimal (ef33301)
- gui: send strength for img2img requests (26a8ce7)
0.3.0 (2023-01-12)
- api: add inpaint endpoint (182ce6d)
- api: add params endpoint, defaults file (03fd728)
- api: set up venv in CUDA container, add onnxruntime-gpu (a3fe2ca)
- build: add github status jobs (fixes #28) (c8b2abc)
- build: replace Buster image with CUDA-based Ubuntu (07c18c2)
- build: upload pip package (fixes #29) (8452b73)
- gui: add inpaint call to API client (15ab44f)
- gui: add inpaint tab and basic image mask component (11b9295)
- gui: display source images after selection (f49fc96)
- gui: implement mask painting, flood fill (5e71292)
- gui: load and merge server params with config (37efd51)
- gui: persist image control state (fixes #11) (07fa81a)
- gui: share image history between tabs, add setting to adjust length of history (fixes #22) (662bf42)
- api: add latents to inpaint, remove strength (131cff6)
- api: allow decimal CFG (2f3b5c0)
- api: omit negative prompt from pipeline (9bb01cc)
- api: pass seed when calculating inpaint filenames (d20fb91)
- api: rename to avoid shadowing type (48f42e5)
- api: use correct dict for type hints (4abf760)
- build: add venv to CPU image (362b732)
- build: define template for curl jobs (9f7e16b)
- build: put Github status jobs in correct stages (e704db5)
- bump package versions to 0.2.1 (760b162)
- docs: describe how to install inpainting model (2332c44)
- gui: allow decimal steps for CFG (2ff4aee)
- gui: consistently load image controls from server params (4a6458d)
- gui: default mask brush to white/full replacement (63758b0)
- gui: handle cancel from file input (6b3c0fe)
- gui: move seed control onto same line with cfg and steps (1aa2181)
0.2.1 (2023-01-08)
- gui: allow max safe seed constant (477d89b)
0.2.0 (2023-01-08)
- api: add image with pytorch CUDA (a721008)
- api: add img2img endpoint (09ce654)
- api: experimentally add CUDA provider and Nvidia platform (8359bd5)
- api: switch to package structure (599e0ee)
- api: use hash of params as output filename (e82379c)
- gui: add download and delete buttons to image history (e605c9f)
- gui: add seed to image controls with random button (fixes #16) (4585792)
- gui: add sliders to numeric inputs (c5e0439)
- gui: add strength to img2img controls (2328c5f)
- gui: implement img2img tab (98a8db1)
- gui: put in a proper loading card (3ec8f7c)
- implement negative prompts (f2e2b20)
- make additional schedulers available in UI (93e53f6)
- api: adjust output path for module structure (c6662d1)
- api: clamp im2img strength (282a7cf)
- api: defer first model load until first request (0232c71)
- api: hash full range of seed values (057eea2)
- api: keep strength as a float (926f77b)
- api: remove prompt from output name (0d4c0a5)
- api: seed rng for each image (8c133e9)
- api: typesafe param hashing (f4ca6a0)
- api: update serve app name, add module entrypoint (b59519c)
- build: automatically push after tagging releases (55d4354)
- docs: add section with known errors (067a9b3)
- docs: begin clarifying packages for each environment (#19) (f99438e)
- docs: include onnxruntime in list of common deps (6442e68)
- docs: move ONNX DML package to Windows setup (16c8b54)
- docs: note cloning and fix test script name in readme (9973bf1)
- docs: note python3 command and venv "name cmd" error in readme (f119cb4)
- gui: add npm ignore (8f7c1e7)
- gui: add strings for more stable diffusion models, nvidia GPUs (33fd5f1)
- gui: bind dev server to localhost by default, open binding in containers (fc988e4)
- gui: disable img2img tab for now, consistent quotes in jsx (de48450)
- gui: handle decimal inputs correctly (d5c4040)
- gui: key image history by order (17e62fb)
- gui: limit seed to safe values, prep for more settings (3dfbb00)
- gui: send seed with img2img requests (4894e0d)
- gui: switch txt2img to post on client (e454203)
- add model and output directories 41d93c9
- add vscode workspace with subdir roots 4088bf4
- api: add endpoint to get previous outputs 50221af
- api: add endpoint to list models 4cb6ce8
- api: add endpoints to list platforms/accelerators and pipeline schedulers c70728d
- api: add introspection to index endpoint 8c985e9
- api: add option to switch between AMD hardware and CPU software rendering 668e46a
- api: add remaining inputs params to response bbd0e93
- api: cache pipeline between requests (part of #5) 82e7fbf
- api: cache pipeline when changing scheduler, make txt2img logging more verbose cab13f6
- build: add basic CI c6579b7
- build: add basic python CI 8d3ca31
- build: add bundle to JS build, add API image jobs 6d560af
- build: add git multi-push target 917f6ce
- build: add nginx-based GUI images 5e9890f
- build: add release target ce759ca
- build: add root makefile and common targets 3be185d
- build: put image base OS at the end of the image tag 7b8f96f
- docs: add readme note about monorepo paths b20f200
- docs: notes about bundling UI, ONNX_WEB paths for server b22f50f
- gui: add labels to dropdowns d3f4607
- gui: get default params and prompt from config 561fcb4
- gui: get platforms and schedulers from server ce06837
- gui: load models from server 46e047b
- gui: make an image card component showing params b5d67b4
- gui: move platform selector outside of mode tabs 45a097a
- gui: set up react-query for better request handling b13d46c
- gui: show recent image history 764a097
- image: add preliminary container files 8f77bb8
- return json struct with output path instead of image data, load images from outputs endpoint 4668841
- api: add numpy version restriction to requirements ca0da31
- api: add recommended venv name to git ignore 5a82f39
- api: improve image layer order 5482978
- api: match model and output paths from readme c036c6f
- api: match model path from readme 6004f76
- build: add base OS to image tags 11e61d0
- build: add stub API unit test 1cd3bd8
- build: correct base OS for GUI nginx image 91c6f47
- build: correct output filename for JS ep 9a10f52
- build: install coverage in python build 32c7701
- build: make image suffix part of the name 150a81e
- build: pull GUI images from hub 03362f3
- build: remove bash shebang e900479
- build: remove unittest from CI install list, add coverage output to git ignore 16b7bde
- build: run GUI image build in correct subdir 86a3968
- build: use correct path for image script 7dcb0d1
- build: use CPU version of pytorch in hypothetical alpine API image af40bff
- docs: add numpy to install list 7f90461
- docs: add section about custom config a0172f8
- docs: describe current features 33eb7cd
- docs: explain running containers 08270f2
- docs: note DirectML for Windows 9a5ec9c
- docs: note numpy version requirements in readme 1f26858
- docs: update readme to use nginx image for GUI 37253cc
- gui: copy bundle to correct path within nginx image 225f5f1
- gui: correct paths in nginx image 7f23711
- gui: dedupe query lists into a component 1c9eed3
- gui: make more space for scheduler in image card 7c08c4b
- gui: prevent dropdown border from overlapping with label 26e886b
- gui: remove paragraph wrapping image details 0376499
- gui: run dev server from node image ee6cf50
- gui: show parameters in a grid in the image card a950343
- gui: switch default API host to localhost 5f1bb4a
- gui: switch default platform to AMD 29c4908
- lint: style issues in gui cd36172