96 KiB
96 KiB
Changelog
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
0.8.1 (2023-03-11)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Bug Fixes
- 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)
Bug Fixes
- gui: allow max safe seed constant (477d89b)
0.2.0 (2023-01-08)
Features
- 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)
Bug Fixes
- 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)
0.1.0 (2023-01-06)
Features
- 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
Bug Fixes
- 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