Dynamo v1.4.1 - Release Notes
Summary
Dynamo v1.4.1 is a patch release on top of v1.4.0. It adds OpenAI-compatible classify and pooling endpoints to the Dynamo Frontend with vLLM worker support, and fixes Dynamo Router overload recovery, logprob_token_ids passthrough, and a vLLM-Omni NIXL object transfer failure.
Base Branch: release/1.4.1
Features & Improvements
- Classify and Pooling Endpoints: Added OpenAI-compatible
/v1/classifyand/v1/poolingendpoints spanning the request and response protocols, model discovery, HTTP serving with metrics, and vLLM pooling-family worker activation (#13560). Pooling responses support the vLLM-compatiblefloat,base64,bytes, andbytes_onlyformats including binary metadata, andtruncate_prompt_tokensapplies to pre-tokenized inputs using vLLM truncation semantics.
Bug Fixes
- Router Overload Mark Recovery: Fixed a Dynamo Router condition where a worker marked overloaded on the request path stayed marked indefinitely (#13432).
ResourceExhaustedmarks a worker overloaded in the routing client, outside the monitor's cached metric set; when that cached set was empty, the next healthy load observation also computed an empty set and the monitor suppressed publication, stranding the mark. Request-path backpressure now flags the state as changed so the next load observation republishes the authoritative set. - Logprob Token IDs Passthrough: Fixed the Dynamo Frontend rejecting
logprob_token_idswith400 Unsupported parameter(s)before the request reached the worker (#13561). The field pins the vocabulary ids whose logprobs appear in the response independent of top-k rank, which is the primitive classifier-style scoring depends on when a label would not otherwise surface in top-k. Callers should note that vLLM requirestop_logprobsto match the number of pinned ids. - NIXL Object Transfer Buffer: Fixed serialized NIXL object transfers failing in vLLM-Omni when PyTorch warned that
torch.frombufferreceived immutablebytes(#13610). Serialized bytes are copied into a writable buffer before the call and the now-redundant tensor clone is removed; the raw tensor transfer path is unchanged.
Version Upgrades
- Go Module Alignment: Upgraded
golang.org/x/netto v0.56.0,golang.org/x/textto v0.39.0 andgoogle.golang.org/grpcto v1.82.1 across the Dynamo Operator and inference-gateway EPP modules, and moved both to the Go v1.26.6 toolchain (#13614).
Documentation
- Classify and Pooling API Reference: Regenerated the Python API reference so the published documentation reflects the
ClassifyandPoolingendpoint types and theirsupports_*accessors (#13617). - Structural Tag Documentation Links: Fixed two structural-tag documentation links that returned 404 after xgrammar moved its documentation site to a versioned path (#13314).
Key Dependencies
Backend runtime versions are unchanged from v1.4.0:
| Dynamo | SGLang | TensorRT-LLM | vLLM | NIXL | UCX |
|---|---|---|---|---|---|
| v1.4.1 | v0.5.16 |
v1.3.0rc22 |
v0.26.0 |
v1.3.2 (vLLM) / v1.3.1 (TensorRT-LLM) / v1.3.0 (SGLang) |
v1.21.0 |
CUDA Variants
| Backend | CUDA 12 | CUDA 13 |
|---|---|---|
| SGLang | N/A | 13.0 |
| TensorRT-LLM | N/A | 13.1 |
| vLLM | N/A | 13.0 |
Dynamo Ecosystem
| AIConfigurator | AIPerf | Grove | ModelExpress |
|---|---|---|---|
v0.11.0 |
v0.10.0 |
v0.1.0-alpha.12-rc1 |
v0.5.0 |
The following Go module dependencies changed in this release:
| Module | Package | From | To |
|---|---|---|---|
deploy/operator |
google.golang.org/grpc |
v1.79.3 |
v1.82.1 |
deploy/operator |
Go toolchain | v1.26.5 |
v1.26.6 |
deploy/inference-gateway/epp |
golang.org/x/net |
v0.52.0 |
v0.56.0 |
deploy/inference-gateway/epp |
golang.org/x/text |
v0.35.0 |
v0.39.0 |
deploy/inference-gateway/epp |
google.golang.org/grpc |
v1.80.0 |
v1.82.1 |
deploy/inference-gateway/epp |
Go toolchain | v1.26.3 |
v1.26.6 |
Known Issues
- No new issues filed against this release. Targeted regression on the v1.4.1 release candidate completed with no defects filed and no open blockers.
- Carried forward from v1.4.0: The known issues documented in the v1.4.0 release notes still apply.