Skip to content

Unsloth

v0.1.41-beta Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 15d Model Serving & MLOps
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent deepseek fine-tuning gemma gemma3 gpt-oss
+13 more
llama llama3 llm llms mistral openai qwen reinforcement-learning self-hosted text-to-speech tts ui unsloth

Summary

AI summary

Updates What's Changed in Unsloth, studio/frontend, and studio across a mixed release.

Changes in this release

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

  1. Fix unsloth studio update not working well
  2. Fix getting stuck on reset-password page
  3. More offline mode support
  4. Improve MTP not being faster on Macs, CPUs and GPUs - now it's much better!
  5. Fix Desktop Shortcut not working after update
  6. 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

Track Unsloth

Get notified when new releases ship.

Sign up free

About Unsloth

All releases →

Related context

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]