## unslothai/unsloth — v0.1.900-beta…v0.1.901-beta

_245+ commits._

### Features
- **feat(studio): configurable RAG upload extensions via RAG_UPLOAD_EXTS (#11499)** (38ef21f)
- **Read the desktop New chat button contract token by token (#12426)** (813cee7)
- **unsloth start pi: add --max-tokens to set Pi's output token limit (#12393)** (c3eef76)
- **Compare Kaggle reference repo ids without case and prefetch the Qwen3 4bit repo under its new spelling (#12411)** (eba095f)
- **feat(studio): batch KV-quantized and TurboQuant MLX loads with prompt snapshot reuse (#12343)** (89641cc)
- **Add `unsloth eval` CLI command (#6824)** (3617ea6)
- **Support for Seq2Seq Models (T5, T5Gemma, etc.) (#4226)** (6d6fbc4)
- **feat(studio): Mac adapter-format option for LoRA export, with GGUF adapters on macOS (#7539)** (46161d7)
- **feat(studio): reuse MLX VLM prompt snapshots in the resident vision batch (#12263)** (9bafddb)

### Fixes
- **perf(studio): reuse embeddings for identical files in linked folders (#11972)** (7bfd700)
- **Fix desktop icon clarity with supplied artwork and Tauri resource icons (#12352)** (11839e6)
- **Studio: fix PDF previews after a PDF attachment is extracted (#12346)** (864fc1d)
- **fix(studio): keep scoped download progress tied to current files (#12390)** (543acd5)
- **Studio: fix Base vs LoRA compare for voice messages on fine-tuned Whisper (#12381)** (a6bf9b3)
- **fix(device_type): flush and fence through the shared device helpers (#12284)** (ed7a078)
- **Fix MiniMax-H3 compiled render on torch 2.12, 2.13 and 2.14 (#12326)** (3012a76)
- **Studio: fix the desktop island corner and border seam (#12285)** (1c4fcba)
- **Studio: fix Qwen-Image-2.1 recompiles and Ideogram 4 attention and device errors on torch 2.11 to 2.14 (#12350)** (a019826)
- **Fix the ShareGPT mapping for Llama 3.1, Qwen and Gemma chat templates (#12314)** (3ff585e)
- **fix(studio): record the bit widths of prequantized MLX models (#11940)** (6f70f90)
- **Studio: fix the faint seam beside the chat composer (#12304)** (3999e5f)
- **Fix three main CI failures from the Mac adapter export and seq2seq PRs (#12354)** (37489dd)
- **fix(studio): mark CSV exports as UTF-8 so Excel shows non-Latin text (#11971)** (8fdeb63)
- **Studio: fix Java initialization and home in the Linux tool sandbox (#12294)** (31719d6)

### Backend
- **Studio: keep PyTorch mirror leaves out of query tokens (#10546)** (150e6df)
- **Unsloth Studio: return the spoken text from /audio/generate instead of a truncated label (#12386)** (abf4cb4)
- **Update pyproject.toml** (befa974)
- **Update _version.py** (ef30cfb)
- **Studio: Qwen-Image-2.1 placement from measured sizes, int8 under offload on torchao 0.17, balanced fit check (#12408)** (cf89ed7)
- **Studio: explain the all-columns-dropped recipe error in UI terms (#12416)** (37d6154)
- **Studio: move Blender MCP setup out of Manage MCP servers into the composer (#12430)** (a768954)
- **Studio: keep the 1024 canvas when auto precision picked the Qwen-Image-2.1 quant (#12428)** (23adbb2)
- **Studio: keep the sidebar's bottom fade in step with the list (#12423)** (f864051)
- **Stop the model selector's format and quant suffix clipping descenders (#12427)** (1a96706)
- **Studio: make Compare in Chat load the full fine-tune that just finished (#12380)** (6c7f044)
- **Studio: keep Word footnotes and endnotes in chats and knowledge bases (#12378)** (f000412)
- **Studio: faster MiniMax-H3 GGUF renders (resident under memory auto, sd.cpp pin upgrade, speed_mode=max kernels) (#12405)** (c85ee37)
- **Studio: avoid slow cold MIOpen searches on gfx1151 (#12359)** (9aae51e)
- **Studio: remove the white seam above the chat panel on Windows dark mode (#12425)** (b1f03a1)
- **Keep an explicit HF_HUB_ENABLE_HF_TRANSFER and install hf_transfer in Core CI (#12394)** (ecb5c46)
- **Studio: keep the arrow cursor on a sent prompt's time (#12420)** (3b579a6)
- **Studio: remove the Projects section setting from Chat settings (#12421)** (792f815)
- **Studio: always show composer attachments as cards, rename sent layouts (#12418)** (3532764)
- **Stop conversation_extension crashing when the caller keeps their columns (#8373)** (5eb891e)
- **Studio: smaller scroll to bottom button, visible in dark mode, with a setting to hide it (#12417)** (747ec43)
- **Studio: warn that a Web share link from a remote Studio exposes its address (#12413)** (1422bfc)
- **Studio: stop the backend crashing on startup when memory is tight (#12374)** (1c4b92c)
- **Restore full-rank gradients after Q-GaLore updates (#10878)** (48ab67f)
- **Studio: keep Qwen-Image-2.1 image conditioning finite on ROCm (#12360)** (0e2df89)
- **Studio: continue finished replies and resume GGUF reasoning (#12371)** (1250bf1)
- **Treat {{ and }} in a merged prompt as literal braces (#10742)** (fc84dd1)
- **Keep the MLX adamw_8bit optimizer instead of collapsing it to adamw (#9950)** (49b2ff9)
- **Studio: let the Decision API use TypeSafe, Liquid AI, OpenRouter and other System One servers (#12373)** (193c8da)
- **Studio: keep a local model's built-in system prompt when the date setting is on (#12382)** (101b2d6)
- **Stop the Chat UI persisted-monitor reset from running script in the stale page (#12412)** (d2528e6)
- **Studio: say Pin in model menus, and drop the border on sidebar right-click submenus (#12414)** (fa0e025)
- **Seed preview: check path-backed image cells against the account's workspace (#12404)** (c0a6044)
- **Studio: train an uploaded CSV's NA, None and 00501 cells as written (#12379)** (14ebbe8)
- **Only turn on HF_HUB_ENABLE_HF_TRANSFER in synthetic.py when hf_transfer is installed (#12406)** (4004bf7)
- **Create the SentencePiece scratch directory without a check-then-create race (#12400)** (8568ae3)
- **Read a sign-flipped SVD basis as the same subspace in the Q-GaLore schedule (#12399)** (c4d2e24)
- **truststore: keep TLS verification on when handshakes overlap on one context (#12403)** (0840364)
- **Remove xFormers built for another torch after Linux repair (#11783)** (0dd7dfc)
- **Harden installer source selection, ROCm helper staging and npm scanner cleanup (#12402)** (953f99f)
- **Studio: keep <placeholder> and Vec<T> text in chat replies (#12376)** (28d8a04)
- **Studio: make media family overrides structural (#10150)** (ac6ddf3)
- **Feat share model run settings through links (#11710)** (547fdf2)
- **Studio: count companion assets in the Hub download size of image and video GGUFs (#12370)** (a76ac47)
- **Studio: stop offering Claude sampling settings that are silently ignored (#12383)** (f8eb9ba)
- **Studio: keep the answers typed into a PDF form when it is attached to a chat (#12377)** (5eccfd9)
- **Studio: open a skill when its row chevron is clicked (#12375)** (6d2f852)
- **Studio: compact context usage ring when the chat header is squeezed (#12355)** (b96af04)
- **Studio: keep the model name ahead of its format and quant when the header is tight (#12396)** (ffd71a9)
- **Studio: style canvas notices like toasts (#12358)** (c3927bb)
- **Studio: keep int8 / fp8 image transformers quantised when the load has to offload (#12287)** (e477bad)
- **Baseline the moved transformers 5.18.0 testing_utils polling-loop site after review (#12368)** (fa39581)
- **Studio frontend test: drain the previous runtime's writes before each reasoning-effort scenario (#12367)** (ac0ce6f)
- **Studio: keep INT8 and compile on conventional video models when they have to offload (#12289)** (e8b2bb2)
- **Model-config UI test: stop waiting on a request whose finish event never arrives (#12363)** (5caccb9)
- **Studio: keep MiniMax-H3's int8 denoiser and compile when it has to offload (#12286)** (5879a9b)
- **Studio video: keep an explicit fast LTX-2.3 single-file load resident when it fits (#12345)** (ba7ff6e)
- **Build the marlin_gemm call from the op schema so packed INT4 inference works on vLLM 0.29 (#12320)** (7740a23)
- **Studio: load downloaded tokenizers offline, size unsloth mirrors from the family table (#12300)** (7cee0c1)
- **Keep every active LoRA adapter in the fused LoRA paths (#12214)** (b70bd28)
- **Unsloth Studio (AMD): run native image generation on an NVIDIA card next to ROCm torch (#12252)** (1a08bd9)
- **Keep masked head_dim 256 SDPA training off cuDNN attention on SM100 (torch 2.14 NaN grads) (#12344)** (3e070b4)
- **Studio: let GGUF vision models see dark text in transparent images (#12310)** (f66bb10)
- **scan_packages: refuse VCS, URL and local-path specs before pip download (#12357)** (01e9961)
- **Studio: load LTX-2 and LTX-2.3 on the pinned transformers 5.5 (#12299)** (894fc7f)
- **Write the Ollama Modelfile from the trained chat template (#12311)** (31f8b04)
- **Honour FP8Linear.block_size in the patched FP8 forward (32x32 block checkpoints) (#12317)** (d167b89)
- **Move the Unsloth Studio MLX pins to mlx 0.32.3 and mlx-vlm 0.7.4 (#12334)** (f07d552)
- **Studio: turn train on completions back on when leaving CPT (#12308)** (340e1d2)
- **Widen the pinned child GPU mask when extra args name a companion device (#11823)** (2046e53)
- **Keep frozen BatchNorm running stats fixed during LoRA training (#12319)** (48f6f63)
- **Studio: catch the tensor split abort behind a gdb backtrace (#12293)** (d34cccc)
- **Studio: count tokens for templates that refuse an empty chat (#12336)** (0dba817)
- **Force non-reentrant gradient checkpointing for DeepSeek-V4.1 (#12318)** (adbf205)
- **Studio: prompt caching for OpenRouter (#12264)** (5913ef1)
- **Studio: isolate the Windows Terminal on MXC's default tier (#12328)** (b1c522a)
- **Keep packed INT4 layers off the fused inference kernel in train mode (#12349)** (9f2f65f)
- **Studio: report CUDA graphs as on once the deferred speed profile arms them (#12301)** (5efd2d8)
- **Studio: keep menus and popovers below the desktop titlebar (#12348)** (f0af859)
- **Studio: let the Mac window be moved during an app update (#12316)** (1f4aa14)
- **Studio: load plain FP8 encoder safetensors without torchao (#12333)** (fa595c6)
- **Studio desktop: survive AppKit exceptions during event dispatch on macOS (#12277)** (97dc0c4)
- **Studio: chunk large Qwen-Image-2.1 attention queries on ROCm (#12335)** (80eb763)
- **Studio frontend test: find the More flyout by its props in any order (#12356)** (a61240a)
- **Validate unsloth train flags the way the config file is validated (#11780)** (57365a4)
- **Studio: ask before Update stops a training run in the desktop app (#12313)** (d4155b7)
- **Parallel-isolation guard: exempt the nvidia-smi fake's poll deadline (#12353)** (3d7dde0)
- **Studio: accept multiple audio files per message (#12267)** (ba64bcb)
- **Audio: keep PyAV decoding working on PyAV 19, and stop the tests needing an AMR encoder (#12295)** (8c5e833)
- **Studio: keep code indentation when an HTML file is attached to a chat (#12312)** (6e8a82f)
- **Move the attention mask to each layer's device in the fast decode loops (#12290)** (31436b1)
- **Studio: keep web search source links for unsloth start claude (#12307)** (74e53b0)
- **Studio: flag responses that appear to stop while quoting a token (#12259)** (d654d71)
- **unsloth start pi and dsh: stop cutting every reply at 8,192 tokens (#12315)** (97e9538)
- **Studio: keep answer columns out of the system prompt (#12306)** (55c007a)
- **Studio: don't re-prompt a finished code answer on safetensors and MLX models (#12309)** (4f9785e)
- **Studio: stop normal chat from opening the API monitor (#12305)** (de4930c)
- **Studio: use the standard chevrons in place of Hugeicons' curved ones (#12337)** (ca45eec)
- **Studio: open the sidebar More menu on hover again (#12339)** (9c903ab)
- **Studio: more edge padding on the model picker dropdowns (#12338)** (0bf7a4f)
- **Studio: lift Library grid icons to the card's middle (#12341)** (73b3502)
- **Studio: Doc01 icon for Word and Google Docs files (#12340)** (bbc0b63)
- **Studio: tidy the Skills dialog rows and fields (#12332)** (6b5ec6f)
- **Studio: Library grid cards keep one icon position and use the full width (#12330)** (d0fbe58)
- **Studio: use Refresh01Icon and FileEmpty02Icon everywhere (#12331)** (57a1176)
- **Tests: let the TiledMLP DDP workers import unsloth_zoo on a CPU runner (#12329)** (7ebf192)
- **Studio tests: check the compare composer's paste path, not one spelling of it (#12325)** (b932263)
- **Studio desktop tests: keep temp paths distinct when the clock repeats (#12296)** (18e78b2)
- **Studio: stop polling focus while message menus are open (#12323)** (4700dbc)
- **Studio: mark adjusted backup timestamps as estimated (#12322)** (75d8bda)
- **Studio: use FileEmpty02Icon for generic file chips (#12324)** (277f550)
- **Studio: use the Hugeicons internet icon for every globe (#12321)** (5a45952)
- **Studio desktop: Cmd/Ctrl + and - zoom with a zoom popup (#12280)** (b8440cc)
- **Studio: one top row and layout fixes for the Windows desktop app (#12070)** (c309bd6)
- **Unsloth Studio / Desktop: expose prefill progress in API monitor (#11161)** (5651def)
- **Reload LoRA adapters trained with added tokens (#4219)** (20aa778)
- **Studio: stop a generalized compare cleanly, cancelling its in-flight model load (#7407)** (a790248)
- **Studio: run large Laya requests in token-budgeted chunks (#12271)** (1bf9702)
- **Studio: list large MCP tool schemas compactly and load the full schema on demand (#11046)** (fb5a921)
- **Preserve repo id case when resolving a model name (#8058)** (aa36c8d)
- **Let Gemma 4 31B train when it is split across GPUs (#12233)** (7089071)
- **Train gpt-oss MXFP4 LoRA through unsloth-zoo's packed experts when load_in_16bit is not set (#11929)** (b7a0d71)
- **Keep LoRA on dense Linears sharing a name with fused MoE experts in PEFT's v5 conversion (#12281)** (7eb3de3)
- **Studio: save a model's run settings without loading it (#10216)** (7a8c055)
- **Let FastModel and FastLanguageModel load the same family in one process, in either order (#12219)** (d2e127d)
- **Harden timing-dependent Studio backend tests (nvidia-smi cache, cold /api/health) (#12275)** (311572e)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/unslothai/unsloth?utm_source=github-action)._