Skip to content

v2.16.3 - #1724

Merged
mohnjiles merged 52 commits into
mainfrom
main
Aug 29, 2026
Merged

v2.16.3#1724
mohnjiles merged 52 commits into
mainfrom
main

Conversation

@mohnjiles

Copy link
Copy Markdown
Member

Added

New Feature: 🔀 CivitAI Workflow Browsing

  • The Model Browser now browses and imports ComfyUI workflows from CivitAI — pick the new Workflows model type (or spot them in All-type searches), open one, and import it straight into your workflow library; archives are unpacked automatically, and images with an embedded workflow (the drag-into-ComfyUI kind) are converted into regular workflows with the image kept as the preview
  • Your workflow library is now linked into ComfyUI itself — imported workflows appear under a "Stability Matrix" folder in ComfyUI's own workflow browser, for every installed ComfyUI-based package
  • Custom node install assist: after importing a workflow that needs custom nodes, Stability Matrix reads the node packs right out of the workflow file, shows which are already installed, and offers one-click installs for the rest

📖 In-App Documentation (shipped in v2.16.2)

  • Left out of the 2.16.2 release notes by mistake, so it is recorded here. Read the Stability Matrix guides without leaving the app:
    • Press F1 from anywhere, or open it from Settings → About → Documentation
    • New ? buttons on the Package Manager, install details, the running package console, Inference, and the Environment Variables and App Folders settings open the page for what you're looking at
    • Browse every section from a nav tree, follow links between pages, and zoom the text in or out — your zoom level is remembered
    • Pages are read live from docs.lykos.ai, so new and updated writing shows up without an app update, and a copy ships inside the app so it still works offline

