Bump base to the v0.26.0 release (off pinned nightlies) + hybrid-DFlash tripwire - #31
Merged
Merged
Conversation
…h tripwire v0.26.0 is the first release carrying every capability this image previously needed a nightly for: the engine streaming parsers (#45413/#45588/#45877), DFlash core (#43445) plus hybrid SWA+full drafters (#47914), and DeepSeek-V4 DSpark (#46995). Back on a pinned release means reproducible, Dependabot- trackable and better-tested than a nightly SHA tag. Verified v0.26.0 is a superset of the current base 9e57de71 before bumping -- vLLM cuts release branches, so a later tag can miss commits present in an earlier nightly (#47914 merged 2026-07-08 but is absent from v0.25.0, tagged 07-11). Each in-use commit checked with compare/<sha>...v0.26.0 == "ahead": #45877, #46875, #46995, #43445, #47914, #47698, #45207, and the whole 9e57de71 base. v0.25.1's #48330 hotfix is forward-ported. The vendored #46257 gen-prompt patch stays: still open upstream, and deepseek_v4_encoding.py has neither parameter on v0.26.0. It still applies (test-applied against the tag: 6 hunks, offset -36). New tripwire for the Qwen DFlash path. z-lab/Qwen3.6-27B-DFlash is 4-of-5 sliding_attention, so it needs multiple KV groups and therefore the V2 model runner. VllmConfig._dflash_needs_multi_kv_group auto-forces V2 for exactly this case, which is why no serve-arg or env change is needed; a base losing that helper would leave V1 selected and fail at boot. Also asserts #48787's speculative_config.kv_cache_dtype, which may let the target run fp8 KV while the drafter stays BF16 (untested, tracked in pcai-llm-serving). Import-only, as with the other tripwires: it cannot prove acceptance. A mis-wired drafter still serves correct text -- drafts are verified against the target -- it just stops being accepted, so the only symptom is being slower than no speculation. Validate on Grafana acceptance (~28-30%), not on output looking fine.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the
FROMoff a pinnedcu129nightly and back onto a stock release.v0.26.0is the first tag carrying every capability this image needed nightlies for: the engine streaming parsers (#45413 / #45588 / #45877), DFlash core (#43445) plus hybrid SWA+full drafters (#47914), and DeepSeek-V4 DSpark (#46995). A release is reproducible, Dependabot-trackable and better tested than a nightly SHA tag.Containment verified before bumping
A newer date does not imply a superset — vLLM cuts release branches, so a later tag can be missing commits present in an earlier nightly. #47914 merged 2026-07-08 yet is absent from
v0.25.0(tagged 07-11) because it landed after that branch cut. Every in-use commit was checked withcompare/<sha>...v0.26.0==ahead: #45877, #46875, #46995, #43445, #47914, #47698, #45207, and the whole current base9e57de71.v0.25.1s!!!!!-garbage hotfix #48330 is forward-ported.The vendored patch stays
vllm#46257 (DeepSeek-V4
add_generation_prompt/continue_final_message) is still open, anddeepseek_v4_encoding.pyonv0.26.0has neither parameter — so it is still needed. It still applies: test-applied against the tag, 6 hunks at offset -36. The existing behavioral tripwire covers the result.New tripwire: hybrid-SWA DFlash prereqs
z-lab/Qwen3.6-27B-DFlashis 4-of-5sliding_attention, so it needs multiple KV groups and therefore the V2 model runner. MRv2 is default for dense models only and Qwen3.6-27B is hybrid GDN, so an env var looks required — it is not:VllmConfig._dflash_needs_multi_kv_group()reads the draft config and force-enables V2 for exactly this case. That is why the bump needs no serve-arg and no PCAI config change. A base that loses the helper would leave V1 selected and fail at boot, so this asserts it. Also asserts #48787sspeculative_config.kv_cache_dtype, the new lever that may let the target run fp8 KV while the drafter stays BF16 (untested — tracked inpcai-llm-serving).Import-only, like the neighbouring tripwires, and it cannot prove acceptance. Worth stating because the failure mode is deceptive: drafts are verified against the target, so a mis-wired drafter still serves correct text — it just stops being accepted, and the only symptom is serving slower than no speculation at all. Validate on Grafana acceptance (~28-30%), never on output looking fine.
Note on scope
vllm#40898 (our old DFlash-SWA carry) was closed unmerged upstream, superseded by #47914 — so the long-standing "drop the block when it merges" plan would never have fired. The block was already deleted in #24 as unused. Nothing to remove here.
Validation
Not built locally (disk-constrained). The CI build on this PR exercises all four tripwires and does not push the image.