1
0
Fork 0
onnx-web/CHANGELOG.md

95 KiB

Changelog

All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.

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