| 2026-04-20 | valkey | Add Static Module Support (#3392) | PR |
| 2026-04-20 | valkey | Improve COB memory tracking with copy avoidance (#3306) | PR |
| 2026-03-26 | valkey | ARM NEON SIMD optimization for pvFind() in vset.c (#3033) | PR |
| 2026-03-25 | valkey | Fix EntryTest.entryUpdate failure on macOS due to allocator differences (#3398) | PR |
| 2026-03-19 | valkey | Ensure the daily workflow uses gtest-parallel to run unit tests in isolation (#3375) | PR |
| 2026-03-10 | valkey | New MSETEX command allows to set an expiration time with MSET (#3121) | PR |
| 2026-03-09 | valkey | Replace long long timestamp references with more specific mstime_t/ustime_t (#3252) | PR |
| 2026-03-09 | valkey | Changed LUA module dependency (#3325) | PR |
| 2026-03-05 | valkey | Fix timing issue in LATENCY GRAPH test (#3265) | PR |
| 2026-02-26 | valkey | Deflake test 'LATENCY GRAPH can output the event graph' (#3260) | PR |
| 2026-02-25 | valkey | Fix type of now parameter in rdbLoadObject() to use mstime_t instead of time_t (#3255) | PR |
| 2026-02-24 | valkey | Skip expired hash fields when loading non-preamble RDB on primary (#3091) | PR |
| 2026-02-23 | valkey | Reset request type after handling empty requests | PR |
| 2026-02-23 | valkey | Fix getKeysUsingKeySpecs keynum case ignoring keystep when calc the last key (#3197) | PR |
| 2026-02-23 | valkey | Dual-channel-replication announces itself at replica-announce-ip if configured (#2846) | PR |
| 2026-02-19 | valkey | Add `ALLOW_BUSY` flag to `SELECT` and various `CLIENT` sub-commands (#3217) | PR |
| 2026-02-01 | valkey | Check expiration time first before lookup the key in GETEX command (#3116) | PR |
| 2026-01-29 | valkey | Optimize skiplist query efficiency by embedding the skiplist header (#2867) | PR |
| 2026-01-28 | valkey | decouple lru/lfu from server.h (#2928) | PR |
| 2026-01-28 | valkey | Fix potential memory leaks when a writable replica is promoted to primary after direct writes of keys with expiration (#2953) | PR |
| 2026-01-25 | valkey | Comment cleanup around entry.c file (#3107) | PR |
| 2026-01-20 | valkey-doc | Fix typo in HSETEX command documentation (#400) | PR |
| 2026-01-12 | valkey | Reset maxmemory after OOM scripting tests (#3047) | PR |
| 2026-01-12 | valkey | Initial draft of contributing guide (#1787) | PR |
| 2026-01-06 | valkey | HFE make zero a valid ttl during import mode and data loading (#3006) | PR |
| 2026-01-06 | valkey | Remove internal server object pointer overhead in small strings (#2516) | PR |
| 2026-01-05 | valkey | Untrack key based on old->hasembkey (#3007) | PR |
| 2026-01-05 | valkey | Untrack key based on old->hasembkey (#3007) | PR |
| 2026-01-04 | valkey | fix(hash): Untrack hash with volatile fields when it is overwritten (#3003) | PR |
| 2026-01-04 | valkey | Add sdsnsplitargs to reduce sds allocation. (#2975) | PR |
| 2026-01-04 | valkey | Fix zero length hash creation with HSETEX (#2998) | PR |
| 2026-01-03 | valkey | fix(HSETEX): replace strcmp with strcasecmp (#3000) | PR |
| 2026-01-01 | valkey | Add FIFO and mutexQueue with bio.c refactored (#2895) | PR |
| 2026-01-01 | valkey | Valkey Fuzzer (#2340) | PR |
| 2025-12-26 | valkey | Fix compile overflow warnings (#2963) | PR |
| 2025-12-19 | valkey | Adding support for sharing memory between the module and the engine (#2472) | PR |
| 2025-12-18 | valkey | Respect REPLCONF VERSION in diskless full sync (#2735) | PR |
| 2025-12-14 | valkey-try-me | test improvements | PR |
| 2025-12-14 | valkey | Strictly check CRLF when parsing querybuf (#2872) | PR |
| 2025-12-11 | valkey | Revert "Allow partial sync after loading AOF with preamble (#2366)" (#2925) | PR |
| 2025-12-09 | valkey | Fix a typo in aof-multi-part.tcl (#2922) | PR |
| 2025-12-04 | valkey | support whole cluster info for INFO command in cluster section (#2876) | PR |
| 2025-12-04 | valkey | Fix deadlock in IO thread shutdown during panic (#2898) | PR |
| 2025-12-02 | valkey | Refactor of LFU/LRU code for modularity (#2857) | PR |
| 2025-11-26 | valkey | Cluster: Optimize slot bitmap iteration from per-bit to 64-bit word scan (#2781) | PR |
| 2025-11-26 | valkey | Adds HGETDEL Support to Valkey (#2851) | PR |
| 2025-11-19 | valkey | deflake "Hash field TTL and active expiry propagates correctly" (#2856) | PR |
| 2025-11-18 | valkey | Optimize zset memory usage by embedding element in skiplist (#2508) | PR |
| 2025-11-12 | valkey | Remove the EXAT and PXAT from some HFE notifications tests (#2831) | PR |
| 2025-11-12 | valkey | New module API to perform prefix‑aware ACL permission check (#2796) | PR |
| 2025-11-09 | valkey | Leverage zfree_with_size for client reply blocks (#2624) | PR |
| 2025-11-04 | valkey | Reverts hashHashtableTypeValidate signature (#2799) | PR |
| 2025-11-03 | valkey | Improve header comment and strengthen type checking for entry (#2794) | PR |
| 2025-11-03 | valkey | HSETEX: Support NX/XX Flags (#2668) | PR |
| 2025-11-03 | valkey | HSETEX: Support NX/XX Flags (#2668) | PR |
| 2025-10-28 | valkey | Add monotonic clock calibration handling if clock speed is not found (#2776) | PR |
| 2025-10-22 | valkey-doc | Update version to 9.0.0 (#373) | PR |
| 2025-10-09 | valkey | Add invalid RDB signature to log statement (#2710) | PR |
| 2025-10-08 | valkey | Fix memory leak with CLIENT LIST/KILL duplicate filters (#2362) | PR |
| 2025-10-08 | valkey | Allow TCL 9.0 for tests (#1673) | PR |
| 2025-09-29 | valkey | Redirect blocked clients after failover (#2329) | PR |
| 2025-09-28 | valkey | Minor fix for dual rdb channel connection conn error log (#2658) | PR |
| 2025-09-22 | valkey | Optimize skiplist random level generation logic (#2631) | PR |
| 2025-09-21 | valkey | Adding unit tests for sha256 (#2632) | PR |
| 2025-09-21 | valkey | Adding unit tests for sha256 (#2632) | PR |
| 2025-09-17 | valkey | Fix memory leak in deferred reply buffer (#2615) | PR |
| 2025-09-16 | valkey | Fix accounting for dual channel RDB bytes in replication stats (#2602) | PR |
| 2025-09-11 | valkey | Evict client only when limit is breached (#2596) | PR |
| 2025-09-07 | valkey | ARM Neon SIMD optimization for hashtable findBucket() (#2573) | PR |
| 2025-09-04 | valkey | Relaxed RDB check for foreign RDB formats (#2543) | PR |
| 2025-09-04 | valkey | Relaxed RDB check for foreign RDB formats (#2543) | PR |
| 2025-09-04 | valkey-doc | Add CI job to check internal links (#355) | PR |
| 2025-09-03 | valkey | Don't use AVX2 instructions if the CPU don't support it (#2571) | PR |
| 2025-08-29 | valkey | Reset cluster related stats in CONFIG RESETSTATS (#2458) | PR |
| 2025-08-26 | valkey | deflake test: relax time requirement in hash ttl test (#2537) | PR |
| 2025-08-26 | valkey | Update reply schema for LMOVE and BLMOVE (#2541) | PR |
| 2025-08-25 | valkey | bio.c: Organize all worker data in a struct (#2530) | PR |
| 2025-08-21 | valkey | Fix slot range lists overlap to rewind the nested list again (#2527) | PR |
| 2025-08-18 | valkey | Fix memory leak in rdbLoadObject when loading a wrong HFE (#2502) | PR |
| 2025-08-13 | valkey | Fix duplicate Acks for RDMA events and fix extremely large max latency for RDMA benchmark. (#2430) | PR |
| 2025-08-12 | valkey | Add test for failover sub-replica replication loop case (#2456) | PR |
| 2025-08-11 | valkey | Use bool for return types in hashtable functions (#2432) | PR |
| 2025-08-10 | valkey | Fix AOF rewrite behavior for hashes with expirations (#2454) | PR |
| 2025-08-06 | valkey | Print error context when test fails (#2437) | PR |
| 2025-08-06 | valkey | [CRASH] Fix missing check for executing client (#2347) | PR |
| 2025-08-05 | valkey | Use unsigned long for `maxiterations`, fixing undefined behavior in scan with extremely large count (#2414) | PR |
| 2025-08-03 | valkey | Rename trace bgsave type to rdb and aof (#2400) | PR |
| 2025-07-31 | valkey | Save to Disk in Bio Thread and refactor readSyncBulkPayload (#1784) | PR |
| 2025-07-01 | valkey | Fix missing response when AUTH is errored inside a transaction (#2287) | PR |
| 2025-06-18 | valkey | Ensure empty error tables in scripts don't crash Valkey (#2229) | PR |
| 2025-06-11 | valkey | Stabilize dual channel test: Split scenarios and set RDB loading interval (#2200) | PR |
| 2025-06-10 | valkey | CLIENT UNBLOCK should't be able to unpause paused clients (#2117) | PR |
| 2025-06-05 | valkey | Remove dead conditions around the multi/exec check (#2168) | PR |
| 2025-06-04 | valkey | Offload slot calculation and cross-slot detection to I/O threads (#2165) | PR |
| 2025-06-04 | valkey | Offload slot calculation and cross-slot detection to I/O threads (#2165) | PR |
| 2025-06-04 | valkey | Combine range element ranks calculation with range elements search to improve zcount performance (#2129) | PR |
| 2025-06-04 | valkey | Combine range element ranks calculation with range elements search to improve zcount performance (#2129) | PR |
| 2025-06-02 | valkey | Have threads gracefully exit instead of killing them when checking thread count (#2156) | PR |
| 2025-05-30 | valkey | Add ricardo as a commiter (#2149) | PR |
| 2025-05-28 | valkey-try-me | "replaced test cdn with production cdn" | PR |
| 2025-05-26 | valkey | Fix unsigned difference expression compared to zero (#2101) | PR |
| 2025-05-25 | valkey | Fix bad slot used in sharded pubsub unsubscribe (#2137) | PR |
| 2025-05-25 | valkey | Fix bad slot used in sharded pubsub unsubscribe (#2137) | PR |
| 2025-05-19 | valkey | Fix random element in skewed sparse hash table (#2085) | PR |
| 2025-05-15 | valkey | Fix string embedding decision with keys (#2087) | PR |
| 2025-05-12 | valkey | valkey-benchmark: Arbitrary command sequence (#2057) | PR |
| 2025-05-12 | valkey-doc | Docs for valkey-benchmark custom command sequence (#276) | PR |
| 2025-05-09 | valkey | move statement in if condition for zremrangeGenericCommand function (#2060) | PR |
| 2025-05-08 | valkey | Fixed minor grammatical error (#2061) | PR |
| 2025-04-27 | valkey | Convert pubsub dicts to hashtables (#2007) | PR |
| 2025-04-15 | valkey | Fix crash during TLS handshake with I/O threads (#1955) | PR |
| 2025-04-08 | valkey | Replaced the use of sdsReplyDictType and hashDictType. (#1793) | PR |
| 2025-04-03 | valkey | Initialize child process pipe file descriptor to -1 (#1911) | PR |
| 2025-04-02 | valkey-io.github.io | Fixes to the blog posts about 8.1.0 release and hash table (#232) | PR |
| 2025-03-31 | valkey | Redact protocol error log when hide-user-data-from-log enabled (#1889) | PR |
| 2025-03-26 | valkey-doc | Add description about benchmark option '--rfr' (#254) | PR |
| 2025-03-10 | valkey | Fix bug where invalidation messages were getting sent to closing clients (#1823) | PR |
| 2025-03-04 | valkey | Fix timing issue in the module propagate test (#1815) | PR |
| 2025-03-02 | valkey | Fixed build error with CMake (#1806) | PR |
| 2025-02-27 | valkey | Migrate binaries build to ARM github runners (#1790) | PR |
| 2025-02-26 | valkey | Fix undefined behaviour in bitops unit test (#1786) | PR |
| 2025-02-25 | valkey | Enable TCP_NODELAY by default in incoming and outgoing connections (#1763) | PR |
| 2025-02-25 | valkey | Embed hash value in hash type entry (#1579) | PR |
| 2025-02-24 | valkey | Disable Fedora Fawhide in Daily runs (#1769) | PR |
| 2025-02-23 | valkey | Fix murmur32 on large strings (#1748) | PR |
| 2025-02-21 | valkey | Fix error "SSL routines::bad length" when connTLSWrite is called second time with smaller buffer (#1737) | PR |
| 2025-02-17 | valkey | Comment out assert in kvstore for overhead lut (#1745) | PR |
| 2025-02-10 | valkey | Fix memory error in networking unittest (#1697) | PR |
| 2025-02-09 | valkey | Fix log message "DB 9: 100 keys (0 volatile) in 16 slots HT" (#1691) | PR |
| 2025-02-09 | valkey | Offload replication writes to IO threads (#1485) | PR |
| 2025-02-05 | valkey | Embed keys and hash fields as SDS type 5 (#1613) | PR |
| 2025-02-05 | valkey | Fix client querybuf resize test by skipping the clientsCron (#1667) | PR |
| 2025-02-04 | valkey | skip CRC checksumming during diskless full sync with TLS enabled. (#1479) | PR |
| 2025-01-28 | valkey | Initialize one variable in struct to avoid risk (#1606) | PR |
| 2025-01-27 | valkey | Make sure to disable pause after fork for dual channel test (#1612) | PR |
| 2025-01-19 | valkey | Lower latenct-monitor-threashold in expire-cycle test case (#1584) | PR |
| 2025-01-16 | valkey | Allow clang-format to be triggered in push events (#1565) | PR |
| 2025-01-14 | valkey | Introduce const_sds for const-content sds (#1553) | PR |
| 2025-01-14 | valkey | Fix valgrind test (#1555) | PR |
| 2025-01-08 | valkey | Replace dict with new hashtable: sorted set datatype (#1427) | PR |
| 2025-01-08 | valkey | client struct: lazy init components and optimize struct layout (#1405) | PR |
| 2025-01-02 | valkey | Offload reading the replication stream to IO threads (#1449) | PR |
| 2025-01-02 | valkey | replication: fix io-threads possible race by moving waitForClientIO (#1422) | PR |
| 2024-12-24 | valkey | Add scoped RDB loading context and immediate abort flag (#1173) | PR |
| 2024-12-19 | valkey | Support for reading from replicas in valkey-benchmark (#1392) | PR |
| 2024-12-18 | valkey | Offload TLS negotiation to I/O threads (#1338) | PR |
| 2024-12-17 | valkey | Fix test_reclaimFilePageCache to avoid tmpfs (#1379) | PR |
| 2024-12-11 | valkey | defrag: allow defrag to start during AOF loading (#1420) | PR |
| 2024-12-10 | valkey | Fix flaky init_test proc in maxmemory test suite (#1419) | PR |
| 2024-12-03 | valkey | Optimize IO thread offload for modified argv (#1360) | PR |
| 2024-12-01 | valkey | Free strings during BGSAVE/BGAOFRW to reduce copy-on-write (#905) | PR |
| 2024-11-28 | valkey | Handle keyIsExpiredWithDictIndex to make it check for import mode (#1368) | PR |
| 2024-11-26 | valkey | Add tag for dual-channel logs (#999) | PR |
| 2024-11-22 | valkey | CMake fixes + README update (#1276) | PR |
| 2024-11-22 | valkey | Add short client info log to CLUSTER MEET / FORGET / RESET commands (#1249) | PR |
| 2024-11-21 | valkey | Preserve original fd blocking state in TLS I/O operations (#1298) | PR |
| 2024-11-21 | valkey | Make FUNCTION RESTORE FLUSH flush async based on lazyfree-lazy-user-flush (#1254) | PR |
| 2024-11-19 | valkey | Import-mode: Avoid expiration and eviction during data syncing (#1185) | PR |
| 2024-11-18 | valkey | Optimize RDB load performance and fix cluster mode resizing on replica side (#1199) | PR |
| 2024-11-15 | valkey | Kill diskless fork child asap when the last replica drop (#1227) | PR |
| 2024-11-07 | valkey | Fix incorrect cache_memory reset in functionsLibCtxClear (#1255) | PR |
| 2024-10-21 | valkey | Fix BGSAVE CANCEL since and history fields (#1200) | PR |
| 2024-09-12 | valkey | Fix wrong count for replica's tot-net-out (#1013) | PR |
| 2024-09-10 | valkey | Fix crash in async IO threads with TLS (#1011) | PR |
| 2024-09-02 | valkey | Add configuration hide-user-data-from-log to hide user data from server logs (#877) | PR |
| 2024-08-22 | valkey | Skip tracking clients OOM test when I/O threads are enabled (#764) | PR |
| 2024-08-18 | valkey | Optimize linear search of WAIT and WAITAOF when unblocking the client (#787) | PR |
| 2024-07-31 | valkey | Fix bug in writeToClient (#834) | PR |
| 2024-07-31 | valkey | Fix bug in writeToClient (#834) | PR |
| 2024-07-28 | valkey | Improve reliability of dual-channel-replication pause resume tests (#835) | PR |
| 2024-07-17 | valkey | Dual channel replication (#60) | PR |
| 2024-06-26 | valkey | Replacing REDIS_STATIC with static (#691) | PR |
| 2024-06-19 | valkey | Add zfree_with_size to optimize sdsfree since we can get zmalloc_size from the header (#453) | PR |
| 2024-06-03 | valkey | Adjust sds types (#502) | PR |
| 2024-05-30 | valkey | Fix crash where command duration is not reset when client is blocked … (#526) | PR |