Changed

  • The Workflows page is now your installed workflow library, front and center — no more tabs, since browsing moved to the Model Browser. Cards for CivitAI-imported workflows link back to their CivitAI page
  • Removed the OpenArt workflow browser: OpenArt has discontinued its ComfyUI workflow community (the site no longer has workflow pages, nothing new has been uploaded since March, and the unmoderated feed had filled with spam). Workflows you already imported from OpenArt stay fully usable in your library
  • Updated AI-Toolkit installs to PyTorch 2.13.0 on CUDA 13.0 with Python 3.12, matching current upstream requirements (#1714) — with a console warning at launch if your NVIDIA driver is older than the 580 series CUDA 13.0 needs
  • Updated the bundled uv package manager to 0.12.5, adding newer Python builds to the Python picker — including the 3.10 security releases requested in #1709

Fixed

  • Fixed custom node installs failing on legacy source builds that import pkg_resources (e.g. cupy-wheel) — pip runs started by extension install scripts now get the same setuptools<82 constraint that package installs already applied for uv
  • Fixed #1703 - model cover/preview images not displaying when your File Name Pattern contains a #
  • Fixed #1705 - the Model Browser showing results in a scrambled order after refreshing with the Search button
  • Fixed #1708 - OneTrainer on Windows ROCm crashing at the start of training with bitsandbytes 8-bit optimizers — a bundled wheel now pins bitsandbytes to the same 0.49.1 build OneTrainer itself expects, so 8-bit optimizers work again - thanks to @NeuralFault for the diagnosis and @0xDELUXA for the wheel!
  • Fixed #1710 - CivitAI downloads sometimes fetching a different file from the same model version (then failing hash verification) when several files share identical metadata — downloads now pin the exact file
  • Fixed #1715 - the app crashing on startup on Linux when the models folder contains folders or files differing only in letter case (e.g. unet and Unet, also #1149/#1357) — models in differently-cased folders now show up in the Checkpoint Manager instead of being silently skipped, and a model index error can no longer take down the app
  • Fixed #1716 - phantom Update Available badges on embeddings, VAEs, upscalers, and ControlNets — the update check didn't count those file types as evidence of being up to date, so it flagged them all forever; wrong badges clear on the next check
  • Fixed #1707 - Inference's Layer Diffuse addon failing at the sampler with 'NoneType' object is not subscriptable on current ComfyUI — the Inference Core Nodes extension carries the fix, and Inference now offers the update when your copy predates it
  • Fixed #1717 - Inference and Image Lab asking you to install a ComfyUI extension you already have (most often ComfyUI-GGUF), with the same prompt returning after every install — extensions added from the ComfyUI registry, which ComfyUI-Manager unpacks instead of cloning, weren't being seen at all, and clones were only recognized when their remote URL matched ours character for character (a .git suffix or an SSH remote was enough to miss)
  • Fixed early access versions no longer being detected — CivitAI now marks them via a deadline field while reporting them as public, which broke the early-access update badge and the Model Browser's Hide Early Access Models filter
  • Fixed multi-architecture models (e.g. Illustrious | Pony | NoobAI in one listing) counting a release for a different architecture as an update — update checks now compare within your installed version's base model, so the update and early-access badges reflect the actual successor on your track
  • Fixed installing a package that needs a newer Python breaking an already-installed package's environment — adding a package on Python 3.13 next to an existing 3.12 one left the older package unable to launch with error no: 2, and repairing it by hand didn't hold because it was rewritten on every launch - thanks to @NeuralFault!
  • Fixed Clear Finished in the Activity popout also clearing failed downloads, taking their Retry button with them — failed items now stay until you retry or dismiss them yourself - thanks to @NeuralFault!
  • Fixed SwarmUI's Launch Mode option having no effect, as it used a hyphen where SwarmUI expects --launch_mode — the dropdown also gains a none option to stop SwarmUI opening a browser window on launch - thanks to @NeuralFault!
  • Fixed Forge Neo and other uv-dependent packages failing to launch on Linux and macOS with Error: 2 uv not found (#1713) — the bundled uv is now on the launch PATH there too, not just on Windows - thanks to @NeuralFault!
  • Fixed the CivArchive browser returning far fewer results than the CivArchive website — the site's redesign quietly pinned the app's search route to the past quarter, and the renamed result-count field capped infinite scroll at a single page
  • Fixed clicking some CivArchive results showing an error instead of the model — the redesign added whole-model search results whose detail pages load through a redirect the app didn't follow
  • Fixed CivArchive file results opening in the web browser instead of the in-app details page, and the details page's version dropdown doing nothing — both casualties of a renamed field in the redesigned API
  • CivArchive cards without a preview (whole-model and file results) now backfill an image from the model's gallery in the background instead of staying gray placeholders
  • Fixed trigger words being cut off on the CivArchive details page — entries that are whole prompt lines now wrap
  • CivArchive article results, which have no in-app page, now open in the web browser instead of erroring

Supporters

🌟 Visionaries

A point release that quietly grew a feature: workflows you can now browse and import straight from CivitAI, sitting alongside a long run of fixes that each began with somebody taking the time to report a problem. Our Visionaries are why both halves get proper attention instead of one crowding out the other. Thank you Waterclouds, MrMxyzptlk12836, bluepopsicle, Ibixat, Droolguy, snotty, dispenser, cusalapapen1481, moon_milky2843, sn3232323233350, CC, and SnooSnooEternal for making that possible. A warm welcome as well to TwistedDragon, Eaglebane, hasezou11013179, and Akros, the newest names on this list; it's genuinely lovely to have you with us. 💛

🚀 Pioneers

Our Pioneers carry the other half, and there's a quiet kind of trust in a list that barely changes from one release to the next: SinthCore, Jisuren, jweg79, Hurbie53, Tuskaruho, Cjloha, Alligator1907, Bitti, CommissarGiygas16050, bastardofbethlehem, Zombop, Silerae, and joshsciascia72, joined this release by cy_hart691842, who we're very glad to have aboard. Point releases rarely make headlines, and you back them just as readily as the big ones. Thank you for that, every one of you. 💛

mohnjiles and others added 30 commits August 2, 2026 11:27
…ates

(cherry picked from commit bc144b3da5b66c8d80115c1f8bb34cdabd62690f)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Update trainer installs: AI-Toolkit torch 2.13.0/cu130 + OneTrainer Windows-ROCm bnb fix (1330)
Model browser bug bash: wrong-file downloads, '#' preview breakage, search-order scramble

(cherry picked from commit be957b3f6201added2dcff777315e6c2f424fc04)
Bump bundled uv 0.9.30 → 0.12.5

(cherry picked from commit d33a761b954893a4d4651df4e3921e653396a357)
[dev to main] backport: Model browser bug bash: wrong-file downloads, '#' preview breakage, search-order scramble (1331)
[dev to main] backport: Bump bundled uv 0.9.30 → 0.12.5 (1332)
…del-folders

Fix crashes from case-conflicting model folders on case-sensitive filesystems

(cherry picked from commit 3c4d04df2b5bd48d8494e8ffb795ef287a6e6bf8)
[dev to main] backport: Fix crashes from case-conflicting model folders on case-sensitive filesystems (1333)
…lder-label

Point CI at linux-builder role label instead of agent hostname

(cherry picked from commit 6481f4693237d6024bdc55f1c5ee0749ebb3864f)
[dev to main] backport: Point CI at linux-builder role label instead of agent hostname (1338)
fix: stop flagging phantom model updates in Checkpoint Manager
(cherry picked from commit 97a87bf7e29b7016691d6dcc4b81c5847e801904)
[dev to main] backport: fix: stop flagging phantom model updates in Checkpoint Manager (1340)
OpenArt has discontinued its ComfyUI workflow community: the site no longer
has workflow pages, the public API feed has had a single upload since March,
and the unmoderated "latest" feed surfaced spam listings at the top of our
browser tab. Rather than filter a dead catalog, replace the source:

- Remove the OpenArt browser tab, API client, and import dialog. The
  OpenArt-shaped metadata models stay - every previously imported workflow
  embeds that schema, and it now serves as the general on-disk metadata
  format (WorkflowMetadata, with a new sm_source_url field).
- Model Browser gains the CivitAI "Workflows" model type. Importing a
  workflow downloads the archive, extracts the workflow jsons into the
  Workflows library, and embeds library metadata in each file
  (DownloadCivitWorkflowStep). Model-only surfaces (install locations,
  bulk download, cm-info sidecars) are bypassed for workflow models so
  sidecar files can't appear as phantom entries in the library.
- ComfyUI packages now link the shared Workflows library into
  user/default/workflows/"Stability Matrix", so imported workflows appear
  natively in ComfyUI's own workflow browser (applies to ComfyUI-Zluda via
  inheritance; skipped when shared folders are disabled).
- The Workflows page drops its tab bar and is now the installed workflow
  library directly; cards for CivitAI imports link back to their source
  page. Legacy OpenArt imports keep working, minus the now-dead site link.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Some CivitAI workflow packs ship zips of PNGs rather than json files
(e.g. WAN 2.2 Kijai Wrapper) - ComfyUI embeds the full workflow graph in
a "workflow" tEXt chunk when saving images, which is what makes
drag-into-ComfyUI work. The import step now extracts that chunk (via the
existing ImageMetadata chunk reader) from .png archive entries and bare
.png files, imports it as a regular workflow json - so the ComfyUI
workflows-folder link keeps working - and keeps the image itself as the
workflow's preview sidecar. Images without an embedded workflow are
skipped; the no-workflows error message now covers both shapes.

Chunk format verified against real ComfyUI output files (uncompressed
tEXt, keyword "workflow"), matching what the metadata reader supports.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Workflow screenshots are often full-graph captures (thousands of pixels,
multiple MB), which made the installed workflows page decode heavyweight
images per card:

- Imported PNG previews and metadata-editor image picks are downscaled to
  fit 1024px on the longest side (ImageThumbnailHelper, SkiaSharp) before
  being written as the preview sidecar. Undecodable input passes through
  unchanged.
- The CivitAI thumbnail url stored in imported metadata gets its width
  transform capped at 700 (CivitaiUrlHelper.CapImageWidth), matching what
  cards actually render; browser cards already capped via
  CivitImageWidthConverter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- install.py scripts that shell out to plain pip (e.g. installing the
  legacy cupy-wheel sdist) now get PIP_CONSTRAINT pointing at the venv's
  setuptools<82 build constraints, fixing pkg_resources build failures
  that UV_BUILD_CONSTRAINT alone doesn't cover.
- The tests project uses SkiaSharp.NativeAssets.Linux.NoDependencies so
  the new thumbnail tests run on CI agents without fontconfig.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The removed OpenArt browser offered node installs when importing a
workflow; without this, 2.16.3 would lose that capability. Ports the
standalone analyzer + dialog from the dev line: required packs are read
from the workflow file's embedded cnr_id/aux_id node properties, matched
against the extension index (registry id first, repo/title fallback),
and missing installable packs get one-click installs after import. The
dialog only auto-opens when something is actionable.

The dev line's extras (Check Required Nodes context action, and the rest
of the workflows QoL round) stay 2.17-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Some workflow packs ship showcase renders generated by A1111/Forge,
which carry only a "parameters" text chunk - there is no ComfyUI
workflow in the file at all (ComfyUI's drag-import appears to work by
synthesizing a default graph from those parameters). Importing such a
file now says exactly that instead of the generic no-workflows error,
so users know the creator didn't attach the actual workflow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Backport LykosAI#1346: CivitAI workflow browsing + ComfyUI linking (2.16.3)
Accessible names for icon-only controls + --overlay-popups flag

