6.3.0RC1
Pre-release
Pre-release
This release introduces support for dozens of new commands, including hash field expiration, Valkey’s DELIFEQ, and Redis vector set operations. It also delivers numerous bug fixes and performance improvements.
Sponsors 💖
- A-VISION
- Avtandil Kikabidze
- Geoffrey Hoffman
- Object Cache Pro for WordPress
- Open LMS
- Relay
- Salvatore Sanfilippo
- Ty Karok
Fixed
- Fix possible hash field name truncation 834d2b37 (michael-grunder)
- Fix a possible segfault during failover 5ebb853e (rlerdorf)
- Bump version and fix XGROUP test f5db01b7, 4517d5f9 (remicollet)
- Fix an overflow bug in ZADD on Windows 35df8ad7 (michael-grunder)
- Fix errors and a warning b8de91c9 (michael-grunder)
- Fix
RedisClustersegfault f61e8cd7 (michael-grunder) - Fix passing NULL for hash expiry argument ca80ee0e (michael-grunder)
- Fix an off-by-one length calculation error 340f23b0 (michael-grunder)
- Fix hset fields handling 6b2f088d (yatsukhnenko)
- Fix HSetEx expiry argument handling 7805da75 (yatsukhnenko)
- Fix the echo liveness check when in sentinel mode 2acab399 (michael-grunder)
- Fix double -> int truncation warning 152fdda9 (michael-grunder)
- Fix
SIGABRTin PHP 8.4 with RedisArray 3c64b33f (Novynn) - Fixing segfault in cluster_update_slot b0ba827b (JacobBrownAustin)
- Fix typo d0b0c5cf (michael-grunder)
- Fix compiling with PHP 8.5.0 alpha3 and newer 1e6f5477 (wyattoday)
- Fix error length calculation + UB sanity check e73130fe (michael-grunder)
- Fix arguments order for
SETcommand f73f5fcc (yatsukhnenko)
Added
- Add
hgetwithmetamethod 7d3b2e4d (Pavlo Yatsukhnenko) - Add
maxRetriestoredis_sock_configuree9e9e495 (michael-grunder) - Implement vectorset commands 92dd256f, d80b7258, 7f9b1f41, 92716ed0, dc91631b, 1deca628, 96378b70, 0fda9f29, 0ed0fc05, d1d69005, 286fa630, 38115dec, c4b2ea6c, 6ce3bd53 (michael-grunder)
- Implement
GEOSEARCH[STORE]BYPOLYGON8d369f4d, f24814a4 (michael-grunder) - Implement Valkey's
DELIFEQcommand b1b0c191 (michael-grunder) - Add an INI setting returning 5.x legacy behavior -- readonly session on lock failure 8dada174 (arokettu)
- Implement several hash expiration commands 7350768c (michael-grunder)
- Introduce
Redis::serverNameandRedis::serverVersionmethods 056c2dbe cbaf095f
fa3eb006 (yatsukhnenko) (michael-grunder) - New option 'database' for Redis class constructor 4f6a3ed1 (JakubOnderka)
- Implement
HGETEX,HSETEX,HGETDEL, and refactorHMGETce5b0fac (michael-grunder) - Implement
GETDELforRedisClusterd342e4ac (michael-grunder)
Changed
- Check for
dragonfly_versioninHELLOresponse 593ba012 (michael-grunder) - Simplify redis_unpack method calling 0a85bd82 (JakubOnderka)
- Refactor
getWithMetalogic 0445e683 (michael-grunder) - cleanup session temp file 3828c929 (remicollet)
- Make execHello protected 300c5fb2 (michael-grunder)
Documentation
- Update Relay sponsorship 7a69d73 (tillkruss)
- Fix markdown headlines 1d662f56 (tillkruss)
- document PECL configure options 2066cfad (tillkruss)
- Improve wording in README about project support 0ac01476 (tillkruss)
- Improve install instructions c0076036 (remicollet)
- Clean up README.md: fix typos, spelling, and grammar errors 09cd4c54 (Copilot)
- Refine parameter descriptions and examples in README f9f609e1 (joshtrichards)
- Link to the correct header d18db84c (wyattoday)
- Update README.md about supported PHP versions. b7a97e5e (AkameOuO)
- Broaden return type for Redis::hGetAll bfbab892 (mgiuffrida)
Tests/CI
- Add a regression test for
EVAL[SHA]22a2914b (michael-grunder) - Rework
HEXPIREtest inclusion + bump Valkey b83981aa (michael-grunder) - Add PHP 8.5 to CI 334937cb (yatsukhnenko)
- Attempt to fix flaky GitHub CI tests 80140003 (michael-grunder)
- Reorganize tests 807f806f (yatsukhnenko)
Internal/Performance
- Introduce
[[nodiscard]]type attribute where supported. 2d963e79 (michael-grunder) - Fix typo (s/sees/seeds/) 25e6d5fc (xabbuh)
- Fix an unused variable warning b48aa0d4 (michael-grunder)
- Fix several issues surfaced by
gcc -fanalyze8be2306e (michael-grunder) - Fix dead assignment d564e8cf (michael-grunder)
- Refactor
redis_replicaof_cmd659dc763 (michael-grunder) - Refactor several command handling macros into typesafe static functions 9802fc0e, 8f0931bb, 7c953d45, 950d2bc7, 601ebbff, c3a71631, b0040514, fae89fa9, f880e1f7, b90e27f2, 1db39089 (michael-grunder)
- Refactor
EVAL[SHA]command and add a regression test 6e5faf42 (michael-grunder) - New macros REDIS_RESPONSE_ERROR and REDIS_RETURN_ZVAL 614b86e4 (JakubOnderka)
- Remove wrapper macro which hides branching logic 58e1a04f (michael-grunder)
- Use continue not break if we get a NULL node 8685c49c (michael-grunder)
- Remove pointless casts 03837f02 (michael-grunder)
- Change
intflags tozend_boolsince we only use them as booleans 77691947 (michael-grunder) - Remove unused macros + simplify some logic 75acbb09 (michael-grunder)