github unslothai/unsloth v0.1.915-beta
Improved Customization + Glass + Browser Use

3 hours ago

This release introduces Qwen3.8-Flash-Next, polishes the Glass themes (now in Beta), adds a Composer position slider and lets models interact with files in the built-in browser. It also brings lower idle memory usage, preserved chat context when switching GGUF models, faster MLX loading and FP8 LoRA training.

Highlights

  • Qwen3.8-Flash-Next Dynamic V3.1 - 10-15% extra accuracy Guide
  • Glass theme improvements across pages, menus, the sidebar and browser
  • Browser file interaction lets models click, read and edit HTML, files and pages
  • Lower idle memory with faster MLX loading and reloading
  • Preserved chat context when switching between GGUF models
  • FP8 LoRA training with lower GPU memory usage
  • Composer position slider to place the chat box anywhere on new chats

Glass and appearance

  • Set the chat box position, from top to bottom, in Settings > Appearance > Composer.
  • Glass themes now have softer highlights, lighter shadows and improved frosted effects across menus, panels and the browser.
  • Pages like Library, Images and Train no longer heavily blur background images.
  • Open conversations now slightly dim the background and use denser glass for the composer.
  • Windows and Linux title bars better match Glass themes and background images.
  • Settings changes made in one browser tab now sync across other open tabs.

Built-in browser

  • With Browser use enabled, models can click and type in HTML and React pages created in chat.
  • Models can read and edit HTML, React, Markdown, code and text files directly in the browser. Back restores the previous version.
  • Models can also read PDFs and other documents open in the browser.
  • Download prompts can remember permissions per site or across all sites, including for program files.

Chat

  • Chats now show activity between tool calls, including context compaction on GGUF models.
  • Attach saved Library files using + > More > Attach from Library.
  • Switching away from a GGUF model and back now preserves chat context, avoiding the need to re-read long histories.
  • GGUF models can read up to four web pages at once when tools run without asking.

Connections and API

  • OpenRouter models now load live, with working Reload models support.
  • Improved compatibility with newer MCP servers.
  • The Decision API adds LiquidAI's d1 models and Decider 2B (MLX only).
  • Settings > API > Quickstart now includes curl, Python and JavaScript examples.

Performance and media

  • Unsloth no longer loads PyTorch and other ML libraries at startup, significantly reducing idle memory usage. Configure startup features in Settings > General > Startup performance.
  • MLX models load and reload much faster, and reducing a loaded model's context now takes seconds.
  • Long prompts on supported MLX models use less memory.
  • SDXL renders faster with very limited VRAM, including 4 GB setups.
  • Image LoRAs in your model folders now appear on the Images page.

Training

  • Faster, lower-memory LoRA training on 16-bit bases with recent NVIDIA GPUs using float8_training = "fp8_lora".
  • DPO, ORPO, KTO, GRPO and CPO training now run on MLX.
  • Fixed crashes when full fine-tuning Gemma 4 in float16.

Trim overlapping highlight bulletsCombine related Glass bullets