(cherry picked from commit 477555ac27c99b4126b12f912b131f5f40850f21)
…n-git

Recognize ComfyUI extensions installed outside our git clone

(cherry picked from commit 005267326f52385e313441c05ec0a48a93d91f84)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Accessible names for icon-only controls + --overlay-popups flag (1348)
…ersion

Require Inference Core Nodes 0.5.2 for Layer Diffuse

(cherry picked from commit 3717902976675a7fcc4a414ad7f934baeebfd622)

# Conflicts:
#	CHANGELOG.md
mohnjiles and others added 22 commits August 18, 2026 16:52
[dev to main] backport: Require Inference Core Nodes 0.5.2 for Layer Diffuse (1352)
Visionaries and Pioneers for the 2.16.3 release, from the current roster.

This is the first shoutout assembled after the 2026-08-02 Patreon role
reconcile. The 2.16.2 list was built the day before it ran, so several names
there were accounts holding stale roles rather than active supporters; the
shorter list here is mostly that correction rather than people leaving.

whudunit and SinthCore are annual Patreon carryovers whose accounts have no
name set, so they never appear in the roster endpoint and are credited by hand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The in-app docs viewer (F1, the contextual ? buttons, the bundled offline copy)
shipped in 2.16.2 - DocsHelpButton.cs is in tag v2.16.2 - but no version of this
changelog on main ever mentioned it. The feature came in against the public repo
and was downmerged, so the code arrived without its changelog entry while the
fork's dev branch picked the entry up through the normal path.

