Skip to content

Unsloth

v0.1.48-beta Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 19d Model Serving & MLOps
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

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

Unsloth Studio adds NVFP4/FP8/imatrix GGUF exports, Llama‑swap API serving, Japanese & Brazilian UI support; Unsloth core speeds GRPO 1.3×, improves MoE training 3‑5×, and fixes many bugs.

Full changelog

Unsloth Studio can now export to NVFP4, FP8, imatrix GGUFs after training, can act as a llama-swap API system, includes Japanese and Brazilian language support, includes MLX, safetensors tool calling + healing support and much more! Unsloth core makes GRPO 1.3x faster, have HTTP fallback for stalled downloads, better offline mode, makes MoE training 3 to 5x faster, and fixes many bugs! This release series uses unsloth>=2026.7.1.

DeepSeek-V4-Flash is now supported with Thinking toggles and with all our fixes including improved chat template!

Smarter OpenAI-Compatible API Serving

Run one local API endpoint across with safer automatic model swapping and better agent-tool recovery.

  • API requests can opt into model auto switching, so a request for a different downloaded local GGUF can load and serve that model automatically.
  • The model swap path is safe by default: unknown model names keep using the current model and do not trigger surprise downloads.
  • /v1/models now returns clean model IDs and the local GGUF catalog, so API clients do not see local .gguf file paths.
  • Idle auto-unload can free VRAM after inactivity while still reloading the last model on the next API request.
  • API clients can control tool-call healing per request and opt into the extra nudge retry when a model tries to call a tool but returns malformed markup.

Export Improvements

Exports are more flexible and avoid more unnecessary downloads.

  • Unsloth now lets you select multiple export formats at once.
  • Unsloth now supports portable FP8/INT8 exports, GGUF LoRA, and source-matched exports.
  • save_pretrained_merged now supports compressed FP8/FP4 exports.
  • The Unsloth export UI now includes imatrix GGUF and compressed export options.
  • Exporting multiple checkpoints now avoids more repeated base-model downloads.
  • FP8, INT8, and GGUF-LoRA exports now respect trust_remote_code.
  • GGUF export now handles models with missing quantization settings more reliably.

RAG and File Chat

Chat with files should be more useful on real documents.

  • RAG attachments can now use whole-document context.
  • File chat now reads more PDFs and Word documents correctly, including right-to-left text, Indic text, and DOCX tables.
  • Local RAG checks are less likely to fail because of proxy settings.
  • The embedding model is now customizable, with Hugging Face search and a reorganized settings tab.

Unsloth Polish and Reliability

Unsloth is smoother and more reliable during everyday use.

  • Training and chat progress are less likely to freeze silently during long runs.
  • Compare mode starts more reliably.
  • Switching or cancelling models during loading is less likely to get stuck.
  • Hub browsing now recovers better from invalid Hugging Face tokens and shows clearer local file paths.
  • Hub Discover now shows all models by default, with a cleaner model picker and a fits-on-device filter.
  • Project export menus are clearer, with combined project exports and individual chat exports grouped separately.
  • Unsloth training runs now show project names.
  • Guided tours, reasoning timers, thinking stops, settings, file dialogs, and update screens now feel cleaner and more consistent.
  • Japanese and Portuguese (Brazil) are now available in the Unsloth UI.
  • Installer and package checks were tightened to catch more unsafe or unexpected dependency changes.

Installer, Hardware and Platform Fixes

Unsloth installs and runs more reliably across different machines, GPUs, and network setups.

  • Installer pins were updated to unsloth>=2026.6.9.
  • macOS installs no longer require CMake or Homebrew when a prebuilt llama.cpp is available.
  • Apple Silicon installs now handle paths with spaces more reliably and size GGUF context for unified memory.
  • macOS installs work better behind corporate TLS-inspection proxies.
  • Linux and macOS path handling is more reliable when folders contain spaces.
  • Windows ROCm RAG embedding avoids a torchao import crash.
  • Windows Unsloth startup handles UTF-8 text more reliably.
  • ROCm-on-WSL now supports discrete Radeon RDNA 3/4 GPUs, not just Strix Halo.
  • Blackwell sm_100 and sm_103 data-center GPUs now use the correct llama.cpp prebuilt selection.
  • GGUF fit checks now reserve memory for CUDA context and vision/model overhead more accurately.
  • Tensor parallelism fixed for vision and mmproj GGUF models.
  • Existing local llama.cpp builds can now be reused with --with-llama-cpp-dir.

Training, Models and Kernels

