sglang v0.5.20
sglang v0.5.20
# Highlights *713 PRs from 237 contributors.* **New models in this release** (see the [cookbook](https://docs.sglang.io/cookbook) for all supported models): | Model | Type | PRs | Cookbook | |---|---|---|---| | GLM-5.3-Flash | Autoregressive |
Highlights
713 PRs from 237 contributors.
New models in this release (see the cookbook for all supported models):
| Model | Type | PRs | Cookbook |
|---|---|---|---|
| GLM-5.3-Flash | Autoregressive | #36507, #38621 | link |
| Hy4-Preview | Autoregressive | #36805 | link |
| Qwen3.8-Flash-Next | Autoregressive | #37500 | link |
| K2 Horizon | Autoregressive | #37654, #38033 | link |
| Nanbeige4.2 | Autoregressive | #32151 | |
| SenseNova-U1.5-8B-MoT | Diffusion | #36606 | link |
| FastH3 (4-step MiniMax-H3 distill) | Diffusion | #37480 | link |
| VDN-H3 (hybrid-attention MiniMax-H3 distill) | Diffusion | #37903 | link |
Sampling masks for RL rollouts. With return_sampling_mask, each decode step returns the exact token support the sampler drew from and the log-probability of the sampled token under it, so a trainer can replay the rollout without reconstructing top-k or top-p (#36630). Masks now run under overlap scheduling: on Qwen3-8B, decode throughput is 17% higher at batch 1 and 52% higher at batch 64 than the previous implementation. Capacity is set by --sampling-mask-max-tokens (default 4096) (#36631). DisallowedTokensLogitsProcessor is supported alongside masks (#38279).
Unified radix tree. Branching-point caching for the SWA component keeps the sliding-window state at the point where requests fork from a shared prefix, so branches reuse it instead of recomputing. On DeepSeek-V4-Flash with a shared system prompt, token hit rate rises from 43.8% to 60.8% and mean TTFT falls from 1.57 s to 1.07 s (#34565). An opt-in external linker lets the tree address a shared global memory pool through Mooncake or UMBP (#37381).
DSpark under PD with decode context parallelism. A DCP1 prefill can now transfer its DSpark draft KV to a DCP-N decode, so hybrid models such as Kimi-Linear run DSpark in disaggregated, context-parallel serving. Verified on 8x B300 over NIXL and Mooncake up to 256K input (#37709).
Responses API storage is opt-in. /v1/responses no longer retains results in memory unless the server starts with --enable-response-store. Without it, retrieval, previous_response_id chaining, and background requests return 400; PD deployments cannot enable it (#39122).
SGLang Simulator. A CPU-only simulator runs the real scheduler, radix cache, and hierarchical cache with a latency predictor in place of the model forward. Against measured serving traces it predicts TTFT within about 6% on most traces (up to 10% on the longest 32K to 128K ones) and prefix reuse within 0.05 percentage points,…
[余略,详见 https://github.com/sgl-project/sglang/releases/tag/v0.5.20]