# MinIO MemKV RELEASE.2026-10-13T08-23-34Z

MinIO MemKV no longer accepts FREE licenses: servers and clients on a FREE license refuse to start after this upgrade. The 1.0.12 plugins add vLLM 0.29 support and stop vLLM's engine from shutting down when KV it flushes for preempted requests waits behind other transfers.

## Downloads

### linux-amd64

- [libmemkv_preload.so](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z)
- [libplugin_MEMKV.so](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z)
- [memkv](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv)
- [memkv.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.RELEASE.2026-10-13T08-23-34Z)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [libmemkv_preload.so.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.sha256sum)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [libplugin_MEMKV.so.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.sha256sum)
- [memkv-20261013082334.0.0-1.x86_64.rpm.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv-20261013082334.0.0-1.x86_64.rpm.sha256sum)
- [memkv.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [memkv.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.sha256sum)
- [memkv_20261013082334.0.0_amd64.deb.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv_20261013082334.0.0_amd64.deb.sha256sum)
- [memkv_20261013082334.0.0_x86_64.apk.sha256sum](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv_20261013082334.0.0_x86_64.apk.sha256sum)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.asc)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.minisig)
- [libmemkv_preload.so.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.asc)
- [libmemkv_preload.so.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libmemkv_preload.so.minisig)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.asc)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.minisig)
- [libplugin_MEMKV.so.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.asc)
- [libplugin_MEMKV.so.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/libplugin_MEMKV.so.minisig)
- [memkv.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.asc)
- [memkv.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.minisig)
- [memkv.asc](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.asc)
- [memkv.minisig](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.minisig)
- [memkv-20261013082334.0.0-1.x86_64.rpm](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv-20261013082334.0.0-1.x86_64.rpm)
- [memkv.apk](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.apk)
- [memkv.deb](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.deb)
- [memkv.rpm](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv.rpm)
- [memkv_20261013082334.0.0_amd64.deb](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv_20261013082334.0.0_amd64.deb)
- [memkv_20261013082334.0.0_x86_64.apk](https://dl.min.io/aistor/memkv/release/linux-amd64/archive/memkv_20261013082334.0.0_x86_64.apk)

### linux-arm64

- [libmemkv_preload.so](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z)
- [libplugin_MEMKV.so](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z)
- [memkv](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv)
- [memkv.RELEASE.2026-10-13T08-23-34Z](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.RELEASE.2026-10-13T08-23-34Z)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [libmemkv_preload.so.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.sha256sum)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [libplugin_MEMKV.so.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.sha256sum)
- [memkv-20261013082334.0.0-1.aarch64.rpm.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv-20261013082334.0.0-1.aarch64.rpm.sha256sum)
- [memkv.RELEASE.2026-10-13T08-23-34Z.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.sha256sum)
- [memkv.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.sha256sum)
- [memkv_20261013082334.0.0_aarch64.apk.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv_20261013082334.0.0_aarch64.apk.sha256sum)
- [memkv_20261013082334.0.0_arm64.deb.sha256sum](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv_20261013082334.0.0_arm64.deb.sha256sum)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.asc)
- [libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.RELEASE.2026-10-13T08-23-34Z.minisig)
- [libmemkv_preload.so.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.asc)
- [libmemkv_preload.so.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libmemkv_preload.so.minisig)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.asc)
- [libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.RELEASE.2026-10-13T08-23-34Z.minisig)
- [libplugin_MEMKV.so.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.asc)
- [libplugin_MEMKV.so.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/libplugin_MEMKV.so.minisig)
- [memkv.RELEASE.2026-10-13T08-23-34Z.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.asc)
- [memkv.RELEASE.2026-10-13T08-23-34Z.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.RELEASE.2026-10-13T08-23-34Z.minisig)
- [memkv.asc](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.asc)
- [memkv.minisig](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.minisig)
- [memkv-20261013082334.0.0-1.aarch64.rpm](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv-20261013082334.0.0-1.aarch64.rpm)
- [memkv.apk](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.apk)
- [memkv.deb](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.deb)
- [memkv.rpm](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv.rpm)
- [memkv_20261013082334.0.0_aarch64.apk](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv_20261013082334.0.0_aarch64.apk)
- [memkv_20261013082334.0.0_arm64.deb](https://dl.min.io/aistor/memkv/release/linux-arm64/archive/memkv_20261013082334.0.0_arm64.deb)

### Container Images

- `quay.io/minio/memkv:RELEASE.2026-10-13T08-23-34Z`
- `quay.io/minio/memkv:latest`

### Python Plugins

```bash
pip install -U memkv-lmcache memkv-sglang memkv-vllm
```

PyPI serves **1.0.12** for amd64 and arm64 (manylinux_2_28). Use it with this release. `memkv-lmcache` requires Python 3.10–3.13 and `lmcache>=0.5.4,<0.6`, `memkv-vllm` requires Python 3.10+, and `memkv-sglang` requires Python 3.8+. (#108)

The deb, rpm and apk packages install the same plugin code under `/usr/share/memkv/wheels/`, for hosts without network access, but those wheels are stamped **1.0.11**. They are not the 1.0.11 on PyPI, which lacks this release's changes. See the Upgrade Instructions.

## New Features

- **vLLM 0.29.0 support.** The vLLM plugin is tested against 0.25.0–0.27.1 and 0.29.0. (#94)
- **Separate load and store transfer pools for vLLM.** Set `memkv_load_threads` and `memkv_store_threads` together to give restores their own threads and scratch buffers, so a returning request's restore does not queue behind a burst of stores. Scratch per rank becomes `(memkv_load_threads + memkv_store_threads) × memkv_scratch_mb_per_thread`, in GPU memory when staging on the GPU. Unset, the plugin keeps its single pool. (#94, #103)

## Bug Fixes

### Python Plugins

- **vLLM's engine could stop on a bandwidth-limited network under heavy load.** Stores that vLLM flushes for preempted requests shared the link with all other transfers, could outlive `memkv_wait_timeout_s`, and vLLM then ended the EngineCore. Transfers the engine is waiting on now run ahead of all others. (#94, #103)

### Server

- **`memkv net topo` columns now line up** with long RDMA device names such as `roceP2p1s0f0`. (#107)

## License Changes

- **FREE licenses are no longer accepted.** The server refuses to start, and the NIXL plugin, the `LD_PRELOAD` shim and the Python plugins refuse to load, with a FREE license, as they already do with TRIAL and STANDARD. Accepted plans are ENTERPRISE, ENTERPRISE-LITE and ENTERPRISE-PLUS (ENTERPRISE-OEM on OEM builds). Request a license through SUBNET. (#106)
- **The free-tier limits are gone** with it: the single-remote-server limit on clients, and the single-drive and 32 TiB limits on servers. (#106)
- **The example server configs were renamed** from `server-file-free-tier.yaml` and `server-jbof-free-tier.yaml` to `server-file.yaml` and `server-jbof.yaml`. (#106)

## Security & Compliance

Software bill of materials for this release, attached to the release and published alongside these notes:

- `sbom-RELEASE.2026-10-13T08-23-34Z.spdx.json`
- `sbom-RELEASE.2026-10-13T08-23-34Z.cyclonedx.json`
- `cargo-tree-RELEASE.2026-10-13T08-23-34Z.txt`
- `crates-RELEASE.2026-10-13T08-23-34Z.txt`

## Upgrade Instructions

1. **Check the license plan before upgrading.** A server or client on a FREE license will not start after the upgrade. Install an ENTERPRISE, ENTERPRISE-LITE or ENTERPRISE-PLUS license first.

2. **Install plugins 1.0.12 from PyPI.** To install from the packaged wheels instead, add `--force-reinstall`: pip treats them as already installed on a host that has PyPI 1.0.11, and leaves the older code in place.

   ```bash
   pip install --force-reinstall --no-deps /usr/share/memkv/wheels/memkv_*-1.0.11-*.whl
   ```

3. **A failed transfer still stops vLLM's engine in direct offload mode** on every vLLM release through 0.29.0. That includes a block evicted after lookup and a flush that outlives `memkv_wait_timeout_s`. The priority added in this release makes the timeout case rare, but cannot rule it out on a saturated network. Contact MinIO support for the vLLM patch that makes the engine recompute the affected blocks instead, and set `kv_load_failure_policy` to `"recompute"` in the `KVTransferConfig` with it.

4. **Update references to the renamed example configs** in scripts or deployment tooling.

Documentation: <https://docs.min.io/memkv/> (`/operate/configuration`, `/integrate/vllm-gpudirect`). Licensed customers: contact MinIO support through SUBNET. Security disclosures: security@min.io.