2.16.2 is shipped and stays frozen, so the entry is recorded here instead, with
the release it actually belongs to named in the heading. The wording matches
dev's copy verbatim. The "New documentation site" bullet already in 2.16.2 is a
different thing: that is the docs site, not the in-app viewer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…utout

Add supporter shoutouts for 2.16.3
New Visionary since the shoutout was written, subscribed 2026-08-19. They appear
in the roster as "dispenser" while billing shows the account name "dimifi",
which is the ShoutoutName override doing its job.

2.16.3 is untagged, so the section can still credit them. Matches the dev-side
change so both branches stay in sync.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dispenser and whudunit are the same account (08f614a4, Discord global name
whudunit, ShoutoutName dispenser). The previous commit had them thanked as
whudunit and welcomed as dispenser in the same paragraph, which double-credits
one person and greets a supporter of fourteen months as brand new.

They are a Patreon annual carryover mid-migration rather than a new subscriber:
Patreon benefits ran out 2026-08-16 and they started a $250/year Stripe
subscription on 2026-08-19. ShoutoutName is what someone asked to be called, so
they appear as dispenser, in the position whudunit held.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…main

Credit dispenser in the 2.16.3 shoutout
The downmerge brought three contributions from @NeuralFault that had no
changelog entries: the pyvenv.cfg/Python distribution fix (LykosAI#1698), Clear
Finished sparing failed downloads (LykosAI#1699), and SwarmUI's Launch Mode option
(LykosAI#1720).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…munity-fixes-main

Record the downmerged community fixes in the changelog (2.16.3)
Downmerged from public LykosAI#1721: the bundled uv was only added to the launch
PATH on Windows, so uv-dependent packages could not find it on Linux or
macOS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Downmerge LykosAI#1721: bundled uv on PATH for Linux/macOS launches
…-compat

Fix CivArchive browser after site redesign

(cherry picked from commit 3bd7afed72e53d0ea529dc9851df40edce12ddd6)

# Conflicts:
#	CHANGELOG.md
The automated cherry-pick committed the CHANGELOG with unresolved conflict
markers and pulled dev-only sections (v2.17.0-pre.1 / dev.1-dev.3) into
main's changelog. Main's changelog tracks releases only — the CivArchive
entries belong solely in the accumulating v2.16.3 section, which already
got them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[dev to main] backport: Fix CivArchive browser after site redesign (1373)
…into downmerg-from-public-1723

Brings LykosAI#1723 (@0xDELUXA) down from public: pins the
OneTrainer Windows ROCm bitsandbytes wheel to 0.49.1, matching OneTrainer's
own pin exactly, replacing the 0.50.0.dev0 build that dropped optimizer
kwargs OneTrainer still passes.

Conflicted with this repo's own LykosAI#1330 fix (37c08e77), which took a different
route to the same LykosAI#1708 issue: disabling bnb entirely on Windows ROCm rather
than pinning a compatible wheel. Took public's re-enablement wholesale -
CreateInstallProfile(PyVersion) is back, its one call site in OneTrainer.cs
updated to pass the install's Python version, and the now-stale "bnb
temporarily unavailable" launch notice removed.

CHANGELOG.md: updated the existing LykosAI#1708 entry under v2.16.3 rather than
duplicating it, since the old wording ("no longer installed") no longer
matches what ships.
Downmerge LykosAI#1723: pin OneTrainer ROCm bitsandbytes wheel to 0.49.1
Names-only update, keeping the original prose. Visionaries welcome Akros;
sn3232323233350 returns to the established list (already welcomed in dev.1,
their absence from the Aug 18 roster pull was a blip - Stripe sub has been
continuously active since June). Pioneers welcome cy_hart691842.

SinthCore stays listed: absent from the supporters endpoints only because
both Name and ShoutoutName are null on the account, which the roster can't
display - the underlying Patreon annual is active through 2027-02-03.
rad64741317 is genuinely absent (lapsed) and quietly omitted.
@mohnjiles
mohnjiles merged commit 1efe795 into LykosAI:main Aug 29, 2026
3 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.