This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+13 more
Summary
AI summaryUpdates What's Changed in Unsloth, studio/frontend, and studio across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Advisory lockfile supply-chain audit performed (no install-script changes) Advisory lockfile supply-chain audit performed (no install-script changes) Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
More offline mode support added More offline mode support added Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Honor HF_HUB_OFFLINE/TRANSFORMERS_OFFLINE env vars in loader fix Honor HF_HUB_OFFLINE/TRANSFORMERS_OFFLINE env vars in loader fix Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Regenerate desktop launcher on unsloth studio update (macOS, Linux, Windows) Regenerate desktop launcher on unsloth studio update (macOS, Linux, Windows) Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Expose finetune_last_n_layers for parity with mlx-lm CLI in peft fix Expose finetune_last_n_layers for parity with mlx-lm CLI in peft fix Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Many UI/UX bug fixes implemented Many UI/UX bug fixes implemented Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Derive Playwright default model expectation in Studio Derive Playwright default model expectation in Studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Fix GGUF multi-image chat handling Fix GGUF multi-image chat handling Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Expose standalone tool healing utilities Expose standalone tool healing utilities Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Add --spec-draft-n-max toggle for MTP speculative decoding in studio Add --spec-draft-n-max toggle for MTP speculative decoding in studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Enable tools, thinking blocks, code execution, and web search for safetensors in Studio Enable tools, thinking blocks, code execution, and web search for safetensors in Studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Differentiate offline from backend-down in fetch error in studio web Differentiate offline from backend-down in fetch error in studio web Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Dependency | Medium |
Bump unsloth pin to >=2026.5.3 in install scripts Bump unsloth pin to >=2026.5.3 in install scripts Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Performance | Medium |
Improve MTP speed on Macs, CPUs, and GPUs Improve MTP speed on Macs, CPUs, and GPUs Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Performance | Medium |
Reserve VRAM headroom for the MTP draft cache in auto-fit by studio Reserve VRAM headroom for the MTP draft cache in auto-fit by studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Performance | Medium |
Cap auto-load cascade attempts in studio frontend Cap auto-load cascade attempts in studio frontend Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Fix unsloth studio update command not working well Fix unsloth studio update command not working well Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fix getting stuck on reset-password page Fix getting stuck on reset-password page Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fix Desktop Shortcut not working after update Fix Desktop Shortcut not working after update Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fix loss function not patched for Qwen3.5 models Fix loss function not patched for Qwen3.5 models Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fix toast close-button click and light-mode hover in studio frontend Fix toast close-button click and light-mode hover in studio frontend Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Emit one comma-chained --spec-type for CPU/Mac MTP path in studio Emit one comma-chained --spec-type for CPU/Mac MTP path in studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Reconcile stale must_change_password localStorage flag in studio frontend Reconcile stale must_change_password localStorage flag in studio frontend Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Guard message-timing badge against unphysical tok/s in studio frontend Guard message-timing badge against unphysical tok/s in studio frontend Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Refactor | Medium |
Engage draft-mtp on vision MTP GGUFs, drop incorrect vision gate Engage draft-mtp on vision MTP GGUFs, drop incorrect vision gate Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Refactor | Medium |
Read Playwright default model from defaults.py without importing it Read Playwright default model from defaults.py without importing it Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Refactor | Medium |
Import FORCE_FLOAT32 from unsloth_zoo as single source of truth in loader Import FORCE_FLOAT32 from unsloth_zoo as single source of truth in loader Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Other | Medium |
Widen settings sidebar so 'Connections' label fits in studio frontend Widen settings sidebar so 'Connections' label fits in studio frontend Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Other | Medium |
Respect prefers-reduced-motion across animations in studio Respect prefers-reduced-motion across animations in studio Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
Full changelog
Lots of bug fixes, UI, UX fixes to Studio!
To get the latest updates do:
macOS, Linux, WSL:
curl -fsSL https://unsloth.ai/install.sh | sh
Windows:
irm https://unsloth.ai/install.ps1 | iex
Fixes
- Fix
unsloth studio updatenot working well - Fix getting stuck on
reset-passwordpage - More offline mode support
- Improve MTP not being faster on Macs, CPUs and GPUs - now it's much better!
- Fix Desktop Shortcut not working after update
- Many many UI UX bug fixes
What's Changed in Unsloth
- install scripts: bump unsloth pin to >=2026.5.3 by @danielhanchen in https://github.com/unslothai/unsloth/pull/5557
- studio: engage draft-mtp on vision MTP GGUFs (drop incorrect vision gate) by @danielhanchen in https://github.com/unslothai/unsloth/pull/5560
- install scripts: bump unsloth pin to >=2026.5.4 by @danielhanchen in https://github.com/unslothai/unsloth/pull/5566
- Studio: derive Playwright default model expectation by @Imagineer99 in https://github.com/unslothai/unsloth/pull/5589
- studio: read Playwright default model from defaults.py without importing it by @danielhanchen in https://github.com/unslothai/unsloth/pull/5595
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/unslothai/unsloth/pull/5586
- studio: fix toast close-button click and light-mode hover by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/5597
- fix(loader): honour HF_HUB_OFFLINE/TRANSFORMERS_OFFLINE env vars by @xodn348 in https://github.com/unslothai/unsloth/pull/5598
- studio: emit one comma-chained --spec-type for CPU/Mac MTP path by @danielhanchen in https://github.com/unslothai/unsloth/pull/5575
- Fix loss function not patched for Qwen3.5 models by @rycerzes in https://github.com/unslothai/unsloth/pull/5442
- Fix GGUF multi-image chat handling by @alkinun in https://github.com/unslothai/unsloth/pull/5508
- Expose standalone tool healing utilities by @alkinun in https://github.com/unslothai/unsloth/pull/5583
- studio/frontend: reconcile stale must_change_password localStorage flag by @danielhanchen in https://github.com/unslothai/unsloth/pull/5576
- studio/frontend: cap auto-load cascade attempts by @danielhanchen in https://github.com/unslothai/unsloth/pull/5578
- studio: regenerate desktop launcher on
unsloth studio update(macOS + Linux + Windows) by @danielhanchen in https://github.com/unslothai/unsloth/pull/5577 - ci: advisory lockfile supply-chain audit (no install-script changes) by @danielhanchen in https://github.com/unslothai/unsloth/pull/5604
- loader: import FORCE_FLOAT32 from unsloth_zoo (single source of truth) by @danielhanchen in https://github.com/unslothai/unsloth/pull/5610
- fix(peft): expose finetune_last_n_layers for parity with mlx-lm CLI by @danielhanchen in https://github.com/unslothai/unsloth/pull/5564
- studio: add --spec-draft-n-max toggle for MTP speculative decoding by @danielhanchen in https://github.com/unslothai/unsloth/pull/5582
- studio: reserve VRAM headroom for the MTP draft cache in auto-fit by @danielhanchen in https://github.com/unslothai/unsloth/pull/5585
- Studio: tools, thinking blocks, code execution and web search for safetensors by @danielhanchen in https://github.com/unslothai/unsloth/pull/5520
- studio/frontend: widen settings sidebar so 'Connections' label fits by @danielhanchen in https://github.com/unslothai/unsloth/pull/5607
- studio: respect prefers-reduced-motion across animations by @danielhanchen in https://github.com/unslothai/unsloth/pull/5611
- studio/frontend: guard message-timing badge against unphysical tok/s by @danielhanchen in https://github.com/unslothai/unsloth/pull/5570
- studio/web: differentiate offline from backend-down in fetch error by @danielhanchen in https://github.com/unslothai/unsloth/pull/5591
- studio/frontend: keep theme classes mutually exclusive on by @danielhanchen in https://github.com/unslothai/unsloth/pull/5580
- studio/frontend: show Loading fallback instead of blank pane on lazy route navigation by @danielhanchen in https://github.com/unslothai/unsloth/pull/5568
- studio/frontend: include filename in attachment aria-label + img alt by @danielhanchen in https://github.com/unslothai/unsloth/pull/5594
- studio/frontend: compare composer blocks send when no model picked by @danielhanchen in https://github.com/unslothai/unsloth/pull/5574
- studio: restore focus to opener when settings dialog closes by @danielhanchen in https://github.com/unslothai/unsloth/pull/5612
- studio/frontend: add aria-label to Dictate / Stop dictation buttons by @danielhanchen in https://github.com/unslothai/unsloth/pull/5599
- studio/frontend: settings dialog fits viewport at tablet widths by @danielhanchen in https://github.com/unslothai/unsloth/pull/5600
- studio/frontend: show Generation stopped placeholder when cancelled mid-thinking by @danielhanchen in https://github.com/unslothai/unsloth/pull/5565
- studio: tool calling for Llama-3, Mistral, Gemma 4 on safetensors + MLX by @danielhanchen in https://github.com/unslothai/unsloth/pull/5615
- Revert "studio: tool calling for Llama-3, Mistral, Gemma 4 on safetensors + MLX (#5615)" by @danielhanchen in https://github.com/unslothai/unsloth/pull/5619
What's Changed in Unsloth Zoo:
- Honour offline env vars when enabling hf_transfer by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/675
- Fix Studio q2_k_l GGUF export and new llama.cpp converter package layout by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/667
- fix(mlx): match mlx-lm batch padding rule (1 + pad_to * ceil) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/672
- fix(mlx): expose finetune_last_n_layers for parity with mlx-lm CLI by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/669
- fix(mlx): honor max_grad_value=None as a disable signal by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/671
- fix(mlx): seed mx.random immediately before linear_to_lora_layers (re-PR of #674) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/678
- fix(mlx): warn on bf16 -> fp16 downcast in FastMLXModel loader by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/670
- fix(mlx): make_baseline_loss_fn byte-identical to mlx-lm default_loss when labels=None by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/673
- Fix Q2_K_L recipe: q2_k base + ffn_down=Q3_K, output=Q6_K, embed=Q4_K by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/677
Full Changelog: https://github.com/unslothai/unsloth/compare/v0.1.40-beta...v0.1.41-beta
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Unsloth
All releases →Related context
Related tools
Earlier breaking changes
- v0.1.43-beta Do not use `unsloth studio update`; it does not fetch latest updates.
- v0.1.40-beta Auto MTP speculative decoding enabled by default for MTP GGUFs; warns on stale llama.cpp prebuilt
Beta — feedback welcome: [email protected]