Change8

v0.1.41-beta

📦 unslothView on GitHub →
5 features🐛 25 fixes🔧 11 symbols

Summary

This release focuses heavily on bug fixes and significant UX/UI improvements within Unsloth Studio, alongside performance enhancements for MTP and better offline environment variable handling.

Migration Steps

  1. Update Unsloth via the provided installation scripts (macOS/Linux/WSL: `curl -fsSL https://unsloth.ai/install.sh | sh`; Windows: `irm https://unsloth.ai/install.ps1 | iex`) to ensure the latest fixes and dependency bumps are applied.
  2. If using MLX models in Unsloth Zoo, note that batch padding rules have been updated to match mlx-lm.

✨ New Features

  • Studio: Enabled tool calling for Llama-3, Mistral, Gemma 4 on safetensors + MLX (though this was reverted in a subsequent PR, the intent was present).
  • Studio: Added --spec-draft-n-max toggle for MTP speculative decoding.
  • Studio: Exposed standalone tool healing utilities.
  • Studio: Improved MTP performance significantly on Macs, CPUs, and GPUs.
  • Studio: Added support for tools, thinking blocks, code execution, and web search for safetensors models.

🐛 Bug Fixes

  • Fixed `unsloth studio update` command functionality.
  • Fixed issue where the application got stuck on the `reset-password` page.
  • Improved offline mode support.
  • Fixed Desktop Shortcut not working after an update by regenerating the launcher on `unsloth studio update`.
  • Fixed loss function not being patched correctly for Qwen3.5 models.
  • Fixed GGUF multi-image chat handling.
  • Fixed handling of `HF_HUB_OFFLINE`/`TRANSFORMERS_OFFLINE` environment variables in the loader.
  • Fixed emitting one comma-chained --spec-type for CPU/Mac MTP path.
  • Fixed UI/UX issues including toast close-button clicks, light-mode hover states, sidebar width, animation respect for prefers-reduced-motion, and message-timing badge accuracy.
  • Fixed stale `must_change_password` localStorage flag reconciliation in Studio frontend.
  • Capped auto-load cascade attempts in Studio frontend.
  • Ensured `FORCE_FLOAT32` is imported from `unsloth_zoo` as the single source of truth in the loader.
  • Fixed Studio frontend showing blank pane on lazy route navigation by showing a Loading fallback.
  • Fixed Studio frontend theme classes not being mutually exclusive on the <html> element.
  • Fixed Studio frontend comparison of composer blocks send when no model was picked.
  • Restored focus to the opener when the settings dialog closes in Studio.
  • Ensured Studio settings dialog fits viewport at tablet widths.
  • Fixed Studio frontend showing Generation stopped placeholder when cancelled mid-thinking.
  • Unsloth Zoo: Fixed Studio q2_k_l GGUF export and new llama.cpp converter package layout.
  • Unsloth Zoo (mlx): Fixed batch padding rule to match mlx-lm.
  • Unsloth Zoo (mlx): Fixed honoring `max_grad_value=None` as a disable signal.
  • Unsloth Zoo (mlx): Fixed seeding `mx.random` immediately before `linear_to_lora_layers`.
  • Unsloth Zoo (mlx): Added warning on bf16 -> fp16 downcast in FastMLXModel loader.
  • Unsloth Zoo (mlx): Made `make_baseline_loss_fn` byte-identical to mlx-lm default_loss when labels=None.
  • Unsloth Zoo: Fixed Q2_K_L recipe configuration.

Affected Symbols