Training and model loading are more reliable across more model types, GPUs, and fine-tuning setups.

  • GRPO training now supports sequence packing by default for old/ref log-probability calculations.
  • GRPO now avoids repeating the same shared prompt across grouped completions.
  • GRPO logit scaling now works correctly with DDP-wrapped models.
  • Full fine-tuning now uses the correct precision on V100 and other GPUs without bf16 support.
  • RL trainers no longer reject valid full fine-tuning precision settings.
  • Unsloth gradient checkpointing is no longer silently disabled by TrainingArguments.
  • DDP training no longer crashes from a CPU-resident RoPE buffer.
  • MoE LoRA detection now targets the correct expert MLP layers.
  • Grouped MoE can now turn on automatically for loaded and PEFT models.
  • FP8 quantization now handles odd tensor shapes and scale formats more reliably.
  • FP8 dequant kernels now use safer offset handling.
  • Llama 3 RoPE scaling is preserved with Transformers v5.
  • LoRA reloads continue to work with PEFT 0.19.
  • fast_generate now shows a clearer error when vLLM-style inputs are used without fast inference.

Updating Unsloth

To update Unsloth or install a fresh Unsloth Unsloth, use the commands below:
macOS, Linux, WSL:

curl -fsSL https://unsloth.ai/install.sh | sh

Windows:

irm https://unsloth.ai/install.ps1 | iex

