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