Your code version
vllm: 0.21.0
vllm-omni (editable from main): 0.20.1.dev181+g5f9aee193
git HEAD: 5f9aee19 (origin/main as of 2026-05-25)
Summary
main has been rebased to vLLM 0.21.0 (PR #3530), and docs/CI target vllm==0.21.0. However, editable installs from main report vllm_omni version 0.20.1.dev181+... via setuptools-scm, because the v0.21.0rc1 tag is not on main's history.
This causes a false major/minor mismatch (0.20 vs 0.21) against the documented/test baseline and triggers version-alignment checks / warn_if_misaligned_vllm_version() warnings even when the code is on the 0.21.0 rebase line.
Expected behavior
After the v0.21.0 rebase landed on main, setuptools-scm on latest main should derive a 0.21.x dev version (e.g. from v0.21.0rc1-N-g... or v0.21.0), aligned with:
Actual behavior
On latest main:
git describe --tags --always --long HEAD
# v0.20.0-181-g5f9aee19
python -c 'from setuptools_scm import get_version; print(get_version(root="."))'
# 0.20.1.dev181+g5f9aee193
python -c 'import vllm, vllm_omni; print(vllm.__version__, vllm_omni.__version__)'
# 0.21.0 0.20.1.dev181+g5f9aee193
Major/minor alignment check fails: 0.21 vs 0.20.
Root cause (git topology)
The v0.21.0rc1 tag points to 04c4c674, which is not an ancestor of main:
| Commit |
Description |
On main? |
eb4e60ee |
[Rebase] Rebase to vllm v0.21.0 (#3530) |
Yes |
67d672db |
Release pipeline (#3428) — tag branch |
No |
bc26cad1 |
Release pipeline (#3428) — main |
Yes |
04c4c674 |
Twine upload — tag branch |
No |
5549b7f4 |
Twine upload (#3667) — main |
Yes |
v0.21.0rc1 → 04c4c674 |
|
No |
Verification:
git merge-base --is-ancestor v0.21.0rc1 origin/main && echo yes || echo no
# no
git merge-base --is-ancestor v0.20.0 origin/main && echo yes || echo no
# yes
git log --oneline origin/main..v0.21.0rc1
# 04c4c674 Enable twine upload to PyPI in release pipeline
# 67d672db [CI/Build] Unify release pipeline with NIGHTLY=1 option, add x86_64/aarch64 image builds (#3428)
The fork point between main and v0.21.0rc1 is the rebase commit eb4e60ee. The tag sits on two CI commits that were re-merged onto main under different SHAs (bc26cad1, 5549b7f4). main then continued with ~87 more commits, while setuptools-scm still walks back to v0.20.0 (last ancestor tag on main).
setuptools-scm itself appears correct; the release tag placement is wrong.
Impact
- False version mismatch for anyone installing editable
main with vllm==0.21.0 (documented baseline).
warn_if_misaligned_vllm_version() fires on import (vllm_omni/version.py).
- Validation scripts that compare major/minor block testing even though code is on the 0.21 rebase.
- Confusing release metadata: docs list 0.21.0 pre-built wheels, but dev installs from
main report 0.20.x.dev.
- Secondary inconsistency:
docker/Dockerfile.cuda still uses vllm/vllm-openai:v0.20.0 while other Dockerfiles/docs use v0.21.0.
Reproduction
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
git checkout main # e.g. 5f9aee19
git describe --tags --always --long HEAD
git merge-base --is-ancestor v0.21.0rc1 HEAD; echo "rc1 ancestor exit=$?"
uv venv --python 3.12 .venv && source .venv/bin/activate
uv pip install setuptools-scm wheel
uv pip install "vllm==0.21.0" --torch-backend=cu130
VLLM_OMNI_TARGET_DEVICE=cuda uv pip install -e . --no-build-isolation
python - <<'PY'
import re, vllm, vllm_omni
print("vllm", vllm.__version__)
print("vllm_omni", vllm_omni.__version__)
omni_mm = ".".join(re.match(r"^(\d+\.\d+)", vllm_omni.__version__).group(1).split("."))
vllm_mm = ".".join(re.match(r"^(\d+\.\d+)", vllm.__version__).group(1).split("."))
print("major.minor match:", omni_mm == vllm_mm)
PY
Proposed fix
Release/tagging fix (preferred):
- Retag or add a tag on an actual
main commit after eb4e60ee, e.g.:
v0.21.0rc2 on current origin/main, or
- move
v0.21.0rc1 to a real main SHA such as 5549b7f4 or latest main
- Ensure future RC/stable tags are created only from commits reachable from
main.
Follow-up cleanup:
- Update
docker/Dockerfile.cuda base image from v0.20.0 → v0.21.0 for consistency.
Workaround (for local testing)
Use vllm==0.21.0 (matches the rebased codebase). Do not downgrade to vllm==0.20.0 just to satisfy the version string. Optionally set VLLM_OMNI_VERSION_OVERRIDE only when the mismatch is known to be tagging-related.
Your code version
Summary
mainhas been rebased to vLLM 0.21.0 (PR #3530), and docs/CI targetvllm==0.21.0. However, editable installs frommainreportvllm_omniversion0.20.1.dev181+...via setuptools-scm, because thev0.21.0rc1tag is not onmain's history.This causes a false major/minor mismatch (
0.20vs0.21) against the documented/test baseline and triggers version-alignment checks /warn_if_misaligned_vllm_version()warnings even when the code is on the 0.21.0 rebase line.Expected behavior
After the v0.21.0 rebase landed on
main, setuptools-scm on latestmainshould derive a 0.21.x dev version (e.g. fromv0.21.0rc1-N-g...orv0.21.0), aligned with:uv pip install vllm==0.21.0[Rebase] Rebase to vllm v0.21.0Actual behavior
On latest
main:Major/minor alignment check fails: 0.21 vs 0.20.
Root cause (git topology)
The
v0.21.0rc1tag points to04c4c674, which is not an ancestor ofmain:main?eb4e60ee[Rebase] Rebase to vllm v0.21.0(#3530)67d672dbbc26cad104c4c6745549b7f4v0.21.0rc1→04c4c674Verification:
The fork point between
mainandv0.21.0rc1is the rebase commiteb4e60ee. The tag sits on two CI commits that were re-merged ontomainunder different SHAs (bc26cad1,5549b7f4).mainthen continued with ~87 more commits, while setuptools-scm still walks back tov0.20.0(last ancestor tag onmain).setuptools-scm itself appears correct; the release tag placement is wrong.
Impact
mainwithvllm==0.21.0(documented baseline).warn_if_misaligned_vllm_version()fires on import (vllm_omni/version.py).mainreport 0.20.x.dev.docker/Dockerfile.cudastill usesvllm/vllm-openai:v0.20.0while other Dockerfiles/docs use v0.21.0.Reproduction
Proposed fix
Release/tagging fix (preferred):
maincommit aftereb4e60ee, e.g.:v0.21.0rc2on currentorigin/main, orv0.21.0rc1to a realmainSHA such as5549b7f4or latestmainmain.Follow-up cleanup:
docker/Dockerfile.cudabase image fromv0.20.0→v0.21.0for consistency.Workaround (for local testing)
Use
vllm==0.21.0(matches the rebased codebase). Do not downgrade tovllm==0.20.0just to satisfy the version string. Optionally setVLLM_OMNI_VERSION_OVERRIDEonly when the mismatch is known to be tagging-related.