v0.1.527-beta
unslothai/unslothv0.1.527-betaAug 9, 2026by danielhanchen
AI Summary
A maintenance release focusing on improvements to the Unsloth Studio and Desktop applications, including independent prompt queues for parallel chats, sandboxed matplotlib rendering, and various UI/UX fixes.
Key Highlights
- Independent prompt queues for parallel chats
- Sandbox matplotlib rendering in Studio
- Qwen3-ASR dictation support and cancellable downloads
- Various UI fixes for dark mode, alignment, and translations
New Features
- Independent prompt queues for parallel chats
- Qwen3-ASR dictation support
- Sandboxed matplotlib rendering
- Cancellable downloads with download prompts
- UI improvements (dark mode visibility, alignment, translations)
- Desktop updates including mobile-layout fixes and update controls
Full Release Notes
## What's Changed * Studio: judge the cached-pipeline signals on the snapshot the row actually loads by @danielhanchen in https://github.com/unslothai/unsloth/pull/7851 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.3 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7860 * Studio: make the sidebar menu separators visible in dark mode by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7865 * Studio: run sandbox matplotlib headless by @NilayYadav in https://github.com/unslothai/unsloth/pull/7789 * Don't send desktop startup requests to an unvalidated port 8888 by @NilayYadav in https://github.com/unslothai/unsloth/pull/7852 * Support independent prompt queues across parallel chats by @Imagineer99 in https://github.com/unslothai/unsloth/pull/7629 * add a background image to the macos dmg install window by @mahiatlinux in https://github.com/unslothai/unsloth/pull/7827 * Studio: keep Video under More until a user pins it by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7863 * Studio: show generated media unrounded, and fix the selected thumbnail by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7883 * Studio: drop the New badge from the Video nav row by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7890 * Studio: stop a clicked tooltip from hanging over dialogs by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7836 * Desktop: move update controls to Settings > General by @oobabooga in https://github.com/unslothai/unsloth/pull/7807 * Fix the stale response-model label assertion that has main red by @danielhanchen in https://github.com/unslothai/unsloth/pull/7874 * Studio: detect stalled Deep Research output streams by @alkinun in https://github.com/unslothai/unsloth/pull/7839 * Guard the release-desktop version input and document the Cargo version by @danielhanchen in https://github.com/unslothai/unsloth/pull/7889 * Studio: add Qwen3-ASR dictation, cancellable downloads, and a download prompt by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7835 * Studio: even out the gap around the More flyout's rule by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7899 * Studio: stop the New chat row looking hovered on a blank new chat by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7898 * Studio: fix remaining translation defects after #7797 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7850 * Studio: fix download card alignment and surface the stop button by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7848 * Keep the file-edit turn 2 prompt to one instruction, and stop waiving its cap by @danielhanchen in https://github.com/unslothai/unsloth/pull/7846 * Studio: align Tauri sidebar spacing by @wasimysaid in https://github.com/unslothai/unsloth/pull/7901 * Fix sidebar bottom fade cutting off the last row mid-glyph by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7902 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.4 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7906 * Answer GGUF variants from the cache the request names, and skip an unreadable one by @danielhanchen in https://github.com/unslothai/unsloth/pull/7857 * Desktop: warn before quitting during an update and skip installer fallback on cancel by @NilayYadav in https://github.com/unslothai/unsloth/pull/7793 * Desktop: publish drafts without rebuilding by @wasimysaid in https://github.com/unslothai/unsloth/pull/7907 * Studio: restore locale parity and gate it in CI by @danielhanchen in https://github.com/unslothai/unsloth/pull/7904 * Studio: make training and model-picker copy name UI that exists by @danielhanchen in https://github.com/unslothai/unsloth/pull/7905 * fix(studio): run bash and name the real platform for the terminal tool on Windows by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/7885 * Desktop: fix Linux release asset names by @wasimysaid in https://github.com/unslothai/unsloth/pull/7911 * Unsloth Studio: keep the Images and Video headers clear of the custom titlebar by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/7918 * fix(studio): keep child spawns alive under a pid-1 parent by @mahiatlinux in https://github.com/unslothai/unsloth/pull/7894 * Ask uv for a Python that can import torch, and skip the one that cannot by @danielhanchen in https://github.com/unslothai/unsloth/pull/7830 * Improve desktop startup status by @wasimysaid in https://github.com/unslothai/unsloth/pull/7924 * Tauri smoke: stop uploading the whole target/debug tree (350GB of artifacts) by @danielhanchen in https://github.com/unslothai/unsloth/pull/7930 * Restore warnings_issued for trl trainers on transformers 5.1+ by @danielhanchen in https://github.com/unslothai/unsloth/pull/7854 * Fetch a sentence-transformers model's subfolder weights instead of pruning them by @danielhanchen in https://github.com/unslothai/unsloth/pull/7855 * Do not enter CUDA autocast for a float32 model during generate by @danielhanchen in https://github.com/unslothai/unsloth/pull/7900 * Locate the dictation model search box by test id, not by placeholder copy by @danielhanchen in https://github.com/unslothai/unsloth/pull/7909 * Record a stopped repair update as canceled rather than failed by @danielhanchen in https://github.com/unslothai/unsloth/pull/7910 * Bound dataset_num_proc by memory, and stop treating 1 as "no multiprocessing" by @danielhanchen in https://github.com/unslothai/unsloth/pull/7831 * Studio: quiet the image and video generation progress polls by @danielhanchen in https://github.com/unslothai/unsloth/pull/7869 * Studio: stop the Images Train settings columns overlapping by @danielhanchen in https://github.com/unslothai/unsloth/pull/7895 * Fake the Windows blocklist in the mangled-switch test so it runs off Windows by @danielhanchen in https://github.com/unslothai/unsloth/pull/7934 * Refine desktop media header alignment by @wasimysaid in https://github.com/unslothai/unsloth/pull/7859 * Read the GGUF context length from the snapshot that answered, not the repo cache dir by @danielhanchen in https://github.com/unslothai/unsloth/pull/7920 * Tighten remaining artifact uploads (follow-up to #7930) by @danielhanchen in https://github.com/unslothai/unsloth/pull/7939 * Studio: prevent long streaming Markdown stalls by @oobabooga in https://github.com/unslothai/unsloth/pull/7892 * Fix studio server crash when launched without a console (Windows) by @legobele in https://github.com/unslothai/unsloth/pull/7932 * Fix GGUF export writing outside the chosen save directory on Windows (#7897) by @danielhanchen in https://github.com/unslothai/unsloth/pull/7937 * Fix Windows PowerShell resource path authorization by @Imagineer99 in https://github.com/unslothai/unsloth/pull/7943 * Desktop: fix the mobile-layout fallout of Windows text scaling by @danielhanchen in https://github.com/unslothai/unsloth/pull/7927 * Desktop: make the close button quit outside macOS by @danielhanchen in https://github.com/unslothai/unsloth/pull/7929 * Desktop: pin the shipped backend package version so a shared venv gets upgraded by @danielhanchen in https://github.com/unslothai/unsloth/pull/7926 * Studio: screen the detached-window test against the Windows blocklist too by @danielhanchen in https://github.com/unslothai/unsloth/pull/7936 * Require every declared denoiser, and every shard of it, before a cached pipeline reads as complete by @danielhanchen in https://github.com/unslothai/unsloth/pull/7871 * Fix the Windows-only snapshot path assertion in the diffusion prefetch test by @danielhanchen in https://github.com/unslothai/unsloth/pull/7933 * Studio: paint the image and video pickers from the curated catalog by @danielhanchen in https://github.com/unslothai/unsloth/pull/7896 * Bump install.sh / install.ps1 pins to unsloth>=2026.8.5, unsloth-zoo>=2026.8.4 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7967 * Studio: consistent rounded hover boxes for nav icon buttons by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7970 * Studio: lead the Context Length note with the automatic fit by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7988 * Studio: test the Windows launcher shape, not just the path normalizer by @danielhanchen in https://github.com/unslothai/unsloth/pull/7969 * Studio: stop model rows staying lit after the dots menu closes by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7987 * Update the nav icon button size contract to the 30px box by @danielhanchen in https://github.com/unslothai/unsloth/pull/7979 * Studio: fetch the gated diffusion bases from ungated unsloth mirrors by @danielhanchen in https://github.com/unslothai/unsloth/pull/7952 * Studio: fix training stuck at 100% when the worker will not exit by @danielhanchen in https://github.com/unslothai/unsloth/pull/7938 * Report the real cause when a save or GGUF export fails by @danielhanchen in https://github.com/unslothai/unsloth/pull/7861 * Locate the dictation model search box by test id, not by its copy by @danielhanchen in https://github.com/unslothai/unsloth/pull/7914 * CI: drop three macOS legs that assert nothing a Linux runner does not by @danielhanchen in https://github.com/unslothai/unsloth/pull/7974 * CI: fold the mac API smoke into the UI smoke, drop the subsumed install leg by @danielhanchen in https://github.com/unslothai/unsloth/pull/7975 * Installer: preserve rollback state and merge on partial venv move (#7810) by @namdamdoi68-oss in https://github.com/unslothai/unsloth/pull/7891 * CI: fold the mac update smoke into the same job, running last as teardown by @danielhanchen in https://github.com/unslothai/unsloth/pull/7980 * CI: save caches only on main, so PR runs stop evicting the caches they need by @danielhanchen in https://github.com/unslothai/unsloth/pull/7990 * Studio: drop the streaming animation wrappers once a message completes by @danielhanchen in https://github.com/unslothai/unsloth/pull/7949 * Skip a test module with a missing optional dep instead of exiting pytest by @danielhanchen in https://github.com/unslothai/unsloth/pull/7971 * Studio: restore the MLX gradient-norm chart by matching CUDA's clipping default by @Lyxot in https://github.com/unslothai/unsloth/pull/7917 * Studio: stop a GGUF pick from pulling the wrong companion bytes by @danielhanchen in https://github.com/unslothai/unsloth/pull/7870 * Studio: rework the media pane headings and tidy the Create controls by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7986 * Studio: keep the sidebar fade in sync on resize and centre the profile row by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7977 * CI: run the three mac inference smokes as phases of one job by @danielhanchen in https://github.com/unslothai/unsloth/pull/7978 * Studio: link the Train page across to image training by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7996 * fix(studio/install): keep the rollback reference when a venv move stops partway (#7810) by @Anai-Guo in https://github.com/unslothai/unsloth/pull/7823 * Studio: format profile stat numbers with the chosen locale by @danielhanchen in https://github.com/unslothai/unsloth/pull/7916 * Settle deferred compile-mode switches between training steps by @danielhanchen in https://github.com/unslothai/unsloth/pull/7955 * Studio: simplify desktop setup progress UI by @wasimysaid in https://github.com/unslothai/unsloth/pull/8011 * Tighten the gated-base preflight comments by @danielhanchen in https://github.com/unslothai/unsloth/pull/8003 * CI: point rust-cache at the real v2.9.1 tag and label the unlabelled pins by @danielhanchen in https://github.com/unslothai/unsloth/pull/8005 * CI: move macOS runners off the retiring macos-14 image by @danielhanchen in https://github.com/unslothai/unsloth/pull/8004 * Studio: fetch the sd.cpp companion assets from unsloth mirrors, not community repacks by @danielhanchen in https://github.com/unslothai/unsloth/pull/7995 * Studio: make the fp8 smoke probe catch a missing activation scale floor by @danielhanchen in https://github.com/unslothai/unsloth/pull/8008 * Diffusion: four fixes salvaged from the stale #7021 by @danielhanchen in https://github.com/unslothai/unsloth/pull/8006 * studio: persist the settings dialog picks that reset on every tab switch by @mahiatlinux in https://github.com/unslothai/unsloth/pull/7991 * Studio: bound every teardown await so a swallowed cancel cannot wedge the API by @mahiatlinux in https://github.com/unslothai/unsloth/pull/7881 * feat(studio): rework train page setup flow by @Sneakr in https://github.com/unslothai/unsloth/pull/7633 * Give the Windows sandbox bash a userland, and honour TEMP/TMP by @danielhanchen in https://github.com/unslothai/unsloth/pull/8009 * Screen the cmd spellings the blocklist lexer quotes by @danielhanchen in https://github.com/unslothai/unsloth/pull/8010 * CI: extract the POSIX local install into a composite action by @danielhanchen in https://github.com/unslothai/unsloth/pull/8015 * Add option to launch Studio without opening the default browser by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7016 * Stop the rapid-submit chat UI check failing on a fast runner by @danielhanchen in https://github.com/unslothai/unsloth/pull/7972 * CI: run the three Windows inference smokes as phases of one job by @danielhanchen in https://github.com/unslothai/unsloth/pull/8013 * fix(studio/rocm): don't install for a shadowing iGPU on mixed AMD hosts (#7776) by @Anai-Guo in https://github.com/unslothai/unsloth/pull/7778 * Diffusion: replace the attention perf claims with re-measured numbers by @danielhanchen in https://github.com/unslothai/unsloth/pull/8021 * Desktop: fix Linux AppImage compatibility on newer distributions by @oobabooga in https://github.com/unslothai/unsloth/pull/7953 * Model hub: report why Hugging Face is unreachable instead of claiming you are offline by @danielhanchen in https://github.com/unslothai/unsloth/pull/7829 * Studio: stop two backend tests from asking the host what the answer is by @danielhanchen in https://github.com/unslothai/unsloth/pull/8022 * Studio: do not let the default tool policy reject every plain Anthropic message by @danielhanchen in https://github.com/unslothai/unsloth/pull/8023 * Fix desktop window chrome by @wasimysaid in https://github.com/unslothai/unsloth/pull/8025 * Order the Mac inference phases so the gates stop fighting each other by @danielhanchen in https://github.com/unslothai/unsloth/pull/8024 * Extract the API-only Studio boot into one script by @danielhanchen in https://github.com/unslothai/unsloth/pull/8029 * Fix the desktop clean-machine CI: asset patterns and the retired #7547 pins by @danielhanchen in https://github.com/unslothai/unsloth/pull/8026 * Studio: center sheet header close buttons by @oobabooga in https://github.com/unslothai/unsloth/pull/7957 * feat(studio): add settings-managed remote access by @Lyxot in https://github.com/unslothai/unsloth/pull/7875 * Studio: add opt-in DSpark speculative decoding by @oobabooga in https://github.com/unslothai/unsloth/pull/7968 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.6, unsloth-zoo>=2026.8.5 by @danielhanchen in https://github.com/unslothai/unsloth/pull/8038 * fix studio responsiveness across desktop and mobile web by @mahiatlinux in https://github.com/unslothai/unsloth/pull/8016 * Revert "Add option to launch Studio without opening the default browser" by @danielhanchen in https://github.com/unslothai/unsloth/pull/8040 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.7 by @danielhanchen in https://github.com/unslothai/unsloth/pull/8041 * Studio: send the GGUF filename when a collapsed On Device row is picked by @oobabooga in https://github.com/unslothai/unsloth/pull/8053 * Validate an explicit GGUF variant before unloading the resident model by @NilayYadav in https://github.com/unslothai/unsloth/pull/7862 * fix(studio): stop showing manifest-less cache entries as downloading (#7858) by @Anai-Guo in https://github.com/unslothai/unsloth/pull/7864 * release-desktop: skip the Defender scan when Defender is unavailable by @danielhanchen in https://github.com/unslothai/unsloth/pull/8059 * Report min_length as 0 when no sample has content by @vineethsaivs in https://github.com/unslothai/unsloth/pull/7872 * Stop the health watchdog bypassing the backend startup grace period by @NilayYadav in https://github.com/unslothai/unsloth/pull/7958 * Studio: honor MLX KV cache quantization and chat template overrides by @Lyxot in https://github.com/unslothai/unsloth/pull/8007 * test: isolate the no-version gfx-override test from a real /opt/rocm by @danielhanchen in https://github.com/unslothai/unsloth/pull/7397 * Studio: stop /api/inference/status raising on every loaded GGUF by @danielhanchen in https://github.com/unslothai/unsloth/pull/8074 * CI: share the gemma-3-270m-it model cache across Linux, macOS and Windows by @danielhanchen in https://github.com/unslothai/unsloth/pull/8068 * CI: share the Qwen3.5-2B tool-calling GGUF cache across Linux, macOS and Windows by @danielhanchen in https://github.com/unslothai/unsloth/pull/8069 * Fix the four Studio reds on main by @danielhanchen in https://github.com/unslothai/unsloth/pull/8072 * Studio: harden DSpark/MTP drafter detection and companion reclaim by @danielhanchen in https://github.com/unslothai/unsloth/pull/8037 * Studio: keep the stdio MCP session alive when a tool call is cancelled by @NilayYadav in https://github.com/unslothai/unsloth/pull/7625 * Reuse the torch2.10 prebuilt accelerator wheels on torch 2.12 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7495 * Studio: line up every sidebar row pill with New Chat by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8079 * Normalize the /api/health wait and extract it into one script by @danielhanchen in https://github.com/unslothai/unsloth/pull/8060 * Make a fatal X11 error visible in the Linux desktop legs by @danielhanchen in https://github.com/unslothai/unsloth/pull/8063 * Studio: call XInitThreads so the Linux desktop app stops exiting on startup by @danielhanchen in https://github.com/unslothai/unsloth/pull/8075 * Studio: bound Deep Research first output waits by @alkinun in https://github.com/unslothai/unsloth/pull/7998 * Allow current MLX dependencies with valid Studio sidecars by @Lyxot in https://github.com/unslothai/unsloth/pull/7061 * Desktop: keep slide-in panels below the custom titlebar by @oobabooga in https://github.com/unslothai/unsloth/pull/7954 * CI: stop running workflows on the pip branch, and mirror push path filters for the non-Studio workflows by @danielhanchen in https://github.com/unslothai/unsloth/pull/8085 * CI: always run Studio export/load-orchestrator and the security audit by @danielhanchen in https://github.com/unslothai/unsloth/pull/8086 * release-desktop: cache trusted-signing-cli and add job timeouts by @danielhanchen in https://github.com/unslothai/unsloth/pull/8087 * Show the public model id in the selector when the loaded model isn't in the picker list by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/7966 * Explain why the gated-deltanet fast kernels were disabled by @danielhanchen in https://github.com/unslothai/unsloth/pull/8073 * Studio: fix the Windows desktop setup log mojibake and double-printed steps by @danielhanchen in https://github.com/unslothai/unsloth/pull/8083 * Installer: keep status messages off the progress bar line by @oobabooga in https://github.com/unslothai/unsloth/pull/8052 * Fix the status runtime-fields contract test left stale by #8074 by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8088 * Studio: pin the /status chat template echo behaviour by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8080 * Desktop: Fix unresponsive model selector on Images/Video pages on macOS by @NilayYadav in https://github.com/unslothai/unsloth/pull/8048 * Fix Swagger UI and ReDoc being blanked by the studio CSP by @NilayYadav in https://github.com/unslothai/unsloth/pull/8042 * Stop referencing a TAURI signing password secret that does not exist by @danielhanchen in https://github.com/unslothai/unsloth/pull/8095 * CI: add an inert cross-repo capacity sweeper (do not merge yet) by @danielhanchen in https://github.com/unslothai/unsloth/pull/8071 * tests: extend the version-compat matrices to the current PyPI releases by @danielhanchen in https://github.com/unslothai/unsloth/pull/8020 * Scope the security suite's offline guard to the tests that want it by @danielhanchen in https://github.com/unslothai/unsloth/pull/8054 * Compare the drafter path with forward slashes on Windows too by @danielhanchen in https://github.com/unslothai/unsloth/pull/8056 * Desktop: start at login, hidden in the menu bar by @NilayYadav in https://github.com/unslothai/unsloth/pull/8033 * CI: stop main and nightly runs cancelling each other by @danielhanchen in https://github.com/unslothai/unsloth/pull/8070 * Studio: stop the macOS launcher killing a warming backend, and the Mac tab blackout by @danielhanchen in https://github.com/unslothai/unsloth/pull/8076 * Security: baseline seven reviewed scan_packages findings by @danielhanchen in https://github.com/unslothai/unsloth/pull/8096 * Studio: label the chat model bar by repo, not the HF cache path by @danielhanchen in https://github.com/unslothai/unsloth/pull/8090 * Security: pin the credential-send allowlist entry to the reviewed file by @danielhanchen in https://github.com/unslothai/unsloth/pull/8104 * CI: move the capacity sweeper off the retiring ubuntu-22.04 image by @danielhanchen in https://github.com/unslothai/unsloth/pull/8105 * release-desktop: add a VirusTotal pre-flight scan of the release bundles by @danielhanchen in https://github.com/unslothai/unsloth/pull/8089 * release-desktop: fail closed when trusted-signing-cli is missing or broken by @danielhanchen in https://github.com/unslothai/unsloth/pull/8106 * Desktop: avoid WebKitGTK dmabuf crashes on Wayland by @wasimysaid in https://github.com/unslothai/unsloth/pull/8028 * Studio: cap llama.cpp source build parallelism by RAM by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8061 * Match the LM Studio GGUF suffix case insensitively by @danielhanchen in https://github.com/unslothai/unsloth/pull/8100 * Bump the actions group across 1 directory with 11 updates by @dependabot[bot] in https://github.com/unslothai/unsloth/pull/8101 * Guard Windows Studio installs against active runtimes by @Etherll in https://github.com/unslothai/unsloth/pull/7764 * Desktop: prevent thin AppImage environment failures by @oobabooga in https://github.com/unslothai/unsloth/pull/8055 * Studio: preserve the Windows launcher during updates by @Etherll in https://github.com/unslothai/unsloth/pull/8092 * Desktop: fit windows within the monitor work area by @oobabooga in https://github.com/unslothai/unsloth/pull/8047 * Studio: keep dictation status reads off the sidecar lock by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8017 * Desktop: Fix "Copy path" failing in the desktop app by @NilayYadav in https://github.com/unslothai/unsloth/pull/7959 * Uninstall: remove WebView runtime data so reinstalls don't serve a stale frontend by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7360 * Fail CI on new yes/no prompts in the installers by @danielhanchen in https://github.com/unslothai/unsloth/pull/8094 * Studio: continue a response that stopped early by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8064 * Studio: say what a failed launcher move-aside costs by @danielhanchen in https://github.com/unslothai/unsloth/pull/8109 * Keep up with transformers 5.x, TRL 0.22.x and peft by @danielhanchen in https://github.com/unslothai/unsloth/pull/7866 * Setup: clear stale WebView caches on install and update, keep user settings and data by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7361 * Studio: find models already on the device before downloading, and make the first download cancellable by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/7379 * [Bug] Unsloth Studio: let fenced HTML canvases honor the canvas network-access setting by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/8098 * Studio: keep chat titles whole so a wider sidebar shows more of them by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8078 * Studio: keep the composer tool pills on one line by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8111 * Preflight the Codex GGUF check before loading the model by @NilayYadav in https://github.com/unslothai/unsloth/pull/7873 * Studio: keep the upgrade intent when the pip fallback runs by @danielhanchen in https://github.com/unslothai/unsloth/pull/8112 * Improve desktop installer progress UX by @wasimysaid in https://github.com/unslothai/unsloth/pull/8102 * studio: expose llama-server batch and micro-batch sizes as first-class load settings by @mahiatlinux in https://github.com/unslothai/unsloth/pull/7973 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.8 by @danielhanchen in https://github.com/unslothai/unsloth/pull/8114 * Clamp Deep Research max_tokens to loaded context window by @Souravrajvi0 in https://github.com/unslothai/unsloth/pull/7985 * Desktop: block HTTP loopback requests from untrusted images by @oobabooga in https://github.com/unslothai/unsloth/pull/8046 * Studio: keep inference status probes off the event loop by @oobabooga in https://github.com/unslothai/unsloth/pull/7944 * Add Model memory settings to keep a loaded model in VRAM by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8002 * perf(studio): make local model inventory scans linear by @Lyxot in https://github.com/unslothai/unsloth/pull/8043 * Repair seven tests left behind by their own subjects by @danielhanchen in https://github.com/unslothai/unsloth/pull/8132 * fix(security): re-baseline the huggingface-hub HTTP backoff loop for 1.x by @danielhanchen in https://github.com/unslothai/unsloth/pull/8135 * Studio: check llama.cpp cache access before setup by @oobabooga in https://github.com/unslothai/unsloth/pull/8032 * studio: fix deep research progress reporting, loopback auth and model retries by @mahiatlinux in https://github.com/unslothai/unsloth/pull/8129 * Reserve host RAM for AMD unified-memory APUs on the ROCm probe by @danielhanchen in https://github.com/unslothai/unsloth/pull/8131 * fix(AMD): let diffusion load on Windows ROCm, and say what a gated repo needs by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/7981 * Desktop: ensure backend ownership for Tauri installs by @oobabooga in https://github.com/unslothai/unsloth/pull/8034 * Studio: keep row actions clear of overlay scrollbars by @oobabooga in https://github.com/unslothai/unsloth/pull/8031 * Report a denied UNSLOTH_LOCAL_LLAMA_CPP_DIR instead of aborting on errexit by @danielhanchen in https://github.com/unslothai/unsloth/pull/8143 * Studio: per-request perf stats and slot usage in the API monitor by @NilayYadav in https://github.com/unslothai/unsloth/pull/8045 * fix(studio): harden training setup, lifecycle, and audio loading by @Sneakr in https://github.com/unslothai/unsloth/pull/8103 * Pin the accelerator gates in the DiT precision preflight test by @danielhanchen in https://github.com/unslothai/unsloth/pull/8155 * Studio: fix STT download progress and cache safety by @oobabooga in https://github.com/unslothai/unsloth/pull/8035 * Fix desktop image drops for chat attachments by @Souravrajvi0 in https://github.com/unslothai/unsloth/pull/7982 * Studio: fall back to CPU when auto-selected Vulkan crashes by @oobabooga in https://github.com/unslothai/unsloth/pull/8050 * Studio: stop research threads 409-ing on autosave, keep server-managed messages intact by @NilayYadav in https://github.com/unslothai/unsloth/pull/7956 * Studio: retry Xet once on a stall before falling back to HTTP by @danielhanchen in https://github.com/unslothai/unsloth/pull/8166 * Deduplicate the scan-packages baseline, and gate it with tests by @danielhanchen in https://github.com/unslothai/unsloth/pull/8110 * Add Markdown conversation export by @ousamabenyounes in https://github.com/unslothai/unsloth/pull/7664 * Bump the cargo-tauri group across 1 directory with 18 updates by @dependabot[bot] in https://github.com/unslothai/unsloth/pull/8107 * CI: prune superseded Actions caches by @danielhanchen in https://github.com/unslothai/unsloth/pull/8167 * Publish studio_install_id without clobbering a concurrent writer by @danielhanchen in https://github.com/unslothai/unsloth/pull/8145 * Desktop: refuse to republish an existing release version by @oobabooga in https://github.com/unslothai/unsloth/pull/7941 * Studio: surface API errors and align audio limits by @oobabooga in https://github.com/unslothai/unsloth/pull/7946 * Stop the CUDA test spoofs reporting an exhausted card by @danielhanchen in https://github.com/unslothai/unsloth/pull/8123 * Keep download scopes out of the GGUF quantization list by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8153 * Do not choose flex attention on a card that cannot run its kernel by @danielhanchen in https://github.com/unslothai/unsloth/pull/8137 * Render a static prefix when default_system_message is None by @vineethsaivs in https://github.com/unslothai/unsloth/pull/8117 * Studio: rate the API monitor Throughput tile on the decode window by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8139 * [Fix] Unsloth Studio: Strip ANSI escape codes from Studio tool output panes by @Souravrajvi0 in https://github.com/unslothai/unsloth/pull/7976 * Attach save_lora without a vLLM engine by @danielhanchen in https://github.com/unslothai/unsloth/pull/8127 * Studio: bring back the sidebar scrollbar without losing row width by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8147 * Studio: exempt shared top-level trees from the integrity check for our own wheels too by @danielhanchen in https://github.com/unslothai/unsloth/pull/8179 * Do not stage diffusion files that are already in the cache by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8154 * Catch the llama-prebuilt validator stubs up with rocm_gfx by @danielhanchen in https://github.com/unslothai/unsloth/pull/8182 * Pin the auto-load success toast by its branch, not by one spelling by @danielhanchen in https://github.com/unslothai/unsloth/pull/8183 * Studio: route every Windows installer line through the UTF-8 stdout sink by @danielhanchen in https://github.com/unslothai/unsloth/pull/8148 * Studio: hold the Mac capability verdict while an MLX repair can still overturn it by @danielhanchen in https://github.com/unslothai/unsloth/pull/8152 * Count a RECORD path claim before the row is filtered out by @Imagineer99 in https://github.com/unslothai/unsloth/pull/8181 * Fix on-device GGUF image/video picks asking for a quantization by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8149 * Enforce the interface's video resolutions in the API too by @danielhanchen in https://github.com/unslothai/unsloth/pull/8159 * Studio: add a loaded models indicator with per-model eject by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8082 * Desktop: show a closing overlay while the backend shuts down by @danielhanchen in https://github.com/unslothai/unsloth/pull/8151 * Studio: make the gallery video link absolute so the desktop app can play and save it by @danielhanchen in https://github.com/unslothai/unsloth/pull/8173 * Bump install.sh / install.ps1 pin to unsloth>=2026.8.9 by @danielhanchen in https://github.com/unslothai/unsloth/pull/8189 * Studio: eliminate Cargo and Clippy warnings by @wasimysaid in https://github.com/unslothai/unsloth/pull/8192 * studio: serve the deep research event stream over post so proxies stop buffering it by @mahiatlinux in https://github.com/unslothai/unsloth/pull/8205 * Desktop release: build the three platform legs in parallel by @danielhanchen in https://github.com/unslothai/unsloth/pull/8191 * Desktop release: start the publish job alongside the build matrix by @danielhanchen in https://github.com/unslothai/unsloth/pull/8193 * tests: make `pytest tests` collect cleanly and drop the deleted QVQ registry mirror by @danielhanchen in https://github.com/unslothai/unsloth/pull/8206 * Desktop release: run the VirusTotal scan after publishing, in its own job by @danielhanchen in https://github.com/unslothai/unsloth/pull/8194 * tests: build the hub-error fixtures without calling __init__ (huggingface_hub 1.x) by @danielhanchen in https://github.com/unslothai/unsloth/pull/8207 * Studio: stop MTP forcing llama-server to a single parallel slot by @danielhanchen in https://github.com/unslothai/unsloth/pull/8172 * test(studio): stop the backend suite depending on a live Hub by @danielhanchen in https://github.com/unslothai/unsloth/pull/8174 * Repin six UI contracts on what they guard, not how it was spelled by @danielhanchen in https://github.com/unslothai/unsloth/pull/8197 * Studio: only dodge an overlay box that reaches the corner stack by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8210 * Studio: surface an MLX completion-masking miss as a warning, not a status line by @BardiaKoopah in https://github.com/unslothai/unsloth/pull/8133 * Desktop: block accidental reloads in the Windows WebView by @oobabooga in https://github.com/unslothai/unsloth/pull/7945 * Studio: preserve training config values across YAML load and save by @oobabooga in https://github.com/unslothai/unsloth/pull/7942 * Stop a finished download reporting 0 B and offering Retry by @danielhanchen in https://github.com/unslothai/unsloth/pull/8160 * Install a CUDA-matched xFormers on Windows instead of whatever PyPI serves by @danielhanchen in https://github.com/unslothai/unsloth/pull/8156 * fix(studio): release the inference subprocess's VRAM when its last model unloads by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/8221 * fix(studio): reserve a bounded OS headroom on unified ROCm APUs, not a flat 20% by @LeoBorcherding in https://github.com/unslothai/unsloth/pull/7960 * Studio: fix Windows desktop updates failing integrity checks by @Etherll in https://github.com/unslothai/unsloth/pull/8185 * Report the precision actually in use, and refuse an explicit one we cannot honor by @danielhanchen in https://github.com/unslothai/unsloth/pull/8165 * Pin the training precision, video preset and image metadata contracts by @danielhanchen in https://github.com/unslothai/unsloth/pull/8162 * Say when xFormers is installed but its kernels cannot load by @danielhanchen in https://github.com/unslothai/unsloth/pull/8157 * Revert "Say when xFormers is installed but its kernels cannot load" by @danielhanchen in https://github.com/unslothai/unsloth/pull/8237 * Studio: stream oversized diffusion components on low-VRAM GPUs by @oobabooga in https://github.com/unslothai/unsloth/pull/8141 * fix(studio): wire llama's OpenMP runtime into slim whisper installs by @danielhanchen in https://github.com/unslothai/unsloth/pull/8230 * fix(studio): verify TLS against the OS trust store at runtime (corporate TLS-inspection proxies) by @Cesarsk in https://github.com/unslothai/unsloth/pull/8108 * Tell users to upgrade the dependency, not transformers, when a --no-deps install leaves a floor unmet by @danielhanchen in https://github.com/unslothai/unsloth/pull/8212 * Repo tests: pin the post-publish VirusTotal contract instead of the old pre-flight one by @danielhanchen in https://github.com/unslothai/unsloth/pull/8240 * Let the pipeline gate survive a diffusers whose lazy submodule cannot import by @danielhanchen in https://github.com/unslothai/unsloth/pull/8227 * Stop the idle-unload TTL test racing a loaded runner by @danielhanchen in https://github.com/unslothai/unsloth/pull/8175 * Let the floating monitor paint over the notification stack by @danielhanchen in https://github.com/unslothai/unsloth/pull/8199 * Format the release permissions test to the kwarg-spacing hook by @danielhanchen in https://github.com/unslothai/unsloth/pull/8245 * Format the release-permissions test so pre-commit.ci stops failing on main by @danielhanchen in https://github.com/unslothai/unsloth/pull/8247 * add folder picking and drag-drop for paired image and caption datasets by @mahiatlinux in https://github.com/unslothai/unsloth/pull/8216 * Backfill the conversion symbols peft imports and transformers 5 dropped by @danielhanchen in https://github.com/unslothai/unsloth/pull/8051 * Studio: only clean up GGUF artifacts the export owns by @oobabooga in https://github.com/unslothai/unsloth/pull/7940 * Resume diffusion training from a stop-and-save checkpoint by @danielhanchen in https://github.com/unslothai/unsloth/pull/8163 * Stop padding-free SFT from tripping the TRL >= 1.0.0 max_length guard by @danielhanchen in https://github.com/unslothai/unsloth/pull/7951 * Fix Studio loaded-model GGUF quant label by @Imagineer99 in https://github.com/unslothai/unsloth/pull/8238 * Do not scan vendored packages that refuse to import on our floor by @danielhanchen in https://github.com/unslothai/unsloth/pull/8252 * Desktop: confirm quit during training by @NilayYadav in https://github.com/unslothai/unsloth/pull/7790 * Fetch the llama.cpp validation model only when the smoke test reads it by @danielhanchen in https://github.com/unslothai/unsloth/pull/8248 * Make install.ps1 work with the user's PowerShell profile loaded by @danielhanchen in https://github.com/unslothai/unsloth/pull/8161 * Name a torchvision whose compiled ops do not match torch by @danielhanchen in https://github.com/unslothai/unsloth/pull/8128 * Diffusion: source every image family's companions from unsloth mirrors by @danielhanchen in https://github.com/unslothai/unsloth/pull/8030 * studio: infer splits for metadata-free cached datasets by @Ricardo-M-L in https://github.com/unslothai/unsloth/pull/8144 * Reject an incompatible GGUF and base pair before the download, not after by @danielhanchen in https://github.com/unslothai/unsloth/pull/8158 * Make the desktop release contract tests fail when the contract breaks by @danielhanchen in https://github.com/unslothai/unsloth/pull/8228 * GRPO: wrap the model that owns the head when falling back to hidden states by @danielhanchen in https://github.com/unslothai/unsloth/pull/8231 * Diffusion: allow fp8 on Qwen-Image again, and split the training deny by @danielhanchen in https://github.com/unslothai/unsloth/pull/8018 * Report the network error when the offline retry finds nothing cached by @danielhanchen in https://github.com/unslothai/unsloth/pull/8121 * Keep an explicitly requested float32 model in float32 without bfloat16 by @danielhanchen in https://github.com/unslothai/unsloth/pull/7867 * Do not let a broken TensorFlow install break the Unsloth import by @danielhanchen in https://github.com/unslothai/unsloth/pull/8124 * Carry the sliding window into SDPA, and treat a zero window as no window by @danielhanchen in https://github.com/unslothai/unsloth/pull/8253 * Resolve latest mlx-vlm and route its new processors by @Lyxot in https://github.com/unslothai/unsloth/pull/8251 * Studio: align Images and settings layouts by @wasimysaid in https://github.com/unslothai/unsloth/pull/8164 * Studio: realign the image precision contracts with the fail-closed refusal by @danielhanchen in https://github.com/unslothai/unsloth/pull/8257 * Studio: name the quant a diffusion GGUF pick actually loaded, instead of the compute dtype by @danielhanchen in https://github.com/unslothai/unsloth/pull/8241 * Studio: budget a pre-cast fp8 text encoder at the size it actually loads by @danielhanchen in https://github.com/unslothai/unsloth/pull/8218 * Desktop: keep probing the announced backend port instead of discarding it by @danielhanchen in https://github.com/unslothai/unsloth/pull/8211 * Stop the CPU fake-train tests from spoofing torch for the whole session by @danielhanchen in https://github.com/unslothai/unsloth/pull/8259 * Studio: grey the sidebar dot a finished chat leaves by @shimmyshimmer in https://github.com/unslothai/unsloth/pull/8258 * Studio: stop leaking child processes on an abnormal exit by @danielhanchen in https://github.com/unslothai/unsloth/pull/8170 * Restore SFT loss_type='nll' default over TRL 1.7.0 chunked_nll by @danielhanchen in https://github.com/unslothai/unsloth/pull/8261 * Assert the image family's pipeline class in the training preflight, before the GPU teardown by @danielhanchen in https://github.com/unslothai/unsloth/pull/8236 * Studio: let image generation be stopped by @danielhanchen in https://github.com/unslothai/unsloth/pull/8219 * Studio: make the image memory plan resolution-aware and stop reserving the text encoder during sampling by @danielhanchen in https://github.com/unslothai/unsloth/pull/8224 * remove the unused images train dialog and fix media page responsiveness by @mahiatlinux in https://github.com/unslothai/unsloth/pull/8215 * Studio: size FLUX.2-klein 9B LoRA training from its own weights, not the 4B family number by @danielhanchen in https://github.com/unslothai/unsloth/pull/8263 * Studio: LTX-2 video LoRA training from still images by @danielhanchen in https://github.com/unslothai/unsloth/pull/8196 * Say when attention has no fused kernel, and log the request behind a failed video by @danielhanchen in https://github.com/unslothai/unsloth/pull/8233 * Turn off embedding offload when the model is dispatched across devices by @danielhanchen in https://github.com/unslothai/unsloth/pull/8272 * Studio: keep the overlay stack off a maximised Live monitor by @danielhanchen in https://github.com/unslothai/unsloth/pull/8190 * Make the diffusion checkpoint-resume tests describe the host they run on by @danielhanchen in https://github.com/unslothai/unsloth/pull/8273 * Install the Linux CUDA sd-cli, and bump the pin two releases forward by @danielhanchen in https://github.com/unslothai/unsloth/pull/8208 * Studio: add MiniMax H3 video generation by @oobabooga in https://github.com/unslothai/unsloth/pull/7989 ## New Contributors * @namdamdoi68-oss made their first contribution in https://github.com/unslothai/unsloth/pull/7891 **Full Changelog**: https://github.com/unslothai/unsloth/compare/v0.1.52-beta...v0.1.527-beta