What's Changed in Unsloth

  • Bump install.sh / install.ps1 pin to unsloth>=2026.6.9 by @danielhanchen in https://github.com/unslothai/unsloth/pull/6580
  • Studio: default Hub Discover scope to all models by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6593
  • Studio: model picker search placeholder, Search Hub tooltip, list polish by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6592
  • Studio: refresh chat guided tour for the redesigned model picker by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6597
  • CI: fix import-hoist false positive, vision-cache test cwd, and llama.cpp CLI smoke by @danielhanchen in https://github.com/unslothai/unsloth/pull/6598
  • fix(studio): handle multimodal list content in inference text paths (#4383) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6480
  • studio/setup.sh: guard empty CUDA arch detection in the source build (#5854) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6481
  • fix: use EMPTY_LOGITS on the fused-CE not-return_dict path (#2068) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6482
  • Fix GRPOTrainer evaluate() crash without prior training by @danielhanchen in https://github.com/unslothai/unsloth/pull/6523
  • Fix misleading 'only for image models' error for Qwen3-VL when torchvision is missing by @danielhanchen in https://github.com/unslothai/unsloth/pull/6525
  • Fix FlashAttention fp32 crash with DoRA (use_dora=True) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6526
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/unslothai/unsloth/pull/6587
  • Withhold HF_TOKEN from pull_request CI runs by @danielhanchen in https://github.com/unslothai/unsloth/pull/6600
  • Fix Studio export checkpoint ordering by @Lyxot in https://github.com/unslothai/unsloth/pull/6602
  • Studio: treat data-center Blackwell (sm_100/sm_103) as Blackwell in llama.cpp prebuilt selection by @danielhanchen in https://github.com/unslothai/unsloth/pull/6584
  • Studio: fall back to anonymous HF browsing on a malformed token by @danielhanchen in https://github.com/unslothai/unsloth/pull/6605
  • Chat: match reasoning thinking icon to the composer bulb by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6607
  • Hub: restore Unsloth owner avatar to HF profile picture by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6606
  • Studio: scope "Remember settings next time" per GGUF quant and apply on every load path by @oobabooga in https://github.com/unslothai/unsloth/pull/6594
  • Fix sentence-transformers RAG embedder on Windows ROCm (torchao import crash) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6608
  • Remove git blame ignore revs by @wasimysaid in https://github.com/unslothai/unsloth/pull/6582
  • Studio: allow --secure with --api-only (headless secure API server) and add --api-only to unsloth studio run by @danielhanchen in https://github.com/unslothai/unsloth/pull/6591
  • studio: tidy Windows-ROCm torchao comments (follow-up to #6608) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6610
  • Studio: correct anyio<4.14 comments to the real #6483 cause (4.14/Py3.13 streaming cancel-scope bug) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6581
  • studio: report the true reasoning duration and fix Stop for thinking models by @danielhanchen in https://github.com/unslothai/unsloth/pull/6521
  • Add HTTPS hint to Studio launch message by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6583
  • Fix Gemma 4 GGUF OpenAI API streams by @wasimysaid in https://github.com/unslothai/unsloth/pull/6476
  • Studio: lazy-import matplotlib so the server starts when the wheel is blocked by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/6596
  • Studio: add sidebar update button with installed-version display by @dylanschroers in https://github.com/unslothai/unsloth/pull/6545
  • Thread finetune_audio_layers through get_peft_model (Gemma 4 / Gemma 3N audio LoRA) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6558
  • Fix CPOTrainer crash with multimodal processors (Gemma 4) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6522
  • Fix Qwen3 NaN loss: delegate pad_token repair to shared unsloth_zoo.pad_token by @danielhanchen in https://github.com/unslothai/unsloth/pull/6524
  • Harden MLX self-heal install against supply-chain code execution by @danielhanchen in https://github.com/unslothai/unsloth/pull/6599
  • Update safe Studio Tauri cargo dependencies by @wasimysaid in https://github.com/unslothai/unsloth/pull/6612
  • Studio: remove OpenEnv and other unused packages by @oobabooga in https://github.com/unslothai/unsloth/pull/6585
  • Bump vite from 8.0.10 to 8.0.16 in /studio/frontend in the npm-frontend-security group across 1 directory by @dependabot[bot] in https://github.com/unslothai/unsloth/pull/6354
  • Fix SyntheticDataKit.chunk_data dropping single-chunk documents by @vineethsaivs in https://github.com/unslothai/unsloth/pull/6595
  • Match IGNORED_TOKENIZER_NAMES case-insensitively by @vineethsaivs in https://github.com/unslothai/unsloth/pull/6620
  • Installer: don't require cmake/Homebrew on macOS (prebuilt llama.cpp) by @oobabooga in https://github.com/unslothai/unsloth/pull/6617
  • Fix construct_chat_template leaking {INPUT}/{OUTPUT} sentinel into the chat template by @vineethsaivs in https://github.com/unslothai/unsloth/pull/6531
  • Studio: slim the GLM-5.2 thinking menu width by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6631
  • Studio: confirm saved Hugging Face token with a tick by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6630
  • Fix _SameTaskStreamingResponse disconnect test bypassing init by @danielhanchen in https://github.com/unslothai/unsloth/pull/6627
  • Clarify Studio --secure hint exposes a public Cloudflare tunnel by @danielhanchen in https://github.com/unslothai/unsloth/pull/6615
  • Tidy verbose Studio launch messages by @danielhanchen in https://github.com/unslothai/unsloth/pull/6628
  • Make _uv_safe_path space-safe on macOS/Linux (#6503) by @GodlyDonuts in https://github.com/unslothai/unsloth/pull/6534
  • Clarify in README that studio --secure creates a public tunnel by @danielhanchen in https://github.com/unslothai/unsloth/pull/6632
  • Studio: add Unsloth Docs to the MCP server presets by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6633
  • Studio: cap GGUF context to unified memory on Apple Silicon by @oobabooga in https://github.com/unslothai/unsloth/pull/6622
  • Studio: group the project export menu by Combined and Per chat by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6637
  • Studio: tighten the sidebar footer spacing and update-card fade by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6641
  • Studio: keep the sidebar bottom fade in sync when groups collapse by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6640
  • Pin isolated Node.js installer to committed sha256 digests by @danielhanchen in https://github.com/unslothai/unsloth/pull/6625
  • Studio: shareable per-checkpoint preview links by @NilayYadav in https://github.com/unslothai/unsloth/pull/6486
  • Verify DiffusionGemma visual-server binary against approved checksums by @danielhanchen in https://github.com/unslothai/unsloth/pull/6635
  • Studio: honor stream=false on the GGUF agentic tool path (#6570) by @oobabooga in https://github.com/unslothai/unsloth/pull/6618
  • Fix Studio GGUF variant expansion crash by @Lyxot in https://github.com/unslothai/unsloth/pull/6636
  • Installer: make UV_OVERRIDE space-safe on Apple Silicon (#6503) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6639
  • Polish Studio desktop chrome by @wasimysaid in https://github.com/unslothai/unsloth/pull/6332
  • Fix Linux AppImage packaging by @wasimysaid in https://github.com/unslothai/unsloth/pull/6657
  • Studio: clean up empty leftover quant folders so they can be deleted by @danielhanchen in https://github.com/unslothai/unsloth/pull/6616
  • Studio: fix misleading max_seq_length advice for train-on-completions row drops by @danielhanchen in https://github.com/unslothai/unsloth/pull/6664
  • Studio: UNSLOTH_NPM_REGISTRY opt-in for corporate npm mirrors (#6491) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6663
  • Studio: keep the live progress stream alive during pre-first-step preparation by @danielhanchen in https://github.com/unslothai/unsloth/pull/6665
  • Keep pad-named pad_tokens (e.g. <|vision_pad|>); fix Qwen3-Base load crash by @danielhanchen in https://github.com/unslothai/unsloth/pull/6652
  • Studio: keep the training event pump alive so progress can't silently freeze by @danielhanchen in https://github.com/unslothai/unsloth/pull/6643
  • Studio: stop leaking the auth token through HTML canvas preview frames by @danielhanchen in https://github.com/unslothai/unsloth/pull/6634
  • feat: add GPU-aware model filtering and For You section- Add fit filt… by @zrva in https://github.com/unslothai/unsloth/pull/6645
  • Studio: prompt variables into prompt editor by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6434
  • Verify linuxdeploy AppImage digest before use in desktop release by @danielhanchen in https://github.com/unslothai/unsloth/pull/6673
  • Studio: require signed capability tokens for /p preview links by @danielhanchen in https://github.com/unslothai/unsloth/pull/6666
  • Fix offline checkpoint load/export: "tokenizer is weirdly not loaded" by @danielhanchen in https://github.com/unslothai/unsloth/pull/6554
  • Studio Colab: opt-in shareable Cloudflare tunnel link by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/6684
  • Studio: auto-shut-down an exposed first-run instance if the admin password is never changed by @danielhanchen in https://github.com/unslothai/unsloth/pull/6651
  • Fix DDP crash from CPU-resident rotary inv_freq buffer by @Abdul-Moiz31 in https://github.com/unslothai/unsloth/pull/6662
  • Patch FalconH1RMSNorm to fix float64 compilation crash on Intel Arc DG2 by @anmolxlight in https://github.com/unslothai/unsloth/pull/6691
  • feat: improve Unsloth Studio chat title generation quality by @mvanhorn in https://github.com/unslothai/unsloth/pull/6697
  • Studio: harden background consumer loops and streaming paths against silent UI freezes by @danielhanchen in https://github.com/unslothai/unsloth/pull/6653
  • fix: wrap unprotected evaluate() calls with robust_evaluate() to handle navigation context loss by @jimdawdy-hub in https://github.com/unslothai/unsloth/pull/6677
  • Add GGUF flash attention and TP CLI options by @OnePunchMonk in https://github.com/unslothai/unsloth/pull/6561
  • studio: return a clean model id from the OpenAI API instead of the local .gguf path by @danielhanchen in https://github.com/unslothai/unsloth/pull/6518
  • fix(install): enable UV_NATIVE_TLS on macOS for corporate TLS-inspection proxies by @Cesarsk in https://github.com/unslothai/unsloth/pull/6671
  • Stop marking non-8bit Unsloth models as 8-bit by @Lyxot in https://github.com/unslothai/unsloth/pull/6708
  • studio: list the full local model catalog from /v1/models by @danielhanchen in https://github.com/unslothai/unsloth/pull/6519
  • Silence torchao _C*.so load-failure WARNING on torch >= 2.11 by @danielhanchen in https://github.com/unslothai/unsloth/pull/6712
  • Harden flaky Studio CI: retry VS-hide rename and tolerate same-URL nav interrupt by @danielhanchen in https://github.com/unslothai/unsloth/pull/6713
  • Fix fast_inference crash on ABI-broken vLLM: probe compiled extensions, not just import vllm by @oobabooga in https://github.com/unslothai/unsloth/pull/6621
  • Studio: restore tensor parallelism for vision/mmproj GGUFs by @danielhanchen in https://github.com/unslothai/unsloth/pull/6659
  • Studio: stop handing CI/user secrets to downloaded llama.cpp binaries by @danielhanchen in https://github.com/unslothai/unsloth/pull/6696
  • Revert "feat: add GPU-aware model filtering and For You section- Add fit filt…" by @danielhanchen in https://github.com/unslothai/unsloth/pull/6722
  • Remove unused FalconH1RMSNormGated import by @danielhanchen in https://github.com/unslothai/unsloth/pull/6728
  • Studio: cascade user message deletion to include assistant reply by @NilayYadav in https://github.com/unslothai/unsloth/pull/6720
  • Fix custom chat templates with a {system_message} placeholder (dead code in _change_system_message) by @vineethsaivs in https://github.com/unslothai/unsloth/pull/6735
  • Fix gpt-oss detection in save: config.architectures is a list, not a string by @vineethsaivs in https://github.com/unslothai/unsloth/pull/6711
  • fix(studio): show local file path tooltip for Hub-tab local models by @mvanhorn in https://github.com/unslothai/unsloth/pull/6715
  • Studio: fix compare adapter selection by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6411
  • perf(dataprep): cache regex and field lists, fix typos by @Muhammad-Ikhwan-Fathulloh in https://github.com/unslothai/unsloth/pull/6714
  • Speed up Studio desktop startup by @wasimysaid in https://github.com/unslothai/unsloth/pull/6742
  • Fix on-device locations dialog layout by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6743
  • Fix settings dialog overlay stacking above chat header by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6745
  • (feat) Add project names to studio training runs by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6512
  • Studio: name the missing extractor when a Recipes file upload fails by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6642
  • fix: remove sidebar update dev override by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6746
  • fix: upgrade hono to 4.12.25 (CVE-2026-54290) by @orbisai0security in https://github.com/unslothai/unsloth/pull/6736
  • Fix llama.cpp CMake build detection in save.py by @ashzak in https://github.com/unslothai/unsloth/pull/5957
  • CI: add PyPI extra-index to CPU torch installs (fix sympy ResolutionImpossible) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6660
  • Fix full finetuning precision on V100 / no-bf16 GPUs by @danielhanchen in https://github.com/unslothai/unsloth/pull/5880
  • Fix triton-xpu 3.7.1 sha256 hashes for Intel XPU install by @Oscilloscope98 in https://github.com/unslothai/unsloth/pull/6629
  • Fix stale xformers and flash-attn wheel URLs by @danielhanchen in https://github.com/unslothai/unsloth/pull/4213
  • Studio: keep "Fine-tuned" compare label clear of the floating top right controls by @NilayYadav in https://github.com/unslothai/unsloth/pull/6755
  • Add FP8/FP4 compressed export to save_pretrained_merged by @danielhanchen in https://github.com/unslothai/unsloth/pull/6706
  • Studio: imatrix GGUF option and FP8/NVFP4 compressed export in the export UI by @danielhanchen in https://github.com/unslothai/unsloth/pull/6729
  • Whole-document context for RAG chat attachments by @danielhanchen in https://github.com/unslothai/unsloth/pull/6693
  • Studio: quick eject from the model selector by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6654
  • studio: explicit Cloudflare tunnel notice and public-exposure warning at startup by @danielhanchen in https://github.com/unslothai/unsloth/pull/6515
  • fix(studio/llama_cpp): disable trust_env on the loopback health probe (#6750) by @Anai-Guo in https://github.com/unslothai/unsloth/pull/6752
  • feat(i18n): add Japanese locale support for the Studio UI catalog by @DovahkiinYuzuko in https://github.com/unslothai/unsloth/pull/6705
  • fix: keep LoRA reloads working with PEFT 0.19 by @rodboev in https://github.com/unslothai/unsloth/pull/6748
  • studio: allow updating HF models through UI by @Anish9901 in https://github.com/unslothai/unsloth/pull/5388
  • Keep the JS-bundle scan check size-agnostic so the baseline does not drift by @danielhanchen in https://github.com/unslothai/unsloth/pull/6770
  • Reduce comments across recent fixes by @danielhanchen in https://github.com/unslothai/unsloth/pull/6776
  • MLX CI: find llama-cli where save_pretrained_gguf actually installs it by @danielhanchen in https://github.com/unslothai/unsloth/pull/6777
  • Studio RAG: disable trust_env on loopback llama-server httpx clients by @danielhanchen in https://github.com/unslothai/unsloth/pull/6775
  • scan_packages: key baseline on matched-code hash so payloads in baselined files are not auto-suppressed by @danielhanchen in https://github.com/unslothai/unsloth/pull/6552
  • Pin llm-compressor auto-install to a vetted version range by @danielhanchen in https://github.com/unslothai/unsloth/pull/6778
  • Fix Windows Studio UTF-8 startup handling by @Imagineer99 in https://github.com/unslothai/unsloth/pull/6614
  • Studio: opt-in OpenAI /v1 model auto-switch and idle keep-warm by @danielhanchen in https://github.com/unslothai/unsloth/pull/6392
  • Fix GRPO logit scaling when model is wrapped by DDP by @ftrajkov-amd in https://github.com/unslothai/unsloth/pull/5955
  • Fix gpt-oss offload_embedding and generate() kwargs, and guard offload_embedding on tied/vLLM models by @danielhanchen in https://github.com/unslothai/unsloth/pull/6774
  • Add a fits-on-device filter to the model selects by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6802
  • Studio RAG: fix RTL/Indic PDF corruption and dropped DOCX tables by @danielhanchen in https://github.com/unslothai/unsloth/pull/6780
  • Studio: customizable RAG embedding model with HF search, settings tab reorganization by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6800
  • Studio: self-heal a pre-#6483-fix anyio>=4.14 stuck in existing installs by @Abdul-Moiz31 in https://github.com/unslothai/unsloth/pull/6805
  • feat: Implementation of the Portuguese (Brazil) language and VRAM/RAM monitor by @Dspofu in https://github.com/unslothai/unsloth/pull/6509
  • Fix: skip fp16/bf16 validation for full finetuning in RL trainers by @InfoSage05 in https://github.com/unslothai/unsloth/pull/6813
  • studio/frontend: drop developer-only /grid-test route by @danielhanchen in https://github.com/unslothai/unsloth/pull/5662
  • [Studio] Add --with-llama-cpp-dir installer flag to reuse a local llama.cpp by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/6472
  • Add MLX-aware public Unsloth trainer API by @Lyxot in https://github.com/unslothai/unsloth/pull/6462
  • report a complete load once llama-server is healthy by @hakanbaysal in https://github.com/unslothai/unsloth/pull/6790
  • fast_generate: clear error for vLLM-style inputs when fast_inference=False by @danielhanchen in https://github.com/unslothai/unsloth/pull/6786
  • CLI: Rename unsloth connect to unsloth start by @NilayYadav in https://github.com/unslothai/unsloth/pull/6613
  • Tool-call healing (default on) and opt-in nudging for the client-tool passthrough by @danielhanchen in https://github.com/unslothai/unsloth/pull/6801
  • Studio: multi-select export formats, portable FP8/INT8, GGUF LoRA, and source parity by @danielhanchen in https://github.com/unslothai/unsloth/pull/6767
  • Studio: flush passthrough stream headers before upstream prefill stalls by @rodboev in https://github.com/unslothai/unsloth/pull/6835
  • Fix TrainingArguments silently disabling unsloth gradient checkpointing by @oobabooga in https://github.com/unslothai/unsloth/pull/6829
  • Studio: reserve CUDA context and mmproj/MTP soft overhead in the GGUF fit budget by @danielhanchen in https://github.com/unslothai/unsloth/pull/6718
  • Fix Studio custom folders on Linux external drives by @ramisworld in https://github.com/unslothai/unsloth/pull/6799
  • Guard Windows ROCm torchao override skip by @InfoSage05 in https://github.com/unslothai/unsloth/pull/6837
  • Fix export-time trust_remote_code bypass in FP8/INT8/GGUF-LoRA export by @danielhanchen in https://github.com/unslothai/unsloth/pull/6869
  • Harden Windows Pester install against missing PSGallery by @danielhanchen in https://github.com/unslothai/unsloth/pull/6892
  • Auto Xet to HTTP download fallback in from_pretrained; share Studio's fallback via unsloth_zoo by @danielhanchen in https://github.com/unslothai/unsloth/pull/6638
  • GRPO: sequence packing for the no-grad old/ref logp path (default-on) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6738
  • Add PrefixGrouper for GRPO: dedup the shared prompt across a group's completions by @danielhanchen in https://github.com/unslothai/unsloth/pull/6871
  • Handle odd shapes and non-float scales in FP8BlockQuantLinear by @danielhanchen in https://github.com/unslothai/unsloth/pull/6848
  • Scope MoE expert LoRA detection to actual MLP projection targets by @danielhanchen in https://github.com/unslothai/unsloth/pull/6849
  • Honor an explicit sdpa or flex_attention request when flash is disabled by @danielhanchen in https://github.com/unslothai/unsloth/pull/6847
  • Auto-enable grouped MoE on loaded / PEFT'd models via loader hook by @danielhanchen in https://github.com/unslothai/unsloth/pull/6727
  • Respect requested 4bit/8bit for local '-bf16' directories by @danielhanchen in https://github.com/unslothai/unsloth/pull/6726
  • Sync FORCE_FLOAT32 fallback with unsloth-zoo (gemma4, glm4_moe, qwen3_moe) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6865
  • Note bundled flash-linear-attention kernels for gated-deltanet models by @danielhanchen in https://github.com/unslothai/unsloth/pull/6850
  • CI: pin lockfile-audit actions to commit SHAs by @anxkhn in https://github.com/unslothai/unsloth/pull/6902
  • fix(fp8): use int64 offsets in weight_dequant_kernel by @anxkhn in https://github.com/unslothai/unsloth/pull/6884
  • fix: map None quant method to q8_0 before lowercasing in GGUF export by @anxkhn in https://github.com/unslothai/unsloth/pull/6889
  • fix: correct class name in SyntheticDataKit.chunk_data guard message by @anxkhn in https://github.com/unslothai/unsloth/pull/6901
  • studio: label RAM and VRAM readouts as GiB not GB by @danielhanchen in https://github.com/unslothai/unsloth/pull/6895
  • Fix llama3 RoPE scaling dropped on transformers v5 by @danielhanchen in https://github.com/unslothai/unsloth/pull/6907
  • Fix ruff-format spacing drift in loader.py by @danielhanchen in https://github.com/unslothai/unsloth/pull/6910
  • studio: tool calling + healing parity for Llama-3, Mistral, Gemma 4 on safetensors + MLX by @danielhanchen in https://github.com/unslothai/unsloth/pull/5620
  • Studio: stop chat generation on the assistant-turn-end token (fixes Qwen3.5 loop) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6804
  • studio: deterministic backend tool-calling wiring test by @danielhanchen in https://github.com/unslothai/unsloth/pull/6836
  • Studio: coerce tool_call arguments to dict before chat templating (fixes MLX tool follow-up error) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6807
  • Studio: Gemma tool-call streaming follow-ups + nested-XML escape fix (#6476) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6611
  • studio: tool calling for DeepSeek (R1/V3/V3.1), GLM 4.x, Kimi K2 on safetensors + MLX by @danielhanchen in https://github.com/unslothai/unsloth/pull/5624
  • scan_packages: baseline transitive-dep drift in the supply-chain scan by @danielhanchen in https://github.com/unslothai/unsloth/pull/6917
  • Studio: parse Mistral [TOOL_CALLS] and rehearsal tool-call shapes by @danielhanchen in https://github.com/unslothai/unsloth/pull/5704
  • Studio: exclude mlx-lm 0.31.3 (broke gemma4/qwen3_5 QK-norm load on Apple Silicon) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6803
  • Studio chat: tool-call nudging on by default (API stays opt-in) by @danielhanchen in https://github.com/unslothai/unsloth/pull/6883
  • Studio: close switch/cancel races during model load by @danielhanchen in https://github.com/unslothai/unsloth/pull/6918
  • Studio: client-tool passthrough healing for safetensors and MLX by @danielhanchen in https://github.com/unslothai/unsloth/pull/6870
  • Studio: keep the nudge wiring test collectable without the unsloth stack by @danielhanchen in https://github.com/unslothai/unsloth/pull/6924
  • Studio: serialize the compare-mode dispatcher lifecycle to fix a start race by @danielhanchen in https://github.com/unslothai/unsloth/pull/6922
  • Studio: apply presence_penalty on the safetensors and MLX inference paths by @danielhanchen in https://github.com/unslothai/unsloth/pull/6923
  • Fix repeated base model downloads across checkpoint exports by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/6896
  • Studio: fix torch CUDA undefined-symbol errors from a conflicting LD_LIBRARY_PATH by @danielhanchen in https://github.com/unslothai/unsloth/pull/6905
  • Clear stale yolo approval state on no-launch reruns by @danielhanchen in https://github.com/unslothai/unsloth/pull/6868
  • ROCm-on-WSL: support discrete Radeon (RDNA 3/4) in WSL, not just Strix Halo by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/6915
  • Guard RoPE scaling against the transformers v5 buffer blank; honor extended RoPE factor by @danielhanchen in https://github.com/unslothai/unsloth/pull/6925
  • Run the malware gate on the RAG embedding model before it loads by @danielhanchen in https://github.com/unslothai/unsloth/pull/6887
  • Add RDNA 2/3/4 ROCm routing tests via a CPU-only torch spoof by @danielhanchen in https://github.com/unslothai/unsloth/pull/6935
  • GRPO: default router_aux_loss_coef to 0 on TRL >= 1.7.0 by @danielhanchen in https://github.com/unslothai/unsloth/pull/6938
  • Add DeepSeek-V4-Flash-GGUF to Studio with none/high/max reasoning by @danielhanchen in https://github.com/unslothai/unsloth/pull/6908

New Contributors

  • @vineethsaivs made their first contribution in https://github.com/unslothai/unsloth/pull/6595
  • @zrva made their first contribution in https://github.com/unslothai/unsloth/pull/6645
  • @Abdul-Moiz31 made their first contribution in https://github.com/unslothai/unsloth/pull/6662
  • @Cesarsk made their first contribution in https://github.com/unslothai/unsloth/pull/6671
  • @Muhammad-Ikhwan-Fathulloh made their first contribution in https://github.com/unslothai/unsloth/pull/6714
  • @Oscilloscope98 made their first contribution in https://github.com/unslothai/unsloth/pull/6629
  • @DovahkiinYuzuko made their first contribution in https://github.com/unslothai/unsloth/pull/6705
  • @rodboev made their first contribution in https://github.com/unslothai/unsloth/pull/6748
  • @ftrajkov-amd made their first contribution in https://github.com/unslothai/unsloth/pull/5955
  • @Dspofu made their first contribution in https://github.com/unslothai/unsloth/pull/6509
  • @InfoSage05 made their first contribution in https://github.com/unslothai/unsloth/pull/6813
  • @hakanbaysal made their first contribution in https://github.com/unslothai/unsloth/pull/6790
  • @ramisworld made their first contribution in https://github.com/unslothai/unsloth/pull/6799
  • @anxkhn made their first contribution in https://github.com/unslothai/unsloth/pull/6902

Full Changelog: https://github.com/unslothai/unsloth/compare/v0.1.471-beta...v0.1.48-beta

What's Changed in Unsloth Zoo

  • Fix Gemma3 compiled SFT crash (ArgsMismatchError on q_norm/k_norm) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/804
  • training_utils: respect PEFT bias training in prepare_model_for_training (#2343) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/795
  • tests: verify the MoE fused experts + attention merge (qwen3_5_moe build + model-space check, gemma4) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/792
  • Fix LoRA scaling count mismatch on merge for Qwen2.5-VL exports (#2966) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/806
  • Fix Llama/Mixtral MoE LoRA merge dropping unfused expert deltas (#5403) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/812
  • Generalize pad_token repair into a shared module by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/816
  • Fix GRPO eval crash: keep gradient checkpointing buffers out of inference mode by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/805
  • peft_utils: add finetune_audio_layers for Gemma 4 / Gemma 3N audio + embedder LoRA by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/814
  • Allow pad-named tokens (e.g. <|vision_pad|>) as valid pad_tokens by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/831
  • Apply extra_special_tokens coercion on the MLX load path by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/835
  • Add imatrix option to quantize_gguf for IQ low-bit GGUF quants by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/839
  • train_on_responses_only: faster filtering, safer collator and num_proc, clearer errors by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/836
  • Auto-detect instruction/response parts in train_on_responses_only by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/834
  • Feat(mlx): Add NEFTune (neftune_noise_alpha) for text models to MLXTrainer by @BardiaKoopah in https://github.com/unslothai/unsloth-zoo/pull/824
  • feat(mlx): runtime bnb dequant -> MLX affine 4-bit on Apple Silicon by @BardiaKoopah in https://github.com/unslothai/unsloth-zoo/pull/815
  • Feat(mlx): Add early stopping + load_best_model_at_end to MLXTrainer by @BardiaKoopah in https://github.com/unslothai/unsloth-zoo/pull/822
  • Feat(mlx): Wire report_to wandb/tensorboard for standalone MLXTrainer by @BardiaKoopah in https://github.com/unslothai/unsloth-zoo/pull/821
  • Align MLX trainer internals for public UnslothTrainer by @Lyxot in https://github.com/unslothai/unsloth-zoo/pull/790
  • GRPO: sequence packing for the gradient logp path (default-on) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/840
  • Fix Gemma3 processor batched tokenization (ragged padding) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/843
  • Fix MLX trainer tests stale after load_best_model_at_end + trainer internals by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/853
  • Keep CUDA graphs with LoRA on vLLM >= 0.19 by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/867
  • Add shared Xet to HTTP stall fallback (hf_xet_fallback, hf_cache_state) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/829
  • Dequantize FP8 dense models on merged_16bit save (fixes unsloth#4919) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/803
  • Support DoRA (use_dora=True) in the safetensors LoRA merge by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/828
  • Make mxfp4 converter import resilient to a missing _cpu variant by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/826
  • GRPO PrefixGrouper: shared-prefix grad path in grpo_accumulated_loss by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/868
  • Keep DeepSeek-V4 hyper-connection mixers eager to stop backward inf by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/859
  • Cap the fused cross entropy chunk target so chunking stays active on large GPUs by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/857
  • Batch the fused MoE expert LoRA merge into one matmul on GPU by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/827
  • Load prequantized bnb 4-bit MoE expert checkpoints under transformers v5 by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/856
  • Optional recompute-in-backward for the v5 grouped MoE path by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/838
  • Add a grouped bnb 4-bit training forward for gpt-oss experts by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/862
  • Optional gate gradient identity for the grouped MoE combine by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/858
  • Vendor flash-linear-attention gated-delta kernels (no pip install needed) by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/865
  • Grouped-GEMM MoE forward for transformers<5 ModuleList experts by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/837
  • Make float16 training work for gemma4, qwen3_moe and glm4_moe by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/866
  • Route gemma-4 sliding-window layers through FlashAttention-2 by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/860
  • Fix MLX notebook generate input/output compatibility by @Lyxot in https://github.com/unslothai/unsloth-zoo/pull/855
  • Refuse DoRA on mxfp4 packed MoE before dequant; refresh bnb4bit patch-count canary by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/871
  • Skip bnb4bit per-expert MoE tests against the transformers<5 core_model_loading stub by @danielhanchen in https://github.com/unslothai/unsloth-zoo/pull/876
  • saving utils check both model.base_model and base_model.model by @toranb in https://github.com/unslothai/unsloth-zoo/pull/95

Breaking Changes

  • Minimum dependency bump to `unsloth>=2026.7.1`

Security Fixes

  • Deprecation warning: upgrade hono to 4.12.25 (CVE-2026-54290)

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

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]