Repository navigation
This release brings major upgrades across Mooncake Store, Transfer Engine, TENT, Expert Parallelism (EP), Process Group (PG), ecosystem integrations, and hardware support, with 689 commits and 99 new contributors
Highlights
Transfer Engine & TENT
- Added POSIX shared-memory transport for efficient intra-node DRAM transfers.
- Improved transfer efficiency with pipelined operations, selective signaling, and native RDMA notifications, alongside optional adaptive RDMA congestion control.
- Enhanced TENT with asynchronous TCP transfers, multi-rail routing, large-read striping, load-aware lane selection, and idle connection reclamation.
- Expanded Prometheus metrics and improved RDMA connection lifecycle management, memory registration, and data integrity diagnostics.
Mooncake Store
- Added NVLink-based Extended GPU Memory (EGM) pooling on Grace-Blackwell and Vera Rubin platforms, enabling direct GPU access to shared host memory.
- Improved tenant-aware metadata management, quota accounting, and eviction with finer-grained locking and proactive reclamation.
- Enhanced client resilience with recoverable heartbeat states, asynchronous cleanup, and improved RPC isolation.
- Expanded external storage capabilities with DFS shard scaling, OSS/S3 backends, and optional SSD-to-DRAM prefetching.
Mooncake EP & Process Group (PG)
- Added an NCCL Device API backend for EP ElasticBuffer, supporting elastic peer management and rank replacement recovery.
- Introduced a new device collective framework in PG with IBGDA support.
- Added JIT compilation for EP CUDA backends and PG PyTorch adapters, removing PG's dependency on specific PyTorch versions.
Integration
- vLLM added cross-encoder embedding reuse through Mooncake Store for multimodal disaggregated serving.
- TokenSpeed integrated Mooncake Store as an L3 KV cache backend, alongside Transfer Engine support for PD/EPD disaggregation.
- TensorRT-LLM integrated Mooncake Store into KVCMv2 for content-addressed KV cache pooling and cross-instance prefix reuse.
- LMDeploy integrated Mooncake Store for shared KV cache pooling and cross-instance prefix reuse.
Platforms & Distribution
- Expanded hardware support across Hygon DCU, Cambricon MLU, MetaX MACA, Moore Threads MUSA, Biren SUPA, NVIDIA Data Direct, and AWS Trainium/EFA.
- Added Intel XPU support across Transfer Engine, Store, and EP, including PCIe P2P, GPUDirect RDMA, GDS, and host staging.
- Enhanced Ascend NPU support with the new MemFabric transport and mooncake-transfer-engine-memfabric wheel package, alongside native UB Transport, HCCS, and A5 RoCE capabilities.
- Expanded PyPI wheel support to Python 3.14.
- Added build support for macOS, Kylin OS, and RISC-V.
What's Changed
- [TENT] Remove global lock serialization on per-batch hot paths by @staryxchen in #3648
- [TENT] Preserve per-request RDMA selection policy by @waizuichougou in #3647
- [Bugfix][TE] Restore fork state on memory unregister to prevent VMA exhaustion (#3639) by @XFDG in #3660
- [Build] Propagate YLT includes to PG device compiler by @Aionw in #3691
- [TENT] Guard RDMA worker latency samples behind latency logging flag by @alogfans in #3690
- [CI/Build] Gate pre-releases through TestPyPI by @Aionw in #3672
- [Docs] Add FlagCX transport README by @MC952-arch in #3695
- [Bugfix][PG] Balance CUDA graph capture-depth accounting by @waizuichougou in #3701
- [Bugfix] [TransferEngine] Fence stale RDMA handshakes after QP reconstruction by @ehuohz in #3584
- TENT: flush a peer's pooled RPC connections when one of them fails by @xiaodouzi666 in #3684
- [TransferEngine] Reuse TCP CUDA staging buffers across chunks by @thunguo in #3562
- [TransferEngine] Log batchTransferSync failure paths by @staryxchen in #3676
- [Bugfix][TE] Evict stale endpoints on RDMA port recovery by @XFDG in #3604
- [TENT] Cache metrics label cells to remove hot-path lock contention by @staryxchen in #3677
- [TENT] Fix IPC relocation to not switch to the peer's device ordinal by @staryxchen in #3678
- [TE] Bound RDMA batch MR registration by @Aionw in #3664
- [Store] Migrate object lifecycle and tenancy MasterService tests to the scenario DSL by @rishabhsinha17 in #3656
- [Doc] Add ROCm Wheel Badge and Simplify the README by @ykwd in #3719
- [Bugfix][Store] Handle BatchEvict OpLog failures by @Icedcoco in #3422
- [EP] Migrate Python layer to unified package by @Aionw in #3635
- [Bugfix][TENT] Guard deferred batch liveness checks with the batch shard by @waizuichougou in #3725
- [Reshard] Bind logical transfer plans to runtime snapshots by @Bo-Vincent in #3634
- [Store] Decouple object routing from grouped-object semantics by @CAICAIIs in #3589
- [Store] Gate HA serving on successful standby restore by @Icedcoco in #3497
- [Store] Add batch OpLog snapshot bootstrap by @Icedcoco in #3642
- [EP] retain tensors for deferred receive hooks by @UNIDY2002 in #3732
- [Doc] Add ROCm package to Quick Start by @Aionw in #3720
- [Store] Bound eventual PutStart retries in scenario tests by @Icedcoco in #3748
- [TransferEngine][EP] Support Kimi K3 & guard against duplicate glog initialization by @kyx1999 in #3727
- [CI/Build] Add RISC-V build support by @stmatengss in #3590
- Revert "[CI/Build] Add RISC-V build support" by @ykwd in #3759
- [TENT] Derive per-NIC bandwidth from the negotiated port speed by @SongOf in #3644
- [Bugfix][Store] Preserve selected local disk replica by @yyaoling in #3620
- [TENT] Share the CUDA IPC handle across buffers in one cudaMalloc segment by @staryxchen in #3679
- [TENT] Recover from synchronous submit failures via transport failover by @staryxchen in #3682
- [TE] Shard TCP transport I/O across a pool of io_context threads by @anranxia in #3724
- [TENT] Keep the worker from blocking on its own submit queue by @he-yufeng in #3683
- Fix while send error reset connection by @XiaokunDing in #3475
- tent: make Redis/Http metastore thread-safe by @XiaokunDing in #3470
- [Bugfix][Store] Remove partial files after short pwritev by @waizuichougou in #3766
- [Bugfix][TENT] Retry RDMA bootstrap after stale peer endpoints by @staryxchen in #3755
- [Store] Add fenced snapshot publication with maintenance lease by @Icedcoco in #3640
- [Bugfix][Store] Flush data to stable storage before committing metadata by @XFDG in #3601
- [CI] Rebalance PR and nightly test coverage by @Aionw in #3669
- [TENT] Add task failure reason counter and in-flight gauges by @staryxchen in #3680
- [Store] Add /version HTTP endpoint to master and real client (#3617) by @mjwtom in #3619
- [TENT] Drop ineffective unit tests and bind coverage to production paths by @staryxchen in #3757
- [Bugfix][TENT] Offload TCP SendData/RecvData and raise default RPC threads by @staryxchen in #3767
- [CI/Build] Run etcd wrapper Go tests with CTest by @migarci2 in #3753
- [TransferEngine] Add per-target metrics to multi-target tebench by @jacklin78911-collab in #3779
- [CI] Stop run-e2e-ci from retriggering Build & Test by @staryxchen in #3756
- [Store] Introduce stateful region resource drivers by @Aionw in #3703
- [CI/Build] Keep non-CUDA wheels CUDA-free by @Aionw in #3745
- Fix data copy while not on same device by @XiaokunDing in #3476
- [TENT]: Map MOONCAKE_LOCAL_HOSTNAME to TENT rpc_server_hostname by @Colors-111 in #3790
- [TENT] Prefer the LAG-effective port speed from ibv_query_port_speed by @SongOf in #3777
- [Store] Add batch OpLog snapshot coordinator by @Icedcoco in #3794
- [Store] Structure ClientAutoPortConfig environment settings by @bitborne in #3785
- [Store] Remove redundant per-file deletion delay by @zupengwang in #3758
- [Bugfix][Store] Allow explicit host identity for local-first allocation by @zupengwang in #3782
- [TE] Increase TCP queued transfer admission thresholds by @alogfans in #3710
- [CI] Keep Ascend mirror retry on actions/checkout by @staryxchen in #3802
- [Bugfix][TransferEngine] Serialize RDMA endpoint lifecycle by peer owner by @alogfans in #3718
- feat: Add strict_local_numa to hard-exclude cross-NUMA RDMA rails by @XiaokunDing in #3468
- [Bugfix][TENT] Preserve ownership after failed memory free by @982945902 in #3582
- [Store] Fix snapshot test eviction race by @Icedcoco in #3813
- [Bugfix][TENT] Drain the async event queue and recover contexts whose PORT_ACTIVE was lost by @TTThanos in #3799
- [Store] Structure DistributedStorageConfig environment settings by @bitborne in #3763
- [Store] Structure ClientMetricConfig environment settings by @bitborne in #3773
- [Store] Structure LocalHotCacheConfig environment settings by @bitborne in #3781
- [Store] Structure RegisteredPinnedMemoryConfig environment settings by @bitborne in #3804
- [Bugfix][TENT] Register notify recv slots with one MR per endpoint by @staryxchen in #3820
- [CI/Build] Restore RISC-V support without README badge by @stmatengss in #3816
- [Bugfix][TENT] Don't throw when aggregating transfer status during teardown by @staryxchen in #3768
- [Store] Support 512MB hugepage size for client buffer allocation by @Kevin-XiongC in #3789
- [Bugfix][TENT] TENT store warmup failure on multi-NUMA RDMA hosts by @Colors-111 in #3784
- [TENT]Add correctness-first high-performance TCP foundation by @jacklin78911-collab in #3689
- [Bugfix][Store] Return failure from PushOffloadingQueue on no-op enqueue by @XFDG in #3726
- [TransferEngine] Keep RDMA owner CQ polled during active handshake by @alogfans in #3814
- [TENT] Fix DeviceSelector inflight quota accounting by @anranxia in #3511
- [PG] Fix CUDA enqueue-stream serialization by @caozhanhao in #3798
- [PG] Add support for torch==2.14.0 by @UNIDY2002 in #3842
- [Bugfix][TE] Use the only ADXL endpoint when dest has one engine by @ascend-direct-dev in #3835
- [Bugfix][TENT] Keep RailMonitor state across COW topology refreshes by @staryxchen in #3832
- [TENT]: Deduplicate TentMetrics singleton via shared tent_metrics library by @Colors-111 in #3797
- [TENT] Route HP TCP lanes across configured rails by @jacklin78911-collab in #3834
- [Store] Preserve ReplicaID during standby restore by @Icedcoco in #3811
- [Store] Enable fenced batch OpLog writer by @Icedcoco in #3810
- [Store] Structure ReplicaSelectionConfig environment settings by @bitborne in #3840
- [Store] Align OffsetAllocatorBackendConfig with config layout by @bitborne in #3823
- [Bugfix][TransferEngine] Free wr_depth_list_ of zero-QP endpoints in ~RdmaEndPoint by @rishabhsinha17 in #3846
- [Store] Migrate placement, replication, and task scenario tests to the MasterScenario DSL by @rishabhsinha17 in #3702
- [Store] Complete KV event publication by @Misak2333 in #3818
- [Store] Introduce placement index and replica allocator by @Aionw in #3704
- [Store] Self-heal dangling LOCAL_DISK replicas in Client::Put by @he-yufeng in #3711
- [P2P-Store] Unregister buffers on GetReplica failure paths by @chlins in #3783
- [Bugfix] Fail SSD eviction tests on read errors by @migarci2 in #3738
- [P2P-Store] Release batch IDs on all performTransfer exit paths by @chlins in #3770
- [Build] conductor: build skeleton and common layer by @Chase-Rong in #3825
- [TENT] Add native UB endpoint bootstrap and READ/WRITE data path by @zchuango in #3796
- Bump google.golang.org/grpc from 1.79.3 to 1.83.1 in /mooncake-p2p-store/src/p2pstore by @dependabot[bot] in #3827
- [Bugfix][TENT] Return an error for unregistered application RPC IDs by @jacklin78911-collab in #3862
- [TENT] Slice large HP TCP reads across rails by @jacklin78911-collab in #3861
- [CI] Separate concurrent SSD write and read phases by @xiaono1 in #3870
- [Reshard] Add Store-backed model-weight snapshots by @Bo-Vincent in #3772
- [TransferEngine] Clear pending notify when freeing batch by @CorgiBoyG in #3891
- [Bugfix][TENT] Predict deadline MLU from a metered wire rate and the bytes ahead by @SongOf in #3780
- [Bugfix][Store] Support Dummy external buffer registration by @zxpdemonio in #3721
- [Store] Migrate storage-tier RPC scenarios to the MasterScenario DSL by @rishabhsinha17 in #3847
- [CI/Build] Add Kylin support to dependencies installer by @LiChangXin-KylinSoft in #3906
- [CI/Build] Upload pre-release wheels to GitHub Releases by @stmatengss in #3908
- [Store] Expose explicit soft pin action and TTL in C ABI and Go/Rust bindings by @CAICAIIs in #3881
- [TENT] Disable Nagle on HP TCP client sockets by @jacklin78911-collab in #3883
- [TENT] Pin dispatching_bytes_ to the eligible bytes in Dispatching by @SongOf in #3910
- [TENT] Drain RDMA CQ and dest GPU before tearing down MRs by @staryxchen in #3899
- [Store] Add bounded standby promotion handoff by @Icedcoco in #3841
- [Store] Structure TransferSubmitterConfig environment settings by @bitborne in #3850
- [Store] Structure LocalFileSnapshotConfig environment settings by @bitborne in #3872
- [Store] Structure RpcTimeoutConfig environment settings by @bitborne in #3871
- [Store] Structure FilePerKeyConfig environment settings by @bitborne in #3853
- [Feature] Add per-file storage mode to storage_benchmark_v1 by @rayeaster in #3454
- [Store] Stabilize HA under OpLog pressure by @tensorcopy in #3860
- [CI/Build] Run current weight snapshot API tests in nightly by @migarci2 in #3930
- [Bugfix][TransferEngine] Prevent peer failures from latching RDMA contexts inactive by @Dao007forever in #3559
- [Store] Fail-stop supervisor on OpLog writer terminal failure by @Icedcoco in #3923
- [CI/Build] Simplify CI orchestration and share smoke services by @Aionw in #3913
- [TENT] Add configuration lifecycle foundation by @bugkeep in #3836
- [EP] Add NCCL Device API backend for ElasticBuffer by @akhillanger in #3449
- [TE] Add metadata versioning by @alogfans in #3837
- [Bugfix][TENT] Serialize lanes sharing a queue pair on its slice queue by @SongOf in #3924
- [TENT] Fix HP TCP coalescing limits and short READ stalls by @jacklin78911-collab in #3931
- [TENT] Say why the drop and arbitration MLU read different bytes_ahead by @SongOf in #3907
- [Store] Migrate eviction and concurrency scenarios to the MasterScenario DSL by @rishabhsinha17 in #3927
- [Store] Split utility code by function by @Aionw in #3587
- [Bugfix][Store] Route tensor _from writes through multi-buffers by @zxpdemonio in #3722
- [Fix] TENT gid lid refresh by @TTThanos in #3920
- [TENT] Spin with pause before yielding in TicketLock by @SongOf in #3925
- [TE] Keep fabric mem Store-only; drop GRC fabric_memory enablement by @ascend-direct-dev in #3955
- [TENT] Pin failover policy at transfer submission by @jacklin78911-collab in #3934
- [TENT] Skip idle GPUs when synchronizing dest CUDA contexts by @staryxchen in #3945
- [Store] Validate DummyClient registration of external pinned buffers by @zxpdemonio in #3712
- [Bugfix][TransferEngine] Export the requested range for dma-buf registration under CUDA VMM (fixes #2511) by @hope1262946533 in #3538
- [Py] Fix batch_id leak on timeout and submit failure paths by @jfeng18 in #2350
- [Integration] Fail Python init when allocator support is unavailable by @he-yufeng in #2404
- TENT: deliver self-targeted notifications in-process by @xiaodouzi666 in #3464
- [Store] Introduce SegmentPool catalog and lifecycle by @Aionw in #3705
- [Store] Structure NvmeKvConnectorConfig environment settings by @bitborne in #3948
- [Store] Structure NoFRegisterConfig environment settings by @bitborne in #3949
- [Store] Structure MmapArenaConfig environment settings by @bitborne in #3956
- [Store] Structure ClientNumaConfig environment settings by @bitborne in #3966
- [Store] Structure CxlSegmentConfig environment settings by @bitborne in #3967
- [Store] Wire opt-in batch OpLog snapshots into standby runtime by @Icedcoco in #3950
- [Store] Add recoverable client liveness and asynchronous offboarding by @Doube-Suzerain in #2991
- [Store] Sweep stale handles in bounded write-lock batches by @pjdurden in #3593
- [TransferEngine] Add POSIX SHM transport for same-host DRAM copies by @staryxchen in #3918
- [TransferEngine] Prefer THP for shared-segment mmap without a HugeTLB pool by @ascend-direct-dev in #3952
- [EP] Support NCCL ElasticBuffer recovery after rank replacement by @akhillanger in #3963
- [TENT] Export EGM host memory over multi-node NVLink (opt-in) by @xiaguan in #3978
- [Store] Release GIL during client setup by @LCAIZJ in #3947
- [Reshard] Add KV cache reshard planning by @LLLL114 in #3564
- [CI/Build] Add self-hosted MI350X ROCm external PD tier by @andyluo7 in #3338
- [Bugfix] Preserve calling thread CPU affinity across SPDK env init by @NUABO in #3904
- [Store] Add DFS read/write metrics and diagnostic logging by @codenaut-919 in #3855
- [Store] Support online DFS shard capacity expansion by @zupengwang in #3984
- [P2PStore] Fix GetReplica metadata recheck retries by @waizuichougou in #3921
- [Store] Fail KV benchmarks when a worker raises by @030611 in #3938
- [TE] Report buffered JSONL write failures in tebench by @anranxia in #3992
- [Bugfix][TransferEngine] Invalidate stale remote segments in syncSegmentCache by @SuperMarioYL in #3072
- [CI/Build] Fix build-musa: map cudaDevAttrMultiProcessorCount by @Aionw in #3999
- [Store] Complete N08 post-launch snapshot validation by @Icedcoco in #3991
- [Bugfix][Store] Cover HotStandbyService behaviors with deterministic fakes by @huangxiaobai-ydmy in #3687
- [TENT] Rotate HP TCP lanes independently per peer by @jacklin78911-collab in #3987
- [Store] Avoid blocking HA reattachment on master connection retries by @waizuichougou in #3743
- [P2P-Store] Back off transfer status polling after a spin budget by @chlins in #3851
- [TENT] Retire idle HP TCP client connections by @jacklin78911-collab in #3988
- [Conductor] conductor: prefix index types and hash strategy by @Chase-Rong in #3879
- [Store] Optimize CRC-64 checksum calculation with slice-by-8 by @SnowLegend-star in #3922
- [Bugfix][Store] Check read leases after grouped batch gets by @gpulost in #3996
- [Docs] Clarify Store parallel tensor API selection and limits by @stmatengss in #3959
- [Store] Fan verified bytes out to duplicate keys in batch gets by @he-yufeng in #3929
- [Bugfix][TE] Fix Ascend LocalCopyEngine stream/context for multi-device async copy by @csxxs in #4026
- [Doc] Add AgentX and Mooncake news to README by @stmatengss with @Copilot in #4011
- [TENT] fix: TCP transport implicitly creates CUDA contexts by @gogongxt in #3973
- [TransferEngine] Enable MACA IBGDA using the shared mlx5 transport by @UNIDY2002 in #3997
- [Store] Align BucketBackendConfig with config layout by @bitborne in #3957
- [Store] Structure NvmeKvIoConcurrencyConfig environment settings by @bitborne in #4012
- [Store] Structure HugepageConfig environment settings by @bitborne in #3983
- [Store] Structure ClientAutoDiscoveryConfig environment settings by @bitborne in #3900
- [Store] Structure SpdkControllerConfig environment settings by @bitborne in #3982
- [Store] Structure RpcProtocolConfig environment settings by @bitborne in #3976
- [Doc] Backport vLLM large-change guidance into CONTRIBUTING by @stmatengss with @Copilot in #4032
- [Conductor] Add PR classification and automatic labeling by @Aionw in #4010
- [TENT] Revoke registrations removed by failed batch rollback by @jacklin78911-collab in #4002
- [TENT] Fix standard TCP completion, permissions and task accounting by @jacklin78911-collab in #4001
- [Bugfix][Store] Support RealClient CUDA tensor reads by @zxpdemonio in #3723
- [TENT] Refresh TCP endpoints without replaying uncertain writes by @jacklin78911-collab in #4006
- [TENT] Refresh HP TCP endpoints after pre-send connection failures by @jacklin78911-collab in #4007
- [TENT] Read the notify QP's RTR/RTS attributes from EndPointParams by @xiaodouzi666 in #4064
- [CI/Build] Enable KV events in wheels with ZeroMQ dependencies by @stmatengss in #4060
- [Bugfix] Fix GIL misuse in TENT Python guard exits by @jacklin78911-collab in #4051
- [Store] Support DeepSeek-V4.1-Flash Engram with local and Store-backed byte tables by @magicYang1573 in #4065
- [CI/Build] Retry transient PUT failures in SSD eviction test by @zxpdemonio in #3875
- [Bugfix][TENT] Plan RDMA slices from the block size: no empty slices, and fold short tails by @SongOf in #3981
- [TENT] Drain standard TCP workers during quiesce by @jacklin78911-collab in #4005
- [Store] Add a per-tenant eviction watermark so quota pressure evicts instead of rejecting by @gongwei-130 in #3805
- [Store] Structure RedisConnectionConfig environment settings by @bitborne in #4036
- [TENT] Add CUDA coverage for TCP data-path round trips by @CharlesXu-HQ in #4082
- [Bugfix][TENT] Keep engines alive for Python allocation guards by @jacklin78911-collab in #4087
- [TransferEngine] Enrich Ascend init and register-mem error logs with context by @Cheng-China in #4084
- [Store] Avoid redundant QueryResult copies on read paths by @waizuichougou in #4085
- [TENT] Add Intel XPU platform to the Transfer Engine by @XinyuYe-Intel in #4030
- [Bugfix][TENT] Fix Python send_probe under MC_USE_TENT by @CharlesXu-HQ in #4081
- [Bugfix][TENT] Initialize byte counts when polling staged transfers by @jacklin78911-collab in #4088
- [Bugfix][TE] Fix 64KB alignment for default memory allocator by @gygdh-001 in #4057
- [TENT] Honor forced TCP in classic compatibility layer by @ToLiveAndLove in #4027
- [Bugfix][Store] Bind hugepage store segments onto agent-mode engines by @ascend-direct-dev in #3917
- [Bugfix][Store] Set ACL context on DummyClient copy RPCs by @ascend-direct-dev in #3998
- [Store] Add OpLog writer runtime metrics by @Icedcoco in #4052
- [Store] Rebootstrap standbys behind the compaction floor by @Icedcoco in #4048
- [Store] Add fork-safe SegmentPool snapshot codecs by @Aionw in #3706
- [Store] Drain in-flight RPCs and keep pools alive across client teardown by @he-yufeng in #3943
- [Conductor] conductor: tiered prefix indexer by @Misak2333 in #4041
- [Bugfix][TENT] Forward classic RDMA device filters by @TTThanos in #4028
- [Store] Shrink metadata maps after ClearStaleHandles sweeps by @Colors-111 in #4103
- [PG] Fix P2P epoch matching and destroy/reinit test ordering by @caozhanhao in #4106
- [Doc] Fix vLLM PD proxy guidance for the bootstrap-based MooncakeConnector by @CAICAIIs in #4071
- [TENT] Align Ascend Direct with async AutoConnect-only transfer by @ascend-direct-dev in #3933
- [Store] Add post-publish snapshot object GC by @Icedcoco in #4049
- [TransferEngine] Report Redis error replies as failures in the metadata plugin by @he-yufeng in #4107
- [Bugfix][TENT] Detect dead peers in CheckSegmentStatus under MC_USE_TENT by @TTThanos in #4109
- [CI/Build] Fix scheduling race in SHM copy test by @jacklin78911-collab in #4121
- [Store] Avoid replica descriptor copies in batch writes by @waizuichougou in #4102
- [Store] Add bounded batch OpLog deletion primitive by @Icedcoco in #4112
- [Bugfix][Store] Properly enable O_DIRECT for OffsetAllocator vector I/O by @huangxiaobai-ydmy in #3615
- [Store] Add object storage adapter and OSS integration by @fcczzz in #3714
- [CI/Build] Fix missing DeleteRange override in snapshot GC test by @anranxia in #4131
- [TE] Fix transfer byte accounting races and completion caching by @anranxia in #3986
- [Conductor] Add KV event decoders and object key parsers by @yejj710 in #4123
- [Bugfix][TENT] Take the handler map lock when serving an RPC by @SongOf in #4147
- [Store] Centralize MasterService test access in a test-only peer by @Aionw in #4135
- [TENT] Map compatibility API failures to classic error codes by @anranxia in #4139
- [Store] Structure OssAdapterConfig environment settings by @bitborne in #4146
- [Wheel] Migrate SSD administration to unified Python package by @Aionw in #3630
- [Bugfix][TENT] Fix VMM teardown order in MNNVL transport by @jfeng18 in #4108
- [Store] Make re-offload of persisted keys an idempotent skip in BatchOffload by @he-yufeng in #3135
- [Store] Group NVMe KV implementation in a dedicated directory by @Aionw in #4134
- [CI/Build] Fix the USE_NOF build and NoF e2e on Ubuntu by @Ziy1-Tan in #4079
- [TENT] Support priority and remote access options in the compatibility API by @anranxia in #4114
- [Store] Extract per-object metadata and runtime state headers from MasterService by @CAICAIIs in #4127
- [CI/Build] Isolate HA durable-finalize tests from tenant eviction by @Icedcoco in #4155
- [Store] Freeze restored snapshot test eviction worker by @Icedcoco in #4156
- [BugFix][TENT] Fix ProgressWorker refill test race with dispatch window by @staryxchen in #4066
- [Bugfix] Honor MC_FORCE_HCA before automatic GPU P2P fallback by @Alibaba-GuoYouzhi in #4151
- [Bugfix][TENT] Disable HP TCP when forcing TCP by @jacklin78911-collab in #4113
- [Store] Add durable awaiter to OrderedOpLogWriter by @0z5a in #4141
- [CI] Make the Go store integration link self-contained again by @he-yufeng in #4150
- [Store] Add snapshot-validated batch OpLog pruning by @Icedcoco in #4142
- [Bugfix][Store] Poll TENT batches with event completion enabled by @jacklin78911-collab in #4143
- [CI/Build] Add Hygon HCU PR validation by @Leewzh in #4100
- [Store] Structure HaClusterNamespaceConfig environment settings by @bitborne in #4165
- [Store] Structure FilereadWorkerPoolConfig environment settings by @bitborne in #4166
- [Store] Structure ClientHostIdentityConfig environment settings by @bitborne in #4119
- [Store] Structure S3ClientConfig environment settings by @bitborne in #4098
- [Bugfix][Store] Register ShmHelper memory with SPDK for NoF zero-copy transfers by @NUABO in #3717
- [Bugfix][TENT] Preserve cached handles across send_probe by @ToLiveAndLove in #4115
- [TENT] Fix first buffer address lookup in the compatibility API by @anranxia in #4138
- Feat/support store shm copy by @Luis-xu in #4110
- [Doc] Explain HP TCP multi-rail concurrency tuning by @jacklin78911-collab in #4009
- [TransferEngine] Cache the last-hit MR and index the buffer list for selectDevice by @staryxchen in #4132
- [TENT] Retry read-only segment metadata lookup once after RPC failure by @Bo-Vincent in #4163
- [Store] Add batch snapshot and retention capacity metrics by @Icedcoco in #4173
- [CI/Build] Allow authorized fork checkout in Hygon CI by @Leewzh in #4186
- [Store] Add the per-object entry, object route and group table by @CAICAIIs in #4161
- [Bugfix][Store] Support DFS replicas in ranged get sessions by @wp-bc in #3903
- [Doc] Nest Transfer Engine transport guides under Supported Protocols by @ykwd in #4206
- [Bugfix][TENT] Keep a slice alive until the completion its post owes is handled by @SongOf in #4092
- [Store] Add SSD offload task lifecycle metrics by @Colors-111 in #4188
- [Store] Expose client-observed Master heartbeat status and freshness by @WyattJia in #4158
- [Store] Migrate lightweight Python utilities to unified package by @Aionw in #3586
- [TENT]: Rate-limit TENT failure-storm logs & fix rail-cooldown defects by @Colors-111 in #3946
- [TENT] Improve Ascend direct transport logging by @Cheng-China in #4201
- [TransferEngine] Wait classic tebench batches with getBatchTransferStatus by @staryxchen in #4193
- [Wheel] Migrate Python CLI modules to unified package by @Aionw in #3626
- [TENT] Keep a retiring notify QP published until its completions are drained by @xiaodouzi666 in #4062
- [CI/Build] Limit ROCm wheel builds to two parallel jobs by @Aionw in #4190
- [Store] Export process and allocator memory metrics, and complete the jemalloc build option by @DeyunYang in #4208
- [CI/Build] Extract shared steps for declarative PR and nightly workflows by @Aionw in #4175
- Store: add reusable ranged-read snapshots by @zxpdemonio in #4095
- [Store] Add weight metadata lifecycle core by @Bo-Vincent in #4116
- [Store] Migrate async Python client to unified package by @Aionw in #3624
- [TENT] Reduce HP TCP READ receive overhead by @jacklin78911-collab in #4205
- [TransferEngine]Add grouped scatter tasks for TCP by @LLLL114 in #4200
- [TransferEngine] Cut WorkerPool submit locks with batched enqueue and rail count by @staryxchen in #4189
- [TENT] Add Intel XPU transport, routing and staging to the Transfer Engine by @XinyuYe-Intel in #4157
- [Doc] Streamline Quick Start by @ykwd in #4225
- [Doc] Consolidate Mooncake Store API docs into one section by @ykwd in #4198
- [Doc] Group design documents by module in the docs sidebar by @ykwd in #4196
- [TENT] Fall back to the control plane when the RDMA notification channel is unavailable by @xiaodouzi666 in #4068
- [Bugfix][Conductor] Clamp query match to the queried token count by @pjdurden in #4164
- [Bugfix][Store] Isolate fileread worker count assertions from runtime threads by @Aionw in #4210
- [Store] Add ProbeKey/BatchProbeKey RPCs for lease-free existence probes by @duhaode520 in #3801
- [Bugfix][Store] Make local MEMORY preference independent of replica order by @XFDG in #3662
- [Store] Add etcd capacity soak and NOSPACE recovery operations by @Icedcoco in #4195
- [TE] Support ScaleFabric SHCA NICs by @huojianqiangg in #3591
- [Store] Parallelize OSS batches with independent request-scoped CURLM by @particle128 in #4105
- [Conductor] Add ZMQ event client with replay and reconnect by @yejj710 in #4159
- [Bugfix][TENT] Allow default host allocations with SHM by @jacklin78911-collab in #4250
- [CI/Build] Publish ROCm nightly wheels to TestPyPI by @andyluo7 in #4266
- [TENT] Cover the RDMA context enable failure paths and link-speed events without an RNIC by @SongOf in #4263
- [TransferEngine] Reuse last-hit device for consecutive slices in the same MR by @staryxchen in #4259
- [TransferEngine] Add opt-in NVIDIA Data Direct registration by @aurickq in #4267
- [TransferEngine] Reuse selectTransport across consecutive same-target_id requests by @staryxchen in #4273
- [TransferEngine] Add optional tebench submit/wait JSONL log by @staryxchen in #4260
- [TransferEngine] Add native RDMA notifications by @anranxia in #4214
- [TENT] Detect Hygon hycu module for GPU-direct RDMA by @huojianqiangg in #4276
- [Store] Add immutable bucket allocator for DFS replicas by @wp-bc in #4124
- [Doc][TENT] Add the deadline scheduling design doc by @SongOf in #4283
- [Bugfix][Store] Preserve tenant in BatchReplicaClear RPC by @XFDG in #4278
- [TransferEngine] Reuse batch-local transport and single-device RDMA preparation by @staryxchen in #4279
- [CI] Publish explicit CUDA flavor tags by @tpiperatgod in #4246
- [Bugfix][TENT] Replace stale buffers when refreshing segment info by @jacklin78911-collab in #4229
- [1/3] [TransferEngine] Add HOST_NUMA Fabric allocation core by @neverhook in #2966
- [Store] Prevent object_already_exists log storm by @riZZZhik in #4285
- [Bugfix][TE] Register direct ACL VMM fabric memory as device by @csxxs in #4286
- [Store][TransferEngine] Guard standalone mains against duplicate glog initialization by @LinyuWang in #4185
- [Store] Preserve errors from post-remove existence checks by @030611 in #4144
- [Wheel] Support DataProto matrix partial reads by @zxpdemonio in #3567
- [Reshard] Add Transfer Engine execution and completion lifecycle by @Bo-Vincent in #3964
- [Bugfix][Build] Guard Store hugepage support for macOS (#3926) by @XFDG in #4016
- Bump google.golang.org/grpc from 1.82.1 to 1.83.1 in /mooncake-common/etcd by @dependabot[bot] in #3830
- [Store] Structure MetricsBootstrapConfig settings by @bitborne in #4275
- [Store] Rename DfsGlobalAllocator to ShardAllocator by @fcczzz in #4281
- [Store] Fail-fast when LOCAL_DISK storage_path is shared; salt bucket id + O_EXCL by @quantz8a in #4172
- [Store] Release offload tasks for unreported batch keys by @zupengwang in #4232
- [TENT] Half-Open rail state machine + admit/isAvailable split by @Colors-111 in #4224
- [TE] Bound pooled TCP admission by queued bytes by @adenzhou1350 in #4063
- [Bugfix][Store] Fix is_exist key error in store_kv_bench by @starkwj in #4277
- [Build] Support building mooncake_master on macOS by @Aionw in #4289
- ci: build aarch64 EFA wheels by @whn09 in #4305
- [Store] Integrate managed weight revisions with Master and HA by @Bo-Vincent in #4238
- [Wheel] Migrate HTTP metadata service to unified package by @Aionw in #3632
- [CI/Build] Separate TONE and ROCm E2E platform lifecycles by @Aionw in #4177
- [TE/TENT] Add hylink for Hygon DCU by @huojianqiangg in #4349
- [CI/Build] Isolate Go metadata port and surface startup logs by @bitborne in #4308
- [Doc] Document the WITH_NVIDIA_PEERMEM default and the "Bad address [14]" GPU registration error by @cloudomate in #4352
- [Store] Add the tenant-first metadata layer: tenant directory, tenant catalog, registry by @CAICAIIs in #4215
- [Bugfix][CI/Build] Reject ROCm wheels without multi-protocol routing by @andyluo7 in #4265
- [Bugfix][Store] Read file-backed replicas in session API by @ascend-direct-dev in #3916
- fix(transfer-engine): reclaim timed-out batches safely by @voidxb in #3508
- [Bugfix][TENT] Recover SHM backing paths during basic registration by @jacklin78911-collab in #4318
- [Doc] Document master admin HTTP endpoints in HTTP service reference by @stmatengss in #4342
- [CI] Write the sccache GHA cache only from push and scheduled builds by @Aionw in #4311
- [Store] Converge remaining environment settings by @bitborne in #4256
- [Docs] Correct Ascend Direct Transport environment variable defaults by @awesome-pro in #4344
- [CI/Build] Honor MOONCAKE_BUILD_DIR in Rust Store builds by @2xdevv in #4331
- [Store] Structure ShmSpdkRegistrationConfig environment settings by @bitborne in #4204
- [Store] Structure NoFDebugConfig environment settings by @bitborne in #4203
- [Store] Structure NoFWorkerPoolConfig environment settings by @bitborne in #4170
- [Store] Structure ClientObjectChecksumConfig environment settings by @bitborne in #4245
- [CI][Bugfix]fix(ci): pin sgl eval and tune memory by @luketong777 in #4358
- [Conductor] Add KV event manager and HTTP API by @Misak2333 in #4292
- [Reshard] Add model-weight Transfer Engine adapters by @Bo-Vincent in #4293
- [Doc] Add Mooncake Store metadata management design doc by @stmatengss in #4373
- [Store][feat]: bypass TE compat layer, call TENT native API directly by @RuixiangMa in #4070
- [Store/RDMA] Fix ibv_reg_mr failures with 2MB hugepage SHM (memfd + MTT alignment) by @1998zxn in #3845
- [TE] Export only the registered range as DMA-BUF; skip pre-touch for DMA-BUF device memory by @cloudomate in #4364
- fix(metadata): make rpc_meta republish idempotent in the Python server by @he-yufeng in #2527
- [CI/Build] Cap build jobs at 3 on GitHub-hosted runners by @Aionw in #4368
- [Bugfix] Resolve RDMA NUMA location after memory registration by @jacklin78911-collab in #4333
- [Bugfix][TENT] Terminate full-length C notification strings by @feichai0017 in #4381
- [TransferEngine][Store] Fix and complete Biren (SUPA) build and device integration by @Dashener2 in #4317
- [Store] Add admin API to switch a segment between OK and DRAINING by @sam123456598 in #4343
- [Store] add dfs capacity metrics by @codenaut-919 in #4288
- store: remove cross-thread write to UdsAcceptor::listen_fd_ by @quantz8a in #4384
- [TransferEngine] Allocate MLU VRAM in transfer_engine_bench by @Dashener2 in #4397
- [Store] Back EFA host segments with THP interleaved across NUMA nodes by @whn09 in #4393
- [Bugfix][Build] Preserve tebench build-tree runtime library paths by @feichai0017 in #4411
- [PG][1/N] Initialize the new collective framework by @caozhanhao in #3484
- [Bugfix][TENT] Make installTransport compatibility state thread-safe by @RuixiangMa in #4315
- [TransferEngine] Make the RDMA worker idle spin window configurable by @changcui in #4325
- [CI/Build] Install libmsgpack-cxx-dev in dependencies.sh when available by @whn09 in #4407
- [Conductor] Add ConductorService RPC channel and C++ client by @Misak2333 in #4387
- [Store] Keep DFS bucket LRU tracking consistent for single and batch reads by @waizuichougou in #4385
- [CI/Build] Keep torchada from rewriting shared headers in MUSA builds by @Aionw in #4421
- [Store] Reuse an in-process master for tests and evaluation by @stmatengss in #3665
- [Bugfix] Align Data Direct registrations for GPU suballocations by @aurickq in #4329
- [Bugfix][TENT] Retry segment update notification after peer restart by @ToLiveAndLove in #4221
- [Doc] Remove DeepWiki badge from README by @stmatengss in #4430
- [TransferEngine] Clamp RD-atomic QP depths to the device capability by @Dashener2 in #4312
- [Doc] Update TCP connection pool docs for the default-on flip by @he-yufeng in #4473
- [CI] Pin the wheel-test torch to a shipped PG build by @he-yufeng in #4440
- [Bugfix][P2P-Store] Validate sizeList against the stored payload layout in GetReplica by @yaojiejia in #4304
- [TENT] Add libfabric FABRIC transport (EFA; DRAM) by @whn09 in #4425
- [Bugfix][TENT] Own RDMA slice metadata through completion by @RuixiangMa in #4437
- [Bugfix][TransferEngine] Return EPIPE from handshake replies instead of dying on SIGPIPE by @he-yufeng in #4463
- feat(te): support per-request RDMA NIC hints by @linhu-nv in #4248
- [Bugfix][TENT] Reject zero TCP worker counts by @feichai0017 in #4416
- [Bugfix] Fix USE_FLAGCX=ON build (missing flagcx include paths) by @ztjjj9 in #4394
- [CI] Stabilize HP TCP lane-distribution flake by @quantz8a in #4219
- [Bugfix] Reconnect idle TCP lanes after peer close by @CharlesXu-HQ in #4234
- [Store] Make Environ an injectable environment reader by @Aionw in #4401
- [Conductor] Reuse Mooncake existing libzmq dependency by @Misak2333 in #4501
- [Bugfix] Restore builds broken by the Environ API removal by @Aionw in #4513
- [TransferEngine][Bugfix] Skip RESET on a QP that is already in RESET by @nvcnvn in #4415
- [Store] Add opt-in DFS adapter batching for 3FS by @2xdevv in #4498
- [PG][Bugfix] Handle Non-Contiguous Tensors in Collectives by @RuixiangMa in #4483
- [PG][Bugfix] Reset P2P Send Timeout on Progress by @RuixiangMa in #4496
- [TransferEngine] Skip in-flight task walk in getBatchTransferStatus for RDMA by @staryxchen in #4199
- [TransferEngine] Intern SegmentDesc NIC paths for RDMA slice mapping by @staryxchen in #4287
- [Bugfix][TransferEngine] Report tebench's effective operation mode by @feichai0017 in #4417
- [PG][Bugfix] Keep startup skew out of the queued-send progress timeout window by @he-yufeng in #4552
- [Bugfix][TransferEngine] Bound the handshake daemon's pending-notify queue by @he-yufeng in #4453
- [Bugfix][TENT] Keep the task pending while RejectsCancellationForUnsupportedTransport judges the cancel by @SongOf in #4543
- [Bugfix][TENT] Release the MRs that did register when a NIC refuses a buffer by @SongOf in #4515
- [Store] HA optlog support redis backed by @wjd6910502 in #4295
- [Store] Restore standby index tolerantly, discard ambiguous overlaps with durable repair by @he-yufeng in #3806
- [Store][Bench] Support DFS replicas in store_kv_bench by @2xdevv in #4465
- [CI][Bugfix]fix(tone): use sgl-eval for MoE MMLU by @luketong777 in #4554
- [EP] Enable MACA legacy EP with shared P2P and IBGDA device paths by @UNIDY2002 in #4091
- [EP] Optimize MUSA legacy EP dispatch and combine by @UNIDY2002 in #4125
- [TransferEngine] Signal only every N RDMA WRs using a per-QP completion FIFO by @staryxchen in #4542
- [Bugfix][TransferEngine] Keep a stalled peer from wedging the handshake daemon by @he-yufeng in #4451
- [EP] Fix MUSA build: add missing using-declaration for mc_fence_noflush by @yeahdongcn in #4579
- feat(te): pick transports at runtime in EFA builds, keep EFA NICs out of RDMA by @whn09 in #4355
- feat(efa): load libfabric at runtime instead of linking it by @whn09 in #4354
- [Store] Split the tenant quota control plane out of MasterService by @Aionw in #4563
- transfer: synchronize Slice::task between submit and completion threads by @quantz8a in #4391
- [PG][2/N] Add IBGDA route to device collectives by @caozhanhao in #3914
- [TE] Pass remote_accessible through to ADXL MemDesc by @ascend-direct-dev in #4363
- [TE] Honor the protocol hint when selecting Ascend Direct by @ascend-direct-dev in #4122
- [Store] Keep an object's in-flight tasks on its own record by @Aionw in #4562
- [Bugfix][TENT] Preserve peer handles after named notifications by @jacklin78911-collab in #4252
- [Bugfix][TENT] Settle runtime-queue owners the engine stops polling by @SongOf in #4351
- [Bugfix][TENT] Reset C notification results after release by @ToLiveAndLove in #4253
- ci(wheel): build the default wheels with the EFA transport by @whn09 in #4356
- [Conductor] Add Python client API by @Chase-Rong in #4469
- [Conductor] Unify GPU/NPU cache tier as device by @Misak2333 in #4588
- [TE] Scope metadata dumps to the failed segment, throttle process-wide by @leonzzhu in #4492
- [Bugfix][Conductor] Fix stale npu member access in the pybind client by @he-yufeng in #4610
- [TE] Keep EFA NICs and install EFA when auto-discovery picks protocol=efa by @whn09 in #4608
- [Bugfix][TENT] Pass the fd value to cuMemImportFromShareableHandle in MNNVL by @SongOf in #4597
- [TE] efa: fall back to any keyed NIC when selectDevice's topology walk misses by @firatoncu in #4594
- fix(ci): exclude arm64 wheel artifacts from T-One artifact selection by @TTThanos in #4613
- [Doc] Document Conductor Python client API by @Chase-Rong in #4606
- [Store] Remove legacy master snapshots by @Icedcoco in #4406
- [Bugfix][Store] Skip replicas on unloaded segments during standby restore by @he-yufeng in #4553
- [Store] Add client NoF read/write metrics by @cage-goat in #4506
- [Store] Reopen DFS shard once on POSIX I/O failure before surfacing error by @codenaut-919 in #4512
- [Store] Self-heal dangling LOCAL_DISK replicas on the read path by @he-yufeng in #3889
- [CI] Stop push runs on main from cancelling each other and failing the gate by @Aionw in #4602
- [Store] Add Intel XPU host-staging path to the Store client, Python e2e and vLLM-XPU smoke tests by @XinyuYe-Intel in #4270
- [TENT] Use dense indexing for merged request task lookup by @LysanderPhong in #4616
- [Bugfix][TENT] Reject short io_uring completions and preserve unread data by @LysanderPhong in #4618
- [TransferEngine][Bugfix] Strip :npu_x suffix for USE_ASCEND_DIRECT in init by @gitgaoqian in #4627
- [Bugfix][TENT] Omit private input from configuration diagnostics by @jacklin78911-collab in #4635
- [PG] Use JIT for PG torch adapter by @UNIDY2002 in #3673
- [EP][Bugfix] Validate Legacy Buffer Constructor Arguments by @RuixiangMa in #4537
- [Store] Answer IsReplicaReadable without building a descriptor by @Aionw in #4516
- [CI] Add macOS build check for mooncake_master by @Aionw in #4310
- [Wheel] Migrate structured object storage to unified package by @Aionw in #3633
- fix(store): keep HA leadership through large oplog catch-up by @huangxiaobai-ydmy in #4559
- [Store] Move dynamic replication out of MasterService into a controller by @Aionw in #4589
- [Bugfix][TransferEngine] Pin BatchDesc across completion callbacks before freeBatchID by @losewayy in #4569
- [Bugfix] Continue TENT poll-time failover after rejected submissions by @LysanderPhong in #4614
- [Store] Remove unused ThreeFSFile and whole-file DFS adapter methods by @2xdevv in #4630
- [TransferEngine] Pair Data Direct registrations and topology with the GPU's PCI root by @jyizheng in #4612
- [Store] Introduce a Masterless Rust Store into Mooncake by @llfl in #4254
- [2/3] [Store] Add EGM-backed Store pool over NVLink by @neverhook in #3335
- [Bugfix][TENT] Isolate io_uring file contexts per transport by @feichai0017 in #4648
- [Bugfix][TENT] Reject configuration load failures before startup by @jacklin78911-collab in #4570
- [CI/Build] Build x86_64 wheels with Ninja so job caps apply by @Aionw in #4653
- [Store] Add a BatchProbe verb to the MasterScenario DSL by @rishabhsinha17 in #4523
- [Store] Preserve pending task quota after terminal history pruning by @LingYi-Liang in #4486
- [Store] Keep promotion retry candidates on the object by @Aionw in #4586
- [Store] Extract the object's content into an ObjectPart by @CAICAIIs in #4615
- [MISC] Add CODEOWNERS for mooncake-store-rs by @stmatengss in #4672
- [TENT][GDS][Bugfix] Keep file contexts alive across transport uninstall by @RuixiangMa in #4583
- [TENT][BUGFIX] Respect peer rail policy in TENT allocation by @RuixiangMa in #4435
- [Bugfix][TE] Warn when MC_TRANSFER_TIMEOUT cannot cover the Ascend retries by @awesome-pro in #4375
- [Doc] Simplify the README and refresh project updates by @ykwd in #4679
- [Docs] Update the system architecture overview by @ykwd in #4665
- [Store] Add S3-compatible ObjectStorageAdapter by @pingqiu in #4494
- [TransferEngine] EFA: reuse consumed submission slots on FI_EAGAIN by @tensorcopy in #4705
- [Wheel] Plan contiguous matrix row ranges without iteration by @LysanderPhong in #4646
- [TENT] Add UB failover, telemetry and runtime scheduling by @zchuango in #4605
- [Store] Run master RPC handlers on worker threads so a slow request cannot delay Ping by @Aionw in #4601
- [TENT] Add native MLU support by @lhzds in #4691
- [Bugfix][TransferEngine] Fix classic tebench crashes on batch release and on worker failure by @SongOf in #4698
- [CI/Build] Update the etcd wrapper Go toolchain and dependencies by @dagil-nvidia in #4707
- [Doc] Add suggested merge priority to PR template by @alogfans in #4718
- [TENT] Add MemFabric Transport by @henian-Ni in #4682
- [3/3] [Store] Avoid staging for remote GPU reads by @neverhook in #3431
- [Store] Add the striped object route by @Aionw in #4585
- [Store] Add LastHitOnly lease selection to BatchProbeKey by @yokinoshitayoki in #4314
- [Doc] Refresh ecosystem integrations and archive older README news by @stmatengss in #4659
- [Store] Fix BatchProbeKey call in master_service DSL scenario (CI failure hot fix) by @LujhCoconut in #4729
- [TransferEngine] EFA: release the endpoint state lock during handshake RPC by @tensorcopy in https://github.com/kvcache-ai/Mooncake/pull/4704
- [Doc] Add a blogs section and hide duplicated nav on the docs landing page by @ykwd in https://github.com/kvcache-ai/Mooncake/pull/4693
- [Doc] Fold the Store-RS build guide and feature page into the docs layout by @ykwd in https://github.com/kvcache-ai/Mooncake/pull/4689
- [Store] Add session IDs to KV events for Dynamo session prefix indexer by @magicYang1573 in https://github.com/kvcache-ai/Mooncake/pull/4683
- [Store] Reuse validated shard paths on cached DFS I/O by @daegyu94 in https://github.com/kvcache-ai/Mooncake/pull/4755
- [Store] Allow DFS-only replica placement by @2xdevv in https://github.com/kvcache-ai/Mooncake/pull/4637
- [Store] Add opt-in same-cycle flush for partial SSD offload buckets by @pzcyyj in https://github.com/kvcache-ai/Mooncake/pull/4673
- [Store] HA: make the etcd leader lease TTL configurable by @tensorcopy in https://github.com/kvcache-ai/Mooncake/pull/4706
- [Bugfix] Snapshot file birth times before reconstructing eviction order by @adenzhou1350 in https://github.com/kvcache-ai/Mooncake/pull/4688
- [Bugfix] Reject weight registration leases from another Store by @LysanderPhong in https://github.com/kvcache-ai/Mooncake/pull/4622
- [Conductor] Add Rust client API by @Bourn3z in https://github.com/kvcache-ai/Mooncake/pull/4651
- [TENT] Add MLU support to tebench by @lhzds in https://github.com/kvcache-ai/Mooncake/pull/4703
- fix(e2e): raise moe server launch timeout to 360s for cold JIT builds by @TTThanos in https://github.com/kvcache-ai/Mooncake/pull/4765
- [TransferEngine] Add buffer-protocol and page-gathered batch transfer APIs by @lightseek-bot in https://github.com/kvcache-ai/Mooncake/pull/4763
- CI: remove stale Torch version binding after PG JIT by @UNIDY2002 in https://github.com/kvcache-ai/Mooncake/pull/4760
- [Doc] Sync README news onto the docs homepage by @ykwd in https://github.com/kvcache-ai/Mooncake/pull/4767
- [Wheel] Keep integer dtype for typed_ragged rows when a row is an empty list by @Zhuoxi2000 in https://github.com/kvcache-ai/Mooncake/pull/4611
- [Store][Bugfix] Fix DFS sync client test retry failure by @RuixiangMa in https://github.com/kvcache-ai/Mooncake/pull/4781
- [Store] Reach object metadata through a per-key accessor contract by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4717
- [TENT] Report a notification the receiver could not take by @xiaodouzi666 in https://github.com/kvcache-ai/Mooncake/pull/4754
- [Store] HA: drain the master on SIGTERM/SIGINT before exit (part 1 of #4710) by @tensorcopy in https://github.com/kvcache-ai/Mooncake/pull/4745
- [Store] Avoid racing with detached hot-cache fills during key scans by @jacklin78911-collab in https://github.com/kvcache-ai/Mooncake/pull/4334
- [Reshard] Add bounded in-flight execution for weight transfers by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4628
- [Store] Skip hot-cache writeback for device-resident read destinations by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/4764
- [Bugfix][Store] Fix double-counting of segment OpLog metrics in OpLogApplier by @weim0000 in https://github.com/kvcache-ai/Mooncake/pull/4771
- [CI/Build] Improve nightly CI reliability and publishing diagnostics by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4750
- [Store] Remove redundant alignment headroom from DFS shard allocation by @2xdevv in https://github.com/kvcache-ai/Mooncake/pull/4753
- [Store] Fix silent loss of offload keys deferred to the ungrouped pool (#3006) by @ccgibson in https://github.com/kvcache-ai/Mooncake/pull/3009
- [Store] Add the namespace layer over the object route by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4721
- [TransferEngine] Recover auto GID after data-path retry exhaustion by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4290
- [Store-RS][Bugfix] Match TENT Request Layout to the C ABI by @RuixiangMa in https://github.com/kvcache-ai/Mooncake/pull/4732
- [Store] Walk tenants through shard-backed cursors and build the removes on them by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4796
- [Reshard] Plan Store KV reuse across TP, PP and host layouts by @LLLL114 in https://github.com/kvcache-ai/Mooncake/pull/4762
- [TE] Back Ascend host segments with mmap so A5 RoCE can drive them by @ascend-direct-dev in https://github.com/kvcache-ai/Mooncake/pull/4756
- [Bugfix][TENT] Restore the caller's exact CUDA context after copies by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/4643
- [Store] Add TenantQuotaPolicy, tenant quota as a namespace policy by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4809
- [Bugfix][TENT] Allow CPU-only TCP initiators to access peer GPU buffers by @feichai0017 in https://github.com/kvcache-ai/Mooncake/pull/4410
- [TENT] Add diagnostic core and version CLI by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/4154
- [TE/TENT] Add adaptive RDMA congestion control core by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4197
- [TENT] Add Intel XPU GPUDirect dma-buf RDMA to the Transfer Engine by @XinyuYe-Intel in https://github.com/kvcache-ai/Mooncake/pull/4378
- [Bugfix][Store-RS] Enforce tenant control-plane binding by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/4833
- [Bugfix][TENT] Restore caller CUDA context after plugin copies by @losewayy in https://github.com/kvcache-ai/Mooncake/pull/4839
- [Bugfix] Recover classic RDMA contexts when PORT_ACTIVE is missed by @huangxiaobai-ydmy in https://github.com/kvcache-ai/Mooncake/pull/4715
- [Store] Add the eviction framework over the namespace layer by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4811
- [CI] Build NPU wheels in the pre-release pipeline by @MooncakeHixl in https://github.com/kvcache-ai/Mooncake/pull/4845
- [TE] efa: budget PTEs at 2MB for THP-backed buffers by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4564
- [Doc] Add a live ecosystem PR dashboard for SGLang, vLLM, and TokenSpeed by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4860
- [Store] Move reads, offboarding and standby restore onto per-key accessors and tenant cursors by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4844
- [CI/Build] Build Python 3.14 wheels by @xiaguan in https://github.com/kvcache-ai/Mooncake/pull/4783
- [Conductor] Add Router query cover ut test by @Misak2333 in https://github.com/kvcache-ai/Mooncake/pull/4826
- [Store] Expose standalone soft-pin and unpin controls by @magicYang1573 in https://github.com/kvcache-ai/Mooncake/pull/4858
- [Doc] Conductor docs refresh by @Chase-Rong in https://github.com/kvcache-ai/Mooncake/pull/4824
- [Store] Move DFS eviction, soft pin expiry and in-flight work off the metadata shards by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4854
- [Store] Remove snapshot serializers orphaned by the legacy snapshot removal by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4774
- [TENT] Do not advance the notify send slot on a failed post by @xiaodouzi666 in https://github.com/kvcache-ai/Mooncake/pull/4434
- [Store] Support DFS-only KV benchmarks and expand usage guide by @2xdevv in https://github.com/kvcache-ai/Mooncake/pull/4798
- [Store] Decouple NoF data path from SPDK behind neutral interfaces by @LujhCoconut in https://github.com/kvcache-ai/Mooncake/pull/3424
- [TENT] Add asynchronous MLU host-device copies by @lhzds in https://github.com/kvcache-ai/Mooncake/pull/4720
- [TENT] Add intra-node PCIe P2P copies between Intel XPUs by @XinyuYe-Intel in https://github.com/kvcache-ai/Mooncake/pull/4379
- docs: correct MC_GID_INDEX default to auto-selection by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/4875
- Add codeowners for mooncake-conductor by @ykwd in https://github.com/kvcache-ai/Mooncake/pull/4882
- [TE] nvlink_intra: diagnose VMM-buffer and PID-namespace IPC failures; document container requirements by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4873
- [Doc] Document Intel XPU build and transport support by @XinyuYe-Intel in https://github.com/kvcache-ai/Mooncake/pull/4800
- [TransferEngine] Read the clock once per RDMA post chain by @daegyu94 in https://github.com/kvcache-ai/Mooncake/pull/4793
- [Store] Add request-local HCA/NUMA affinity for RL put/get by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4631
- [TransferEngine] Export batch transfer status through the C API by @zhewenl in https://github.com/kvcache-ai/Mooncake/pull/4910
- [TENT] Batch register MemFabric buffers to avoid aligned overlaps by @jamesjxliu in https://github.com/kvcache-ai/Mooncake/pull/4870
- [Doc] Clarify Intel XPU same-node IPC requirements by @XinyuYe-Intel in https://github.com/kvcache-ai/Mooncake/pull/4890
- [Conductor] Keep SGLang test timestamps fractional under msgpack-c 6 by @qwert123q in https://github.com/kvcache-ai/Mooncake/pull/4906
- [TE] fix(efa): evict stale peer on reconnect + clearer fi_av_insert logs by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/2063
- [TE] feat(efa): move AWS Neuron (Trainium) HBM directly over EFA by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/3888
- [CI/Build] Add PEP 561 typing and type-checking for mooncake.engine by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4836
- [Store] Add managed weight group lifecycle and RPC APIs by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4313
- Add Mooncake store codeowner by @ykwd in https://github.com/kvcache-ai/Mooncake/pull/4886
- [Store] Read the DFS shard topology without a global lock by @daegyu94 in https://github.com/kvcache-ai/Mooncake/pull/4770
- [Store] Log DFS capacity exhaustion at VLOG(1) in the master by @daegyu94 in https://github.com/kvcache-ai/Mooncake/pull/4786
- [Store] Prefetch SSD-only objects to DRAM on exist by @DHX98 in https://github.com/kvcache-ai/Mooncake/pull/4272
- [TENT][BUGFIX] Preserve mapped peer rail for wildcard targets by @RuixiangMa in https://github.com/kvcache-ai/Mooncake/pull/4923
- [Store] Skip batch transfer metrics when RealClient is uninitialized by @pjdurden in https://github.com/kvcache-ai/Mooncake/pull/4633
- [Bugfix][Store] Preserve object checksums through HA promotion by @Icedcoco in https://github.com/kvcache-ai/Mooncake/pull/4889
- [Store] Use the SSE4.2 crc32 instruction for CRC-32C by @Daejun in https://github.com/kvcache-ai/Mooncake/pull/4821
- [Store][TE] Group multi-buffer transfers by target and speed up Ascend local copy by @ascend-direct-dev in https://github.com/kvcache-ai/Mooncake/pull/4799
- [Reshard] Plan target-independent tiled COO partial reads by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/3751
- [Store] HA: release the leader lease after the SIGTERM drain (part 2 of #4710) by @tensorcopy in https://github.com/kvcache-ai/Mooncake/pull/4814
- [Store] Cut MasterService over to tenant namespaces, the Evictor and the tenant quota policy by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/4887
- [CI/Build] Automatically label pull requests by size by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4921
- [EP] Add Intel XPU support to Mooncake EP by @siju-samuel in https://github.com/kvcache-ai/Mooncake/pull/4900
- [TransferEngine][ROCm] Keep KFD free VRAM exact when registering HIP memory through dma-buf by @whx-sjtu in https://github.com/kvcache-ai/Mooncake/pull/4657
- [Store] Add restore lifecycle state machine and worker admission by @kunkunblueberry in https://github.com/kvcache-ai/Mooncake/pull/4736
- [TransferEngine] First-touch tebench DRAM onto the intended NUMA node by @staryxchen in https://github.com/kvcache-ai/Mooncake/pull/4948
- [Bugfix][TENT] Submit merged staging requests only once by @lhzds in https://github.com/kvcache-ai/Mooncake/pull/4797
- [Bugfix][Store] Preserve shared TENT segments after scatter reads by @lhzds in https://github.com/kvcache-ai/Mooncake/pull/4947
- [Reshard] Avoid quadratic validation for shared backing allocations by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/4829
- [TENT] Stage XPU buffers through host memory in io_uring transport by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/4902
- [TENT] Enable GDS on Intel XPU through a cuFile-compatible library by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/4904
- [TE] feat(efa): discover EFA devices through libfabric by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4968
- [Store] Allow local buffers alongside EGM provider pools by @neverhook in https://github.com/kvcache-ai/Mooncake/pull/4859
- [TENT][Bugfix] Refresh Local Rail Topology Before Slice Selection by @RuixiangMa in https://github.com/kvcache-ai/Mooncake/pull/4708
- [Store] Expose multi-buffer batch put/get in the C ABI and Rust bindings by @xiaguan in https://github.com/kvcache-ai/Mooncake/pull/4984
- ci: disable cmake-format markup to preserve comment wrapping by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/4946
- [Store] Read structured member byte ranges into borrowed buffers by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/3954
- [Bugfix][TransferEngine] Add bearer auth and store bounds to the HTTP metadata server by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/4472
- [CI/Build] Build Python 3.14 ROCm wheels by @BaoYunkai in https://github.com/kvcache-ai/Mooncake/pull/4949
- [Bugfix][TENT] Fail stop on terminal RDMA teardown errors by @feichai0017 in https://github.com/kvcache-ai/Mooncake/pull/4383
- [CI] Cap NPU pre-release builds at max-parallel: 2 and isolate NPU publish by @MooncakeHixl in https://github.com/kvcache-ai/Mooncake/pull/4957
- [CI] Enable TENT runtime in T-One e2e as a parallel job by @staryxchen in https://github.com/kvcache-ai/Mooncake/pull/3600
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /mooncake-p2p-store/src/p2pstore by @dependabot[bot] in https://github.com/kvcache-ai/Mooncake/pull/3962
- [EP] Add JIT compilation support to Mooncake EP CUDA backend by @Bonjourz in https://github.com/kvcache-ai/Mooncake/pull/4581
- [Bugfix][TE] Use the driver logical ID for Ascend DSMI affinity by @foraxe in https://github.com/kvcache-ai/Mooncake/pull/4971
- [CI/Build] Build only the targets each tent-ci leg uses by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/5000
- [Doc] efa: large registrations need huge pages by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/5018
- [CI/Build] Fix lint and formatting in distributed Store tests by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4982
- [Reshard] Validate stored-fragment geometry across target layouts by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/4827
- [TransferEngine] Default WITH_NVIDIA_PEERMEM to whether a peer-memory module is loaded by @xiaguan in https://github.com/kvcache-ai/Mooncake/pull/4987
- [TE] fix(efa): refetch a stale peer segment descriptor before failing a slice by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4970
- [TE] TransferEngine support hixl nic topo path by @hylzzzzz in https://github.com/kvcache-ai/Mooncake/pull/4558
- [TENT] Support Intel XPU device memory in tebench by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/4901
- [TransferEngine] Page-align the DMA-BUF export size for whole allocations by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/4998
- [PG] Avoid torn active-ranks view updates by @UNIDY2002 in https://github.com/kvcache-ai/Mooncake/pull/5008
- [TransferEngine] Reject unaligned HCCS device memory at registration by @pjdurden in https://github.com/kvcache-ai/Mooncake/pull/4903
- [Store] Make store_kv_bench a shared driver for C++ Store and Store-RS by @Ziy1-Tan in https://github.com/kvcache-ai/Mooncake/pull/4899
- [Conductor] Make the per-context prefix index capacity configurable by @qwert123q in https://github.com/kvcache-ai/Mooncake/pull/4907
- [Store] Segment the RDMA global segment only over allowed NUMA nodes by @vschandramourya in https://github.com/kvcache-ai/Mooncake/pull/4915
- [Store] Pass weak_from_this() to OffsetAllocationHandle by @Daejun in https://github.com/kvcache-ai/Mooncake/pull/4876
- [CI][Store] Fix session_tag_test alloc-dealloc-mismatch under ASan by @apex-mochen in https://github.com/kvcache-ai/Mooncake/pull/4895
- [TE] fix(efa): require a wall-clock floor before failing a peer on FI_EAGAIN by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4956
- [TransferEngine] Add multi-node tebench launcher by @ToLiveAndLove in https://github.com/kvcache-ai/Mooncake/pull/4649
- [TENT] Add an opt-in pinned staging pool to the io_uring transport by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/5012
- Add store rs tests by @Ann-1024 in https://github.com/kvcache-ai/Mooncake/pull/4972
- [Bugfix][TransferEngine] Fail Ascend fragments when device lookup rejects submission by @foraxe in https://github.com/kvcache-ai/Mooncake/pull/4888
- [TENT] Add metrics self-observability contract by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/4938
- [TE] fix(efa): honor remote_accessible in memory registration by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/4976
- [Wheel] Stage _structured_ranges.py into the combined wheel by @staryxchen in https://github.com/kvcache-ai/Mooncake/pull/5030
- [Bugfix][TE] Gate HCCS device alignment on hccs:device by @csxxs in https://github.com/kvcache-ai/Mooncake/pull/5049
- [TransferEngine] Add --target_access to spread tebench target offsets by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/5021
- [TENT][FEAT] Reduce CQE Processing with Selective Signaling by @RuixiangMa in https://github.com/kvcache-ai/Mooncake/pull/4632
- [EP] Add opt-in elastic peer lifecycle to the Mooncake EP Buffer by @niwehao in https://github.com/kvcache-ai/Mooncake/pull/4853
- [CI] Run TENT T-One e2e in nightly alongside classic by @staryxchen in https://github.com/kvcache-ai/Mooncake/pull/5024
- [TE/TENT] Skip remote atomic QP access when the HCA reports no RDMA a… by @huojianqiangg in https://github.com/kvcache-ai/Mooncake/pull/5047
- [Store] Remove dead and test-only code from MasterService by @Aionw in https://github.com/kvcache-ai/Mooncake/pull/5032
- [Doc] Add PyPI download statistics to the documentation by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/5067
- [CI]fix(ci): bind HiCache Mooncake e2e metadata server to loopback by @luketong777 in https://github.com/kvcache-ai/Mooncake/pull/5062
- [TransferEngine][ROCm] Fix false-positive P2PDMA detection in kallsym… by @leonzzhu in https://github.com/kvcache-ai/Mooncake/pull/5050
- [TE] hp_tcp: assign each operation to the least-loaded lane by @leoleoasd in https://github.com/kvcache-ai/Mooncake/pull/4935
- [Conductor] Support index vLLM CPU events as local/shared precedence by @Misak2333 in https://github.com/kvcache-ai/Mooncake/pull/4885
- [TENT] Wait for in-flight io_uring I/O before freeing a sub-batch by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/5068
- [TE] Integrate error-driven congestion control with Classic RDMA by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/5064
- [CI] Cap NPU mooncake build at -j2 by @MooncakeHixl in https://github.com/kvcache-ai/Mooncake/pull/5091
- [Bugfix][PG] Derive routable host_ip before P2PHANDSHAKE init by @huangxiaobai-ydmy in https://github.com/kvcache-ai/Mooncake/pull/5007
- [PG] Ship PTX with the default CUDA architectures by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/4999
- [TE] feat(efa): register device buffers on topology-local NICs by default by @whn09 in https://github.com/kvcache-ai/Mooncake/pull/5102
- [Bugfix][TransferEngine] Fix UB example and test handling of multiple devices by @jazeltq in https://github.com/kvcache-ai/Mooncake/pull/5105
- [TransferEngine] Pipeline RDMA slice preparation with worker posting by @zhou-yuhan in https://github.com/kvcache-ai/Mooncake/pull/5039
- [Integration] Release GIL during single memory registration by @adenzhou1350 in https://github.com/kvcache-ai/Mooncake/pull/4019
- [CI] Accept cp314 wheels in the TestPyPI release gate by @MooncakeHixl in https://github.com/kvcache-ai/Mooncake/pull/5116
- [Feature] Support environment-configured etcd TLS and mTLS by @MaskVulcan in https://github.com/kvcache-ai/Mooncake/pull/4945
- [Bugfix][Conductor] Reference-count vLLM chunk-mode CPU block announcements by @sohom-cs in https://github.com/kvcache-ai/Mooncake/pull/5112
- [TENT] Hash the batch address when picking a batch lock shard by @Daejun in https://github.com/kvcache-ai/Mooncake/pull/5095
- [Bugfix][TransferEngine] Keep the URMA module alive across multiple UB contexts by @jazeltq in https://github.com/kvcache-ai/Mooncake/pull/5104
- [CI/Build] Update the etcd wrapper Go toolchain to go1.26.10 for CVE-2026-111943 by @mevince in https://github.com/kvcache-ai/Mooncake/pull/5054
- [Doc] Add Developer Certificate of Origin contribution policy by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4920
- [CI/Build] Strip debug info from wheels and enforce size limits by @stmatengss in https://github.com/kvcache-ai/Mooncake/pull/4959
- [TransferEngine] Reject NVLink on-CUDA submission before callback by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/5038
- [Store] A put of a key the store already holds renews its read lease by @xiaguan in https://github.com/kvcache-ai/Mooncake/pull/5066
- [Bugfix][TE] Reject out-of-range NVMe-oF requests before submission by @RuiqingFeng in https://github.com/kvcache-ai/Mooncake/pull/4884
- [Store] Add LastHitOnly to the BatchProbe scenario verb by @rishabhsinha17 in https://github.com/kvcache-ai/Mooncake/pull/4789
- [Store] Add minimal KVCS Low Level read/write/upsert/delete by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/4525
- test: cap TONE prefill CUDA graph batch by @UNIDY2002 in https://github.com/kvcache-ai/Mooncake/pull/5141
- [TransferEngine] Apply the device filter to MC_CUSTOM_TOPO_JSON by @belmoude in https://github.com/kvcache-ai/Mooncake/pull/5086
- [TransferEngine] Export Prometheus metrics from the Classic Transfer Engine by @hunhokim in https://github.com/kvcache-ai/Mooncake/pull/4438
- [EP] Allow opt-in P2P probing across logical nodes by @UNIDY2002 in https://github.com/kvcache-ai/Mooncake/pull/5063
- [TransferEngine] Reject nonzero BufferPool in Client-Server mode before HIXL init by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/5079
- [Build] Fix on-CUDA guard test generated header include by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/5144
- [TENT]Fix MemFabric SDMA memory allocation and NPU transport initialization for Mooncake TENT by @jamesjxliu in https://github.com/kvcache-ai/Mooncake/pull/4834
- [TE] Warn when a DMA-BUF MR can wrap and silently corrupt RDMA offsets by @he-yufeng in https://github.com/kvcache-ai/Mooncake/pull/5113
- [Bugfix][Python] Use the buffer byte length instead of the element count in put and upsert by @yaojiejia in https://github.com/kvcache-ai/Mooncake/pull/4300
- [TENT] Parse MC_DISABLE_GPU_DIRECT_RDMA and MC_LOG_RDMA_SLICE_AFFINITY as booleans by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/5125
- [Store] Add unified Engram table API with local CPU/CUDA lookup by @magicYang1573 in https://github.com/kvcache-ai/Mooncake/pull/4701
- [Bugfix][Store] Reject DFS configs in batch_put_session_start by @GentleCold in https://github.com/kvcache-ai/Mooncake/pull/5097
- [Store] Cache thread USRBIO resource lookups by manager lifetime by @daegyu94 in https://github.com/kvcache-ai/Mooncake/pull/4752
- [TransferEngine] NVLink: keep the sync memcpy fast path in TENT by @TTThanos in https://github.com/kvcache-ai/Mooncake/pull/5165
- [TENT] Add lossless request and transport attempt accounting by @zxpdemonio in https://github.com/kvcache-ai/Mooncake/pull/5094
- [TE] Give MC_USE_NVLINK_IPC=0 the same meaning in the NVLink transport by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/5127
- [TENT] Enable concurrent XPU host-device copies with a queue per copy by @zxue2 in https://github.com/kvcache-ai/Mooncake/pull/5117
- [Bugfix][TENT] Drain in-flight transfers before tebench frees its buffers on stop by @SongOf in https://github.com/kvcache-ai/Mooncake/pull/4695
- [CI/Build] Add Memfabric wheel release workflow by @henian-Ni in https://github.com/kvcache-ai/Mooncake/pull/5167
- [Store] Avoid linear vacancy scans in Store-RS CLOCK tracking by @buyongxi in https://github.com/kvcache-ai/Mooncake/pull/5093
- [Store] Read only the byte window a layer transfers from disk by @ascend-direct-dev in https://github.com/kvcache-ai/Mooncake/pull/4988
- [Store] Preserve per-key residency affinity in object metadata by @Bo-Vincent in https://github.com/kvcache-ai/Mooncake/pull/4974
- [Store] Give WeightOperationReplay test's OpLog writer room for UnmountSegment by @0z5a in https://github.com/kvcache-ai/Mooncake/pull/5179
- [Store][Bugfix] Fix XPU build: keep the SSE4.2 CRC-32C path out of the SYCL device pass by @slokesha in https://github.com/kvcache-ai/Mooncake/pull/5176
- [Build] Bump yalantinglibs to 45c6463 by @staryxchen in https://github.com/kvcache-ai/Mooncake/pull/5132
- Bump version to 0.3.14 in pyproject.toml by @ShangmingCai in https://github.com/kvcache-ai/Mooncake/pull/4880
New Contributors
- @waizuichougou made their first contribution in #3647
- @XFDG made their first contribution in #3660
- @ehuohz made their first contribution in #3584
- @rishabhsinha17 made their first contribution in #3656
- @kyx1999 made their first contribution in #3727
- @yyaoling made their first contribution in #3620
- @XiaokunDing made their first contribution in #3475
- @migarci2 made their first contribution in #3753
- @Kevin-XiongC made their first contribution in #3789
- @chlins made their first contribution in #3783
- @xiaono1 made their first contribution in #3870
- @CorgiBoyG made their first contribution in #3891
- @LiChangXin-KylinSoft made their first contribution in #3906
- @rayeaster made their first contribution in #3454
- @tensorcopy made their first contribution in #3860
- @bugkeep made their first contribution in #3836
- @hope1262946533 made their first contribution in #3538
- @Doube-Suzerain made their first contribution in #2991
- @LLLL114 made their first contribution in #3564
- @codenaut-919 made their first contribution in #3855
- @huangxiaobai-ydmy made their first contribution in #3687
- @SnowLegend-star made their first contribution in #3922
- @gpulost made their first contribution in #3996
- @csxxs made their first contribution in #4026
- @magicYang1573 made their first contribution in #4065
- @gongwei-130 made their first contribution in #3805
- @CharlesXu-HQ made their first contribution in #4082
- @gygdh-001 made their first contribution in #4057
- @ToLiveAndLove made their first contribution in #4027
- @Ziy1-Tan made their first contribution in #4079
- @Alibaba-GuoYouzhi made their first contribution in #4151
- @0z5a made their first contribution in #4141
- @Leewzh made their first contribution in #4100
- @Luis-xu made their first contribution in #4110
- @wp-bc made their first contribution in #3903
- @WyattJia made their first contribution in #4158
- @DeyunYang made their first contribution in #4208
- @particle128 made their first contribution in #4105
- @aurickq made their first contribution in #4267
- @neverhook made their first contribution in #2966
- @LinyuWang made their first contribution in #4185
- @quantz8a made their first contribution in #4172
- @adenzhou1350 made their first contribution in #4063
- @starkwj made their first contribution in #4277
- @cloudomate made their first contribution in #4352
- @voidxb made their first contribution in #3508
- @awesome-pro made their first contribution in #4344
- @2xdevv made their first contribution in #4331
- @Dashener2 made their first contribution in #4317
- @sam123456598 made their first contribution in #4343
- @changcui made their first contribution in #4325
- @yaojiejia made their first contribution in #4304
- @linhu-nv made their first contribution in #4248
- @ztjjj9 made their first contribution in #4394
- @nvcnvn made their first contribution in #4415
- @wjd6910502 made their first contribution in #4295
- @firatoncu made their first contribution in #4594
- @cage-goat made their first contribution in #4506
- @LysanderPhong made their first contribution in #4616
- @losewayy made their first contribution in #4569
- @jyizheng made their first contribution in #4612
- @llfl made their first contribution in #4254
- @LingYi-Liang made their first contribution in #4486
- @pingqiu made their first contribution in #4494
- @lhzds made their first contribution in #4691
- @dagil-nvidia made their first contribution in #4707
- @henian-Ni made their first contribution in #4682
- @pzcyyj made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4673
- @Bourn3z made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4651
- @lightseek-bot made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4763
- @Zhuoxi2000 made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4611
- @weim0000 made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4771
- @ccgibson made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/3009
- @jamesjxliu made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4870
- @qwert123q made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4906
- @DHX98 made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4272
- @Daejun made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4821
- @siju-samuel made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4900
- @whx-sjtu made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4657
- @kunkunblueberry made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4736
- @zxue2 made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4902
- @BaoYunkai made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4949
- @Bonjourz made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4581
- @foraxe made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4971
- @hylzzzzz made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4558
- @vschandramourya made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4915
- @apex-mochen made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4895
- @niwehao made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4853
- @leoleoasd made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4935
- @jazeltq made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5105
- @zhou-yuhan made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5039
- @MaskVulcan made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4945
- @sohom-cs made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5112
- @mevince made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5054
- @belmoude made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5086
- @hunhokim made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/4438
- @GentleCold made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5097
- @buyongxi made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5093
- @slokesha made their first contribution in https://github.com/kvcache-ai/Mooncake/pull/5176
Full Changelog: v0.3.13...v0.3.14