v0.5.1
KlingAIResearch/LivePortraitv0.5.1Jul 6, 2026by deng451e
AI Summary
LMCache v0.5.1 marks a significant maturity step for Multi-Process (MP) mode, expanding memory-tier capabilities to include AMD hardware and improving integration with vLLM.
Key Highlights
- Enabled warm-prefetch of KV from L2 into L1 in MP mode.
- Added AMD `hipFile` backend for GDS L1 tier and XPU Docker support.
- Implemented auto-discovery of device wrappers and auto-injection of LMCacheEngine into vLLM pods.
- Introduced `HiddenStateStore` for caching hidden states.
New Features
- HiddenStateStore for hidden-state caching
- TurboQuant serde support for L2 adapters
- Per-key TTL + partial-chunk validation for Valkey connector
- Configurable `disk_io_threads` for local disk and GDS backends
- Session-expiry cleanup thread for `SessionManager`
- Auto-inject `LMCacheEngine` connection into vLLM pods via webhook
Full Release Notes
# LMCache v0.5.1 Release Notes ## Highlights: Multi-Process (MP) mode maturity & memory-tier expansion - **Warm-prefetch and tiered caching improvements** — the MP coordinator can now warm-prefetch KV from L2 into L1 ([[#3827](https://github.com/LMCache/LMCache/pull/3827)](https://github.com/LMCache/LMCache/pull/3827)), Device-DAX L1 is split cleanly from the CPU L1 manager ([[#3947](https://github.com/LMCache/LMCache/pull/3947)](https://github.com/LMCache/LMCache/pull/3947)), and a new `HiddenStateStore` enables hidden-state caching ([[#3221](https://github.com/LMCache/LMCache/pull/3221)](https://github.com/LMCache/LMCache/pull/3221)). - **Broader hardware backends** — added an AMD `hipFile` backend for the GDS L1 tier in MP mode ([[#3843](https://github.com/LMCache/LMCache/pull/3843)](https://github.com/LMCache/LMCache/pull/3843)), a guarded MUSA MP handle wrapper ([[#3756](https://github.com/LMCache/LMCache/pull/3756)](https://github.com/LMCache/LMCache/pull/3756)), and an XPU Docker image ([[#3838](https://github.com/LMCache/LMCache/pull/3838)](https://github.com/LMCache/LMCache/pull/3838)). - **Platform abstraction** — auto-discovery of `DeviceIPCWrapper` subclasses under `platform/<device>/` ([[#3829](https://github.com/LMCache/LMCache/pull/3829)](https://github.com/LMCache/LMCache/pull/3829)) and pin-memory abstracted behind `DeviceExt` with pinned SHM for async D2H ([[#3823](https://github.com/LMCache/LMCache/pull/3823)](https://github.com/LMCache/LMCache/pull/3823)). - **Model support** — MiniMax M3 layer grouping via `EngineKVFormat` ([[#3779](https://github.com/LMCache/LMCache/pull/3779)](https://github.com/LMCache/LMCache/pull/3779)), with all grouping queries consolidated onto `EngineKVFormat` (also fixing SGLang tests) ([[#3907](https://github.com/LMCache/LMCache/pull/3907)](https://github.com/LMCache/LMCache/pull/3907)). - **Operator automation** — auto-inject `LMCacheEngine` connection into vLLM pods via webhook ([[#3822](https://github.com/LMCache/LMCache/pull/3822)](https://github.com/LMCache/LMCache/pull/3822)), configurable `hostNetwork` on the CRD ([[#3849](https://github.com/LMCache/LMCache/pull/3849)](https://github.com/LMCache/LMCache/pull/3849)), and optional privileged-mode DaemonSet ([[#3943](https://github.com/LMCache/LMCache/pull/3943)](https://github.com/LMCache/LMCache/pull/3943)). --- ## Features - `HiddenStateStore` for hidden-state caching ([[#3221](https://github.com/LMCache/LMCache/pull/3221)](https://github.com/LMCache/LMCache/pull/3221)) - TurboQuant serde support for L2 adapters ([[#3193](https://github.com/LMCache/LMCache/pull/3193)](https://github.com/LMCache/LMCache/pull/3193)) - Token dropping SDK v3 ([[#3820](https://github.com/LMCache/LMCache/pull/3820)](https://github.com/LMCache/LMCache/pull/3820)) - Per-key TTL + partial-chunk validation for the Valkey glide connector ([[#3836](https://github.com/LMCache/LMCache/pull/3836)](https://github.com/LMCache/LMCache/pull/3836)) - Configurable `disk_io_threads` for local disk and GDS backends ([[#3941](https://github.com/LMCache/LMCache/pull/3941)](https://github.com/LMCache/LMCache/pull/3941)) - Session-expiry cleanup thread for `SessionManager` ([[#3570](https://github.com/LMCache/LMCache/pull/3570)](https://github.com/LMCache/LMCache/pull/3570)) - Propagate sliding-window info to the prefetch path ([[#3776](https://github.com/LMCache/LMCache/pull/3776)](https://github.com/LMCache/LMCache/pull/3776)) ## Multi-Process (MP) / Memory Tiers - Warm-prefetch KV from L2 into L1 in the MP coordinator ([[#3827](https://github.com/LMCache/LMCache/pull/3827)](https://github.com/LMCache/LMCache/pull/3827)) - Split Device-DAX L1 from the CPU L1 manager ([[#3947](https://github.com/LMCache/LMCache/pull/3947)](https://github.com/LMCache/LMCache/pull/3947)) - AMD `hipFile` backend for the GDS L1 tier (MP mode) ([[#3843](https://github.com/LMCache/LMCache/pull/3843)](https://github.com/LMCache/LMCache/pull/3843)) - Guarded MUSA MP handle wrapper ([[#3756](https://github.com/LMCache/LMCache/pull/3756)](https://github.com/LMCache/LMCache/pull/3756)) - Group MP server & coordinator HTTP APIs into endpoint groups ([[#3948](https://github.com/LMCache/LMCache/pull/3948)](https://github.com/LMCache/LMCache/pull/3948)) ## Platform / Hardware - Auto-discover `DeviceIPCWrapper` subclasses under `platform/<device>/` ([[#3829](https://github.com/LMCache/LMCache/pull/3829)](https://github.com/LMCache/LMCache/pull/3829)) - Abstract pin memory behind `DeviceExt` and pin SHM for async D2H ([[#3823](https://github.com/LMCache/LMCache/pull/3823)](https://github.com/LMCache/LMCache/pull/3823)) - Add LMCache XPU Docker file ([[#3838](https://github.com/LMCache/LMCache/pull/3838)](https://github.com/LMCache/LMCache/pull/3838)) ## Model Support - Group layers with `EngineKVFormat` for MiniMax M3 ([[#3779](https://github.com/LMCache/LMCache/pull/3779)](https://github.com/LMCache/LMCache/pull/3779)) - Consolidate all grouping queries on `EngineKVFormat` (also fixes SGLang tests) ([[#3907](https://github.com/LMCache/LMCache/pull/3907)](https://github.com/LMCache/LMCache/pull/3907)) ## Operator - Auto-inject `LMCacheEngine` connection into vLLM pods via webhook ([[#3822](https://github.com/LMCache/LMCache/pull/3822)](https://github.com/LMCache/LMCache/pull/3822)) - Add configurable `hostNetwork` field to `LMCacheEngine` CRD ([[#3849](https://github.com/LMCache/LMCache/pull/3849)](https://github.com/LMCache/LMCache/pull/3849)) - Make engine DaemonSet privileged mode optional ([[#3943](https://github.com/LMCache/LMCache/pull/3943)](https://github.com/LMCache/LMCache/pull/3943)) ## Bugfixes - `LMCacheMPConnector` crashes under `MultiConnector` in PD setups ([[#3866](https://github.com/LMCache/LMCache/pull/3866)](https://github.com/LMCache/LMCache/pull/3866)) - Fix missing `cache_salt` in `free_lookup_locks` call (MP) ([[#3771](https://github.com/LMCache/LMCache/pull/3771)](https://github.com/LMCache/LMCache/pull/3771)) - Fix P2P coordinator server disconnected error ([[#3876](https://github.com/LMCache/LMCache/pull/3876)](https://github.com/LMCache/LMCache/pull/3876)) - Graceful skip on Scheduler-role abort in `request_finished` ([[#3340](https://github.com/LMCache/LMCache/pull/3340)](https://github.com/LMCache/LMCache/pull/3340)) - No-op KV transfer when LMCache is in degraded mode (vllm/v1) ([[#3487](https://github.com/LMCache/LMCache/pull/3487)](https://github.com/LMCache/LMCache/pull/3487)) - Clean up local backend lock handling ([[#3682](https://github.com/LMCache/LMCache/pull/3682)](https://github.com/LMCache/LMCache/pull/3682)) - Roll back put-task refs when RawBlock dispatch scheduling fails ([[#3698](https://github.com/LMCache/LMCache/pull/3698)](https://github.com/LMCache/LMCache/pull/3698)) - Allow non-zero `storage_offset` in dim-0-padded layout (MTP + CPU offload) ([[#3853](https://github.com/LMCache/LMCache/pull/3853)](https://github.com/LMCache/LMCache/pull/3853)) - Cache ctypes ubyte-array types to stop heap-type leak ([[#3793](https://github.com/LMCache/LMCache/pull/3793)](https://github.com/LMCache/LMCache/pull/3793)) - `batched_nixl_desc_exists` never hits on FILE (dynamic NIXL) ([[#3520](https://github.com/LMCache/LMCache/pull/3520)](https://github.com/LMCache/LMCache/pull/3520)) - Pin nixl backend directly so only one CUDA variant installs ([[#3883](https://github.com/LMCache/LMCache/pull/3883)](https://github.com/LMCache/LMCache/pull/3883)) - Fix dirty CMX read in static backend ([[#3937](https://github.com/LMCache/LMCache/pull/3937)](https://github.com/LMCache/LMCache/pull/3937)) - Fix `_alloc_page_aligned_pinned_view()` ([[#3839](https://github.com/LMCache/LMCache/pull/3839)](https://github.com/LMCache/LMCache/pull/3839)) - Fix unit tests ([[#3878](https://github.com/LMCache/LMCache/pull/3878)](https://github.com/LMCache/LMCache/pull/3878)) ## Refactoring - Route affinity thread pool on dense worker rank instead of hashed identity ([[#3905](https://github.com/LMCache/LMCache/pull/3905)](https://github.com/LMCache/LMCache/pull/3905)) - Move type-only imports under `TYPE_CHECKING` — l2_adapters ([[#3736](https://github.com/LMCache/LMCache/pull/3736)](https://github.com/LMCache/LMCache/pull/3736)), `IPCCacheServerKey` ([[#3800](https://github.com/LMCache/LMCache/pull/3800)](https://github.com/LMCache/LMCache/pull/3800)), and general cleanup ([[#3871](https://github.com/LMCache/LMCache/pull/3871)](https://github.com/LMCache/LMCache/pull/3871)) - Convert f-string log calls to `%`-format: `cache_engine.py` ([[#3784](https://github.com/LMCache/LMCache/pull/3784)](https://github.com/LMCache/LMCache/pull/3784)), `system_detection.py` ([[#3797](https://github.com/LMCache/LMCache/pull/3797)](https://github.com/LMCache/LMCache/pull/3797), [[#3795](https://github.com/LMCache/LMCache/pull/3795)](https://github.com/LMCache/LMCache/pull/3795)), `storage_backend` ([[#3975](https://github.com/LMCache/LMCache/pull/3975)](https://github.com/LMCache/LMCache/pull/3975)), `s3_connector.py` ([[#3977](https://github.com/LMCache/LMCache/pull/3977)](https://github.com/LMCache/LMCache/pull/3977)), `token_database` ([[#3982](https://github.com/LMCache/LMCache/pull/3982)](https://github.com/LMCache/LMCache/pull/3982)) ## Performance - Collapse object-group KV transfer into one GIL-released native call ([[#3908](https://github.com/LMCache/LMCache/pull/3908)](https://github.com/LMCache/LMCache/pull/3908)) ## CLI / Tooling - Output the model answer in `lmcache query engine` ([[#3887](https://github.com/LMCache/LMCache/pull/3887)](https://github.com/LMCache/LMCache/pull/3887)) - Add `describe engine` command ([[#3867](https://github.com/LMCache/LMCache/pull/3867)](https://github.com/LMCache/LMCache/pull/3867)) - `bench engine`: add back navigation, exit, and URL shorthand to interactive setup ([[#3953](https://github.com/LMCache/LMCache/pull/3953)](https://github.com/LMCache/LMCache/pull/3953)) - Allow bare host in `lmcache.mp.host` ([[#3951](https://github.com/LMCache/LMCache/pull/3951)](https://github.com/LMCache/LMCache/pull/3951)) ## CI / Build - cu129 release image: use stable vLLM wheel instead of nightly ([[#3946](https://github.com/LMCache/LMCache/pull/3946)](https://github.com/LMCache/LMCache/pull/3946)) - Add CUDA engine-driven MP mode for gsm8k to prevent functional and accuracy regressions ([[#3860](https://github.com/LMCache/LMCache/pull/3860)](https://github.com/LMCache/LMCache/pull/3860)) - Pin vLLM nightly to the canary-verified version ([[#3910](https://github.com/LMCache/LMCache/pull/3910)](https://github.com/LMCache/LMCache/pull/3910)) - Support timer-trigger test vllm and record ([[#3920](https://github.com/LMCache/LMCache/pull/3920)](https://github.com/LMCache/LMCache/pull/3920)) - Retry flaky multiprocess tests up to 3 times ([[#3816](https://github.com/LMCache/LMCache/pull/3816)](https://github.com/LMCache/LMCache/pull/3816)) ## Docs - Polish README update wording ([[#3542](https://github.com/LMCache/LMCache/pull/3542)](https://github.com/LMCache/LMCache/pull/3542)) - Remove duplicate Extension Guide tab ([[#3850](https://github.com/LMCache/LMCache/pull/3850)](https://github.com/LMCache/LMCache/pull/3850)) - Fix CRD spec docs and policy enum gaps ([[#3496](https://github.com/LMCache/LMCache/pull/3496)](https://github.com/LMCache/LMCache/pull/3496)) - Update developer guide CLI docs to match the auto-discovery framework ([[#3851](https://github.com/LMCache/LMCache/pull/3851)](https://github.com/LMCache/LMCache/pull/3851)) - Update CLI docs ([[#3870](https://github.com/LMCache/LMCache/pull/3870)](https://github.com/LMCache/LMCache/pull/3870)) - Fix MP observability `/metrics` port and add a Grafana guide ([[#3962](https://github.com/LMCache/LMCache/pull/3962)](https://github.com/LMCache/LMCache/pull/3962)) - Add deprecation warning for non-MP docs ([[#3963](https://github.com/LMCache/LMCache/pull/3963)](https://github.com/LMCache/LMCache/pull/3963)) - Consolidate daily drift-check updates (2026-06-29) ([[#3944](https://github.com/LMCache/LMCache/pull/3944)](https://github.com/LMCache/LMCache/pull/3944)) - Update Chinese documentation translations ([[#3811](https://github.com/LMCache/LMCache/pull/3811)](https://github.com/LMCache/LMCache/pull/3811)), fix translation & update welcome page ([[#3906](https://github.com/LMCache/LMCache/pull/3906)](https://github.com/LMCache/LMCache/pull/3906)), and fix translation reuse job ([[#3890](https://github.com/LMCache/LMCache/pull/3890)](https://github.com/LMCache/LMCache/pull/3890)) ## Observability - Raise timeout event upon timeout error ([[#3964](https://github.com/LMCache/LMCache/pull/3964)](https://github.com/LMCache/LMCache/pull/3964)) ## New Contributors @allytotheson, @chfeng-cs, @shihaoustc, @wsyjh8, @nevasini1, @sat-v4, @wangzhehan0811, @THINKER-ONLY, @a-m-n-s, @nafis271, @iyastreb, @Anai-Guo, @kartikhans, @waynel96 — thank you! **Full Changelog**: https://github.com/LMCache/LMCache/compare/v0.5.0...v0.5.1