Skip to content

v2.16.2 - #1700

Merged
mohnjiles merged 46 commits into
mainfrom
main
Aug 2, 2026
Merged

v2.16.2#1700
mohnjiles merged 46 commits into
mainfrom
main

Conversation

@mohnjiles

Copy link
Copy Markdown
Member

Added

  • 📚 New documentation site at docs.lykos.ai — getting started and installation guides, package manager and Inference walkthroughs, environment variable and advanced configuration references, a terminology glossary, and troubleshooting for common issues. Written by @NeuralFault!
  • Added OneTrainer to the native Windows ROCm (AMD GPU) helper — new OneTrainer installs on supported AMD hardware get the ROCm PyTorch build, ROCm-aware bitsandbytes and triton dependencies, and the right launch environment applied automatically. New OneTrainer installs also default to Python 3.12 on all platforms - thanks to @NeuralFault!

Changed

  • Generate now auto-resumes after launching ComfyUI. If you press Generate in Inference while ComfyUI isn't connected and choose to launch it from the connection prompt, the queued generation now waits for startup and runs on its own once connected - no need to press Generate a second time
  • Updated the Windows ROCm helper's bundled bitsandbytes wheel to a build compatible with ROCm 7.13–7.15, so it keeps working as AMD's ROCm Technical Preview builds update - thanks to @NeuralFault!
  • CivitAI downloads now pick their destination folder from the file's declared type (Diffusion Model/UNet → DiffusionModels, Text Encoder → TextEncoders, CLIP Vision → ClipVision, ControlNet → ControlNet, Upscaler → upscalers) instead of guessing from the model's name. Name-based guessing remains only for files typed plain "Model", and now recognizes Krea 2 checkpoints as UNet-only

