Bug Fixes and more cross platform support
To update Unsloth or install a new Unsloth Studio, you must use:
macOS, Linux, WSL:
curl -fsSL https://unsloth.ai/install.sh | sh
Windows:
irm https://unsloth.ai/install.ps1 | iex
Warning
DO NOT USE unsloth studio update since packaging will not get the latest updates
What's Changed
- Bump install.sh / install.ps1 pin to unsloth>=2026.6.1 by @danielhanchen in #5977
- Port KTO logps truncation guard to TRL 1.x _compute_logps refactor by @danielhanchen in #5996
- CI: track deepseek_ocr2 compile timeout in known-broken list by @danielhanchen in #5995
- fix(studio): disable mlx gc for none by @Lyxot in #5991
- Normalize shell scripts to LF in .gitattributes by @danielhanchen in #5997
- Studio: enable audio input for Gemma 4 GGUFs; default chat model to Qwen3.5-4B-MTP by @danielhanchen in #6000
- Fix chat text cutoff at composer dock and speed up plus icon spin by @shimmyshimmer in #5989
- Studio: refine tool call and reasoning trigger UI by @shimmyshimmer in #5873
- fix: warn when localhost resolves to ::1 but Studio is bound only to 127.0.0.1 by @mvanhorn in #5994
- fix: persist Studio thread synchronously on first runStart so mid-stream refresh keeps the prompt by @mvanhorn in #5814
- Studio: enable GGUF tools with vision inputs by @Imagineer99 in #6009
- Studio: accept system-role messages in Claude Code requests by @Imagineer99 in #6006
- Studio: fix load_freeze audio-type tests for #6000's Gemma 4
<|audio|>probe by @danielhanchen in #6018 - Studio: fix chat preset persistence with fast mode by @Imagineer99 in #5870
- Studio: fix Repo tests (CPU) by stopping the ROCm test from leaking a fake utils into sys.modules by @danielhanchen in #6027
- Studio: stop ROCm amd-smi tests leaking a fake loggers into sys.modules (follow-up to #6027) by @danielhanchen in #6055
- Studio: emit usage and timings for MLX generation speed stats by @shimmyshimmer in #6068
- Studio: tag MLX loaded models as MLX instead of Base in chat by @shimmyshimmer in #6067
- Studio: remove red border on chat error messages by @shimmyshimmer in #6063
- Studio: keep chat in place when composer attachments resize it by @shimmyshimmer in #6070
- CI: allowlist deepseek_ocr2 in compiler full-model-sweep by @danielhanchen in #6085
- Restore KTO logps truncation guard for TRL (re-apply dropped #5996) by @danielhanchen in #6086
- Studio: stop leaking internal exceptions to API clients; harden sandbox path by @danielhanchen in #6072
- Formatting: ruff line-length 100 + drop blank after short local imports by @danielhanchen in #6079
- Fix MoE LoRA target parameter handling by @Datta0 in #5345
- Refactor VLM detection in studio by @Datta0 in #5245
- qwen 3.5 export fixes by @Datta0 in #5992
- [fix] Nvfp4 load by @Datta0 in #6087
- Studio: open the MCP dialog to the server list by @oobabooga in #6100
- Studio: make code comments and docstrings more succinct by @danielhanchen in #6029
- Reduce and tighten code comments and docstrings repo-wide by @danielhanchen in #6095
- Studio frontend: reduce and tighten code comments by @danielhanchen in #6099
- feat(studio): Hub + Download Manager by @Sneakr in #5916
- Studio fix recipe dataset preview by @wasimysaid in #6031
- Studio: make Helper LLM startup pre-cache opt in by @wasimysaid in #6113
- Improve local chat tool call flow by @wasimysaid in #5962
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6104
- Studio: improve OpenAI- and Anthropic-compatible API spec compliance by @oobabooga in #6010
- Studio: follow-up fix for GGUF developer prompts by @wasimysaid in #6115
- Studio: stop the providers dialog from resetting custom provider form state by @NilayYadav in #6051
- Studio: clean-room compact RAG (knowledge bases, hybrid search, fast indexing) by @danielhanchen in #5910
- feat: support text-only loading of Gemma 3 27B via FastLanguageModel (skip SiglipVisionModel) by @mvanhorn in #5816
- studio(ui): use the --primary brand token for the avatar fallback color by @danielhanchen in #5987
- fix(studio): block arbitrary external image URLs in markdown renderer by @rsd-darshan in #5602
- Studio: center account avatar vertically in sidebar footer pill by @shimmyshimmer in #6026
- fix: clearer Studio setup error when GPU driver is too old for the installed CUDA toolkit by @mvanhorn in #5993
- Studio: npm v12 readiness (allowScripts policy, npmrc cleanup, bun bootstrap fix) by @danielhanchen in #6128
- Studio: faithful conversation export and import round trips (ShareGPT system role, CSV quoted newlines) by @danielhanchen in #6131
- Studio: auto-sync allowScripts pins after dependency bumps by @danielhanchen in #6136
- Studio: unify shadows, backgrounds and dark mode consistency in chat UI by @shimmyshimmer in #6116
- Windows/WSL installer: fix winget msstore cert failure, amd-smi DiskPart prompt, and enable AMD GPU (Strix Halo gfx1151) by @danielhanchen in #5940
- Studio: bulk export and import in Settings Chat Data, MCP pill off switch by @danielhanchen in #6141
- Studio: fix nested dropdown submenus clipped by the menu alignment nudge by @danielhanchen in #6143
- Studio: declutter the chat plus menu and make RAG session-only with pre-select by @danielhanchen in #6140
- fix/validate dataset video paths before training by @LeoBorcherding in #5136
- Restore config use_cache in for_inference after gradient checkpointing prep by @danielhanchen in #6137
- fix: persist Windows ROCm BNB version by @Peter7896 in #6048
- Studio GGUF CI: fix deterministic JSON-mode failure by bumping the quant, keep hard asserts by @danielhanchen in #6138
- Frontend CI: hard-fail unreviewed npm install scripts (--strict-allow-scripts) by @danielhanchen in #6139
- Studio UI polish: search dialog shadow, model picker pills, sidebar spacing, white Hub background by @shimmyshimmer in #6147
- Run the HF cache redirect before import fixes that can freeze Hub constants by @danielhanchen in #6150
- Fix Studio MLX VLM resized image layout by @Lyxot in #6019
- fix(studio): reject unsupported MLX CPT and embedding training by @Lyxot in #6091
- fix(studio): forward custom dataset mappings in MLX training by @Lyxot in #6094
- Tests + CI guard: batched left-padded generation can never silently regress again (#1066, #3699) by @danielhanchen in #6145
- Tests: follow Compare chat into the More submenu in the Playwright chat UI driver by @danielhanchen in #6153
- Fix UnboundLocalError in ROCm version detection dpkg/rpm fallback by @danielhanchen in #6149
- Auto-set BNB_ROCM_VERSION from the installed wheel on Windows + ROCm by @danielhanchen in #5986
- Call patch_compiling_bitsandbytes on the FastLanguageModel path by @danielhanchen in #6144
- Studio: mascot images degrade gracefully instead of showing alt text by @danielhanchen in #6146
- Studio: training survives a non-writable HF datasets cache by @danielhanchen in #6148
- Studio: fix Gemma-4-12B-it not loading by @Imagineer99 in #6054
- Installer: never plan a non-sm_120 CUDA build on Blackwell, never plan CPU on an NVIDIA host by @danielhanchen in #6156
- Studio: support separate-file MTP GGUF drafters (Gemma 4) by @oobabooga in #6125
- Studio: accept audio files through Add photos & files and fix the audio gate for Gemma 4 models by @shimmyshimmer in #6064
- Source llama.cpp prebuilts from unslothai/llama.cpp (CUDA, ROCm, macOS) by @oobabooga in #5963
- Studio: fall back to text-only when llama.cpp is too old for a model's vision projector by @danielhanchen in #6075
- Chat UI polish: template editor reset, circular action button hovers by @shimmyshimmer in #6151
- feat(hub): enable Run/New Chat for downloaded GGUF models, fix README by @Sneakr in #6152
- Studio: in-app Update llama.cpp button to install the latest prebuilt by @danielhanchen in #6097
- Studio: gracefully disable MTP when the model has no head or drafter by @danielhanchen in #6159
- Studio: show the llama.cpp update banner sooner and keep it until dismissed by @danielhanchen in #6162
- fix(studio): round compact tooltip corners to 9px by @Sneakr in #6163
New Contributors
- @Sneakr made their first contribution in #5916
- @rsd-darshan made their first contribution in #5602
- @Peter7896 made their first contribution in #6048
Full Changelog: v0.1.44-beta...v0.1.45-beta