What's Changed

  • Bump install.sh / install.ps1 pins to unsloth>=2026.11.1 by @danielhanchen in #16554
  • Sync the pad id to FastModel's fallback tokenizer by @danielhanchen in #16557
  • Studio: faster MLX load and reload, ready to serve when loaded by @Lyxot in #16536
  • Parallel env tests: pin UNSLOTH_RETURN_LOGITS unset for the packing checks by @danielhanchen in #16594
  • Tray status test: end the listener slice at its own close by @danielhanchen in #16600
  • Studio: let managed accounts run terminal and Python tools on macOS by @NilayYadav in #16579
  • Studio: fit reasoning_effort to a template's enforced allowlist by @Lyxot in #16527
  • Kernels: name every tl.constexpr parameter with a trailing comment by @danielhanchen in #16585
  • FP8 LoRA: fp8 forward and input gradient on the frozen 16-bit base by @danielhanchen in #16423
  • Make startup ML warmup opt-in by feature by @Imagineer99 in #16469
  • Kernels: keep per-call sizes out of the Triton compile key (layernorm dW, fp8 block matmul, nvfp4 split sum) by @danielhanchen in #16584
  • Studio: stop browser panel pages typing stray control keys on macOS by @NilayYadav in #16583
  • fix(studio): price MLX attention on the route the runtime takes by @Lyxot in #16517
  • Studio diffusion kernels: keep per-resolution sizes out of the Triton compile key by @danielhanchen in #16582
  • Scan baseline: re-review the five unsloth-zoo sites 2026.11.1 moved by @danielhanchen in #16624
  • Context parallelism: generic Ulysses on any Hugging Face attention model, per-instance trainer wrappers by @danielhanchen in #16558
  • Hide the sidebar footer fade only in glass themes by @Imagineer99 in #16572
  • Fix duplicated wallpaper titlebar tint and modal dimming by @Imagineer99 in #16571
  • Studio: fix external-server disconnects and show the server port by @oobabooga in #16595
  • Fix glass surfaces in the built-in browser by @Imagineer99 in #16570
  • FP8 rowwise scaled_mm: keep fp16 output in range before torch 2.14, and drop the row guard for always-dequant dtypes when compiled by @danielhanchen in #16598
  • Multi-LoRA: export expert LoRA in the layout vanilla PEFT loads by @danielhanchen in #16568
  • Studio: load OpenRouter models from the API by @NilayYadav in #16562
  • Studio: read several web pages at once on local models by @NilayYadav in #16489
  • Studio: keep profile and appearance changes made in another window by @NilayYadav in #16580
  • Studio: scale spreadsheet figures in thousands or millions with decimals by @NilayYadav in #16590
  • Studio: keep the MCP tool list steady between messages by @NilayYadav in #16488
  • Studio: stop showing a cancelled tool request reply as finished by @NilayYadav in #16473
  • Studio: keep chat context when switching models by @NilayYadav in #16493
  • Studio: do not download PyTorch Clef for an over-long decision request by @NilayYadav in #16509
  • Backend CI: run tensor and pipeline parallel gloo suites in separate shards by @danielhanchen in #16634
  • Studio: keep image follow-ups running after the tab closes by @NilayYadav in #16491
  • Studio: attach saved Library files to the current chat by @danielhanchen in #16522
  • Forward the model argument through update_weight_conversions overrides (transformers 5.21+) by @danielhanchen in #16559
  • Studio: keep long replies with escaped math streaming smoothly by @NilayYadav in #16490
  • Studio: keep turn bookmarks made in another window by @NilayYadav in #16578
  • fix(studio): reject ambiguous S3 audio references by @Max-Reisinger in #16529
  • Studio: keep chat settings changed in another window by @NilayYadav in #16589
  • Studio: list third-party image LoRAs from model folders by @NilayYadav in #16483
  • Studio: ask Laya questions without instructions by their id by @NilayYadav in #16496
  • Studio: open Try after Use in Decision API for Clef and LLM fine-tunes by @NilayYadav in #16497
  • Studio: show status between tool rounds and while context compaction runs by @oobabooga in #16608
  • Studio: let Laya fine-tunes answer from their GGUF export by @NilayYadav in #16511
  • Studio: keep indentation in sent messages by @NilayYadav in #16495
  • Studio: keep non-English text in structured Laya instructions by @NilayYadav in #16510
  • Studio: move to mcp 2 and fastmcp 4 by @NilayYadav in #16475
  • Studio: keep custom spellings when another window saves voice settings by @NilayYadav in #16577
  • Studio: show how to call the Decision API from code by @NilayYadav in #16499
  • Studio diffusion: show whether group offload keeps the transformer on the GPU or streams it every step by @oobabooga in #16610
  • Studio: show the newest Kimi models in the model picker by @NilayYadav in #16591
  • MLX: run DPO, ORPO, KTO, GRPO and CPO through trl, and stop blocking SFT arguments zoo honors by @Lyxot in #16461
  • Studio: report bad decision datasets before the model downloads by @NilayYadav in #16498
  • Studio: LiquidAI d1 and Decider decision models, train LFM3 into d1 by @Lyxot in #16519
  • Studio: size streamed SDXL UNet leaves from the denoise peak and lend them to the VAE decode by @danielhanchen in #16620
  • Diffusion tests: pin the NVIDIA-host spoof and assert ROCm keeps the stock path by @danielhanchen in #16609
  • Studio: glass theme polish and a composer position slider by @shimmyshimmer in #16643
  • Studio: show Run settings gear on every GGUF quant row by @shimmyshimmer in #16660
  • Label the Glass theme as BETA by @Imagineer99 in #16642
  • Studio: let browser use read, click and edit files in the browser panel by @shimmyshimmer in #16644
  • Studio: remember download answers for a site or every site, programs included by @shimmyshimmer in #16658
  • fix(studio): load the MLX training dataset before the model by @Lyxot in #16618
  • Join the Windows glass sidebar and title bar over chat wallpaper by @Imagineer99 in #16641
  • Block compile: checkpoint recompute reuses the forward graph (shared_kv_states, output collector) by @danielhanchen in #16596
  • Studio: keep native tool calls in mixed ShareGPT chats and render null-content calls on Qwen3 by @danielhanchen in #16120
  • Studio: check the weight index of a module path that only reads as the root by @danielhanchen in #16212
  • feat(studio): price GLM-5.3-Flash oQ quants as unsloth-zoo loads them by @Lyxot in #16619
  • Improve model-load error guidance and shorten failure notifications by @Imagineer99 in #16540
  • Block Swap blocker: Qwen3.8-Flash-Next-FP8 can't train with offload_layers, its FP8 n-gram table loads without its weight_scale by @LeoBorcherding in #15632
  • Legacy CLI: apply --chunk_size and --stride to a text file passed as --dataset by @vineethsaivs in #16424
  • Model picker contracts: read the GGUF row and gear pins from variantSelectMeta by @danielhanchen in #16669
  • Studio H3: release resident denoiser blocks' host copies and give the RAM to the conditioner by @danielhanchen in #16639
  • Studio video: load a commit-pinned cached snapshot offline when refs/main is missing by @danielhanchen in #16640
  • cuDNN SDPA: keep known-bad decode and NaN-dQ shapes off cuDNN before torch 2.14 / 2.15 by @danielhanchen in #15934
  • Studio: let search_conversation find this turn's results on API providers by @danielhanchen in #16666
  • Studio: MLX training from a saved adapter, Continued Pretraining, streamed and audio datasets, with exact resume by @Lyxot in #16622
  • fix(studio): rewrite S3 audio paths in single-record JSON manifests by @Max-Reisinger in #16631
  • Apply appearance contrast once per slider drag by @Imagineer99 in #16676
  • Confine Windows glass wallpaper blur to the inner page pane by @Imagineer99 in #16671
  • fix(studio): skip hidden HTML subtrees in RAG parsing by @LimbC-C in #16612
  • Fused preference loss: fall back when a global forward hook is registered by @lonexreb in #15226
  • Studio: remember thinking Off after eject by @Souravrajvi0 in #15093
  • Studio i18n: translate the browser tool steps and program download prompts in every locale by @danielhanchen in #16677
  • Studio: forward a request's other chat_template_kwargs to llama-server by @debojyoti-dev in #16567
  • Studio: saving a preset no longer brings it back on the model it was tuned on by @roydonsequeira in #14603

New Contributors

Full Changelog: v0.1.914-beta...v0.1.915-beta

Don't miss a new unsloth release

NewReleases is sending notifications on new releases.