diff --git a/CHANGES.md b/CHANGES.md index 1382322d..e9f06929 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,9 @@ - **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use. ### Detailed changelog +* 3.0.6 - 18 Sep 2023 - Add thumbnails to embeddings from the UI, using the new `Upload Thumbnail` button in the Embeddings popup. Thanks @JeLuf. +* 3.0.6 - 15 Sep 2023 - Fix broken embeddings dialog when LoRA information couldn't be fetched. +* 3.0.6 - 14 Sep 2023 - UI for adding notes to LoRA files (to help you remember which prompts to use). Also added a button to automatically fetch prompts from Civitai for a LoRA file, using the `Import from Civitai` button. Thanks @JeLuf. * 3.0.5 - 2 Sep 2023 - Support SDXL ControlNets. * 3.0.4 - 1 Sep 2023 - Fix incorrect metadata generated for embeddings, when the exact word doesn't match the case, or is part of a larger word. * 3.0.4 - 1 Sep 2023 - Simplify the installation for AMD users on Linux. Thanks @JeLuf. diff --git a/scripts/check_modules.py b/scripts/check_modules.py index d522a9c5..aa96acb3 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -21,7 +21,7 @@ os_name = platform.system() modules_to_check = { "torch": ("1.11.0", "1.13.1", "2.0.0", "2.0.1"), "torchvision": ("0.12.0", "0.14.1", "0.15.1", "0.15.2"), - "sdkit": "2.0.10", + "sdkit": "2.0.12", "stable-diffusion-sdkit": "2.1.4", "rich": "12.6.0", "uvicorn": "0.19.0", diff --git a/scripts/on_sd_start.bat b/scripts/on_sd_start.bat index ccbb97fe..51668fbd 100644 --- a/scripts/on_sd_start.bat +++ b/scripts/on_sd_start.bat @@ -34,6 +34,7 @@ call conda activate @REM remove the old version of the dev console script, if it's still present if exist "Open Developer Console.cmd" del "Open Developer Console.cmd" +if exist "ui\plugins\ui\merge.plugin.js" del "ui\plugins\ui\merge.plugin.js" @rem create the stable-diffusion folder, to work with legacy installations if not exist "stable-diffusion" mkdir stable-diffusion diff --git a/scripts/on_sd_start.sh b/scripts/on_sd_start.sh index 48161cd3..fbd39f8c 100755 --- a/scripts/on_sd_start.sh +++ b/scripts/on_sd_start.sh @@ -6,6 +6,7 @@ cp sd-ui-files/scripts/bootstrap.sh scripts/ cp sd-ui-files/scripts/check_modules.py scripts/ cp sd-ui-files/scripts/get_config.py scripts/ cp sd-ui-files/scripts/config.yaml.sample scripts/ + source ./scripts/functions.sh @@ -20,6 +21,10 @@ if [ -e "open_dev_console.sh" ]; then rm "open_dev_console.sh" fi +if [ -e "ui/plugins/ui/merge.plugin.js" ]; then + rm "ui/plugins/ui/merge.plugin.js" +fi + # set the correct installer path (current vs legacy) if [ -e "installer_files/env" ]; then export INSTALL_ENV_DIR="$(pwd)/installer_files/env" diff --git a/ui/easydiffusion/bucket_manager.py b/ui/easydiffusion/bucket_manager.py index 60a4ed6c..c4f4c7e1 100644 --- a/ui/easydiffusion/bucket_manager.py +++ b/ui/easydiffusion/bucket_manager.py @@ -55,8 +55,13 @@ def init(): return bucketfiles else: - bucket_id = crud.get_bucket_by_path(db, path).id + bucket = crud.get_bucket_by_path(db, path) + if bucket == None: + raise HTTPException(status_code=404, detail="Bucket not found") + bucket_id = bucket.id bucketfile = db.query(models.BucketFile).filter(models.BucketFile.bucket_id == bucket_id, models.BucketFile.filename == filename).first() + if bucketfile == None: + raise HTTPException(status_code=404, detail="File not found") suffix = get_suffix_from_filename(filename) diff --git a/ui/easydiffusion/server.py b/ui/easydiffusion/server.py index 311b3a03..5ca4f452 100644 --- a/ui/easydiffusion/server.py +++ b/ui/easydiffusion/server.py @@ -470,7 +470,6 @@ def modify_package_internal(package_name: str, req: dict): def get_sha256_internal(obj_path): - import hashlib from easydiffusion.utils import sha256sum path = obj_path.split("/") diff --git a/ui/easydiffusion/utils/__init__.py b/ui/easydiffusion/utils/__init__.py index f6758809..a930725b 100644 --- a/ui/easydiffusion/utils/__init__.py +++ b/ui/easydiffusion/utils/__init__.py @@ -1,4 +1,5 @@ import logging +import hashlib log = logging.getLogger("easydiffusion") diff --git a/ui/index.html b/ui/index.html index 85899647..a830ce70 100644 --- a/ui/index.html +++ b/ui/index.html @@ -35,7 +35,7 @@
Important: Please merge models of similar type.
For e.g. SD 1.4
models with only SD 1.4/1.5
models,SD 2.0
with SD 2.0
-type, and SD 2.1
with SD 2.1
-type models.
- | Base name of the output file. Mix ratio and file suffix will be appended to this. |
-
- |
- Image generation uses fp16, so it's a good choice. Use fp32 if you want to use the result models for more mixes - |
-
- | - | -
- | - | Number of models to create |
- | % | -Smallest share of model A in the mix |
- | % | -Share of model A added into the mix per step |
- | - | Sigmoid function to be applied to the model share before mixing |
Important: Please merge models of similar type.
For e.g. SD 1.4
models with only SD 1.4/1.5
models,SD 2.0
with SD 2.0
-type, and SD 2.1
with SD 2.1
-type models.
+ | Base name of the output file. Mix ratio and file suffix will be appended to this. |
+
+ |
+ Image generation uses fp16, so it's a good choice. Use fp32 if you want to use the result models for more mixes + |
+
+ | + | +
+ | + | Number of models to create |
+ | % | +Smallest share of model A in the mix |
+ | % | +Share of model A added into the mix per step |
+ | + | Sigmoid function to be applied to the model share before mixing |
Thumbnail:
+Keywords: +
+ +
+ LORA model keywords can be used via the + Embeddings
button. They get added to the embedding
+ keyword menu when the LORA has been selected in the image settings.
+