Fixed

  • Fixed a class of random crashes in the Inference mask editor and image annotation editor — undo/redo, layer operations, exporting, or closing the editor could free graphics resources that were still being drawn with, occasionally crashing mid-stroke or while saving. Canvas rendering has been restructured so this can't happen
  • Fixed pen pressure re-widening the whole stroke instead of following the pen while drawing, and mouse-drawn strokes coming back ~25% thicker after saving and reopening a project. Existing project files load exactly as before
  • Fixed the mask editor and image annotation editor leaking graphics memory — the paint canvas wasn't released on close, and paint-bucket fills were never freed
  • Fixed fast brush strokes occasionally failing with a "collection was modified" error while the stroke was still being drawn
  • Fixed opening older projects whose masks contained stroke points outside the canvas failing with an overflow error
  • Fixed a potential crash when the paint canvas rendered before its size was set
  • Fixed CivitAI models showing an empty Files section with no download links when their files use CivitAI's newer type labels (e.g. Krea 2 Turbo and Z-Image, typed Diffusion Model or Text Encoder). All current CivitAI file types are now recognized across the browser, details page, version dialog, bulk download, and installed/update detection
  • Fixed CivitAI "Download with Stability Matrix" links saving UNet-only checkpoints (Flux, Wan Video, Hunyuan, Krea 2) into the StableDiffusion folder — external links now use the same destination logic as the in-app browser
  • Fixed #1666 - AppImage builds creating a broken .desktop entry that never appeared in the application launcher and reverted manual edits on the next launch. AppImage runs now install a proper launcher entry with the app icon, and the running window shows the correct icon in the dock/taskbar (deb/rpm/flatpak installs keep their package-managed entries)
  • Fixed stabilitymatrix:// deep links (e.g. CivitAI "Download with Stability Matrix" buttons) being ignored on Linux AppImage builds
  • Fixed #1668 - the Output Browser crashing on open when an output folder contained a broken junction or symlink (a folder whose target no longer exists); those entries are now skipped instead of taking the page down
  • Fixed #1681 - Inference generation with FaceDetailer failing instantly with "An item with the same key has already been added" when two installed custom node folders share the same git remote
  • Fixed #1679 - model details pages never showing the Installed label, delete button, or version checkmark for files whose type displays as "Unknown". Installed detection now goes by file hash, so it works no matter what type CivitAI reports
  • Fixed #1667 - importing an existing package folder silently pre-selecting Forge as the package type, misclassifying re-imported packages. The type is now auto-detected from the folder's git remote
  • Fixed #1669 - Stable Diffusion WebUI reForge installing the CUDA build of PyTorch on Linux AMD systems even with ROCm selected
  • Fixed #1672 - Image Lab failing with a generic "ComfyUI rejected the workflow" error when generating with a GGUF model while the ComfyUI-GGUF extension isn't installed — it now offers the same one-click install and restart prompt as Inference
  • Fixed GGUF-quantized text encoders failing with a ComfyUI error when selected — they now load through the ComfyUI-GGUF CLIP loaders in all Inference workflows and Image Lab (mixed GGUF + safetensors selections work too), with the install prompt appearing if the extension is missing
  • Fixed Chroma and other single-encoder models being impossible to configure in Inference UNet workflows — the encoder Type dropdown was missing chroma and other single-encoder types, and the closest option (flux) demanded a second encoder these models don't use. The missing types are now listed, and single-encoder types get a single encoder slot
  • Fixed GGUF text encoders in the shared TextEncoders folder not appearing in the Inference Text Encoder dropdowns while connected to ComfyUI
  • Fixed #1682 - the Linux AppImage failing to start on modern distros (Ubuntu 24.04+, Fedora 40+) that no longer ship libfuse2. The AppImage now uses a FUSE3-based runtime, and falls back to extract-and-run when FUSE isn't available at all - thanks to @NeuralFault!
  • Fixed the Model Browser failing with "CivitAI can't be reached right now (OK: OK)" — CivitAI recently started returning null for some model statistics (download counts, ratings), which broke loading the whole page of results. Missing stats are now read as 0
  • Fixed #1695 - models whose CivitAI page has since been deleted showing an error dialog on every click, with no way to break the link:
    • The model details page now shows locally cached info instead of a dead page when the CivitAI page is gone
    • Next/Previous on the details page skip over deleted models instead of getting stuck on an error
    • New right-click Disconnect from Source action on Checkpoint Manager cards severs the link to the deleted page while keeping the local metadata (name, description, thumbnail, trigger words) — after disconnecting, clicking the card selects it like any other local model
  • Fixed OneTrainer failing to launch with current upstream versions after its UI script was renamed (train_ui.pytrain_ui_ctk.py) - thanks to @NeuralFault!

Performance

  • Dragging an image layer with the Move tool in the layered mask editor now re-renders only the dragged layer instead of re-compositing every layer on each pointer move, so dragging stays smooth in multi-layer projects
  • Faster color-mask extraction for regional prompting — a 1024×1024 canvas with six regions previously did over six million dictionary lookups per extraction
  • Fixed a small native memory leak while drawing with the mouse (a path object per frame was never freed), and removed a redundant full-canvas scan after every paint-bucket fill
  • The Checkpoints and Outputs galleries now load thumbnails at display size instead of full resolution, using far less memory and scrolling much more smoothly with large libraries
  • The CivitAI and OpenModelDB browsers now keep card images in memory, so scrolling back over models you've already seen no longer re-loads them from disk
  • Lightened the CivitAI model cards so they render faster while scrolling

Security

  • Bundled ADetailer model downloads now point at a fixed Hugging Face revision instead of the repository's moving main branch, so an upstream re-upload can't change what you get - thanks to @ungrav!

Supporters

🌟 Visionaries

