Major Release · October 2026

Xinference 4.0

Xinference 4.0 brings Xavier prefix KV cache sharing to every engine, makes heterogeneous prefill/decode a first-class deployment, and lets you reconfigure a running model without reloading its weights.

⚡ Xavier Everywhere 🔀 Cross-Engine P/D ♻️ Reload Without Weights 🧩 Responses API

⭐ What’s new in 4.0

Six themes define this major release. Together they target the two most expensive things in model serving: prefill you have already paid for, and downtime you take just to change a setting.

1. ⚡ Xavier across vLLM, SGLang and MLX

Prefix KV cache sharing used to be vLLM-only. In 4.0 it spans all three engines, so compatible replicas reuse context that has already been computed instead of paying for the same prefill twice.

2. 🔀 Cross-engine and cross-hardware P/D separation

Prefill and decode no longer have to agree on an engine — or even on a vendor. Pick each role independently and let Xinference’s unified serving interface join them up.

3. ♻️ Reload engines without reloading model weights

Changing concurrency or context length used to mean unloading the model and pushing tens of gigabytes of weights back across the bus. Opt-in GPU weight caching keeps the weights resident and rebuilds only the engine.

4. 🕸️ Distributed vLLM V1 inference

Combine tensor and pipeline parallelism across Xinference workers through the built-in xoscar executor — with no separate Ray cluster to deploy or operate. This release completes vLLM V1 pipeline-parallel execution and improves pipeline scheduling and failure handling.

5. 🧩 OpenAI Responses API and cache-hit reporting

A stateless /v1/responses endpoint serves Responses-based clients, and prompt reuse finally becomes measurable.

6. 📋 Unified log center, one-command install

Two operational quality-of-life changes that land together.

Upgrading

No breaking changes from 3.x — upgrading is a straight swap. If you are coming from a release older than 3.0, read Migrating to Xinference 3.0+ first for the authentication, Web UI and container deployment changes. Engine-version and hardware requirements for each feature are in that feature’s guide.

What's New

At a Glance

⚡

Xavier everywhere

Prefix KV cache sharing now spans vLLM, SGLang and MLX replicas.

  • • All three engines
  • • GPU-first tiered snapshots
  • • Native NIXL transfers
🔀

Heterogeneous P/D

Prefill and decode on different engines and different vendors.

  • • vLLM ↔ SGLang
  • • NVIDIA ↔ Apple silicon
  • • Per-role engine choice
♻️

Reload without weights

Rebuild the engine while GPU weights stay resident; UID preserved.

  • • Opt-in weight caching
  • • Tune concurrency & context
  • • Waits for in-flight requests
🧩

Responses API

Stateless /v1/responses with streaming, tool calls and cache-hit tokens.

  • • Streaming & tool calls
  • • Cache-hit token reporting
  • • Distribution extension points

Open Source

Community Edition

Installation

pip

pip install 'xinference==4.0.0'

Docker

docker pull xprobe/xinference:latest

✨ New Features

  • ▸Stateless OpenAI Responses API (/v1/responses)
  • ▸Runtime log center
  • ▸Unified runtime and historical log views in the WebUI
  • ▸Correlate audit and runtime logs by request ID
  • ▸Native NIXL backend for vLLM PD deployments
  • ▸GPU-first tiered Xavier snapshot storage
  • ▸GPU-first Xavier caching with NIXL transfers
  • ▸SGLang Xavier KV sharing and native GPU PD
  • ▸MLX Xavier KV cache sharing and PD separation
  • ▸Xavier P/D across vLLM and SGLang
  • ▸Bidirectional Xavier P/D between NVIDIA and MLX
  • ▸Retain GPU weights across vLLM and SGLang engine reloads
  • ▸Report cache hit tokens across vLLM, SGLang and MLX
  • ▸Cross-platform installation and local service management
  • ▸Distribution extension points for API composition and worker admission
  • ▸Require globally unique API key names
  • ▸jina-ocr-v1 OCR support
  • ▸Confucius4-TTS support
  • ▸Ling-3.0-tiny with vLLM and SGLang
  • ▸EmbeddingGemma 2 support
  • ▸Configurable network interface MAC address lookup

🛠 Enhancements

  • ▸Qwen3.5 recurrent-state PD handoff
  • ▸Complete vLLM V1 pipeline parallel execution with xoscar
  • ▸Batch Xavier KV reads, across layers and across scheduled requests, with transfer diagnostics
  • ▸Preserve BF16 bits in Xavier KV transfers
  • ▸Avoid gathering already published Xavier GPU snapshots
  • ▸Reduce Xavier GPU transfer padding with persistent small slabs
  • ▸Overlap Xavier KV loads with vLLM decoding
  • ▸Reduce Xavier GPU snapshot eviction overhead and repeated size scans
  • ▸Reduce Xavier cold-prefill snapshot overhead
  • ▸Default Xavier PD to GPU handoff with tiered KV history
  • ▸Reduce Xavier V1 cache overhead and allow CUDA Graph
  • ▸Extract a shared Xavier core and Torch backend

🐞 Bug Fixes

  • ▸Address recurring Windows and Metal CI failures
  • ▸Keep text outside Qwen tool call tags as content
  • ▸Name the model in the load-retry warning
  • ▸Restore GPU selection for recommended model types
  • ▸Map audit request metadata in Elasticsearch
  • ▸Constrain missing host TorchCodec to compatible Torch versions
  • ▸Load parent editable installs in model virtual environments
  • ▸Keep parallel DeepSeek V3.1 tool calls with different arguments
  • ▸Return every DeepSeek-R1 tool call in a tool calls block
  • ▸Use the public SentenceTransformer device property
  • ▸Align synchronous RPC structured logging
  • ▸Reuse the Xavier actor RPC loop across EngineCore connectors
  • ▸Retry Router Agent bootstrap operations
  • ▸Preserve launch history device semantics
  • ▸Preserve DeepSeek V3.2 tool argument types
  • ▸Release the request limit when a metrics RPC is cancelled
  • ▸Validate Xavier KV compatibility before accepting remote hits
  • ▸Keep finish_reason and empty content for tool responses without calls
  • ▸Skip successful metrics scrape events in audit
  • ▸Resolve SGLang JIT cache paths before runtime startup
  • ▸Make log rotation safe across Windows processes
  • ▸Honour encoding_format=base64 in /v1/embeddings
  • ▸Remove flags from the language selector
  • ▸Stream text held back as a possible tool call tag
  • ▸Start the weight cache watcher without importing model engines
  • ▸Preflight offline mirror dependencies before release builds

📚 Documentation

  • ▸Update new models for v3.5.0
  • ▸Add v3.5.0 to the release notes index and locale catalogs
  • ▸Clarify Xinference Enterprise, Cloud and Model API offerings
  • ▸Discuss Docker Swarm deployment considerations
  • ▸Simplify the README quick start
  • ▸Refresh community installation and 4.0 release guides
  • ▸Cover multi-prefill and multi-decode GPU routing in tests