// Cross-posted from Easy Diffusion’s blog.
tl;dr - Right now, what annoys me the most with Easy Diffusion is the startup time and friction, and how Easy Diffusion isn’t actually “easy” anymore - the default model (SD 1.5) is bad, users take too long to get productive, and new models require a lot of configuration. That’s what v4 aims to bring under control.
Easy Diffusion v4 needs to ship soon, this has gone on long enough.
v4’s scope (note: not everything has shipped yet):
- a cleaned-up, fast-starting server implementation (in python).
- fix the critical missing pieces in sd.cpp/sdkit3 and make sdkit3 the default backend for new users.
- a new default image generation model (instead of
sd-1.5-fp16). - background auto-update, and an option to disable auto-update.
- integrated Plugin Manager (supporting the current batch of user-written plugins).
- installers and packages for every supported platform.
- announce v4 everywhere. key message: easy to install and use, local image generation, supports latest models, fully open source.
Dropped from v4’s scope:
- No UI changes. This is because v5 will be a major rehaul of the UI (and yes, the current “Classic UI” will continue to be available to users in v5).
- No “multiple users” system. I’ve only heard one user ask for it. It’s a cool feature, and could be built in the future.
- No “projects” system (i.e. resume an ongoing session across browser restarts). This was a tough one to drop, because I really need this feature as well. This will probably be among the first updates to v4 (after v4 ships).
- A new configuration format. This format just reorganizes existing settings into cleaner-looking groupings (with better names). It has no urgent user benefit today. I’m not doing multi-user anyway right now, and it’s unclear what v5’s requirements will be (in terms of configuration). So it would be better to delay this to v5, and perform a risky configuration migration once (for v5), not twice.
The main purpose of v4 is modernization, so that ED starts up quickly and makes it easy to use the latest models.
While v4 is an evolutionary upgrade for ED, it is already a huge step forward in terms of its internal engine (30x smaller and lighter than existing PyTorch-based WebUIs). v4 uses stable-diffusion.cpp, which in turn uses ggml - the same engine that powers llama.cpp and most of the open-weights LLM industry. It has excellent support for Vulkan and Quantized weights. No ROCm bullshit. This means excellent AMD/Intel/CPU support, memory-efficient image generation with quantization, and support for even smaller and older hardware.
The pieces planned for v4 will keep being released incrementally (as they’ve already been). That is, each piece will be released as soon as it’s ready, tested in beta with users, and finally merged to main once stable.
Parts of v4 (e.g. early sdkit3 integration) are already available to test (by choosing sdkit3 as the backend in the Settings tab).
The mental model for me is that ED is a living piece of software (a “Ship of Theseus”, if you will). I keep fixing/replacing the parts that annoy me/users on an ongoing basis. v4/v5 etc are external milestones, for communication and focusing purposes. To signify that something significant has happened.