diff --git a/CHANGELOG.md b/CHANGELOG.md
index c25e8c7dc..42b738dd5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
# Change Log for SD.Next
-## Update for 2023-12-28
+## Update for 2023-12-29
- **Control**
- native implementation of all image control methods:
diff --git a/README.md b/README.md
index 090ab01e8..7c3c49add 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,9 @@ All individual features are not listed here, instead check [ChangeLog](CHANGELOG
- Multiple backends!
▹ **Original | Diffusers**
- Multiple diffusion models!
- ▹ **Stable Diffusion | SD-XL | LCM | Segmind | Kandinsky | Pixart-α | Würstchen | DeepFloyd IF | UniDiffusion | SD-Distilled | etc.**
+ ▹ **Stable Diffusion 1.5/2.1 | SD-XL | LCM | Segmind | Kandinsky | Pixart-α | Würstchen | aMUSEd | DeepFloyd IF | UniDiffusion | SD-Distilled | BLiP Diffusion | etc.**
+- Built-in Control for Text, Image, Batch and video processing!
+ ▹ **ControlNet | ControlNet XS | Control LLLite | T2I Adapters | IP Adapters**
- Multiplatform!
▹ **Windows | Linux | MacOS with CPU | nVidia | AMD | IntelArc | DirectML | OpenVINO | ONNX+Olive**
- Platform specific autodetection and tuning performed on install
@@ -28,7 +30,6 @@ All individual features are not listed here, instead check [ChangeLog](CHANGELOG
- Improved prompt parser
- Enhanced *Lora*/*LoCon*/*Lyco* code supporting latest trends in training
- Built-in queue management
-- Advanced metadata caching and handling to speed up operations
- Enterprise level logging and hardened API
- Modern localization and hints engine
- Broad compatibility with existing extensions ecosystem and new extensions manager
@@ -37,7 +38,8 @@ All individual features are not listed here, instead check [ChangeLog](CHANGELOG
-
+
+

@@ -62,6 +64,7 @@ Additional models will be added as they become available and there is public int
- [StabilityAI Stable Diffusion XL](https://github.com/Stability-AI/generative-models)
- [StabilityAI Stable Video Diffusion](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid) Base and XT
- [LCM: Latent Consistency Models](https://github.com/openai/consistency_models)
+- [aMUSEd 256](https://huggingface.co/amused/amused-256) 256 and 512
- [Segmind Vega](https://huggingface.co/segmind/Segmind-Vega)
- [Segmind SSD-1B](https://huggingface.co/segmind/SSD-1B)
- [Kandinsky](https://github.com/ai-forever/Kandinsky-2) *2.1 and 2.2 and latest 3.0*
@@ -72,6 +75,8 @@ Additional models will be added as they become available and there is public int
- [DeepFloyd IF](https://github.com/deep-floyd/IF) *Medium and Large*
- [ModelScope T2V](https://huggingface.co/damo-vilab/text-to-video-ms-1.7b)
- [Segmind SD Distilled](https://huggingface.co/blog/sd_distillation) *(all variants)*
+- [BLIP-Diffusion](https://dxli94.github.io/BLIP-Diffusion-website/)
+
Also supported are modifiers such as:
- **LCM** and **Turbo** (Adversarial Diffusion Distillation) networks
diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet
index b7a9bea23..dc0d590fa 160000
--- a/extensions-builtin/sd-webui-controlnet
+++ b/extensions-builtin/sd-webui-controlnet
@@ -1 +1 @@
-Subproject commit b7a9bea231c1eecdb2bf25ff7554e8b11d727fb6
+Subproject commit dc0d590faf3240746212477a95c3026aa7e9584f
diff --git a/html/xmas-control.jpg b/html/xmas-control.jpg
new file mode 100644
index 000000000..ce86b0ee7
Binary files /dev/null and b/html/xmas-control.jpg differ
diff --git a/html/xmas-default.jpg b/html/xmas-default.jpg
new file mode 100644
index 000000000..33633d886
Binary files /dev/null and b/html/xmas-default.jpg differ
diff --git a/modules/control/test.py b/modules/control/test.py
index 235cee0b4..8345997a0 100644
--- a/modules/control/test.py
+++ b/modules/control/test.py
@@ -22,6 +22,11 @@ def test_processors(image):
else:
output = processor(image)
processor.reset()
+ if output.size != image.size:
+ output = output.resize(image.size, Image.Resampling.LANCZOS)
+ if output.mode != image.mode:
+ output = output.convert(image.mode)
+ shared.log.debug(f'Testing processor: input={image} mode={image.mode} output={output} mode={output.mode}')
diff = ImageChops.difference(image, output)
if not diff.getbbox():
processor_id = f'{processor_id} null'