vLLM 0.32.0 Drops Python 3.10, Stops Allowing Every CORS Origin by Default and Removes Cascade Attention
vLLM 0.32.0 requires Python 3.11 or later, restricts default CORS origins, removes cascade attention and fixes three security advisories, per its release notes.
Overview
The vLLM project published version 0.32.0 on October 18, according to the vLLM v0.32.0 release notes. The notes describe the release as “814 commits from 363 contributors (121 new)”. Its breaking-changes list includes dropped Python 3.10 support, CORS defaults that no longer allow every origin, and the removal of cascade attention. This briefing covers what operators of the inference engine need to check before upgrading, following the project’s 0.30 release and its 0.31 release, which the Herald covered earlier this month. The preceding release, v0.31.0, was published on October 5 and lists “717 commits from 307 contributors (96 new)”.
Breaking changes for operators
- Python and dependencies. The release notes state that “Python 3.10 is no longer supported; the minimum is Python 3.11 (#60402)”, and the build section lists Python 3.11-3.14 as supported. They also require
transformers>=5.16.1,<5.20.0andtokenizers>=0.23.2. - CORS. According to the release notes, default CORS origins changed “from
*to none”, and operators serving browser clients must set--allowed-origins. The security section says this applies to both the Python and Rust frontends. - Cascade attention. The release notes say cascade attention was removed;
--disable-cascade-attnstill parses but only warns, and will be removed in v0.33.0. - torch.compile passes. The sequence parallelism and AsyncTP passes were removed, along with
PassConfig.enable_sp,fuse_gemm_commsandsp_min_token_num. The notes add that model-level sequence parallelism is unaffected. - API behavior.
max_tokensis now treated as an upper bound on output rather than reserved from the context window, which the notes say means long prompts are no longer rejected on that basis. Responses API streaming now usesresponse.content_part.added/donewithpart.type="reasoning_text"instead ofresponse.reasoning_part.added/done. - Removals.
mamba_cache_mode="all"was removed, and--mamba-cache-mode allnow fails validation. Previously deprecated APIs removed includewait_for_inflight_requests,AsyncLLM.pause_generation(),IOProcessor.output_to_response,vllm.scripts.main()andvllm bench throughput --dataset.
Security fixes
The release notes list three advisories fixed in this release. For GHSA-4hhp-h66f-j5j7, chat templates are now validated statically and rendered under a timeout controlled by VLLM_CHAT_TEMPLATE_RENDER_TIMEOUT, and a user-supplied chat_template in Responses chat_template_kwargs is rejected. GHSA-q97c-p368-75c4 is described as a tokenizer max_token_id off-by-one. For GHSA-frvg-qw88-hww9, peer-to-peer ZMQ sessions are now bounded by VLLM_P2P_MAX_PEERS (default 128), VLLM_P2P_HANDSHAKE_TIMEOUT_S (default 30) and VLLM_P2P_IDLE_TIMEOUT_S (default 300).
The notes also state that structured-output JSON schemas nested more than 64 levels now return a 400 response. Separately, untrusted images are limited to raster formats, and shared-memory multimodal cache handles are signed. The notes do not give severity ratings or affected-version ranges for the three advisories, so operators should consult the advisories themselves.
New features
The release notes list a new POST /v1/systemone endpoint that “answers choice, noul and score questions over a structured state”, and a hf tool and reasoning parser (--tool-call-parser hf, --reasoning-parser hf) that reads the checkpoint’s response_template. On KV cache, the notes say NVFP4 KV cache now runs on SM8x and SM12x GPUs, and that GLM-5.x defaults to an FP8 KV cache on SM100.
On startup, the notes list vllm download-kernels for installing FlashInfer’s precompiled kernels and vllm preload --preload-autotune for keeping the FlashInfer autotune table warm across restarts. With --api-server-count above 1, each connection goes to the least-loaded API worker, which the notes say gave “43-85% more req/s on short requests (Qwen3-0.6B, 32 input / 1 output tokens) in the PR’s benchmark”. That figure comes from the pull request’s own benchmark.
New model support includes EmbeddingGemma 2 (google/embeddinggemma-2), MiniCPM-V 4.7 and Nemotron 3.5 ASR. Model Runner V2 is now the default on ROCm.
What We Don’t Know
The release notes are the only source used for this briefing, and no independent testing of the 0.32.0 performance claims was found. The notes do not say how many deployments rely on the CORS wildcard default that was removed. Whether the version-0.33.0 removal of --disable-cascade-attn will arrive on schedule is not stated beyond the notes’ wording that it “will be removed in v0.33.0”.