v0.3.12
What's Changed
- docs: reflect WITH_NVIDIA_PEERMEM change from CMake flag to runtime env var by @stmatengss with @Copilot in #2164
- feat(rdma): mlx5dv QP path diversity via UDP sport and LAG port balance by @staryxchen in #2175
- [TENT] Enhanced QoS and Slice Spraying for TENT by @alogfans in #2048
- [TENT] Add codeowner to the TENT directory by @alogfans in #2183
- Add release-npu workflow by @JieTang66 in #2178
- [chore] Set default for WITH_NVIDIA_PEERMEM to true by @ShangmingCai in #2192
- [Store] Add structured object store helper by @zxpdemonio in #2140
- Bump version to 0.3.11.post1 in pyproject.toml by @ShangmingCai in #2194
- [build] Strip shared libraries to reduce NPU wheel size by @JieTang66 in #2202
- [Docs] Update README with citation details by @UNIDY2002 in #2190
- [Doc]: Update vLLM LMCache guide for MP interface by @fcczzz in #2209
- [Store] fix gauge overflow by separating DFS unlimited flag by @LujhCoconut in #2152
- [Store]: avoid INVALID_REPLICA error on empty offload by @LujhCoconut in #2151
- [Store] Fix: Auto-recovery for SSD Offload after Master Restart by @Colors-111 in #2077
- [Store] Fix: validate HA backend availability during config parsing by @Lin-z-w in #2111
- [Doc] Add missing aws-logo by @ykwd in #2211
- [codex] Update snapshot object store docs by @Dao007forever in #2148
- [TE] Python api "register_memory" & "batch_register_memory" support location param by @A-Liuhao in #2191
- [Bugfix][Store] Fix snapshot failure when OpLog has never been written by @leonzzhu in #2144
- [Build] Fix compile warnings across multiple components by @Aionw in #2193
- [Store] fix batch tensor allocation error code by @Lin-z-w in #2226
- Fix MACA nvlink allocator build by mapping CUmemAllocationHandleType by @muma378 in #2227
- [Docs]: fix docs config, remove autodoc2, archive zh docs, add .agents/… by @Aionw in #2218
- [TransferEngine][MACA] Add missing CUDA-like type aliases for MACA compatibility by @Dayuxiaoshui in #2230
- [TENT] Add rule-based transport and device selection by @alogfans in #2079
- [TE] Add ProgressWorker skeleton by @ZhenyuePan in #2199
- [Store] remove invalid kMaxSliceSize assertion in AllocateBatch by @LujhCoconut in #2165
- [CI] Add docs-check job to validate Sphinx build with -W by @Aionw in #2229
- [Store] Add opt-in grouped object routing semantics by @CAICAIIs in #2180
- feat(store): add SPDK NoF worker pool by @Enigmo-x in #2172
- [Store] (CI run_tests_with_ssd failed / promotion-on-hit failed) eliminate race conditions by @LujhCoconut in #2235
- [TransferEngine][docs] document FI_EFA_USE_DEVICE_RDMA=0 for same-host EFA loopback by @Chelseatr in #2222
- [Doc] update overall picture by @stmatengss in #2249
- [CI] feat: pre-release ci workflow by @stmatengss in #2212
- [Doc] Clarify TENT failover poll behavior by @ZhenyuePan in #2208
- [Security] Fix Go vulnerabilities in libetcd_wrapper.so by @alogfans in #2250
- Build tent by @Dao007forever in #2089
- [Store] Clarify cache stats semantics by @CAICAIIs in #2248
- feat(store): route NoF replicas through put and get by @Enigmo-x in #2247
- [Doc] Split LMCache vLLM MP and non-MP guides by @fcczzz in #2268
- [PG][EP] Fix engine.so runtime dependency by @mmangkad in #2255
- [Store] Implement tenant metadata map isolation by @Lin-z-w in #2232
- [EFA] Add MC_EFA_CQ_THREADS env var to cap CQ poller threads by @yuhuiaws in #2113
- [TransferEngine][ROCm] Add HIP dmabuf MR registration for AMD GPUs (fixes #751) by @andyluo7 in #2225
- [Store] enables the Ubtransport for Mooncake Store And optimize UrmaEndpoint by @zchuango in #2196
- [Store] L2->L1 promotion-on-hit: observability metrics + max_per_heartbeat knob by @yzhan1 in #2176
- fix(metrics): show actual client-reported SSD capacity instead of infinite by @Oxygen56 in #2278
- [TE][Store] Fix IPv6 address parsing in connection endpoints by @Aionw in #2184
- Fix P2PHANDSHAKE in dual-NIC container setups via MC_RDMA_BIND_ADDRESS by @stmatengss with @Copilot in #2280
- [TE] IntraNode NVLink transport: update cuMemcpyAsync to BatchAsyc for CUDA version >= 12.8 by @TTThanos in #2251
- fix(wheel): exclude libfabric/libefa from auditwheel bundle to avoid dual-libfabric EFA conflict by @whn09 in #2271
- remote redis dependency by @jinke446 in #2109
- [Store] Robustify ConfigDict size parsing by @CAICAIIs in #2206
- fix: unify default cluster_namespace to match master's DEFAULT_CLUSTE… by @leonzzhu in #2244
- [TE] fix: pass default port when parsing TENT RDMA bind a… by @Lin-z-w in #2289
- [Store] RemoveAll not deleting SSD offload files, enable storage_backend_->RemoveAll() in Client::RemoveAll by @Colors-111 in #2283
- [Store] Propagate tenant identity through object RPCs by @Lin-z-w in #2288
- [Doc] add vLLM scenario-based landing pages and archive legacy docs by @Aionw in #2262
- [Store] Support tenant-aware async storage tasks by @Lin-z-w in #2294
- [Build] Disable debug symbols (-g) in default compilation flags by @Aionw in #2285
- [TE] Fix TCP connection pool SIGSEGV by deferring cleanup with asio::post by @alogfans in #2174
- Store Extract 3FS logic into DistributedStorageBackend by @LujhCoconut in #2234
- [TENT] Add policy name binding to transport selector by @alogfans in #2295
- [Doc] reorganize API reference with Python/C++/HTTP sub-indices by @Aionw in #2263
- [Store] Support SSD offload configuration in standalone store service by @ertcmm in #2261
- [TransferEngine] Make TCP transport slice size configurable via MC_TCP_SLICE_SIZE by @gogongxt in #2308
- fix(transfer_engine): improve auto gid selection and retry by @Bo-Vincent in #2269
- [TE/TENT] Allow building tebench without USE_TENT by @00fish0 in #2322
- fix(ci): move sccache --show-stats to after build steps by @Aionw in #2303
- [Docs][1/N] Refactor Readme: update readme top link and badges by @ykwd in #2304
- [Docs] [2/N] Refactor Readme: merges the Showcase and Components sections by @ykwd in #2312
- [TE] fix(efa): short-circuit same-process GPU loopback to avoid libfabric SHM segfault by @whn09 in #2298
- [Doc] Update Documentation URL in pyproject.toml by @ShangmingCai in #2326
- [Docs] Add build guidance for npu platform by @VNightMare in #2325
- [Store] Fix idempotent rpc_meta re-publish by @he-yufeng in #2311
- [Bugfix][Store] Fix HA snapshot restore rejecting newer metadata formats by @Dao007forever in #2257
- [TE] Optimize ascend_direct async query and fix auto_connect teardown by @ascend-direct-dev in #2323
- [TransferEngine] Fix resource leaks in error paths by @jfeng18 in #2332
- [Common] Harden Environ parsing, fix opendir leak, support .yml config by @jfeng18 in #2316
- [PG] Add MUSA build support by @UNIDY2002 in #2329
- [Wheel] Fix _parse_segment_size to support KB/MB/TB suffixes and fix handle_put None crash by @jfeng18 in #2321
- [TE] add device API support by @UNIDY2002 in #2333
- [PG] Fix null-deref on MNNVL disconnect and activeRanks leak by @jfeng18 in #2347
- [PG] Fix data race: make running_ atomic by @jfeng18 in #2352
- [PG] Build the MUSA PG extension through torchada by @yeahdongcn in #2353
- Fix DLSlime typo in LMDeploy docs by @JimyMa in #2356
- feat(engine): add attributes in python package for compile flags by @HubertZhang in #2342
- [Doc] Add Mooncake local CI skill docs by @stmatengss in #2134
- [TENT] Validate minimum request size before XferDataDesc cast by @jfeng18 in #2351
- [TE] Fix data race, double-close, uninit, and off-by-one in RDMA transport by @jfeng18 in #2346
- [TE] Harden config parsing: remove exit() and guard stoi by @jfeng18 in #2344
- [TE] Fix error-path safety: freeaddrinfo leak, null deref, OOB read by @jfeng18 in #2343
- [TE] Fix lock leak, missing transport_, and empty entries UB by @jfeng18 in #2349
- feat(store): add NoF SSD deployment tools and e2e coverage by @Enigmo-x in #2273
- [TE] Harden TCP transport: validate remote addresses, fix idle cleanup, add TCP_NODELAY by @jfeng18 in #2314
- [Store] master log journal by @stmatengss in #2297
- [Store] Remove HAMetricManager::Init() by @Aionw in #2287
- [Store] Clean up tenant-aware master service APIs by @Lin-z-w in #2337
- [TENT] feat: add per-request transport_hint for fine-grained transport selection in tent by @chestnut-Q in #2339
- [Store] Introduce buffer pool for zero copy interfaces by @zxpdemonio in #2095
- chore(Doc): update clang-format installation instructions in documentation by @SYaoJun in #2381
- [Doc] restructure SGLang integration docs and add performance index by @Aionw in #2265
- [build] NPU wheel: RPATH patching, vendored lib consolidation, pip retry, cmake fixes by @JieTang66 in #2216
- [Store] feat: add GetSegmentsDetail API to expose segment info via ad… by @leonzzhu in #2310
- [Common][Store][TE] Fix UB: passing signed char to ::tolower in std::transform by @Chelseatr in #2367
- [CI] Add issue bot for auto-triage and stale issue closure by @stmatengss in #2378
- [Doc] rewrite deployment guide and add Mooncake Store performance index by @Aionw in #2266
- [TENT] Add local admission queue prototype by @zbchi in #2341
- [TE] Improving the RDMA transport failure handling by @alogfans in #2155
- [TransferEngine] Fix: TCP transport implicitly creates CUDA context on GPU0 by @gogongxt in #2307
- Add modular KVCache storage benchmark (v1) by @alogfans in #2368
- [Doc] finalize navigation restructure and update build/design docs by @Aionw in #2267
- [Store] Introduce cached batch query result by @zxpdemonio in #1834
- [CI] guard sccache stats when unavailable by @Aionw in #2369
- feat: support graceful shutdown for mooncake_master on SIGINT/SIGTERM by @SYaoJun in #2359
- [TE] Guard stoull in EFA getMaxPteEntries against invalid input by @jfeng18 in #2363
- [Docs] [3/N] Refactor Readme: improve TE description and streamline updates by @ykwd in #2418
- [CI] allow clang-format (generic binary) to be detected as version 20 by @Aionw in #2334
- [Integration] Reject failed Python buddy allocator backing buffer by @he-yufeng in #2402
- [Docs] move Mooncake Store usage guide by @Aionw in #2421
- fix(ha): ensure /oplog/{cluster_id}/latest key is initialized on firs… by @leonzzhu in #2168
- [Docs] [4/N] Refactor Readme: simplify hardware and build sections by @Aionw in #2420
- [Misc] Enhance PR template with AI disclosure and structured testing by @stmatengss in #2397
- [TE] Use MLU address range query for RDMA dmabuf by @phantomlei3 in #2416
- [CI/Build] Expand auto-labeling and add PR description cleanup by @stmatengss in #2396
- [TE] fix race condition in ub_transport and disable ub_transport_test by @00fish0 in #2324
- [TE] Fix NVMeoF loop variable bug and NVMeoFBatchDesc leak by @jfeng18 in #2373
- [TransferEngine] Bound handshake-port connect() with a timeout by @Dao007forever in #2425
- [PG] Add experimental MACA PG support by @Dayuxiaoshui in #2365
- [Docs] Readme add pypi npu badge by @ykwd in #2437
- [TransferEngine] fix: reset last_wait_ts after work to avoid skipping… by @QAQYangT-T in #2434
- [TransferEngine] Clean up failed io_uring sub-batch initialization by @he-yufeng in #2403
- feat(store): scope S3 snapshot path by cluster_id to support multi-cl… by @leonzzhu in #2301
- [Store] fix: register local hot cache memory with transfer engine by @zwtao40 in #2399
- [CI] Change options to speed up ci for ascend. by @VNightMare in #2439
- [Doc] Fix inaccuracies in EFA transport doc (vLLM router, SGLang patch link, Technical Details) by @whn09 in #2443
- [build] Migrate NPU wheel CI to cloud runners with ARM/x86 matrix by @JieTang66 in #2386
- [TE][Sunrise][Feat] Enable Sunrise support in the classic transfer engine path by @RuixiangMa in #2290
- [Docs] [5/N] Refactor Readme: Streamline README Store, SGLang, and vLLM integration sections by @ykwd in #2442
- [EP] integrate Device API (P2pTransport/RdmaTransport) — CUDA only by @UNIDY2002 in #2382
- [Store] test: add comprehensive MasterAdminServer HTTP endpoint tests by @Aionw in #2431
- [CI] add qoder review by @stmatengss in #2462
- [Store] fix: /query_key endpoint returns valid JSON response by @Aionw in #2435
- Store check actual disk space in eviction logic by @LujhCoconut in #2419
- [CI] Skip Qoder code review for fork and cross-repo PRs by @stmatengss in #2473
- [Integration] Return documented failure sentinel 0 from uint64 async transfer APIs by @bp-cheng in #2433
- fix: wrap async main() for console_scripts entry point by @mzygQAQ in #2453
- [TE] Extend standalone same-device avoidance to non-RoCE paths by @ascend-direct-dev in #2366
- [Store] Fix local hot cache rejecting larger objects after block reuse by @feichai0017 in #2466
- [Docs] Fix onboarding bugs: NameError, Dockerfile ref, PyPI URL, missing deps by @jfeng18 in #2408
- [Docs]: Document group semantics by @yokinoshitayoki in #2465
- [Store] feat: add tenant quota core by @Lin-z-w in #2358
- [TE][Sunrise][Feat] Enable Sunrise VRAM support in tebench for the TENT backend by @RuixiangMa in #2452
- [docs] add docs for EP & PG by @UNIDY2002 in #2481
- [Store] Fix stale hot cache reuse after object removal by @zchuango in #2447
- [build] Add Python 3.9 support to NPU wheel release by @JieTang66 in #2483
- [Store] fix: change default eviction policy for offload bucket from n… by @NUABO in #2474
- fix(efa): declare FI_HMEM in caps for GPU builds by @whn09 in #2448
- [Store] Fix ABBA deadlock between GracefulUnmountScheduler and snapshot_mutex_ by @feichai0017 in #2486
- [CI/Build] Add stale issue/PR bot by @stmatengss in #2395
- [Bugfix] Support EulerOS in dependencies installer by @he-yufeng in #2460
- [Store][Refactor]: extract generic DeadlineScheduler from graceful unmount by @Aionw in #2494
- [Doc]: publish built-in skills and add plugin marketplace by @Aionw in #2497
- [Store] support zero-sized tensors in Python APIs by @zxpdemonio in #2470
- [Store] Reduce lookup eviction contention by @yokinoshitayoki in #2405
- fix(store): don't fail bundle cleanup when per-key remove retry succeeds by @he-yufeng in #2500
- [Integration] Fix double-free in buffer_to_tensor error path by @feichai0017 in #2493
- [TENT] Reduce SegmentDesc fetch overhead on cold receive path by @chestnut-Q in #2482
- [CI] cleanup: delete deprecated .ci directory by @stmatengss in #2517
- [TE] Add MC_TE_FILTERS env var for IB device whitelist by @huojianqiangg in #2495
- [Doc] Update tent arxiv paper to README.md by @stmatengss in #2522
- [Store] Group BatchGetReplicaList metadata lookup by shard by @bitborne in #2508
- Store: Enable rpc timeout by @zhangzuo21 in #2423
- [Store] recover etcd client after leader hang (SIGSTOP) by @Icedcoco in #2383
- [Store] Make etcd master-view watch event-driven instead of polling by @silas-scitix in #2484
- [Store][Refactor]: Refactor master admin service by @Aionw in #2422
- [Store] Rust: don't force-link the ASan runtime in non-sanitized builds by @donghun-furiosa in #2510
- [Store] Fix cache total metrics accounting on metadata removal by @feichai0017 in #2520
- [Store][TE] Fix remaining signed-char ::tolower/::toupper UB missed by #2367 by @bp-cheng in #2488
- [TE] Fix signed-char tolower UB in PCI BDF lowercasing loops (follow-up to #2367/#2488) by @bp-cheng in #2504
- [TENT] Fix CUDA event leak in nvlink/mnnvl transports by @jfeng18 in #2507
- [EP] support MUSA platform by @UNIDY2002 in #2480
- [CI] disable automatic assignment by @stmatengss in #2531
- [TE] Support per-role Ascend protocol for co-located Transfer Engines by @ascend-direct-dev in #2499
- Add torch 2.12.1 to EP PG build matrix by @mmangkad in #2538
- [CI] Update stale.yml by @stmatengss in #2543
- [Store] dynamic tenant quota master admission by @Lin-z-w in #2492
- [Store] add codec inference and recursive structure expansion by @zxpdemonio in #2521
- [Doc] Rework Mooncake Store deployment guide: P2P-first quick start, three client deployment methods, flag fixes by @00fish0 in #2532
- [TE][Fix] Fix excessive memory allocation in submitPostSend by @leonzzhu in #2490
- [TE] fix(efa): widen MR keys to 64-bit to avoid fi_mr_key() truncation by @whn09 in #2564
- [Store] Complete dynamic tenant quota admin, eviction, metrics, and snapshots by @Lin-z-w in #2549
- [Doc] complete Rust API reference for transfer engine and mooncake store by @stmatengss in #2547
- [Store][K8s-Native][3/N] Label-based routing by @vladnosiv in #2537
- Update BatchAsync for MMNVL by @TTThanos in #2384
- [Store] Add size-class allocator fragmentation benchmark by @HGinkgo in #2340
- [TENT] add local runtime queue dispatch by @zbchi in #2562
- [Store] fix integer overflow in BatchOffload for objects larger than 4 GiB by @he-yufeng in #2570
- HipTransport: restore caller device after async transfer by @carlushuang in #2566
- [CI] Fix build-musa: add missing MUSA macro mappings for nvlink_tranport APIs by @RuixiangMa in #2575
- [TE] Make TransferEngine movable by @zjjf in #2567
- [TransferEngine] Apply configured SL/TC to the TENT notification QP by @catyans in #2526
- [Store] add structured object copy-mode policy by @zxpdemonio in #2472
- [Store]: Fix BatchEvict Over-Eviction Due to Inflated Target When SSD Offload Is Enabled by @Colors-111 in #2286
- [Store] Clean up HTTP metadata on client timeout for separately-deployed metadata servers (follow-up to #1363) by @chenkaiyue in #2498
- [Bugfix] Preserve empty values in Mooncake Store REST GET by @VectorPeak in #2587
- [TE] Universal TCP Force Mechanism for All Environments by @alogfans in #2593
- [Build] Fix build failure on Python 3.14t without --enable-shared by @leveretconey in #2553
- [Store] Add SSD free-ratio-first allocation strategy by @zchuango in #2450
- [Store][Bugfix]:Fix SGLang fails to start with MC_USE_TENT=1 when built without USE_TENT by @RuixiangMa in #2596
- [TransferEngine] Make InfiniBand Service Level configurable via MC_IB_SL by @catyans in #2525
- [TE] Skip redundant Disconnect on AutoConnect transfer failures by @ascend-direct-dev in #2604
- fix(rdma): restore task.request association in submitTransfer by @he-yufeng in #2610
- [codex] sync store and benchmark docs by @Aionw in #2556
- [MUSA] Add release-musa github workflow by @yeahdongcn in #2576
- [Store] add structured object flat mvp by @zxpdemonio in #2600
- [TE] Enforce one-shot lifecycle for connected RDMA endpoints by @alogfans in #2588
- fix(maca): map cudaStreamQuery for the intra-node NVLink build by @he-yufeng in #2606
- [Store] Make offloading_queue_limit and offload_cap_ratio configurabl… by @leonzzhu in #2599
- [Doc] chore: Add Sunrise logo to supported hardware and contributors by @RuixiangMa in #2615
- Infer gpu device from request source pointers, set correct device for stream creation. by @dadadada-147 in #2569
- [PG] Fix elastic P2P after max_world_size recovery by @zackyoray in #2623
- [CI] Add AWS EFA wheel build/release to official CI/CD by @whn09 in #2565
- [TE] Fix signed-char isxdigit UB in EFA smaps page-size parsing (follow-up to #2504) by @he-yufeng in #2619
- fix(transport): associate task.request in EFA/Kunpeng submitTransfer by @he-yufeng in #2617
- [CI][Build] Build CUDA release wheels in the PyTorch manylinux image by @mgoin in #2605
- [Store] add remote tensor batch interfaces by @zxpdemonio in #2050
- [Bugfix] Parse string booleans for enable_ssd_offload in from_file by @he-yufeng in #2506
- [Docs] Clarify non-CUDA quick start dependencies by @Makzert in #2539
- [Bugfix] Return HTTP 500 when is_exist reports an error in handle_exist by @he-yufeng in #2602
- [CI] Disable pip cache in build-flags to avoid disk exhaustion by @mgoin in #2626
- [Store] Stop snapshot thread promptly during shutdown by @feichai0017 in #2533
- [Bugfix] Fix RDMA active handshake timeout race with simultaneous passive connection by @LCAIZJ in #2624
- [TENT] Add optional Request.deadline_ns and MLU observability metric (RFC #2519 step 1) by @catyans in #2618
- [Store] Don't abort client init on a malformed MC_MS_AUTO_DISC value by @he-yufeng in #2629
- [Bugfix] Set Ascend context in batch get worker by @greatwhole in #2557
- [Doc] chore: Add Hygon logo to supported hardware and contributors by @huojianqiangg in #2642
- [TransferEngine] Guard MC_TCP_SLICE_SIZE parsing against std::stoull throwing by @he-yufeng in #2641
- [Docs] [7/N] Refactor Readme: update README hardware partners table and logos by @ykwd in #2654
- [Store] Fix source refcnt leak in CopyEnd/MoveEnd on invalid source by @he-yufeng in #2628
- Hca peer affinity by @hzt123123 in #2616
- [TE] Guard against null endpoint_store_ in UrmaContext destructor by @he-yufeng in #2627
- [TE] add HPE Slingshot (cxi) backend by @wqwqazwsxedc in #2535
- [TENT] Fix stale getTransferStatus in nvlink/mnnvl/ascend transports by @jfeng18 in #2505
- [EP] Fix: Skip inactive ranks in combine reduction loop by @RuixiangMa in #2653
- [Docs] Add Docker Badge for Readme by @ykwd in #2670
- [build] Use dynamic CANN version detection for NPU release workflow by @JieTang66 in #2577
- [TE] Name AscendDirectTransport worker threads by @ascend-direct-dev in #2672
- [Docs] [6/N] Refactor Readme: Streamline README and move setup/trace details to other places by @ykwd in #2652
- [Store] feat: implements strict multi-tenant quota admission by @Lin-z-w in #2612
- [CI] add arm64 CI by @UNIDY2002 in #2428
- [Store] Skip bucket files with non-numeric names instead of aborting Init by @he-yufeng in #2651
- [TENT] Port TE RDMA lifecycle and tests to TENT by @alogfans in #2664
- [Bugfix] Remove duplicate replica erase in PutRevoke by @fcczzz in #2679
- [EP]:Stabilize MACA Expert Parallelism P2P Fast Path by @Dayuxiaoshui in #2592
- [Docs] Update build guide source flow by @Aionw in #2675
- [Store] Refactor accelerator device registry and staging copies by @Aionw in #2583
- [Store]: Fix Offloading Task Orphan Causing Expired Warnings by @Colors-111 in #2658
- Complete Cache Hit Metrics for Memory and SSD Offload Tiers by @Colors-111 in #2637
- [TE] Support rdma+hip multi-protocol segments for single-node disaggregation by @Lzy17 in #2682
- [Doc]: clarify Mooncake Store quick start and Transfer Engine guidance by @Aionw in #2667
- [Doc] Align docs homepage and sidebar navigation depth by @Aionw in #2705
- [Bugfix] Separate post and poll in RDMA worker pool by @c-guo16 in #2696
- [Store] Refactor SHM UDS FD Passing for Real/Dummy Client by @Aionw in #2681
- [Wheel] Enrich PyPI metadata for Mooncake wheel variants by @Icedcoco in #2677
- Apply per Device stream to avoid GPU 0 kmd traffic by @TTThanos in #2578
- [Store][Sunrise]: Enable sunrise support for Mooncake Store by @RuixiangMa in #2534
- Bump google.golang.org/grpc from 1.59.0 to 1.79.3 in /mooncake-p2p-store/src/p2pstore by @dependabot[bot] in #1789
- [CI] fix some small CI issues by @UNIDY2002 in #2686
- [Store] Add Local First Allocation Strategy by @yokinoshitayoki in #2638
- [Store] Add NormalizeTenantIdRef zero-copy variant for hot paths by @ZhijunLStudio in #2698
- [CI/Build] Fix build-musa: add missing MUSA mappings for nvlink_transport APIs (#2578) by @staryxchen in #2710
- [TE] Fix cross-node RDMA KV transfer under rdma+hip multi-protocol on AMD by @Lzy17 in #2725
- [CI] publish master image to Docker Hub via manual workflow by @tpiperatgod in #2678
- [Doc] Clarify FAST25 trace release by @yokinoshitayoki in #2727
- [TE] Capture GPU device at registration time in MnnvlTransport / NVLinkTransport by @xiangui33423 in #2691
- fix(store): chunk oversized io_uring vector I/O by @zxpdemonio in #2719
- Bump golang.org/x/net from 0.47.0 to 0.55.0 in /mooncake-common/k8s-lease by @dependabot[bot] in #2742
- [TE] Add TPU (PJRT) staging support to TENT by @Liwink in #2733
- [Store] Make batch_query_keys read-only and return all replica types by @smartssw in #2685
- [Doc] Add agent guidance by @Aionw in #2712
- [TransferEngine] Prefer private-range IPv4 GIDs over link-local IPv6 in auto-selection by @n-WN in #2741
- [TE] Downgrade unrecognized mem addr log from ERROR to INFO by @ascend-direct-dev in #2734
- [Store] Enable hugepage mmap in allocate_buffer_numa_segments by @mikegguo in #2417
- [TENT] Fix data race on local SegmentDesc via copy-on-write snapshots by @n-WN in #2714
- [Store] Format Mooncake Store Go and Rust bindings by @Aionw in #2737
- [TE] Fix MNNVL staging path reading capabilities from RDMA transport by @staryxchen in #2751
- [Store] add etcd tenant quota connector by @Lin-z-w in #2687
- [Store] Fix ConfigDict global segment size validation by @bitborne in #2661
- [Store] Refactor store buffer headers and slice splitting by @Aionw in #2732
- [TENT] SelectionPolicy: per-policy SL/TC/qp_pool schema (RFC #2568 step 1) by @catyans in #2640
- [Store] feat: allow configuring client tenant id by @Lin-z-w in #2755
- [TE] Fix cross-GPU NVLink/MNNVL event-stream device mismatch (#2722) by @xiangui33423 in #2754
- [TE] Route cross-host targets over rdma automatically in rdma+hip multi-protocol segments by @Lzy17 in #2753
- Bump golang.org/x/net from 0.38.0 to 0.55.0 in /mooncake-transfer-engine/example/http-metadata-server by @dependabot[bot] in #2730
- [CI/Build] Add dedicated tent-ci job with CUDA/CPU matrix by @staryxchen in #2720
- [Doc] Update README with LightX2V deployment details by @stmatengss in #2767
- [Store] Add BatchEvict candidate-selection benchmark by @jacklin78911-collab in #2584
- docs: clarify local SSD offload configuration by @feichai0017 in #2728
- [Wheel] Validate MooncakeConfig fields with fail-fast errors by @SuperMarioYL in #2456
- [Store] Externalize S3 client config via environment variables by @mzygQAQ in #2649
- [TENT] Per-pool QP allocation with per-pool SL/TC (RFC #2568 step 2) by @catyans in #2759
- [TENT] Make RDMA NIC allow/deny list configurable via MC_FILTER_NIC(_EXCLUDE) by @catyans in #2760
- [CI] Extract reusable wheel build/publish workflows by @mgoin in #2723
- [Store] Support local_buffer_size in mooncake_client by @NUABO in #2739
- [TENT] Opt-in earliest-deadline-first dispatch in admission queue (RFC #2519 step 2) by @catyans in #2763
- [Bench] Enable replay speedup and multi-threading in SSD Benchmarking by @alogfans in #2780
- [TENT] Deadline-infeasible drop + degradation hook (RFC #2519 step 3) by @catyans in #2764
- [Store] Fix S3 list objects pagination by @feichai0017 in #2778
- feat(store): add optional RFC #1527 KV events publisher on master by @stmatengss in #2214
- [TENT] RailMonitor: prefer same-name device for cross-NUMA rail mapping (#2758/#2467) by @catyans in #2790
- Bump golang.org/x/net from 0.48.0 to 0.55.0 in /mooncake-p2p-store/src/p2pstore by @dependabot[bot] in #2708
- [Bugfix] Reject empty keys in HTTP metadata server by @VectorPeak in #2770
- [wip] docs: add vLLM V1 MooncakeStore KV cache sharing benchmark by @LujhCoconut in #2773
- Bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /mooncake-transfer-engine/example/http-metadata-server by @dependabot[bot] in #2789
- [Store] Fix --host parameter to support ip:port format for TransferEngine data plane port by @NUABO in #2784
- [TENT] Opt-in per-entry priority promotion (#2528) by @catyans in #2788
- [TENT] Expose Request.deadline_ns and policy_name to Python bindings by @catyans in #2808
- [Bugfix][TENT] Fix silent TPU data corruption for transfers larger than one staging chunk by @Liwink in #2815
- [Doc] Reorganize performance docs by @ykwd in #2824
- [Bugfix] Skip os.chmod when binary is already readable and executable by @Csrayz in #2803
- [CI/Build] Fix compile warnings by @Aionw in #2825
- [Store] Refactor: Extract snapshot orchestration into MasterSnapshotManager by @xiangui33423 in #2805
- [TENT] Add IntentType enum to Request for Transfer Intent API by @catyans in #2810
- [TENT] admission queue: deadline proximity promotion for dispatch by @catyans in #2814
- [TransferEngine] Add show-link diagnostic tool for NIC topology by @catyans in #2820
- [TransferEngine] Add graceful shutdown for SIGTERM/SIGINT by @catyans in #2812
- [TransferEngine] Validate batch memory registrations by @feichai0017 in #2854
- [TE] Make ThreadLocalStorage per-instance and reclaim per-thread holders by @n-WN in #2842
- [EP] Cap active RoCE QPs for IBGDA kernels by @UNIDY2002 in #2544
- [EP] add DeepEP V2 elastic buffer by @UNIDY2002 in #2503
- [TE] Add host control fallback for IBGDA QP setup by @UNIDY2002 in #2867
- [CI] Migrate tone_tests to CUDA 13: pull cu130 wheel, adapt sglang/vllm paths, add NCCL env & offline model cache by @luketong777 in #2811
- [TransferEngine] Acknowledged TCP framing: COMPLETED means applied at destination by @n-WN in #2850
- [TransferEngine] Reject concurrent overlapping memory registrations by @feichai0017 in #2870
- [TransferEngine] Optimize MACA P2P copy path by @Dayuxiaoshui in #2774
- [Store] Speed up HugeTLB population before RDMA registration by @zhangzuo21 in #2838
- [TE] Fix RDMA transport rail-failure handling and CQ timeout diagnostic by @alogfans in #2872
- [TENT] Add best-effort RDMA task cancellation by @catyans in #2851
- [Bugfix] Gate RDMA sends until active side confirms QP readiness by @LCAIZJ in #2625
- [Store] feat: expose client metrics HTTP config to Python by @Lin-z-w in #2822
- [TENT] Add causal chain stage decomposition for transfer latency by @catyans in #2821
- [TE] Add metadata refresh polling for segment cache by @greatwhole in #2795
- [TENT] Bind transport policies to intent type by @catyans in #2847
- [store] Opt-in topology-aware remote replica scoring in SelectBestReplica (#2516) by @catyans in #2781
- [Store] Extract master snapshot codec from MasterService(3/5) by @xiangui33423 in #2831
- [TENT] Opt-in deadline-aware NIC bandwidth arbitration (RFC #2792) by @catyans in #2794
- [Transfer Engine] Refresh RDMA metadata on HCA and GID change events by @alogfans in #2878
- [Doc] Add Kubernetes Deployment Guide for Mooncake Store and Transfer Engine by @tpiperatgod in #2771
- [Store] Fix SSD offload publish-before-commit race (#2799) by @LujhCoconut in #2818
- [STORE] Implement FIFO eviction for OffsetAllocatorStorageBackend by @LujhCoconut in #2880
- [TENT] Reuse and release SHM relocation mappings across threads by @morluto in #2891
- [TE] Reject empty RDMA completion resources during context setup by @morluto in #2892
- [Store] Tune Master defaults based on RPC scaling results by @Aionw in #2871
- [TENT] Wire live RDMA bandwidth into admission queue degradation policy by @catyans in #2816
- [TE] Use std::atomic to support ARM64 relaxed ordering by @alogfans in #2897
- [TE] Reject unsupported NVMe-oF task batches and correlate cuFile completions by @morluto in #2893
- [Store] Make batch_evict_bench scale and eviction ratios configurable by @jacklin78911-collab in #2855
- [TENT] Add receiver-credit ledger model and protocol invariants by @catyans in #2860
- [TENT] Add QoS metrics baseline to tebench by @catyans in #2845
- [TENT] Fix mismatched cuFileBatchIOGetStatus semantics in gds transport by @tong1heng in #2921
- [Store] fix GPU-addressed local copy crashes by @zxpdemonio in #2926
- [Doc] Update README news by @stmatengss with @Copilot in #2940
- [TransferEngine] Share one dma_buf fd across all NICs to avoid ×N BAR1 usage by @Dao007forever in #2523
- [Store] Extract snapshot restore path into layered architecture(4/5) by @xiangui33423 in #2879
- feat(store): add proactive disk watermark eviction by @CAICAIIs in #2281
- [TENT] Add QoS contract schema resolver by @catyans in #2857
- [store] fix SPDK client buffer teardown by @zxpdemonio in #2936
- [transport/nvmeof] surface terminal slice failures by @zxpdemonio in #2939
- [MUSA] Enable EP/PG extensions by switching to a PyTorch base image by @yeahdongcn in #2938
- [TE] Enforce QP teardown before MR dereg on shutdown by @alogfans in #2895
- [TransferEngine] Propagate batch memory operation errors by @feichai0017 in #2869
- [Bugfix][TransferEngine] Pause active reconnects to failed peers by @Dao007forever in #2941
- [TransferEngine] Roll back partial registration in registerLocalMemory by @he-yufeng in #2965
- [TE] Add MNNVL support to Device API by @UNIDY2002 in #2956
- [Wheel] Gracefully stop Store REST service on SIGTERM by @zhangzuo21 in #2874
- [Store] Clean up and document snapshot refactoring (5/5) by @xiangui33423 in #2943
- [Store] Surface HTTP metadata server bind failures in start() by @he-yufeng in #2942
- [Doc] Add SGLang PD transfer benchmark by @yokinoshitayoki in #2972
- [Bugfix] Roll back failed OffsetAllocator evictions by @feichai0017 in #2964
- [CI/Build] Build release aarch64 wheels in a manylinux container by @chethanuk in #2968
- [CI] Align pre-release artifact names with release naming by @stmatengss in #2931
- [CI/Build] Fix pre-release wheel builds by @Aionw in #2975
- [TE] Improve RDMA NIC failover recovery by @alogfans in #2959
- [TENT] Fix metrics HTTP server falsely reporting success on port bind failure by @anranxia in #2978
- [CI/Build] Fix test-wheel-ubuntu flake by @staryxchen in #2988
- [Store] Serialize ssd_total_capacity_bytes in local disk snapshot (#2783) by @he-yufeng in #2927
- [Doc] Add llm-d Integration page to the Kubernetes deployment guide by @tpiperatgod in #2983
- [CI/Build] Disable unit tests in release wheel builds by @Aionw in #2995
- [Store] L2→L1 promotion background retry for hot LOCAL_DISK-only keys (V1.1) by @Srinivasoo7 in #2690
- [PG][1/N] Decouple communication failures from membership changes by @caozhanhao in #2338
- [CI/Build] Stabilize release wheel builds by @Aionw in #3002
- [TENT] Expose RDMA NIC load stats via Transport interface by @HeinUmin in #2996
- [TENT] Fix metrics recording zero-overhead, MLU sentinel, and parallel-vector contract by @staryxchen in #2989
- Revert "[PG][1/N] Decouple communication failures from membership changes" by @UNIDY2002 in #3011
- feat: expand Grafana dashboard with comprehensive Master metrics panels by @liangxu2000 in #2944
- [TENT] Remove dead metrics config flags and wire validateConfig into initialize() by @staryxchen in #3017
- [CI]fix(ci): lookup integration artifact by workflow run by @luketong777 in #3026
- [Wheel] Bump version to 0.3.12 on release branch by @Aionw in #3084
New Contributors
- @JieTang66 made their first contribution in #2178
- @fcczzz made their first contribution in #2209
- @Dao007forever made their first contribution in #2148
- @leonzzhu made their first contribution in #2144
- @muma378 made their first contribution in #2227
- @CAICAIIs made their first contribution in #2180
- @Enigmo-x made their first contribution in #2172
- @Chelseatr made their first contribution in #2222
- @mmangkad made their first contribution in #2255
- @yuhuiaws made their first contribution in #2113
- @andyluo7 made their first contribution in #2225
- @Oxygen56 made their first contribution in #2278
- @gogongxt made their first contribution in #2308
- @jfeng18 made their first contribution in #2332
- @JimyMa made their first contribution in #2356
- @HubertZhang made their first contribution in #2342
- @zbchi made their first contribution in #2341
- @QAQYangT-T made their first contribution in #2434
- @bp-cheng made their first contribution in #2433
- @feichai0017 made their first contribution in #2466
- @huojianqiangg made their first contribution in #2495
- @bitborne made their first contribution in #2508
- @Icedcoco made their first contribution in #2383
- @silas-scitix made their first contribution in #2484
- @HGinkgo made their first contribution in #2340
- @carlushuang made their first contribution in #2566
- @zjjf made their first contribution in #2567
- @catyans made their first contribution in #2526
- @leveretconey made their first contribution in #2553
- @dadadada-147 made their first contribution in #2569
- @zackyoray made their first contribution in #2623
- @mgoin made their first contribution in #2605
- @Makzert made their first contribution in #2539
- @greatwhole made their first contribution in #2557
- @hzt123123 made their first contribution in #2616
- @wqwqazwsxedc made their first contribution in #2535
- @c-guo16 made their first contribution in #2696
- @ZhijunLStudio made their first contribution in #2698
- @tpiperatgod made their first contribution in #2678
- @xiangui33423 made their first contribution in #2691
- @Liwink made their first contribution in #2733
- @smartssw made their first contribution in #2685
- @n-WN made their first contribution in #2741
- @mikegguo made their first contribution in #2417
- @jacklin78911-collab made their first contribution in #2584
- @Csrayz made their first contribution in #2803
- @morluto made their first contribution in #2891
- @tong1heng made their first contribution in #2921
- @chethanuk made their first contribution in #2968
- @anranxia made their first contribution in #2978
- @Srinivasoo7 made their first contribution in #2690
- @HeinUmin made their first contribution in #2996
- @liangxu2000 made their first contribution in #2944
Full Changelog: v0.3.11...v0.3.12