v0.1.900-beta
unslothai/unslothv0.1.900-betaSep 28, 2026by shimmyshimmer
Upgrading?
AI Summary
Introduces support for Laya decision models, a unified media library with document viewers, and significant Apple Silicon optimizations including batched serving and TurboQuant KV cache.
Key Highlights
- Run Decision Models locally (Laya) to answer yes/no, multiple-choice, and scoring questions with probabilities.
- New Skills Editor to create, edit, and delete Skills directly in Desktop.
- Library + Document Viewer for PDF, Word, Excel, PowerPoint, and chats.
- Apple Silicon improvements including batched serving, structured outputs, and TurboQuant KV cache.
- Faster Image + Video Generation with ~4.5x faster LTX-2.3 clips and 1.7–6.3x faster VAE decoding.
New Features
- Decision Models support (Laya)
- Library and Document Viewer
- Skills Editor
- Apple Silicon MLX integration
- Faster generation (LTX-2.3, VAE)
- ModelScope integration
- File attachment support before loading models
Full Release Notes
We're adding support for decision models, a unified Library for docs and media, document viewer, many Apple Silicon improvements, creation of Skills, and ~4.5× faster image and video generation. * Run and serve **Decision Models** like Laya (open-source Jev) locally * **Skills Editor** to create, edit, and delete Skills directly in Desktop * **ModelScope** model downloading is now here for users who can't use HF * **Library + Document Viewer** for PDF, Word, Excel, PowerPoint, and chats. * You can now attach files before loading a model * **Apple Silicon Improvements** including batched serving, structured outputs, and TurboQuant KV cache. * Configure how much of a model each GPU receives. * **Faster Image + Video Generation** with ~4.5x faster LTX-2.3 clips and 1.7–6.3x faster VAE decoding. * New food-inspired **Themes**. Check them out! ## Library + Viewer * View **PDF, Word, Excel, and PowerPoint** files directly in Unsloth, with links back to their source. * Manage chats, images, videos, everything in our new **Library** tab. * Improved attachment cards and support for reading more file formats. * **Create your own sidebar sections** and drag sections to reorder them. ## Laya + decision models Run **Laya decision models locally** to answer yes/no, multiple-choice, and scoring questions with probabilities. * Enable the Decision API from **Settings > API**, with model selection and CPU or GPU controls. * Supports the **TypeSafe SDK** through a Jev-compatible `/v1/systemone` endpoint. * Runs natively on **MLX for Apple Silicon** when GPU is selected. [[Details](https://github.com/unslothai/unsloth/pull/11603)](https://github.com/unslothai/unsloth/pull/11603) ## Faster image + video generation * **LTX-2.3 clips are ~4.5x faster** with distilled sampling, compile fixes, and hosted FP8 weights. * Image and video VAE optimizations deliver **1.7–6.3x faster decoding**, with total generation speedups depending on the workflow. * MiniMax-H3's first render is **up to a minute faster**, with **25–29 GiB lower peak memory** on A100, B200, and RTX PRO 6000. ## Apple Silicon + MLX * **Batched serving** allows multiple replies to decode at once. * Added **grammar-constrained structured outputs** through `response_format`. * Added **TurboQuant KV cache** and KV cache quantization for sliding-window models such as Gemma 4. * Improved memory estimates and automatic context sizing based on available memory. ## Skills + chat improvements * **Create, edit, and delete Skills** from the Desktop Skills menu. * Improved conversation recall across repeated auto compactions. * Long-running tool calls continue even when they produce no output, with better protection against excessive output consuming memory. * Auto-scroll or manual scroll your conversations * Use **ModelScope** instead of Hugging Face for model downloads * You can now attach as many files before loading a model, if a model doesn't accept an input, the prompt will just ignore it ## Training + inference * Faster **block-FP8 LoRA training** and support for **LoRA on compressed-tensors W8A8 checkpoints**. * Load **Voxtral and Qwen2-Audio** through `FastModel`. * Export saved checkpoints from crashed or cancelled training runs. * Important compatibility fixes for Gemma, newer TRL trainers, and FP8 on RTX 5090 and RTX PRO 6000. ## What's Changed * Wait for the model load before reading the unsloth run banner by @danielhanchen in https://github.com/unslothai/unsloth/pull/11679 * Bump install.sh / install.ps1 pin to unsloth>=2026.9.11 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11689 * Revert "Studio: steady the Images and Video loading spinners, and tidy the progress card" by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11691 * Follow #11635's Diffusers prefetch and #11660's responsive classes in the tests by @danielhanchen in https://github.com/unslothai/unsloth/pull/11680 * Give the ROCm bf16 chain test every name _gpu_init imports from device_type by @danielhanchen in https://github.com/unslothai/unsloth/pull/11688 * Read the sidebar pin's width only where matchMedia exists, and expect the update card's scaled width by @danielhanchen in https://github.com/unslothai/unsloth/pull/11700 * Keep a test's fake pid identity out of the cached owner identity by @danielhanchen in https://github.com/unslothai/unsloth/pull/11708 * Expect the unsloth Z-Image-Turbo mirror in the image download queue drive by @danielhanchen in https://github.com/unslothai/unsloth/pull/11711 * Classify uv's new --output-format as a value flag in the pip shim by @danielhanchen in https://github.com/unslothai/unsloth/pull/11715 * Studio: do not roll back a model switch whose load got no answer by @danielhanchen in https://github.com/unslothai/unsloth/pull/11729 * studio: add responses api selection for custom providers by @mahiatlinux in https://github.com/unslothai/unsloth/pull/11354 * Count the stripper's whole-buffer work instead of timing it by @danielhanchen in https://github.com/unslothai/unsloth/pull/11735 * Studio: keep tracking a new chat's upload when its id commits late by @danielhanchen in https://github.com/unslothai/unsloth/pull/11738 * studiobench: compare a code fence one arm scrolled past on its text by @danielhanchen in https://github.com/unslothai/unsloth/pull/11741 * Anchor the GRPO MoE aux-loss fail-fast on the assignment, not its expression by @danielhanchen in https://github.com/unslothai/unsloth/pull/11747 * Chat UI driver: wait for the Recents thread to load, and let the check fail by @danielhanchen in https://github.com/unslothai/unsloth/pull/11749 * Clean-machine trace leg: let git fetch the pinned git+ requirements, nothing else by @danielhanchen in https://github.com/unslothai/unsloth/pull/11751 * Studio: add Search Hub to the Images, Video and Audio model pickers by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11756 * Studio: keep the model name and quant whole in the Images and Video header by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11757 * Studio: drag to reorder, add to project and quick download for the image and video galleries by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11758 * Studio: make the Images, Video and Audio settings rail resizable by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11760 * Studio installer: do not run Apple's git shim to ask whether git works by @danielhanchen in https://github.com/unslothai/unsloth/pull/11759 * Data settings check: pin the legacy store outcome in the failed-delete check by @danielhanchen in https://github.com/unslothai/unsloth/pull/11763 * Update idempotency: count whisper.cpp only when the install has one by @danielhanchen in https://github.com/unslothai/unsloth/pull/11762 * Account matrix: cover the gallery move and add-to-project routes by @danielhanchen in https://github.com/unslothai/unsloth/pull/11767 * Studio: stop clipping the model description's descenders; follow the resizable rail in the layout contracts by @danielhanchen in https://github.com/unslothai/unsloth/pull/11769 * Studio: follow-ups for the media gallery, hub link and rail divider by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11765 * studiobench: do not fail UI parity on repetitions that swap two renderings by @danielhanchen in https://github.com/unslothai/unsloth/pull/11772 * MCP HTTP integration test: let the server bind its own port by @danielhanchen in https://github.com/unslothai/unsloth/pull/11777 * Export full fine-tunes in 16-bit from the CLI by default by @NilayYadav in https://github.com/unslothai/unsloth/pull/11716 * Studio: end Alpaca training samples with the end token by @NilayYadav in https://github.com/unslothai/unsloth/pull/11719 * Studio: keep Qwen-Image-2.1 int8 / fp8 compiling on torch 2.12 (CantSplit) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11677 * Studio: let an explicit FBCache request engage on Qwen-Image-2.1 and other prefix-KV models by @danielhanchen in https://github.com/unslothai/unsloth/pull/11713 * Studio: make the HunyuanImage-2.1 denoiser step capturable as a CUDA graph by @danielhanchen in https://github.com/unslothai/unsloth/pull/11753 * Studio: pin, reorder and add to project for Audio history by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11774 * Studio: Show token usage and cache stats on connected provider chats by @NilayYadav in https://github.com/unslothai/unsloth/pull/11717 * fix(studio): support preserve thinking for llama.cpp connections by @Imagineer99 in https://github.com/unslothai/unsloth/pull/11706 * Studio: stop the max speed tier recompiling on every new prompt length by @danielhanchen in https://github.com/unslothai/unsloth/pull/11731 * Layout contract: tie the Train rail clamp to its scroller's padding by @danielhanchen in https://github.com/unslothai/unsloth/pull/11773 * Studio: fix broken Chinese, Japanese and emoji text in gpt-oss replies by @NilayYadav in https://github.com/unslothai/unsloth/pull/11720 * Studio: Keep Codex reasoning between tool calls on /v1/responses by @NilayYadav in https://github.com/unslothai/unsloth/pull/11726 * Studio: Make `unsloth start --reasoning on/off` take effect by @NilayYadav in https://github.com/unslothai/unsloth/pull/11718 * Studio: example prompt per image workflow, remember the last prompt by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11775 * Studio: dock the floating Live monitor beside Run settings by @wasimysaid in https://github.com/unslothai/unsloth/pull/11699 * Account matrix: cover the audio gallery move and add-to-project routes by @danielhanchen in https://github.com/unslothai/unsloth/pull/11789 * Studio: show the Custom size fields under Output size in unified Edit by @oobabooga in https://github.com/unslothai/unsloth/pull/11690 * Fix false ONNX rejection for models with native weights by @wasimysaid in https://github.com/unslothai/unsloth/pull/11695 * Fix GGUF vision capability selection by @wasimysaid in https://github.com/unslothai/unsloth/pull/11696 * Baseline the two huggingface_hub 1.33.0 / 2.0.0 findings after review by @danielhanchen in https://github.com/unslothai/unsloth/pull/11811 * Replace an in-flight chat model load with the latest pick by @wasimysaid in https://github.com/unslothai/unsloth/pull/11697 * Prebuilt installers: retry a download the server drops by @danielhanchen in https://github.com/unslothai/unsloth/pull/11816 * Load-replacement contract: read the rollback guard, not its one-line spelling by @danielhanchen in https://github.com/unslothai/unsloth/pull/11817 * Unsloth Studio (AMD/ROCm): don't turn on cudnn.benchmark for image and video generation by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11732 * Padding-free gate tests: state that UNSLOTH_RETURN_LOGITS is unset by @danielhanchen in https://github.com/unslothai/unsloth/pull/11863 * Eval step: restore UNSLOTH_RETURN_LOGITS even when evaluation raises by @danielhanchen in https://github.com/unslothai/unsloth/pull/11865 * Studio update launcher tests: give every test a private STUDIO_HOME by @danielhanchen in https://github.com/unslothai/unsloth/pull/11869 * Studio: a sandbox read waits out a legacy move's staging window by @danielhanchen in https://github.com/unslothai/unsloth/pull/11876 * Agent guides CI: pass optional installer flags only while the installer takes them by @danielhanchen in https://github.com/unslothai/unsloth/pull/11878 * fix(studio): keep Stop generating visible while queuing by @Biotrioo in https://github.com/unslothai/unsloth/pull/9123 * Studio: give the Windows ROCm torchao stub a version transformers 5 can parse by @danielhanchen in https://github.com/unslothai/unsloth/pull/11640 * Give vLLM a valid top_k when fast_inference enables it in the GRPO trainer by @danielhanchen in https://github.com/unslothai/unsloth/pull/11675 * Studio: stop unsloth start announcing a switch when --model names the file already loaded by @oobabooga in https://github.com/unslothai/unsloth/pull/11873 * Studio: stop holding a passthrough response 5 s when a watcher swallows its cancel by @oobabooga in https://github.com/unslothai/unsloth/pull/11859 * Studio: say the installer script is missing instead of showing the PowerShell logo by @oobabooga in https://github.com/unslothai/unsloth/pull/11862 * Studio: stop rescanning every model folder on each request that names a model not on disk by @oobabooga in https://github.com/unslothai/unsloth/pull/11872 * studiobench: image_upload closes the menu it opened when it gives up by @danielhanchen in https://github.com/unslothai/unsloth/pull/11892 * Parallel-isolation guard: exempt the resolver's back-dated staleness precondition by @danielhanchen in https://github.com/unslothai/unsloth/pull/11894 * Studio: stop opening a saved chat from re-running a Max Tokens reply by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11875 * Studio: use the browser's timezone for today's date in chat by @NilayYadav in https://github.com/unslothai/unsloth/pull/11852 * SentenceTransformer: preserve masks for patched Gemma3 attention by @Etherll in https://github.com/unslothai/unsloth/pull/11866 * Studio: initialize new chats before attaching documents by @Imagineer99 in https://github.com/unslothai/unsloth/pull/11838 * Studio: stop inflating chat images by re-encoding every one to PNG by @oobabooga in https://github.com/unslothai/unsloth/pull/11889 * Studio: fix document search for embedding models other than the default by @NilayYadav in https://github.com/unslothai/unsloth/pull/11853 * Studio: train audio datasets on the columns the dataset check found by @NilayYadav in https://github.com/unslothai/unsloth/pull/11850 * Studio: follow the JSON format a client asks for on /v1/messages by @NilayYadav in https://github.com/unslothai/unsloth/pull/11854 * Studio: let a temporary chat be saved to history by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11901 * Studio Hub: show a running download as Downloading, not as a paused partial by @danielhanchen in https://github.com/unslothai/unsloth/pull/11797 * Accept the transformers 5.0 ignore_keys argument in validate_rope by @danielhanchen in https://github.com/unslothai/unsloth/pull/11560 * Studio: verify the Diffusers main zip against a pinned SHA-256 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11908 * Studio: restyle the save temporary chat popup as a standard dialog by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11914 * Fix text_only 4-bit load and generate for Gemma-4 and other VLM text configs by @danielhanchen in https://github.com/unslothai/unsloth/pull/11684 * Studio: add File and View menu items to the macOS desktop app by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11902 * Studio: keep the model's own chat template when the Unsloth one can't render the rows by @oobabooga in https://github.com/unslothai/unsloth/pull/11487 * Split the flash-attn prebuilt wheel build across parallel ccache jobs by @oobabooga in https://github.com/unslothai/unsloth/pull/11812 * Studio: find older chats by title in chat search by @NilayYadav in https://github.com/unslothai/unsloth/pull/11296 * Studio: fix login failures during slow startup by @NilayYadav in https://github.com/unslothai/unsloth/pull/11289 * Studio: build Qwen-Image-2.1's token layout once per render instead of every step by @danielhanchen in https://github.com/unslothai/unsloth/pull/11887 * Load a VLM through its native image-text class when the repo's auto_map class is untrusted by @danielhanchen in https://github.com/unslothai/unsloth/pull/11613 * Unsloth Studio (AMD): floor torch at 2.11 on the gfx103X-all and gfx110X-all families too by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11834 * Studio: read DOCX content controls, tracked insertions and text boxes by @L4XB in https://github.com/unslothai/unsloth/pull/11803 * Studio: start settings labels with the setting, not "Show" by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11924 * Studio: align the model selector label and truncate long project names by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11917 * Studio: style the chat scrollbar like Run settings by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11925 * Unsloth Studio (AMD/ROCm): warn about, and refuse, a GPU the installed PyTorch has no kernels for by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11571 * Studio: video auto precision keeps a resident bf16 DiT by @danielhanchen in https://github.com/unslothai/unsloth/pull/11831 * Studio: show Theme first in Settings > Appearance by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11921 * Stop the Starling, Yi-chat and LFM2 templates leaking whitespace by @Abhishek-B-R in https://github.com/unslothai/unsloth/pull/11779 * Studio: clicking a gallery item keeps the typed prompt by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11930 * Studio: move Read aloud and Edit response into the More menu by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11920 * Studio: make the composer the same width as the chat column by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11926 * UI scale contract: count the save-temporary-chat button among the chat header's 30px controls by @danielhanchen in https://github.com/unslothai/unsloth/pull/11932 * studio: allow local imatrix files for gguf export by @mahiatlinux in https://github.com/unslothai/unsloth/pull/11350 * Studio: guard export operations when the Hub is unreachable by @Imagineer99 in https://github.com/unslothai/unsloth/pull/11466 * Studio: keep a Codex chat working after a tool returns an image on a text-only model by @NilayYadav in https://github.com/unslothai/unsloth/pull/11476 * Studio: show example prompts as placeholder hints by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11931 * Studio: keep a chat's attached files when you fork it by @NilayYadav in https://github.com/unslothai/unsloth/pull/11295 * Studio: add a multiline send shortcut and spell out what each one does by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11927 * Studio: stream durable chat runs at display frame rate by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11900 * Embed server tests: intercept only the server's own Popen by @danielhanchen in https://github.com/unslothai/unsloth/pull/11934 * Studio: build the ConvRot rotation from its definition by @danielhanchen in https://github.com/unslothai/unsloth/pull/11807 * Studio: keep all text when adding Word files to a knowledge base by @NilayYadav in https://github.com/unslothai/unsloth/pull/11725 * Studio: show when a response was written, in its More menu by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11928 * Studio: load the hosted INT8 pre-quant checkpoints on torchao 0.18 and later by @danielhanchen in https://github.com/unslothai/unsloth/pull/11884 * Studio: show context checkpoints apart from the KV cache in the memory estimate by @oobabooga in https://github.com/unslothai/unsloth/pull/11581 * Studio: drag to reorder pinned models in the model picker by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11941 * Cast fp16 leftovers to the requested dtype after a text_only pre-quantized load by @danielhanchen in https://github.com/unslothai/unsloth/pull/11692 * Studio: translate the inline Read aloud and Edit response settings by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11933 * Accept block_sequence_ids in chunked causal masks on transformers 5.17 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11693 * Studio: convert decoded video frames to uint8 on the GPU before the mp4 encode by @danielhanchen in https://github.com/unslothai/unsloth/pull/11879 * Studio: fix pinned rows in the model picker by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11943 * Studio: stop rewriting the compile-cache bundle on every warm start, and bound its disk use by @danielhanchen in https://github.com/unslothai/unsloth/pull/11874 * Studio: list the Images workflows in the phone sidebar again by @oobabooga in https://github.com/unslothai/unsloth/pull/11936 * Studio: reuse unchanged files from an older snapshot instead of re-downloading them by @danielhanchen in https://github.com/unslothai/unsloth/pull/11796 * Studio: draw one drop line per gap when dragging sidebar rows by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11942 * Studio: show the full URL while a web fetch waits for approval by @wasimysaid in https://github.com/unslothai/unsloth/pull/11694 * Rebuild byte-level tokenizers that transformers v5 loads as LlamaTokenizer by @danielhanchen in https://github.com/unslothai/unsloth/pull/11686 * Plan a device map for text_only loads of vision-language models by @danielhanchen in https://github.com/unslothai/unsloth/pull/11584 * Installer: stop picking cu126 when a slow NVIDIA driver times out CUDA detection by @danielhanchen in https://github.com/unslothai/unsloth/pull/11916 * Studio: skip xFormers when its torch requirement is unmet by @oobabooga in https://github.com/unslothai/unsloth/pull/11847 * Studio: add HTTP recording fallback to Dictate by @Etherll in https://github.com/unslothai/unsloth/pull/11075 * Studio: propagate the Ollama CUDA runtime to llama-server (replacement for #7563) by @wasimysaid in https://github.com/unslothai/unsloth/pull/11666 * Prevent setup-size flash during desktop startup by @wasimysaid in https://github.com/unslothai/unsloth/pull/11910 * Studio: return freed host memory to the OS after diffusion and video unload by @danielhanchen in https://github.com/unslothai/unsloth/pull/11795 * Walk every sub-config when deciding whether a config carries remote code by @danielhanchen in https://github.com/unslothai/unsloth/pull/11555 * Studio: fix vision training with evaluation on when there is no eval split by @NilayYadav in https://github.com/unslothai/unsloth/pull/11851 * Studio: stop a compiled Qwen-Image-2.1 render holding 2 GiB of prefix K/V it does not need by @danielhanchen in https://github.com/unslothai/unsloth/pull/11882 * Dequantize FP8 weights left raw by text_only and offloaded loads by @danielhanchen in https://github.com/unslothai/unsloth/pull/11841 * Studio: video status reports CUDA graphs off when they never engage by @danielhanchen in https://github.com/unslothai/unsloth/pull/11886 * fix(studio): show compaction notices for tool-loop checkpoints by @Imagineer99 in https://github.com/unslothai/unsloth/pull/11702 * Pin the ARM64 Arrow overlay to a commit before its wheels are signed by @danielhanchen in https://github.com/unslothai/unsloth/pull/11911 * Load 4.x remote code and config-only remote code on transformers 5 (Trinity-Large, MiniMax-M3) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11658 * Studio: serve the Jev API locally with Laya by @NilayYadav in https://github.com/unslothai/unsloth/pull/11603 * Studio: opt-in NVENC for the video mp4 export by @danielhanchen in https://github.com/unslothai/unsloth/pull/11881 * Studio: compile the diffusion denoiser on fp16 GPUs when a speed tier is picked (T4 and other pre-Ampere cards) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11899 * Studio: whole-model offload points weights back at their host tensors instead of copying them by @danielhanchen in https://github.com/unslothai/unsloth/pull/11764 * Studio: pin the kept offload weights on first onload when host RAM allows by @danielhanchen in https://github.com/unslothai/unsloth/pull/11766 * fix(studio): count rendered GGUF prompts before shared-KV admission by @Imagineer99 in https://github.com/unslothai/unsloth/pull/10794 * Point -bf16 4-bit requests at quantization_config, and warn when a bitsandbytes load quantized nothing by @danielhanchen in https://github.com/unslothai/unsloth/pull/11586 * Studio: HunyuanVideo-1.5 padded-text trim on the max speed tier by @danielhanchen in https://github.com/unslothai/unsloth/pull/11824 * Studio: release VRAM when an image model is unloaded mid-render by @danielhanchen in https://github.com/unslothai/unsloth/pull/11790 * Studio: faster MiniMax-H3 video VAE encode and decode by @danielhanchen in https://github.com/unslothai/unsloth/pull/11801 * fix(grpo): use the evaluated model's output head for log-probs by @taking-lying-flat in https://github.com/unslothai/unsloth/pull/11877 * Studio: auto step cache (FBCache) only on the max speed tier by @danielhanchen in https://github.com/unslothai/unsloth/pull/11791 * Studio: cache text-encoder outputs so repeat prompts skip the encoder by @danielhanchen in https://github.com/unslothai/unsloth/pull/11844 * fix(studio): classify MLX requests from the applied chat template override by @Lyxot in https://github.com/unslothai/unsloth/pull/11903 * Unsloth Studio (AMD): allow INT8 / FP8 image and video precision without torchao by @danielhanchen in https://github.com/unslothai/unsloth/pull/11631 * Studio: count the hosted text encoder and keep the GGUF denoiser resident when only the encoder does not fit by @danielhanchen in https://github.com/unslothai/unsloth/pull/11802 * Studio: run an explicit int8 under offload on NVIDIA as torchao-free W8A8 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11712 * Studio: apply remembered settings for MLX and safetensors models to API loads by @Lyxot in https://github.com/unslothai/unsloth/pull/11904 * Studio: keep bf16 for auto precision on image families that cannot compile by @danielhanchen in https://github.com/unslothai/unsloth/pull/11819 * Studio: tile the VAE instead of refusing oversized upscales, and in-app remedies for image refusals by @danielhanchen in https://github.com/unslothai/unsloth/pull/11798 * Load and train remote-code multimodal wrappers: Phi-4-reasoning-vision in 4-bit and Nemotron-3-Nano-Omni by @danielhanchen in https://github.com/unslothai/unsloth/pull/11526 * Finish a 16bit load of a static per-tensor fp8 checkpoint (Mistral-Small-4) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11531 * Studio: static step skip for image models that keeps CUDA graphs by @danielhanchen in https://github.com/unslothai/unsloth/pull/11737 * Studio: static step skip for video generation by @danielhanchen in https://github.com/unslothai/unsloth/pull/11748 * Studio: Qwen-Image-2.1 RoPE in real arithmetic inside the compiled blocks by @danielhanchen in https://github.com/unslothai/unsloth/pull/11888 * Studio: Library page for files, media and fine-tunes by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11770 * Resolve remote-code model classes, reach per-expert submodules with LoRA, run the root dispatch hook on the embedding's device (Nemotron-Labs-Teacher) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11543 * Studio: Library settings, storage and sortable list columns by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11771 * Studio: open Images and Video previews in the Library viewer by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11776 * Format the two files #11526 left off the formatter's fixed point by @danielhanchen in https://github.com/unslothai/unsloth/pull/11955 * Load and fine-tune LongCat-Flash-Lite-Sparse on transformers' longcat_flash by @danielhanchen in https://github.com/unslothai/unsloth/pull/11620 * Hand a composition with no forward of its own to its thinker (Qwen3-Omni) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11523 * fix(studio): retain GGUF quants across cache-folder switches by @wasimysaid in https://github.com/unslothai/unsloth/pull/11938 * Keep the training state intact across a standalone evaluate() / predict() by @danielhanchen in https://github.com/unslothai/unsloth/pull/11860 * fix(studio): recover from a dead Metal GPU queue instead of failing every later request by @Lyxot in https://github.com/unslothai/unsloth/pull/11383 * Pin the compiled mask wrapper only when it is compiled by @danielhanchen in https://github.com/unslothai/unsloth/pull/11957 * Load NVIDIA ModelOpt FP8 checkpoints through the transformers fp8 quantizer by @danielhanchen in https://github.com/unslothai/unsloth/pull/11592 * Studio: run Qwen-Image-2.1 int8/fp8 on 24 GB cards with the transformer resident and the text encoder streamed by @danielhanchen in https://github.com/unslothai/unsloth/pull/11883 * Divide by gradient accumulation for forwards that take **kwargs but return a mean loss by @danielhanchen in https://github.com/unslothai/unsloth/pull/11898 * Load 4.x-era configs that transformers 5 strict validation rejects (Llama 4 attn_temperature_tuning) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11836 * Studio: minimal OS sandbox for Python and Terminal tools on Linux and macOS by @oobabooga in https://github.com/unslothai/unsloth/pull/11209 * Studio: add Windows MXC Preview sandboxing by @Etherll in https://github.com/unslothai/unsloth/pull/11390 * Studio: whole-model NVFP4 for the video families with hosted pre-quantized denoisers by @danielhanchen in https://github.com/unslothai/unsloth/pull/10729 * Studio: per-layer NVFP4 image policies, flashinfer FP4 backend and a gated auto row by @danielhanchen in https://github.com/unslothai/unsloth/pull/10730 * Studio: NVFP4 flashinfer backend kernel items (device guard, persistent barrier, bias path, cached dispatch) by @danielhanchen in https://github.com/unslothai/unsloth/pull/10731 * Studio: keep inline HTML text in its line when parsing an upload by @L4XB in https://github.com/unslothai/unsloth/pull/11818 * Studio: read text, Markdown and HTML uploads in the encoding they were written in by @L4XB in https://github.com/unslothai/unsloth/pull/11896 * Fix PEFT base export targets silently exporting the base model by @tweekli in https://github.com/unslothai/unsloth/pull/11781 * Studio: install flashinfer on demand for NVFP4 without moving torch by @danielhanchen in https://github.com/unslothai/unsloth/pull/11730 * Studio: steady pinned model drop line and pill-shaped project drop highlight by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11986 * Studio: compile the VAE decode for DiT families, from the NVFP4 time budget pass by @danielhanchen in https://github.com/unslothai/unsloth/pull/10889 * Studio: Library grid Sort menu, tidier toolbar menus and card icons by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11978 * Studio: cap context checkpoints by host RAM for sliding-window and SSM models by @Lyxot in https://github.com/unslothai/unsloth/pull/11918 * Studio: sort projects in the sidebar and show pinned chats once by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11988 * Studio tests: read UI labels from the en catalog, and follow the response-details action into MessageMenuTime by @danielhanchen in https://github.com/unslothai/unsloth/pull/11949 * Studio: open model row tooltips from the name only by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11985 * Studio: pin fine-tuned models in the model picker by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11984 * CI: only cancel superseded pull request runs, never dispatches or schedules by @danielhanchen in https://github.com/unslothai/unsloth/pull/11977 * CI: fix path filters that miss dependencies, and narrow three that are too broad by @danielhanchen in https://github.com/unslothai/unsloth/pull/11989 * Studio Playwright helpers: named per-step budgets, fail-fast step report, condition waits by @danielhanchen in https://github.com/unslothai/unsloth/pull/11979 * Studio Playwright chat_ui: condition waits, per-step budgets, 25 s less in the theme step by @danielhanchen in https://github.com/unslothai/unsloth/pull/11983 * Studio Playwright: condition waits and per-step budgets in extra_ui and update_banner_layout by @danielhanchen in https://github.com/unslothai/unsloth/pull/11990 * Studio Playwright: condition waits and per-step budgets in model_config and memory_estimate by @danielhanchen in https://github.com/unslothai/unsloth/pull/11987 * Studio Playwright: condition waits and per-step budgets in loaded_models_indicator and ui_font_scale by @danielhanchen in https://github.com/unslothai/unsloth/pull/11992 * Studio Playwright: condition waits and step budgets in thread_scoped_settings, mcp_arguments, chat_width by @danielhanchen in https://github.com/unslothai/unsloth/pull/11991 * Export: add save_pretrained_openvino and push_to_hub_openvino support by @goodmai in https://github.com/unslothai/unsloth/pull/11907 * Studio: line sidebar section headers up with row content by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/11996 * CLI: keep a reply's trailing '<' or '<th' once the stream has ended by @breken-ai in https://github.com/unslothai/unsloth/pull/11893 * Studio: drop Move up / Move down from sidebar row menus by @danielhanchen in https://github.com/unslothai/unsloth/pull/12000 * Studio: Help menu items and a Go menu for desktop Help search by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12002 * Studio: size Library gallery items without resolving each file by @danielhanchen in https://github.com/unslothai/unsloth/pull/12003 * Fix left-padded Online DPO scoring during training by @taking-lying-flat in https://github.com/unslothai/unsloth/pull/11885 * feat(studio): ModelScope as a model source and a custom Hugging Face endpoint by @Lyxot in https://github.com/unslothai/unsloth/pull/11761 * Keep the Kaggle GPU harness tests independent of the caller's CUDA_VISIBLE_DEVICES by @danielhanchen in https://github.com/unslothai/unsloth/pull/12010 * OpenVINO export: trust remote code only for a remote-code model, and decode the bounds probe as UTF-8 by @danielhanchen in https://github.com/unslothai/unsloth/pull/12012 * Skip test_wait_for_settled when playwright.sync_api is only a stub by @danielhanchen in https://github.com/unslothai/unsloth/pull/12013 * feat(install): fall back to CERNET and npmmirror when package hosts are blocked or slow by @Lyxot in https://github.com/unslothai/unsloth/pull/11786 * Skip Unsloth's generated compile cache in the exec-literal lint by @danielhanchen in https://github.com/unslothai/unsloth/pull/12014 * tests: make the ROCm install suite pass on Windows, macOS and arm64 runners by @danielhanchen in https://github.com/unslothai/unsloth/pull/12005 * Studio setup: read the amd-smi index-space line without head -n 1 by @danielhanchen in https://github.com/unslothai/unsloth/pull/12004 * Add longcat_flash_lsa to the fused-MoE conversion snapshot by @danielhanchen in https://github.com/unslothai/unsloth/pull/12018 * Record only the test thread's sleeps as Deep Research retry backoff by @danielhanchen in https://github.com/unslothai/unsloth/pull/12019 * Studio CLI: stop `unsloth run` re-exec'ing itself forever when the Studio venv is a symlink by @danielhanchen in https://github.com/unslothai/unsloth/pull/11788 * Studio: do not reapply ROCR_VISIBLE_DEVICES when picking the AMD card in setup.sh and the llama.cpp prebuilt probe by @danielhanchen in https://github.com/unslothai/unsloth/pull/11965 * Studio: run image and video denoises on one render thread so cuDNN caches are reused by @danielhanchen in https://github.com/unslothai/unsloth/pull/11843 * Studio: return an error when embeddings dimensions can't be honored by @NilayYadav in https://github.com/unslothai/unsloth/pull/11968 * Studio: keep a 0 label and blank a NaN cell when mapping columns to chat roles by @breken-ai in https://github.com/unslothai/unsloth/pull/11895 * Studio: support web_search_20260209 on /v1/messages by @NilayYadav in https://github.com/unslothai/unsloth/pull/11963 * Studio: keep a working GPU when one probe fails, and name the card behind no_gpu by @danielhanchen in https://github.com/unslothai/unsloth/pull/11944 * Studio: download only one copy of a GGUF quant by @NilayYadav in https://github.com/unslothai/unsloth/pull/11966 * Give the real-host NVIDIA probe test a budget that a busy driver can meet by @danielhanchen in https://github.com/unslothai/unsloth/pull/12026 * Unsloth Studio installer (AMD/Linux): send RDNA 4 cards (RX 9000, R9700) to AMD's gfx120X wheels by @danielhanchen in https://github.com/unslothai/unsloth/pull/11935 * Studio: keep a CSV seed's values as written when dropping its index column by @L4XB in https://github.com/unslothai/unsloth/pull/11945 * Studio media viewer: Zoom to fit at the bottom of the scale menu by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12028 * Studio: shadow the dark mode composer so it stands off the chat by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12023 * Studio: name the Git Bash MXC incompatibility and stop re-probing it by @danielhanchen in https://github.com/unslothai/unsloth/pull/12021 * Keep more VRAM headroom on Windows CUDA, and say when a hand-set context does not fit by @danielhanchen in https://github.com/unslothai/unsloth/pull/11368 * Unsloth Studio (AMD): keep export off a GPU PyTorch has no kernels for, like the iGPU by @oobabooga in https://github.com/unslothai/unsloth/pull/11946 * Read the hot-path I/O cost at its steady minimum across repeats by @danielhanchen in https://github.com/unslothai/unsloth/pull/12029 * Unsloth Studio: a companion fetch with no denoiser no longer blocks deleting its base by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11828 * Studio: stop Python tool network calls from skipping the host allowlist by @oobabooga in https://github.com/unslothai/unsloth/pull/11172 * Studio: center collapsed sidebar icons and tighten the rail by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12031 * Unsloth Studio: list a GGUF with no header metadata under On Device on the Images page by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11830 * Keep the conversion backfill's donor stub off the transformers package by @danielhanchen in https://github.com/unslothai/unsloth/pull/12034 * Unsloth Desktop: show Stopping… after Stop so a pending cancel doesn't look ignored by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11976 * Studio: stop edit_file writing a compacted-argument placeholder into files by @oobabooga in https://github.com/unslothai/unsloth/pull/11950 * Studio: decode Wan video in fp16 with channels_last_3d convs by @danielhanchen in https://github.com/unslothai/unsloth/pull/11999 * Unsloth Studio: refuse picking a hosted FP8/INT8 checkpoint repo as a pipeline before it downloads by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11829 * Studio: stop the second prompt length recompiling Qwen-Image on the max tier and with int8 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11842 * Studio: size the image memory plan at the dtype the pipeline loads in (SDXL resident on 24 GB) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11922 * Studio: stop MiniMax-H3 recompiling on the second caption and the first i2v by @danielhanchen in https://github.com/unslothai/unsloth/pull/11880 * Unsloth Studio / Desktop: log what an image load and each generation actually resolved to by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11994 * Unsloth Studio: stop offering "Continue" on a base repo that only holds a GGUF's text encoder and VAE by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11644 * Apply SFTConfig.router_aux_loss_coef to MoE models that cache it at init by @danielhanchen in https://github.com/unslothai/unsloth/pull/12006 * Load only the language model for text_only on repo-code composites by @danielhanchen in https://github.com/unslothai/unsloth/pull/11861 * Put back the unsloth_zoo modules the device map opt-in tests stub by @danielhanchen in https://github.com/unslothai/unsloth/pull/12038 * Studio: pass tool_result is_error through to the model on /v1/messages by @NilayYadav in https://github.com/unslothai/unsloth/pull/11962 * SentenceTransformer: add opt-in FP32 merged-pair ranking loss by @Etherll in https://github.com/unslothai/unsloth/pull/11867 * Studio: opt-in Hadamard rotation for Qwen-Image-2.1's int8 transformer so it matches bf16 by @danielhanchen in https://github.com/unslothai/unsloth/pull/11835 * Grouped-linear LoRA for DeepSeek-V4, remote-code shims for Step-3.7, and a real message for Mistral-format checkpoints by @danielhanchen in https://github.com/unslothai/unsloth/pull/11528 * Studio: fall back to native when SageAttention does not run on this GPU by @danielhanchen in https://github.com/unslothai/unsloth/pull/11997 * Keep flash attention off sub-models that do not support it (LFM2.5-VL SigLIP2 tower) by @danielhanchen in https://github.com/unslothai/unsloth/pull/11959 * Studio: stop trading the denoiser's quantisation away to pay for offload by @danielhanchen in https://github.com/unslothai/unsloth/pull/11558 * Unsloth Studio: report the VAE decode on the image progress bar by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11740 * Translate the Library toolbar Sort menu in every locale by @danielhanchen in https://github.com/unslothai/unsloth/pull/12045 * Read the partial safetensors delete-menu guard by operator, not verbatim by @danielhanchen in https://github.com/unslothai/unsloth/pull/12042 * Resolve the macOS app menu's chords as a Mac in its test by @danielhanchen in https://github.com/unslothai/unsloth/pull/12046 * Advertise NVFP4 diffusion on the text encoder driver's mocked host by @danielhanchen in https://github.com/unslothai/unsloth/pull/12047 * Keep peft's is_torchao_available cache API through the stale-torchao patch by @danielhanchen in https://github.com/unslothai/unsloth/pull/12049 * Run the formatter fixed-point guard's batches side by side by @danielhanchen in https://github.com/unslothai/unsloth/pull/12050 * Let the macOS tab sampler ride out a navigation still in flight after login by @danielhanchen in https://github.com/unslothai/unsloth/pull/12053 * Studio: let Deep Research finish a turn handed off from a chat generation by @MohammadHijjawi97 in https://github.com/unslothai/unsloth/pull/11923 * Studio: custom sidebar sections, section menus and drag to reorder by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12016 * Studio: link folders when creating a project by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12057 * Studio: open the user menu Help submenu upward by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12032 * Skip chordless menu items in the native chord collision check by @danielhanchen in https://github.com/unslothai/unsloth/pull/12063 * Give the health wait's working-child tests room for the worker to start by @danielhanchen in https://github.com/unslothai/unsloth/pull/12065 * Count #12016's section header among the sidebar's scaled 30px rows by @danielhanchen in https://github.com/unslothai/unsloth/pull/12066 * Turn off Dr GRPO reward scaling under TRL's "group" default by @vineethsaivs in https://github.com/unslothai/unsloth/pull/11951 * Studio: keep the sidebar menu shadow in light mode by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12062 * Reset the permission step's storage at the start of the next document by @danielhanchen in https://github.com/unslothai/unsloth/pull/12073 * Let the Projects section stand in for its row in the macOS tab walk by @danielhanchen in https://github.com/unslothai/unsloth/pull/12074 * Load #11526's text-core refusal in the save_method routing harness by @danielhanchen in https://github.com/unslothai/unsloth/pull/12077 * Studio: read personalization only once a first sign-in has changed its password by @danielhanchen in https://github.com/unslothai/unsloth/pull/12071 * Studio: train a SQuAD answer's text, not the answers dict, when mapping columns to chat roles by @breken-ai in https://github.com/unslothai/unsloth/pull/12056 * Back off and retry the update banner navigation on ERR_NO_BUFFER_SPACE by @danielhanchen in https://github.com/unslothai/unsloth/pull/12081 * Keep TRL's own RL config defaults and clamp preference max_length by @danielhanchen in https://github.com/unslothai/unsloth/pull/12069 * Unsloth Studio (AMD/Windows): report an iGPU's used VRAM when a discrete card sits beside it by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11871 * CI: CodeQL advanced setup that analyses only the languages a PR touches by @danielhanchen in https://github.com/unslothai/unsloth/pull/11998 * Give the killed formatter grandchild as long to die as it had to start by @danielhanchen in https://github.com/unslothai/unsloth/pull/12086 * Studio: rework Appearance settings and add flavor color themes by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12030 * Studio: quieter settings headings and one section gap on every page by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12064 * Keep the padding-free column test off the datasets numpy formatter by @danielhanchen in https://github.com/unslothai/unsloth/pull/12082 * Studio: put Reapply next to Generate on the image and video pages by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11974 * Unsloth Studio / Desktop: keep the Images Cancel load pill off the model panel divider by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/12079 * Studio: keep run duration on Mac when training with an eval set by @NilayYadav in https://github.com/unslothai/unsloth/pull/11967 * fix: handle strided cross entropy inputs by @MrCapricornLiu in https://github.com/unslothai/unsloth/pull/10713 * Stop unsloth chat and unsloth inference switching a loaded GGUF to a different quant by @NilayYadav in https://github.com/unslothai/unsloth/pull/11855 * Studio: tell Safari which account the Studio password belongs to by @NilayYadav in https://github.com/unslothai/unsloth/pull/11858 * Studio: find models in a Hugging Face cache folder added as a location by @NilayYadav in https://github.com/unslothai/unsloth/pull/11970 * Unsloth Studio installer (AMD/Windows): don't mistake ZLUDA for an NVIDIA GPU by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11736 * Studio: follow redirect pages when reading a web page by @NilayYadav in https://github.com/unslothai/unsloth/pull/11856 * Studio: don't stop long running tool calls that print nothing by @NilayYadav in https://github.com/unslothai/unsloth/pull/11969 * Studio: stop the dense-quant probes pinning a CUDA context on every card of a multi-GPU host by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11954 * Studio: reject echo, suffix and best_of on /v1/completions by @NilayYadav in https://github.com/unslothai/unsloth/pull/11964 * Fix the prebuilt wheel publish step and shorten its release notes by @danielhanchen in https://github.com/unslothai/unsloth/pull/12068 * Studio: stop generating when the client disconnects on a non-streaming request by @NilayYadav in https://github.com/unslothai/unsloth/pull/11961 * Studio: decode the SDXL VAE in fp16 on fp16 GPUs by @danielhanchen in https://github.com/unslothai/unsloth/pull/12036 * Studio: honor response_format on the MLX backend with grammar-constrained decoding by @Lyxot in https://github.com/unslothai/unsloth/pull/10180 * Studio: document viewer for PDF, Word, Excel and PowerPoint, with origin links in Library by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12001 * Studio: chat attachment cards, chips and the Library viewer by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12017 * Studio: keep an eagerly decoded image VAE contiguous on NVIDIA by @danielhanchen in https://github.com/unslothai/unsloth/pull/12035 * Studio: skip the cuDNN benchmark search for the MiniMax-H3 audio VAE on A100 / B200 / RTX PRO 6000 (first render up to a minute faster, 25-29 GiB lower peak) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12040 * Studio: keep a chat's start date in the system prompt, note a new date on the latest user turn by @danielhanchen in https://github.com/unslothai/unsloth/pull/12096 * Keep Llama 3.2 Vision off flash attention (vision and cross attention have no is_causal) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12033 * Load the repo AutoProcessor for AutoModel-only repo-code VLMs by @danielhanchen in https://github.com/unslothai/unsloth/pull/12037 * Unsloth Studio / Desktop: let the GPUs picker say how much of the model each card gets by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/12015 * Studio: regionally compile Lumina-2 and HiDream-I1, and re-decide their auto precision by measurement by @danielhanchen in https://github.com/unslothai/unsloth/pull/12039 * Studio: refuse a hand-set Metal context only past the GPU wired limit by @Lyxot in https://github.com/unslothai/unsloth/pull/10804 * Studio: keep a pinned context as a request limit instead of refusing KV cache quantization by @Lyxot in https://github.com/unslothai/unsloth/pull/11084 * Studio: let full-scope keyless callers auto-switch models, and explain the refusal elsewhere by @Lyxot in https://github.com/unslothai/unsloth/pull/11180 * Upload all GGUF files in one commit so create_pr opens one pull request by @NilayYadav in https://github.com/unslothai/unsloth/pull/11857 * Studio: return an error when a model can't use the tools sent to it by @NilayYadav in https://github.com/unslothai/unsloth/pull/11960 * Read settings.py as utf-8 in the palette filter test by @danielhanchen in https://github.com/unslothai/unsloth/pull/12105 * Read settings.py as UTF-8 in the unknown-palette test by @danielhanchen in https://github.com/unslothai/unsloth/pull/12101 * Carry the resolved attention implementation to nested configs a remote config baked flash attention into (Nemotron 3 Nano Omni) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12099 * Studio: share MLX VLM prompt-cache snapshot buffers and replay exact prompts by @Lyxot in https://github.com/unslothai/unsloth/pull/11659 * GRPO: default to TRL's dapo loss with beta 0, cap CISPO weights at 5.0 by @danielhanchen in https://github.com/unslothai/unsloth/pull/12088 * Patch the TRL trainers that moved to trl.experimental (ORPO, CPO, Online DPO, GKD, ...) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12097 * Studio: quantize the KV cache of sliding-window MLX models such as Gemma 4 by @Lyxot in https://github.com/unslothai/unsloth/pull/11082 * Studio: cache and coalesce nvidia-smi reads in the backend by @danielhanchen in https://github.com/unslothai/unsloth/pull/11995 * Unsloth Studio installer (AMD/Linux): explain why a newer ROCm gets ROCm 7.2 PyTorch by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11651 * Treat a reaped grandchild as dead in the formatter timeout test by @danielhanchen in https://github.com/unslothai/unsloth/pull/12107 * Trim comments in the DeepSeek-V4 grouped LoRA, remote-code shims and Mistral-format loader code by @danielhanchen in https://github.com/unslothai/unsloth/pull/12089 * Keep ORPO / CPO rows within max_length on TRL 0.29+ by @danielhanchen in https://github.com/unslothai/unsloth/pull/12115 * Keep the Triton MoE grouped GEMM in compiled graphs and index weights past 2^31 elements by @danielhanchen in https://github.com/unslothai/unsloth/pull/12114 * Studio: read more chat attachment formats, and hand the rest to the python tool by @Lyxot in https://github.com/unslothai/unsloth/pull/11379 * Unsloth Desktop: Create, Edit, and Delete Skills from the Skills Menu by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/11800 * Studio: show the Hub error for an unreadable GGUF repo instead of routing it to Transformers by @danielhanchen in https://github.com/unslothai/unsloth/pull/12117 * Count the MLX grammar engine slot in the Apple Silicon step totals by @danielhanchen in https://github.com/unslothai/unsloth/pull/12135 * Pass gradients through compressed-tensors activation quantization so W8A8 checkpoints train with LoRA by @danielhanchen in https://github.com/unslothai/unsloth/pull/11585 * Studio: keep the last full-attention layer unquantized in the MLX KV cache by @Lyxot in https://github.com/unslothai/unsloth/pull/11083 * Gate the Mllama CUDA forward test on has_real_cuda by @danielhanchen in https://github.com/unslothai/unsloth/pull/12143 * Batched serving on the MLX path: several replies decoding at once by @Lyxot in https://github.com/unslothai/unsloth/pull/10310 * Point dsh at Unsloth through a --patch overlay instead of settings.yaml by @danielhanchen in https://github.com/unslothai/unsloth/pull/12145 * fix(studio): mark /api reads no-store so an idle desktop app stops rewriting its disk cache by @alkinun in https://github.com/unslothai/unsloth/pull/12148 * Wait for every diffusion run a test started before undoing its runs dir by @danielhanchen in https://github.com/unslothai/unsloth/pull/12149 * Studio: move Managed accounts to the Accounts tab and drop Mark as unread from chat menus by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12120 * Studio: keep checkpoint compaction under --disable-tools by @danielhanchen in https://github.com/unslothai/unsloth/pull/12119 * Studio: only offer Agent Skills when Code is on by @danielhanchen in https://github.com/unslothai/unsloth/pull/12118 * Settle the permission step's reloads on the pill instead of networkidle by @danielhanchen in https://github.com/unslothai/unsloth/pull/12153 * Speed up block-FP8 LoRA training: run FP8 linears eagerly, 8 warps for 128-row GEMM tiles by @danielhanchen in https://github.com/unslothai/unsloth/pull/12027 * Fall back from FBGEMM for rowwise FP8 on GPUs it has no kernel for (RTX PRO 6000 / 5090) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12098 * Studio: TurboQuant KV cache option for MLX inference by @Lyxot in https://github.com/unslothai/unsloth/pull/11170 * Fix rowwise FP8 scale axes in fused LoRA backward by @taking-lying-flat in https://github.com/unslothai/unsloth/pull/11799 * Unsloth Studio Installer: ask Python for a path identity before giving up on an exact one by @danielhanchen in https://github.com/unslothai/unsloth/pull/11104 * Ask Python for the process image table when the native helper is unavailable by @danielhanchen in https://github.com/unslothai/unsloth/pull/11115 * Refresh a rewritten shortcut's icon where the shell cannot define the type by @danielhanchen in https://github.com/unslothai/unsloth/pull/11116 * Recover CUDA compute capabilities without emitting a P/Invoke type by @danielhanchen in https://github.com/unslothai/unsloth/pull/11173 * Remove the reflection-emit apparatus and all four emitted types by @danielhanchen in https://github.com/unslothai/unsloth/pull/11193 * Add a Windows probe for code integrity blocks, and audit bundle signatures in CI by @danielhanchen in https://github.com/unslothai/unsloth/pull/10408 * Windows installers find an NVIDIA GPU on the PCI bus, and say which CUDA it can use by @danielhanchen in https://github.com/unslothai/unsloth/pull/11166 * Fix Gemma2 padding masks during batched cached decoding by @taking-lying-flat in https://github.com/unslothai/unsloth/pull/12008 * Gemma2: use flash_attn_with_kvcache for cached decoding by @danielhanchen in https://github.com/unslothai/unsloth/pull/12112 * Fix Gemma and Gemma2 embeddings scaled twice on transformers 5.4+ by @danielhanchen in https://github.com/unslothai/unsloth/pull/12116 * Keep scan_packages.py from tripping Bitdefender's Python stealer signature by @danielhanchen in https://github.com/unslothai/unsloth/pull/12169 * Studio: show when a prompt was sent while hovering it by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12170 * Studio: add a Scroll while generating setting (Auto-scroll or Manual) by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12110 * Studio: make compile knobs reach the render thread on torch 2.12+ by @danielhanchen in https://github.com/unslothai/unsloth/pull/12075 * Studio: stop a hung system node or npm from stalling setup by @oobabooga in https://github.com/unslothai/unsloth/pull/12165 * Studio: price MLX loads in the memory panel and fit an unpinned context to available memory by @Lyxot in https://github.com/unslothai/unsloth/pull/10287 * Gemma2: keep softcapping attention under int32 indexing and fall back to eager if compile fails by @danielhanchen in https://github.com/unslothai/unsloth/pull/12154 * Fix training with accelerate 1.15 on torch without a distributed backend (AMD Windows ROCm) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12162 * Studio: stop runaway tool output from using up memory by @NilayYadav in https://github.com/unslothai/unsloth/pull/11723 * Studio: reset the download progress bar when a retry restarts the file by @NilayYadav in https://github.com/unslothai/unsloth/pull/11593 * Studio: Select all only picks the models the search shows by @NilayYadav in https://github.com/unslothai/unsloth/pull/11485 * Studio: ignore an SSLKEYLOGFILE the process cannot write instead of failing every HTTPS client by @danielhanchen in https://github.com/unslothai/unsloth/pull/12166 * Tests: stop Windows tests tripping Bitdefender and the 16-bit application dialog on real machines by @danielhanchen in https://github.com/unslothai/unsloth/pull/12167 * Studio: Chats library in the Library by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12122 * Studio: round hover for the Settings close button by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12172 * unsloth start opencode: size the output limit to the context and add --max-tokens by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12111 * SAC probe: verify Studio identity before sending a password by @danielhanchen in https://github.com/unslothai/unsloth/pull/12176 * Attention resolver: respect a declared _supports_sdpa = False, and skip flash_attention_2 when a class's compatible flash kernels exclude it (MiMo-V2-Flash) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12147 * Keep Nemotron-H mixer.out_proj unquantized under a caller's BitsAndBytesConfig by @danielhanchen in https://github.com/unslothai/unsloth/pull/12131 * Phi-4-reasoning-vision: give remote multimodal prep an indexable cache view on transformers 5 by @danielhanchen in https://github.com/unslothai/unsloth/pull/12123 * Studio: LTX-2.3 about 4.5x faster per clip (unguided distilled sampling, compile fixes, hosted FP8) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12067 * Let a loaded Kimi K2.5 / K2.7 processor take processor(text=..., images=...) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12126 * Build the native image processor at defaults when a VLM repo has no preprocessor_config.json by @danielhanchen in https://github.com/unslothai/unsloth/pull/12125 * Refuse K-EXAONE 2.0 on a transformers that ignores its config by @danielhanchen in https://github.com/unslothai/unsloth/pull/12128 * Studio: list at most the 12 most recently active projects and sections in Move to by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/12155 * Turn off the MoE aux loss for dense models that carry a router config by @danielhanchen in https://github.com/unslothai/unsloth/pull/12076 * Studio: keep conversation recall working across repeated compactions by @danielhanchen in https://github.com/unslothai/unsloth/pull/12174 * Studio: never ask for approval to run search_conversation by @danielhanchen in https://github.com/unslothai/unsloth/pull/12175 * Add a CI gate for code shapes that heuristic antivirus scanners quarantine by @danielhanchen in https://github.com/unslothai/unsloth/pull/12178 * Dequantize block-FP8 weights with a ragged last block on 16-bit loads (GLM-5.3) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12133 * Rebuild CohereTokenizer from tokenizer.json when transformers v5 changes its ids by @danielhanchen in https://github.com/unslothai/unsloth/pull/12130 * Keep flash attention off towers the Auto classes do not register by @danielhanchen in https://github.com/unslothai/unsloth/pull/12129 * Keep Linear layers an FP8 checkpoint stores in bf16 unconverted by @danielhanchen in https://github.com/unslothai/unsloth/pull/12124 * Load speech-to-text models (Voxtral, Qwen2-Audio) through FastModel by @danielhanchen in https://github.com/unslothai/unsloth/pull/12127 * Narrow Kimi-K3's zero-padded KDA A_log to num_heads so the fla backward runs by @danielhanchen in https://github.com/unslothai/unsloth/pull/12132 * Repair chat templates that always append the generation prompt, also on FastModel loads by @danielhanchen in https://github.com/unslothai/unsloth/pull/12139 * Route GKD distillation through the chunked generalized JSD by @danielhanchen in https://github.com/unslothai/unsloth/pull/12136 * Studio: list HF cache models written without symlinks in the local inventory by @danielhanchen in https://github.com/unslothai/unsloth/pull/12156 * Studio: read public Hub repos without a saved token the Hub rejects by @danielhanchen in https://github.com/unslothai/unsloth/pull/12158 * Studio: list a crashed or cancelled run's saved checkpoints on the Export page by @NilayYadav in https://github.com/unslothai/unsloth/pull/11600 * Studio: pick the right model size when the file names are lowercase by @NilayYadav in https://github.com/unslothai/unsloth/pull/11722 * Refresh WSL shortcut icons through Python instead of an emitted native stub by @danielhanchen in https://github.com/unslothai/unsloth/pull/12184 * Read the gradient checkpointing precondition off transformers' own method by @danielhanchen in https://github.com/unslothai/unsloth/pull/12187 * Studio: Triton-fused VAE norms, caches and attention for every image and video VAE (1.7x to 6.3x decode) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12078 * Studio: fix Decision API validation and TypeSafe SDK metadata by @wasimysaid in https://github.com/unslothai/unsloth/pull/12186 * Studio: grant MXC Tier 3 read access to runtime folders once, not per launch by @danielhanchen in https://github.com/unslothai/unsloth/pull/12121 * Studio: tell a rejected Hugging Face token apart from an unreachable Hub by @danielhanchen in https://github.com/unslothai/unsloth/pull/12159 * Studio: run the isolated Windows Terminal on cmd.exe with stock git when Git Bash cannot start in MXC by @danielhanchen in https://github.com/unslothai/unsloth/pull/12164 * Studio: load a downloaded GGUF from disk when the Hub cannot be read or refuses it by @danielhanchen in https://github.com/unslothai/unsloth/pull/12161 * Join the npm scanner's credential path markers from pieces by @danielhanchen in https://github.com/unslothai/unsloth/pull/12181 * Pass the MXC host-prep script as plain text instead of an encoded command by @danielhanchen in https://github.com/unslothai/unsloth/pull/12182 * Count only the retry loop's own sleeps in the JSON fallback backoff test by @danielhanchen in https://github.com/unslothai/unsloth/pull/12189 * Store the Studio sandbox credential path names in pieces by @danielhanchen in https://github.com/unslothai/unsloth/pull/12188 * Name utf-8 on the SSLKEYLOGFILE writability probe by @danielhanchen in https://github.com/unslothai/unsloth/pull/12190 * Studio: fused int8 MLP kernels and real-arithmetic RoPE for DiT denoisers (FLUX.1 11% less GPU time per step) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12083 * Studio: capability tags in the model picker match the vision pill and get their own colours by @danielhanchen in https://github.com/unslothai/unsloth/pull/12192 * Studio: fix inductor CantSplit on torch 2.12/2.13 and speed up the Qwen-Image-2.1 VAE by @danielhanchen in https://github.com/unslothai/unsloth/pull/12059 * Load block-FP8 checkpoints in 4-bit (NF4) when load_in_4bit=True is passed by @danielhanchen in https://github.com/unslothai/unsloth/pull/12146 * Studio: compile FLUX.1 dynamic, CUDA-graph the SDXL U-Net, decode one-frame Qwen-Image latents in 2D by @danielhanchen in https://github.com/unslothai/unsloth/pull/12060 * Studio: compile VAEs by repeated block, one H3 graph per first render, vectorise the HunyuanVideo-1.5 VAE mask by @danielhanchen in https://github.com/unslothai/unsloth/pull/12061 * Unsloth Studio: stop a Mac browser hiding GPU-only models from a remote CUDA / ROCm / Intel server by @danielhanchen in https://github.com/unslothai/unsloth/pull/8833 * Studio: return no-op instead of 500 for an out-of-range scan folder id by @danielhanchen in https://github.com/unslothai/unsloth/pull/8397 * Do not reinstall llm-compressor when it is already installed by @danielhanchen in https://github.com/unslothai/unsloth/pull/6806 * Fix Studio launcher repair for missing install id by @danielhanchen in https://github.com/unslothai/unsloth/pull/6933 * Load Mistral-format checkpoints (params.json only) through transformers' Mistral4 (Mistral-Large-3) by @danielhanchen in https://github.com/unslothai/unsloth/pull/12144 * Studio: name the MCP server while the tool call is still streaming by @danielhanchen in https://github.com/unslothai/unsloth/pull/9212 * Stop gpt-oss generation at the harmony tool call token by @danielhanchen in https://github.com/unslothai/unsloth/pull/11449 * Studio: vendor laya 0.3.5 and hold its weights in float16 by @danielhanchen in https://github.com/unslothai/unsloth/pull/12202 * Unpack the mirrored uv wheel with python3 -m zipfile instead of an inline one-liner by @danielhanchen in https://github.com/unslothai/unsloth/pull/12194 * Keep xFormers attention causal when the decoder is called without a mask by @danielhanchen in https://github.com/unslothai/unsloth/pull/12199 * GKD: right-align left-padded rows before the student forward by @danielhanchen in https://github.com/unslothai/unsloth/pull/12200 ## New Contributors * @L4XB made their first contribution in https://github.com/unslothai/unsloth/pull/11803 * @Abhishek-B-R made their first contribution in https://github.com/unslothai/unsloth/pull/11779 * @tweekli made their first contribution in https://github.com/unslothai/unsloth/pull/11781 * @goodmai made their first contribution in https://github.com/unslothai/unsloth/pull/11907 * @breken-ai made their first contribution in https://github.com/unslothai/unsloth/pull/11893 * @MohammadHijjawi97 made their first contribution in https://github.com/unslothai/unsloth/pull/11923 **Full Changelog**: https://github.com/unslothai/unsloth/compare/v0.1.815-beta...v0.1.900-beta
Related Repositories
public-apis/public-apis★ 491,190
A collective list of free APIs
NousResearch/hermes-agent★ 256,045
The agent that grows with you
yt-dlp/yt-dlp★ 200,215
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,537
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.