There's not much glamour in a release like this one: crashes hunted down in the mask editor, downloads finally landing in the folders they belong in, Linux installs that just start. Our Visionaries are the reason we can hand a whole cycle to that kind of work, and to writing the documentation that now lives inside the app. Thank you Waterclouds, MrMxyzptlk12836, Psilocyfer18731, bluepopsicle, Ibixat, Droolguy, KalAbaddon, LG, snotty, whudunit, cusalapapen1481, and moon_milky2843 for backing the unglamorous parts as generously as the exciting ones. And a warm welcome to tarekk071223, CC, and SnooSnooEternal, the newest names on this list; it's genuinely good to have you here. 💛

🚀 Pioneers

Our Pioneers hold up the other half of this, and what a steady crew you are: Szir777, [USA]TechDude, SinthCore, Jisuren, Tigon, jweg79, rwx14662, Hurbie53, ahnhj.al, drew.lukas, Tuskaruho, Cjloha, Alligator1907, Bitti, Ghislain G, CommissarGiygas16050, qob97515211, bastardofbethlehem, and Zombop, thank you for sticking around release after release. A big hello as well to Silerae, joshsciascia72, and rad64741317, who join the Pioneers this time; we're really happy you're with us. Every fix in this changelog has a bit of all of you behind it. 💛

mohnjiles and others added 30 commits June 21, 2026 00:27
…-after-launch

Auto-resume inference generation after launching ComfyUI

(cherry picked from commit fdf0f5b7399f41c1b921551c2abd79d388de6f51)
…formance

Reduce image grid memory use and improve scroll smoothness

(cherry picked from commit 405256bd9e0167fc92cafbbc97e88ca19a7e35eb)

# Conflicts:
#	CHANGELOG.md
Fix broken AppImage .desktop file on Linux

(cherry picked from commit 031d069582f862cd4f08b9c4aaa9c35c87d2dfdc)
[dev to main] backport: Auto-resume inference generation after launching ComfyUI (1279)
[dev to main] backport: Fix broken AppImage .desktop file on Linux (1281)
…hagenlog

fix up chagenlogs

(cherry picked from commit 629ca70934c24b408d64ef2c0274824d9b990034)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: fix up chagenlogs (1288)
Civitai expanded its file type list to 17 values; anything not in our
CivitFileType enum (Diffusion Model, UNet, Text Encoder, Vision Encoder,
CLIPVision, ControlNet, Negative, Workflow, Upscaler, Enhancement LoRA,
Other) deserialized to Unknown. Since the browser filters files by
Type == Model everywhere, models whose files use the new types (e.g.
official Krea 2 Turbo, Z Image Turbo) showed an empty Files pane with
no download links.

- Add the missing enum members, with EnumMember values for spaced names
- Centralize type semantics in extensions: IsModelWeights() for install
  detection / default file picks, IsDownloadableModelFile() for browser
  file lists, GetExplicitSharedFolderType() for folder routing
- Route explicitly-typed files by their file type (Diffusion Model /
  UNet -> DiffusionModels, Text Encoder -> TextEncoders, etc.); the
  base-model-name and GGUF guesswork now only applies to files still
  typed plain "Model"
- Parse spaced file type values in ModelDownloadLinkHandler query params
- Pin the full canonical Civitai type list in a test so a future
  addition fails loudly instead of silently hiding files

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Move the full folder-resolution logic (explicit file types + the legacy
plain-"Model" UNet-only fallback) into CivitFileTypeExtensions.GetSharedFolderType
and delegate both dialog GetSharedFolderPath methods and ModelDownloadLinkHandler
to it. This fixes external download links routing plain-"Model" Flux/Wan/Hunyuan
checkpoints to StableDiffusion while the in-app paths sent them to
DiffusionModels, and erases the pre-existing drift between the two dialogs (one
detected GGUF by metadata format, the other by file extension — the merged
helper checks both).

