sgl-project/sglang · info
The 'checksums' format is deprecated. Please regenerate with
Error message
The 'checksums' format is deprecated. Please regenerate with the latest version to use the new 'files' format.
What it means
The model file verifier's Manifest.from_dict detects the legacy 'checksums' key in a manifest JSON instead of the current 'files' format, and emits a DeprecationWarning before parsing the old layout. Manifests generated by older SGLang tooling will still verify but should be regenerated with the new format.
Source
Thrown at python/sglang/srt/utils/model_file_verifier.py:39
from typing import Dict, List, Optional, Tuple
# ======== Data Format ========
@dataclass
class FileInfo:
sha256: str
size: int
@dataclass
class Manifest:
files: Dict[str, FileInfo]
@classmethod
def from_dict(cls, data: dict) -> "Manifest":
if "checksums" in data:
warnings.warn(
"The 'checksums' format is deprecated. "
"Please regenerate with the latest version to use the new 'files' format.",
DeprecationWarning,
stacklevel=3,
)
return cls(
files={
k: FileInfo(sha256=v, size=-1) for k, v in data["checksums"].items()
}
)
return cls(files={k: FileInfo(**v) for k, v in data["files"].items()})
def to_dict(self) -> dict:
return asdict(self)
# ======== Constants ========
View on GitHub (pinned to 0132848349)
Solutions
- Regenerate the manifest with the current SGLang tooling (the model-file verifier generation command in your version) so it emits the 'files' format
- If regeneration is impossible short-term, keep the old manifest — it still works, only warns
- Ensure generating and verifying jobs run the same SGLang version
Example fix
# before (manifest.json)
{"checksums": {"a.safetensors": "sha256..."}}
# after
{"files": {"a.safetensors": {"sha256": "...", "size": 123}}}
# regenerate with the current generator instead of hand-editing Defensive patterns
Strategy: validation
Validate before calling
data = json.load(open("manifest.json"))
if "checksums" in data:
warnings.simplefilter("once", DeprecationWarning) # expect legacy manifest Type guard
is_legacy = isinstance(data, dict) and "checksums" in data and "files" not in data
Prevention
- Regenerate manifests with the same SGLang version that verifies them
- Store the generator version inside the manifest for auditing
When it happens
Trigger: Calling Manifest.from_dict (via _load_checksums during model-file integrity verification) on a manifest file produced by an older generator version whose top-level key is 'checksums' rather than 'files'.
Common situations: Reusing an old verification manifest after upgrading SGLang; CI artifact manifests pinned to a previous release; mixed-version pipelines where one job generates and another verifies.
Related errors
- head_first is deprecated and will be removed in a future ver
- expert-pack or manifest is missing: {self.path}, {self.manif
- Kimi-K3 manifest format is unsupported
- Kimi-K3 manifest is incomplete
- {manifest} declares python-module {python_module!r} but must
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/512e2cb601ffec9f.
Report an issue: GitHub.