Skip to content
Merged

v2.16.0 #1657

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
4d05ba0
Refactor LayeredMaskEditorDialog and PaintCanvas for improved layout …
mohnjiles Jan 7, 2026
4912260
Add conditioning area mode for regional prompting in layered mask edi…
mohnjiles Jan 8, 2026
101ece8
Enhance image layer handling with caching, memory management, and res…
mohnjiles Jan 8, 2026
f105af2
Implement drag-and-drop reordering for layers in LayeredMaskEditorDialog
mohnjiles Jan 8, 2026
ea77bb3
Enhance layer path saving logic to prevent data loss for hidden layers
mohnjiles Jan 8, 2026
e4e67f8
Add brush softness/feathering control to PaintCanvas for improved pai…
mohnjiles Jan 9, 2026
6f65952
Fix escape character parsing in Inference and add chagenlog entry for…
mohnjiles Jan 9, 2026
af0d027
Add quick division presets and auto-scroll functionality for layer re…
mohnjiles Jan 16, 2026
8a0c8af
Add layer expansion state and cleanup functionality for regional prompts
mohnjiles Jan 17, 2026
2c018f5
Add warnings for legacy Python in InvokeAI and NVIDIA driver versions…
mohnjiles Jan 17, 2026
995b186
Fix build & address PR comments
mohnjiles Jan 17, 2026
06847b8
turns out it was the ai toolkit preview
mohnjiles Jan 17, 2026
0c792e7
Merge pull request #1189 from ionite34/old-stuff-notifications
mohnjiles Jan 17, 2026
d517527
Merge branch 'dev' into regional-prompting
mohnjiles Jan 19, 2026
209dbdf
Add move tool functionality for image layers with offset adjustments
mohnjiles Jan 19, 2026
ff5f11b
Add flip and fit functionality for image layers in LayeredMaskEditor
mohnjiles Jan 23, 2026
8be37fe
Merge branch 'dev' into downmerg
mohnjiles Jan 23, 2026
cec5c59
Merge pull request #1192 from ionite34/downmerg
mohnjiles Jan 23, 2026
0b2325c
Add IPipWheelService to BaseGitPackage and related classes for pip wh…
mohnjiles Jan 23, 2026
1197b00
Merge branch 'dev' into regional-prompting
mohnjiles Jan 24, 2026
67b4f1d
Install new Comfy Manager with Comfy installs, refactor Git clone log…
mohnjiles Jan 24, 2026
5101360
Fix race conditions by dispatching UI updates to the main thread in v…
mohnjiles Jan 24, 2026
36ea3fa
Update Forge Classic installs to use upstream install script for impr…
mohnjiles Jan 25, 2026
a2eb502
Refactor package settings access in ForgeClassic and add IPipWheelSer…
mohnjiles Jan 25, 2026
1c54260
Merge pull request #1193 from ionite34/fix-bugs-n-stuff
mohnjiles Jan 26, 2026
6bf9610
Add reload from metadata functionality for image layers
mohnjiles Jan 30, 2026
41918e3
Fix batch notification logic and synchronize image selection in view …
mohnjiles Feb 1, 2026
b3a48ee
Merge branch 'dev' into regional-prompting
mohnjiles Feb 1, 2026
8adfb09
Add Model Picker dialog for Inference model selection
mohnjiles Feb 8, 2026
8cfa543
Add undo functionality for layer operations and make layer management…
mohnjiles Feb 8, 2026
5df4e90
Addressed PR feedback
mohnjiles Feb 8, 2026
3d2b0a8
Merge pull request #1188 from ionite34/regional-prompting
mohnjiles Feb 9, 2026
cd41a87
Merge branch 'dev' into inference-model-picker-and-search
mohnjiles Feb 9, 2026
131ad23
Fix border clipping and combobox weirdness
mohnjiles Feb 9, 2026
8d86fa4
Temp exclude comfy-zluda from tests due to missing repo
mohnjiles Feb 9, 2026
885d61b
shoutout chagenlog
mohnjiles Feb 9, 2026
dea819e
Merge pull request #1196 from ionite34/inference-model-picker-and-search
mohnjiles Feb 9, 2026
01eaba0
Merge branch 'dev' into downmerg
mohnjiles Feb 10, 2026
978b481
Merge pull request #1198 from ionite34/downmerg
mohnjiles Feb 10, 2026
f8ca290
Update uv to v0.9.30 and adjust Python version requirements for Forge…
mohnjiles Feb 11, 2026
f30eb4d
Make python upgrade dialog more generic
mohnjiles Feb 11, 2026
0589160
Merge pull request #1199 from ionite34/more-neo-fixes
mohnjiles Feb 11, 2026
d4bf82d
Add recoverable UI-thread exception dialog
ionite34 Feb 11, 2026
0e4e00a
Update CHANGELOG.md
ionite34 Feb 11, 2026
4152385
Merge pull request #1202 from ionite34/exception-dialog
ionite34 Feb 11, 2026
861952e
Add legacy model search option to BetterComboBox
mohnjiles Feb 12, 2026
855a40f
Address PR feedback and fix searching samplers/schedulers
mohnjiles Feb 12, 2026
0915ffb
make axaml toggle thing also
mohnjiles Feb 13, 2026
976f86b
Merge pull request #1203 from ionite34/legacy-model-search
mohnjiles Feb 13, 2026
92c4cc2
update wan2gp logging by adding a wrapper script to capture output in…
mohnjiles Feb 13, 2026
dd5b053
Address PR feedback
mohnjiles Feb 13, 2026
3cc19a4
update a1111 also and chagenlog
mohnjiles Feb 13, 2026
dd79426
Merge pull request #1204 from ionite34/more-package-fixes
mohnjiles Feb 13, 2026
78ea44d
Fix the missing pkg_resources error for real this time
mohnjiles Feb 14, 2026
d9a25ac
Merge pull request #1206 from ionite34/fix-pkg-resources-for-real
mohnjiles Feb 14, 2026
7de9d39
Use relative path for UV_BUILD_CONSTRAINT to avoid issues with spaces…
mohnjiles Feb 14, 2026
c162a79
Merge pull request #1208 from ionite34/fix-the-fix
mohnjiles Feb 14, 2026
bb0f8a4
Use e.Temp for conditioning lookups
ionite34 Feb 18, 2026
346a277
Update CHANGELOG.md
ionite34 Feb 18, 2026
ba1879f
Merge pull request #1211 from ionite34/regional-prompt-fixes
ionite34 Feb 18, 2026
c1969ee
Add Unicode support for PNG metadata, configure portable Git, and imp…
mohnjiles Mar 13, 2026
e188a36
Address PR review feedback: fix duplicate env var crash, mislabeled b…
mohnjiles Mar 13, 2026
8ba6510
Merge pull request #1212 from ionite34/things-n-stuff-2
mohnjiles Mar 24, 2026
2fa64bf
Add connected metadata model organizer
mohnjiles Mar 30, 2026
34c0f9b
Add single-instance window activation signaling
mohnjiles Mar 30, 2026
d7fc970
Tighten Linux socket cleanup and update changelog
mohnjiles Mar 31, 2026
73dc3e4
Add organizer changelog notes
mohnjiles Mar 31, 2026
48cb8cb
Reuse filename template regex
mohnjiles Mar 31, 2026
5b41e8c
Remove unnecessary chagenlog line
mohnjiles Mar 31, 2026
1ad05fe
Merge pull request #1213 from ionite34/pr-linux-single-instance
mohnjiles Mar 31, 2026
4ecc3f3
Add app notifications system and banner UI
ionite34 Apr 2, 2026
7d8ff04
Add DesignData of Notification Banner VM
ionite34 Apr 2, 2026
7b81262
Use Segoe UI for markdown and add CJK styles
ionite34 Apr 2, 2026
213a618
Use import
ionite34 Apr 2, 2026
2d0661f
bigger font
ionite34 Apr 2, 2026
8b2b75a
margins
ionite34 Apr 2, 2026
72c9929
import avalonia
ionite34 Apr 2, 2026
8314385
Use platform font for dialogs and markdown
ionite34 Apr 3, 2026
8326f77
Add usings for http
ionite34 Apr 3, 2026
7633ba5
Use primary ctor
ionite34 Apr 3, 2026
2b44cd6
Map notification buttons to dialog slots
ionite34 Apr 3, 2026
96830e0
Merge branch 'dev' into app-notifications
ionite34 Apr 3, 2026
7a2a906
Optionally delay notifications until after first-launch setup
ionite34 Apr 4, 2026
5271615
chagenlog
ionite34 Apr 4, 2026
4711b23
Merge pull request #1217 from ionite34/app-notifications
ionite34 Apr 4, 2026
598d079
Add OneDrive folder warning and fix download issues
mohnjiles Apr 7, 2026
71bc27a
Add CivArchive model browser
mohnjiles Apr 7, 2026
68d6b12
Address PR review feedback
mohnjiles Apr 8, 2026
675931f
Adjust OneDrive warning copy
mohnjiles Apr 8, 2026
c185f80
Add missing NamedOption class
mohnjiles Apr 8, 2026
23a7f1e
Log when resumed downloads restart
mohnjiles Apr 8, 2026
e7eb010
Merge pull request #1219 from ionite34/download-fixes-and-onedrive-wa…
mohnjiles Apr 8, 2026
9e0e1fa
Merge branch 'dev' into downmerg-from-main
mohnjiles Apr 8, 2026
1e72e1a
fix duplicated code from merg
mohnjiles Apr 8, 2026
a440c81
Merge pull request #1223 from ionite34/downmerg-from-main
mohnjiles Apr 8, 2026
05b4c74
Refactor Teaching Tip logic in MainPackageManagerView. Switch to `IsA…
mohnjiles Apr 8, 2026
5c0aa48
Use InvokeAsync instead of Post
mohnjiles Apr 9, 2026
3e7b54a
Isolate managed Python from inherited shell env
mohnjiles Apr 9, 2026
772276b
Note package teaching tip fix in changelog
mohnjiles Apr 9, 2026
c135285
Add MembershipUrl
ionite34 Apr 9, 2026
f543151
Update & Rename Patreon footer item
ionite34 Apr 9, 2026
7836a47
Replace Patreon references with Lykos/membership
ionite34 Apr 9, 2026
770671e
Merge pull request #1224 from ionite34/fix-add-package-tip-showing-in…
mohnjiles Apr 10, 2026
ceb5d54
Fix setuptools version to avoid runtime issues with CLIP imports
mohnjiles Apr 10, 2026
373b890
Merge pull request #1226 from ionite34/fix-setuptools-error-reforge
mohnjiles Apr 10, 2026
ce89973
Merge branch 'dev' into downmerg
mohnjiles Apr 10, 2026
4c08fa1
Merge pull request #1229 from ionite34/downmerg
mohnjiles Apr 10, 2026
415136b
Add blog post url
ionite34 Apr 10, 2026
bdee024
Fix ambiguous enum xaml warning
ionite34 Apr 10, 2026
611314e
shoutout chagenlog and download json length fix
mohnjiles Apr 10, 2026
89ddc73
more chagenlog
mohnjiles Apr 10, 2026
ce8c057
Merge pull request #1230 from ionite34/shoutout-chagenlog
mohnjiles Apr 10, 2026
5261b95
Membership migrations, role badges & localization
ionite34 Apr 10, 2026
532a351
Add zh-Hans translations
ionite34 Apr 10, 2026
b4b75d4
Enhanced & added more jp translations
ionite34 Apr 10, 2026
d78aee9
Enhanced and added more kr translations
ionite34 Apr 10, 2026
45c57a3
Update & enhance de/fr/ko translations
ionite34 Apr 10, 2026
b3809df
Fix alignment for thanks text overflow
ionite34 Apr 10, 2026
7596b66
Merge branch 'dev' into patreon-migration-and-accounts
ionite34 Apr 11, 2026
eca1fd2
Merge pull request #1232 from ionite34/patreon-migration-and-accounts
ionite34 Apr 11, 2026
8a0d987
Update CHANGELOG with new features and fixes
ionite34 Apr 11, 2026
498eabc
Merge pull request #1234 from ionite34/dev-chagenlog
ionite34 Apr 11, 2026
f0575ec
Localize Prompt Amplifier & Supporter UI strings
ionite34 Apr 12, 2026
44eaca3
Merge pull request #1237 from ionite34/member-and-localize
ionite34 Apr 12, 2026
9a89486
Improve CivitAI browser resilience and stop overwriting SwarmUI user …
mohnjiles Apr 19, 2026
b3bbcee
update invoke image url
mohnjiles Apr 19, 2026
eed3f36
Handle null returns in CivitAI base model type fallback chain
mohnjiles Apr 19, 2026
75e7ed1
remove cli stuff since cli not here yet
mohnjiles Apr 19, 2026
3a9a8a3
Merge pull request #1239 from ionite34/fix/civit-reliability-and-swar…
mohnjiles Apr 19, 2026
1fbd914
Merge branch 'dev' into civarchive-browser
mohnjiles Apr 25, 2026
95c0643
Browser/details polish, install awareness, and UX parity with CivitAI
mohnjiles Apr 26, 2026
01969ea
ToggleAll commands: batch select via suppressSearch (1 search instead…
mohnjiles Apr 26, 2026
397c957
Strip empty path segments from filename pattern result
mohnjiles Apr 26, 2026
88728d7
Fix snake_case JSON field names on details endpoint DTOs
mohnjiles Apr 26, 2026
f70a083
Refresh model index after CivArchive download completes
mohnjiles Apr 26, 2026
9618192
Hide redundant 'version' kind chip on cards
mohnjiles Apr 26, 2026
04f7298
Address review comments: traversal guard, dedup perf, init fetch, reb…
mohnjiles Apr 26, 2026
0d1c303
Open File-kind results in details page via SHA256 β†’ version resolve
mohnjiles Apr 26, 2026
b0afda9
Implement ResolveFileUrlAsync on TestCivArchiveApiClient (UITests fake)
mohnjiles Apr 26, 2026
34c054b
Distinguish per-file mirror buttons by repo path
mohnjiles Apr 26, 2026
f5bf411
Card image: blur-fill behind a uniform-fit foreground
mohnjiles Apr 26, 2026
0ddad70
Fit Images toggle: choose between blur-fit and crop-fill cards
mohnjiles Apr 26, 2026
1c3ecc7
Image viewer: refresh ImageSource template key before navigating
mohnjiles Apr 27, 2026
b6f12d3
Surface "no download available" when downloadUris is empty
mohnjiles Apr 27, 2026
cab41cc
Image viewer: construct ImageSource from bitmap to bypass Task bindin…
mohnjiles Apr 27, 2026
6454d50
Fix CivArchive download startup delay
mohnjiles Apr 29, 2026
618df35
Support UNet-only text-to-image workflows
mohnjiles Apr 30, 2026
0bffc05
Add Z Image UNet workflow support
mohnjiles Apr 30, 2026
54be23c
Polish UNet workflow support
mohnjiles Apr 30, 2026
31e0f45
Share UNet workflow routing with image-to-image
mohnjiles Apr 30, 2026
4319c0b
Add inference workflow profiles
mohnjiles Apr 30, 2026
57f80e6
Move workflow selector into model card
mohnjiles Apr 30, 2026
88d74ce
Add inference workflow recommended defaults
mohnjiles Apr 30, 2026
572c1bd
Polish inference workflow selector UX
mohnjiles Apr 30, 2026
1687bac
Keep workflow model selection flexible
mohnjiles Apr 30, 2026
4c440cc
Avoid refreshing workflow models during selection
mohnjiles Apr 30, 2026
ec3c6f9
Keep inline model dropdown alphabetical
mohnjiles Apr 30, 2026
999ad49
Merge pull request #1220 from ionite34/civarchive-browser
mohnjiles May 2, 2026
574746a
Merge branch 'dev' into codex/unet-workflow-support
mohnjiles May 2, 2026
d8d571c
Merge branch 'dev' into downmerg
mohnjiles May 2, 2026
1c240b2
Merge pull request #1245 from ionite34/downmerg
mohnjiles May 2, 2026
45e827f
add shoutouts
mohnjiles May 5, 2026
1f1340c
Apply suggestion from @gemini-code-assist[bot]
mohnjiles May 5, 2026
5d4b468
Merge pull request #1246 from ionite34/another-shoutout-chagenlog
mohnjiles May 5, 2026
96e0f1f
Fixed ComfyUI-Zluda not inheriting --enable-manager from the base Com…
mohnjiles May 5, 2026
a6bad97
Merge branch 'dev' into update-comfy-zluda-args
mohnjiles May 5, 2026
343ade4
Merge pull request #1248 from ionite34/update-comfy-zluda-args
mohnjiles May 5, 2026
82e351a
Simplify Organize Models dialog layout
mohnjiles May 5, 2026
b729327
Merge branch 'dev' into pr-connected-metadata-organizer
mohnjiles May 5, 2026
dcbe559
Merge branch 'dev' into codex/unet-workflow-support
mohnjiles May 6, 2026
20b623d
Extract Organize Models dialog strings for localization
mohnjiles May 6, 2026
5b2cd03
Fix refiner selector alignment
mohnjiles May 6, 2026
9532bf2
Merge pull request #1215 from ionite34/pr-connected-metadata-organizer
mohnjiles May 6, 2026
e2f6c30
Wire model card Shift to Z-Image, reorder refiner row, fix clip override
mohnjiles May 6, 2026
c6a4548
Merge branch 'dev' into codex/unet-workflow-support
mohnjiles May 6, 2026
c243848
Document Inference workflows, samplers, and fixes
ionite34 May 6, 2026
31b41b2
Fix CivArchive browser filter bugs and compact layout
mohnjiles May 6, 2026
9ee0a7e
Address review feedback and fix CI test failures
mohnjiles May 6, 2026
67da830
Merge pull request #1250 from ionite34/fix-civarchive-browser-issues
mohnjiles May 6, 2026
e85bcc8
Merge branch 'dev' into codex/unet-workflow-support
ionite34 May 9, 2026
c1b2401
Merge pull request #1243 from ionite34/codex/unet-workflow-support
mohnjiles May 9, 2026
54a8d5f
Polish Inference UX, improve tag completion, and bundle package fixes
mohnjiles May 17, 2026
f7e3bd4
Apply Gemini review: copy ForgeNeo launch options list, null-safe del…
mohnjiles May 17, 2026
4d5cce4
Add Activity center with clickable toasts and notification history
mohnjiles May 20, 2026
ff4f1fd
Require VC++ 2015-2022 redist (build 14.40.33810+)
mohnjiles May 20, 2026
8a229fc
Fix build: drop orphaned OnDownloadsTeachingTipRequested call
mohnjiles May 21, 2026
d8ebc0e
Add O(1) Count to notification history service
mohnjiles May 21, 2026
bdecaca
Revert package delete confirmation to typing the package name
mohnjiles May 21, 2026
dc80c1b
Use Ternary markup extension instead of bespoke BoolToInt32Converter
mohnjiles May 21, 2026
b04971c
Revert to BoolToInt32Converter for SamplerCard column-span
mohnjiles May 21, 2026
bdab8e1
Generalize bool-to-int converter with ConverterParameter
mohnjiles May 21, 2026
ac35f1e
Preserve text encoder selection across Inference tab navigation
mohnjiles May 21, 2026
2919362
Harden venv sitecustomize and fix Linux GPU + ComfyUI extension installs
mohnjiles May 21, 2026
ccd215a
Add v2.16.0-pre.2 changelog entries for venv and GPU fixes
mohnjiles May 21, 2026
5d52701
Apply Gemini review: pass explicit overwrite to sitecustomize extract
mohnjiles May 21, 2026
d68e51d
Merge pull request #1252 from ionite34/inference-ux-and-fixes
mohnjiles May 22, 2026
ccdf13d
Merge branch 'dev' into fix-venv-resilience-and-gpu-detection
mohnjiles May 22, 2026
073b6c9
Merge branch 'dev' into feature/notification-activity-center
mohnjiles May 22, 2026
f8b23da
Fix FluxGym and Cogstudio package installs under uv
mohnjiles May 22, 2026
7c494a6
Merge branch 'dev' into fix-fluxgym-cogstudio-installs
mohnjiles May 22, 2026
6ddbcc0
address feedback from gemini
mohnjiles May 22, 2026
840cdc8
Merge remote-tracking branch 'origin/fix-fluxgym-cogstudio-installs' …
mohnjiles May 22, 2026
3c43bb6
Align AI-Toolkit, kohya_ss, and reForge with upstream torch versions
mohnjiles May 22, 2026
15a8ee4
Merge pull request #1255 from ionite34/fix-fluxgym-cogstudio-installs
mohnjiles May 22, 2026
b0cb142
fix chagenlog merge
mohnjiles May 22, 2026
8dcff00
Merge branch 'dev' into fix-venv-resilience-and-gpu-detection
mohnjiles May 22, 2026
feda589
Merge branch 'dev' into audit-package-recommended-versions
mohnjiles May 22, 2026
cac0c6c
Merge branch 'dev' into feature/notification-activity-center
mohnjiles May 22, 2026
710cfb5
Merge pull request #1253 from ionite34/feature/notification-activity-…
mohnjiles May 22, 2026
e5f75cb
AiToolkit: pin numpy to 1.26.4 to fix numpy 2.x ABI crash
mohnjiles May 22, 2026
e5bd242
Merge branch 'dev' into fix-venv-resilience-and-gpu-detection
mohnjiles May 22, 2026
aba6706
Merge branch 'dev' into audit-package-recommended-versions
mohnjiles May 22, 2026
c7d5236
Merge pull request #1256 from ionite34/audit-package-recommended-vers…
mohnjiles May 22, 2026
5dfb066
Merge branch 'dev' into fix-venv-resilience-and-gpu-detection
mohnjiles May 22, 2026
ccc0540
Merge pull request #1254 from ionite34/fix-venv-resilience-and-gpu-de…
mohnjiles May 22, 2026
3ac1e2a
Add changelog entries for the Activity center (#1253)
mohnjiles May 22, 2026
5efd0d0
Merge pull request #1257 from ionite34/changelog-activity-center
mohnjiles May 22, 2026
eb0823b
Recover CivitAI model browser when their public REST cache desyncs
mohnjiles May 26, 2026
3586fb2
Apply Gemini review + tone down changelog
mohnjiles May 26, 2026
34004c4
update chagenlog
mohnjiles May 26, 2026
434f8fc
Merge pull request #1258 from ionite34/fix-civitai-browser-cache-desy…
mohnjiles May 26, 2026
855e48e
Polish Image Lab + add Flux.2 Klein, ComfyUI folder types, scrollbar UX
mohnjiles May 27, 2026
fbf3b8b
Remove token & add FirstLaunchSetupWindow.axaml combo box fix
mohnjiles May 27, 2026
8c311ca
Apply Gemini review: dispose Klein CTS; refresh InvokeAI preview URL
mohnjiles May 28, 2026
f9d588e
Dispose CTS in FluxKontext + Qwen interrupt callbacks
mohnjiles May 28, 2026
4c9af22
Merge pull request #1259 from ionite34/image-lab-polish-and-flux2-klein
mohnjiles May 29, 2026
e110e7f
shoutout chagenlog
mohnjiles May 29, 2026
2ea68a4
Merge pull request #1260 from ionite34/shoutout-chagenlog
mohnjiles May 29, 2026
ce44388
Update bundled 7-Zip binaries to 26.01 (CVE-2026-48095)
mohnjiles Jun 1, 2026
8c91527
Merge pull request #1261 from ionite34/update-7zip-26.01-cve-2026-48095
mohnjiles Jun 2, 2026
0149911
Refresh bundled 7-Zip on startup when app ships a newer version
mohnjiles Jun 2, 2026
3932050
fix thing
mohnjiles Jun 2, 2026
d53db07
Fix DesignData IPrerequisiteHelper resolution for MainWindowViewModel
mohnjiles Jun 2, 2026
8b117f5
update chagenlog
mohnjiles Jun 2, 2026
22a563f
Move startup 7-Zip refresh after the single-instance guard
mohnjiles Jun 2, 2026
ec9f5df
Refresh bundled 7-Zip via package update instead of on startup
mohnjiles Jun 2, 2026
88a2f12
Merge pull request #1262 from ionite34/refresh-bundled-7zip-on-startup
mohnjiles Jun 2, 2026
2724ca2
Merge pull request #1263 from ionite34/downmerg-from-public
mohnjiles Jun 3, 2026
0e25b59
Merge branch 'dev' into downmerg-from-main
mohnjiles Jun 3, 2026
f86e7bd
Merge pull request #1264 from ionite34/downmerg-from-main
mohnjiles Jun 3, 2026
97eb2d2
Add v2.16.0-pre.2 changelog entries for AMD/ROCm support (#1629)
mohnjiles Jun 3, 2026
c4f0ddf
Merge branch 'dev' into changelog-rocm-pre2
mohnjiles Jun 3, 2026
8a8232d
Merge pull request #1265 from ionite34/changelog-rocm-pre2
mohnjiles Jun 3, 2026
fc2693f
shoutout n mega chagenlog
mohnjiles Jun 8, 2026
e276e45
Merge branch 'dev' into mega-chagenlog-2-16
mohnjiles Jun 8, 2026
3d73c66
rearrange
mohnjiles Jun 8, 2026
39ab71d
Merge branch 'mega-chagenlog-2-16' of https://github.com/ionite34/Sta…
mohnjiles Jun 8, 2026
0d0f071
remove extra whitespace
mohnjiles Jun 8, 2026
33cdbab
Merge pull request #1266 from ionite34/mega-chagenlog-2-16
mohnjiles Jun 8, 2026
265c331
Merge pull request #1267 from ionite34/dev
mohnjiles Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
280 changes: 279 additions & 1 deletion CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions StabilityMatrix.Avalonia/App.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
<StyleInclude Source="avares://Avalonia.Xaml.Interactions.Draggable/Styles.axaml" />
<StyleInclude Source="avares://FluentAvalonia.BreadcrumbBar/Styling/Styles.axaml" />
<StyleInclude Source="Styles/ProgressRing.axaml" />
<StyleInclude Source="Styles/ScrollBarStyles.axaml" />
<StyleInclude Source="Styles/ButtonStyles.axaml" />
<StyleInclude Source="Styles/SplitButtonStyles.axaml" />
<StyleInclude Source="Styles/ToggleButtonStyles.axaml" />
Expand Down Expand Up @@ -89,6 +90,7 @@
<StyleInclude Source="Controls/Inference/SharpenCard.axaml" />
<StyleInclude Source="Controls/Inference/FreeUCard.axaml" />
<StyleInclude Source="Controls/Inference/ControlNetCard.axaml" />
<StyleInclude Source="Controls/Inference/RegionalPromptCard.axaml" />
<StyleInclude Source="Controls/Inference/PromptExpansionCard.axaml" />
<StyleInclude Source="Controls/Inference/ExtraNetworkCard.axaml" />
<StyleInclude Source="Controls/Inference/LayerDiffuseCard.axaml" />
Expand Down
44 changes: 43 additions & 1 deletion StabilityMatrix.Avalonia/App.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
using StabilityMatrix.Avalonia.ViewModels.Progress;
using StabilityMatrix.Avalonia.Views;
using StabilityMatrix.Core.Api;
using StabilityMatrix.Core.Api.Handlers;
using StabilityMatrix.Core.Api.LykosAuthApi;
using StabilityMatrix.Core.Api.PromptGenApi;
using StabilityMatrix.Core.Attributes;
Expand All @@ -65,6 +66,7 @@
using StabilityMatrix.Core.Models.Settings;
using StabilityMatrix.Core.Python;
using StabilityMatrix.Core.Services;
using StabilityMatrix.Core.Services.ImageGeneration;
using StabilityMatrix.Core.Updater;
using ApiOptions = StabilityMatrix.Core.Models.Configs.ApiOptions;
using Application = Avalonia.Application;
Expand Down Expand Up @@ -149,6 +151,11 @@ public override void OnFrameworkInitializationCompleted()
{
base.OnFrameworkInitializationCompleted();

if (!Debugger.IsAttached || Program.Args.DebugExceptionDialog)
{
Dispatcher.UIThread.UnhandledException += Dispatcher_UnhandledException;
}

if (Design.IsDesignMode)
{
DesignData.DesignData.Initialize();
Expand Down Expand Up @@ -389,6 +396,7 @@ internal static void ConfigurePageViewModels(IServiceCollection services)
{
provider.GetRequiredService<PackageManagerViewModel>(),
provider.GetRequiredService<InferenceViewModel>(),
provider.GetRequiredService<BananaVisionPageViewModel>(),
provider.GetRequiredService<CheckpointsPageViewModel>(),
provider.GetRequiredService<CheckpointBrowserViewModel>(),
provider.GetRequiredService<OutputsPageViewModel>(),
Expand Down Expand Up @@ -503,8 +511,21 @@ internal static IServiceCollection ConfigureServices(bool disableMessagePipeInte
{
services.AddSingleton<ILiteDbContext, LiteDbContext>();
services.AddSingleton<IDisposable>(p => p.GetRequiredService<ILiteDbContext>());

// BananaVision has its own database to preserve conversations when main DB is cleared
services.AddSingleton<IBananaVisionDbContext, BananaVisionDbContext>();
services.AddSingleton<IDisposable>(p => p.GetRequiredService<IBananaVisionDbContext>());
}

// Image generation services
services.AddSingleton<IImageGenerationProvider, GeminiImageGenerationProvider>();
services.AddSingleton<IImageGenerationProvider, Gemini31FlashImageGenerationProvider>();
services.AddSingleton<IImageGenerationProvider, Gemini3ProImageGenerationProvider>();
services.AddSingleton<IImageGenerationProvider, FluxKontextProvider>();
services.AddSingleton<IImageGenerationProvider, QwenImageEditProvider>();
services.AddSingleton<IImageGenerationProvider, Flux2KleinProvider>();
services.AddSingleton<IImageGenerationChatService, ImageGenerationChatService>();

services.AddTransient<IGitHubClient, GitHubClient>(_ =>
{
var client = new GitHubClient(new ProductHeaderValue("StabilityMatrix"));
Expand Down Expand Up @@ -728,7 +749,7 @@ internal static IServiceCollection ConfigureServices(bool disableMessagePipeInte
}
)
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { AllowAutoRedirect = false })
.AddPolicyHandler(retryPolicy)
.AddPolicyHandler(retryPolicyLonger)
.AddHttpMessageHandler(serviceProvider => new TokenAuthHeaderHandler(
serviceProvider.GetRequiredService<LykosAuthTokenProvider>()
));
Expand Down Expand Up @@ -764,6 +785,19 @@ internal static IServiceCollection ConfigureServices(bool disableMessagePipeInte
})
.AddPolicyHandler(retryPolicy); // Assuming retryPolicy is suitable

services
.AddRefitClient<IGeminiApi>(defaultRefitSettings)
.ConfigureHttpClient(c =>
{
c.BaseAddress = new Uri("https://generativelanguage.googleapis.com");
c.Timeout = TimeSpan.FromMinutes(5); // Higher timeout for image generation
})
.AddHttpMessageHandler<GeminiApiKeyHandler>()
.AddPolicyHandler(retryPolicyLonger);

// Register GeminiApiKeyHandler
services.AddTransient<GeminiApiKeyHandler>();

// Apizr clients
services.AddApizrManagerFor<IOpenModelDbApi, OpenModelDbManager>(options =>
{
Expand Down Expand Up @@ -1039,6 +1073,14 @@ private static void OnServiceProviderDisposing(ServiceProvider serviceProvider)
Logger.Trace("Disposing {Count} Disposables", disposables.Count);
}

private static void Dispatcher_UnhandledException(object? sender, DispatcherUnhandledExceptionEventArgs e)
{
if (Program.ShowExceptionDialog(e.Exception, true))
{
e.Handled = true;
}
}

private static void TaskScheduler_UnobservedTaskException(
object? sender,
UnobservedTaskExceptionEventArgs e
Expand Down
55 changes: 48 additions & 7 deletions StabilityMatrix.Avalonia/Assets.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ internal static class Assets
new RemoteResource
{
Url = new Uri("https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip"),
HashSha256 = "608619f8619075629c9c69f361352a0da6ed7e62f83a0e19c63e0ea32eb7629d"
HashSha256 = "608619f8619075629c9c69f361352a0da6ed7e62f83a0e19c63e0ea32eb7629d",
}
),
(
Expand All @@ -115,7 +115,7 @@ internal static class Assets
Url = new Uri(
"https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.10.11+20230507-x86_64-unknown-linux-gnu-install_only.tar.gz"
),
HashSha256 = "c5bcaac91bc80bfc29cf510669ecad12d506035ecb3ad85ef213416d54aecd79"
HashSha256 = "c5bcaac91bc80bfc29cf510669ecad12d506035ecb3ad85ef213416d54aecd79",
}
),
(
Expand All @@ -124,7 +124,48 @@ internal static class Assets
{
// Requires our distribution with signed dylib for gatekeeper
Url = new Uri("https://cdn.lykos.ai/cpython-3.10.11-macos-arm64.zip"),
HashSha256 = "83c00486e0af9c460604a425e519d58e4b9604fbe7a4448efda0f648f86fb6e3"
HashSha256 = "83c00486e0af9c460604a425e519d58e4b9604fbe7a4448efda0f648f86fb6e3",
}
)
);

/// <summary>
/// FFmpeg LGPL builds for video thumbnail generation.
/// </summary>
[SupportedOSPlatform("windows")]
[SupportedOSPlatform("linux")]
[SupportedOSPlatform("macos")]
public static RemoteResource FfmpegDownloadUrl =>
Compat.Switch(
(
PlatformKind.Windows | PlatformKind.X64,
new RemoteResource
{
// BtbN LGPL build - ffmpeg-n7.1-latest-win64-lgpl-7.1
Url = new Uri(
"https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n7.1-latest-win64-lgpl-7.1.zip"
),
HashSha256 = "a77ecdc794d67401f3e4976f8856065f7762d74afd16f9c7b777ff0291a7bcaa",
}
),
(
PlatformKind.Linux | PlatformKind.X64,
new RemoteResource
{
// BtbN LGPL build - linux
Url = new Uri(
"https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n7.1-latest-linux64-lgpl-7.1.tar.xz"
),
HashSha256 = "d7d691dfa3a6d0a75362c02274a80a1f9635bd67908561aae31ee538853ab8ce",
}
),
(
PlatformKind.MacOS | PlatformKind.Arm,
new RemoteResource
{
// evermeet.cx build for macOS arm64
Url = new Uri("https://evermeet.cx/ffmpeg/ffmpeg-7.1.1.zip"),
HashSha256 = "8d7917c1cebd7a29e68c0a0a6cc4ecc3fe05c7fffed958636c7018b319afdda4",
}
)
);
Comment on lines +138 to 171

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The FfmpegDownloadUrl property is missing an entry for PlatformKind.MacOS | PlatformKind.X64 (Intel Macs). If an Intel Mac user runs the application, Compat.Switch will fail to find a matching platform and throw an exception or fail to download FFmpeg, breaking video thumbnail generation. Please add a fallback or an explicit entry for Intel Macs.

            (
                PlatformKind.MacOS | PlatformKind.X64,
                new RemoteResource
                {
                    // evermeet.cx build for macOS x64
                    Url = new Uri("https://evermeet.cx/ffmpeg/ffmpeg-7.1.1.zip"),
                    HashSha256 = "8d7917c1cebd7a29e68c0a0a6cc4ecc3fe05c7fffed958636c7018b319afdda4", // Replace with correct x64 hash
                }
            )

Expand All @@ -135,18 +176,18 @@ internal static class Assets
new RemoteResource
{
Url = new Uri("https://cdn.lykos.ai/tags/danbooru.csv"),
HashSha256 = "b84a879f1d9c47bf4758d66542598faa565b1571122ae12e7b145da8e7a4c1c6"
HashSha256 = "b84a879f1d9c47bf4758d66542598faa565b1571122ae12e7b145da8e7a4c1c6",
},
new RemoteResource
{
Url = new Uri("https://cdn.lykos.ai/tags/e621.csv"),
HashSha256 = "ef7ea148ad865ad936d0c1ee57f0f83de723b43056c70b07fd67dbdbb89cae35"
HashSha256 = "ef7ea148ad865ad936d0c1ee57f0f83de723b43056c70b07fd67dbdbb89cae35",
},
new RemoteResource
{
Url = new Uri("https://cdn.lykos.ai/tags/danbooru_e621_merged.csv"),
HashSha256 = "ac405ebce8b0caae363a7ef91f89beb4b8f60a7e218deb5078833686da6d497d"
}
HashSha256 = "ac405ebce8b0caae363a7ef91f89beb4b8f60a7e218deb5078833686da6d497d",
},
};

public static Uri DiscordServerUrl { get; } = new("https://discord.com/invite/TUrgfECxHz");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -320,4 +320,4 @@
]
}
}
}
}
7 changes: 3 additions & 4 deletions StabilityMatrix.Avalonia/Assets/hf-packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1223,12 +1223,11 @@
{
"ModelCategory": "Vae",
"ModelName": "Flux.1 VAE",
"RepositoryPath": "black-forest-labs/FLUX.1-schnell",
"RepositoryPath": "Comfy-Org/Lumina_Image_2.0_Repackaged",
"Files": [
"ae.safetensors"
"split_files/vae/ae.safetensors"
],
"LicenseType": "Apache 2.0",
"LoginRequired": true
"LicenseType": "Flux.1 Dev NonCommercial"
},
{
"ModelCategory": "Vae",
Expand Down
Binary file modified StabilityMatrix.Avalonia/Assets/linux-x64/7zzs
Binary file not shown.
Loading
Loading