The exact Flux1D/Flux1S/WanVideo/HunyuanVideo string comparisons are dropped:
their StringValues ("Flux.1 D", "Wan Video", "Hunyuan Video", ...) are strictly
subsumed by the case-insensitive Flux/Wan/Hunyuan prefix checks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The official Krea 2 Turbo Comfy-Org checkpoints (model 2726029) are typed
plain "Model" with baseModel "Krea 2" but are UNet-only (published from
Comfy-Org/Krea-2 diffusion_models/), so they belong in DiffusionModels
like Wan/Flux/Hunyuan.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two spots refactored to CivitFileType.IsModelWeights() dropped the null-safe
pattern guard that preceded them, so a null element in a Files list would now
NRE instead of being skipped:
- DeleteModelVersion checked !file.Type.IsModelWeights() before the null-safe
  Hashes.BLAKE3 pattern; reorder so the pattern short-circuits first.
- RecommendedModels picked the primary/first model file via bare f.IsPrimary /
  f.Type access; restore the null-safe property pattern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Support new Civitai file types (Diffusion Model, Text Encoder, ...)
…rash-hardening

Harden mask editor paint canvas against render-thread races, perf fixes

(cherry picked from commit 356d6e887b18b26cba75875fc8d1a016da464518)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Harden mask editor paint canvas against render-thread races, perf fixes (1295)
…5ac12b

Bug bash for 2.16.2: fix six reported issues

(cherry picked from commit 36751fb8c0c591a0514d82033a8a63c7c01cee1f)

# Conflicts:
#	CHANGELOG.md
#	StabilityMatrix.Avalonia/Models/HuggingFace/HuggingFaceFolderInference.cs
#	StabilityMatrix.Avalonia/ViewModels/Base/InferenceGenerationViewModelBase.cs
#	StabilityMatrix.Avalonia/ViewModels/Inference/WanModelCardViewModel.cs
…lution

The merge kept the first half of the old DialogHelper.CreateMarkdownDialog
call above the ComfyExtensionInstallHelper call that replaced it, leaving an
unclosed argument list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[dev to main] backport: Bug bash for 2.16.2: fix six reported issues (1303)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mohnjiles and others added 16 commits July 17, 2026 23:05
The pupnet command was copied from the GitHub release workflow, where
RELEASE_VERSION is a defined env var - Jenkins has no such variable, so
Groovy interpolation of $RELEASE_VERSION would throw
MissingPropertyException on the next main build. Use the pipeline's
computed ${version} (as the Windows publish stage does), and restore -y
so pupnet's --clean confirmation can't stall the non-interactive build.

Gemini's suggested single-quote fix was not taken as-is: the shell would
expand the unset RELEASE_VERSION to an empty --app-version instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New Added entry for OneTrainer joining the Windows ROCm helper and the
  Python 3.12 default; new Fixed entry for the renamed upstream UI script
- Shortened the overly technical 2.16.2 entries (mask editor internals,
  torch index mechanics, loader arity lists) down to the user-facing
  what-and-why

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The changelog stays short for Discord and the in-app update dialog; the
deeper how-and-why (render-thread ownership, torch index resolution,
GGUF loader specifics, FUSE3 runtime details) now lives on the docs site
at release-notes/2.16.2, linked from the changelog section header.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: fluid page width with nav-bar layout toggle
(cherry picked from commit eb81c51d7eb202f41b1d3a591902612a62f9102d)
[dev to main] backport: docs: fluid page width with nav-bar layout toggle (1311)
…d-pages

Bug bash: CivitAI null stats + deleted-page handling

(cherry picked from commit 40c73af4cfc626e6e0148d81fda184e3e2dc4340)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Bug bash: CivitAI null stats + deleted-page handling (1318)
…outs

Add v2.16.2 supporter shoutouts

(cherry picked from commit 6e2a64e32e5e088fb2c465f76333422bfeb3aa0c)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Add v2.16.2 supporter shoutouts (1320)
@mohnjiles
mohnjiles requested a review from ionite34 August 2, 2026 06:42
@mohnjiles
mohnjiles merged commit c5f67ef into LykosAI:main Aug 2, 2026
5 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.