@@ -5,14 +5,176 @@ All changes to phpredis will be documented in this file.
5
5
We're basing this format on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
6
6
and PhpRedis adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
7
7
8
- ## [ Unreleased]
8
+ # [ 6.2.0] - 2025-03-24 ([ Github] ( https://github.com/phpredis/phpredis/releases/6.2.0 ) , [ PECL] ( https://pecl.php.net/package/redis/6.2.0 ) )
9
+
10
+ ### Sponsors :sparkling_heart :
11
+
12
+ - [ A-VISION] ( https://github.com/A-VISION-BV )
13
+ - [ Avtandil Kikabidze] ( https://github.com/akalongman )
14
+ - [ Geoffrey Hoffman] ( https://github.com/phpguru )
15
+ - [ Object Cache Pro for WordPress] ( https://objectcache.pro/ )
16
+ - [ Open LMS] ( https://openlms.net/ )
17
+ - [ Salvatore Sanfilippo] ( https://github.com/antirez )
18
+ -<
10000
/span> [ Ty Karok] ( https://github.com/karock )
19
+ - [ Vanessa Santana] ( https://github.com/vanessa-dev )
20
+
21
+ Special thanks to [ Jakub Onderka] ( https://github.com/jakubonderka ) for nearly two dozen performance improvements in this release!
22
+
23
+ ## Fixed
24
+
25
+ - Fix arguments order for ` SET ` command
26
+ [ f73f5fc] ( https://github.com/phpredis/phpredis/commit/f73f5fcce55ab9268c4eb40bf93cccdae418c1d2 )
27
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
28
+ - Fix error length calculation and UB sanity check
29
+ [ e73130fe] ( https://github.com/phpredis/phpredis/commit/e73130fee0c22a20e11ce1596579df3f6f826974 )
30
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
31
+ - Invalidate slot cache on failed cluster connections
32
+ [ c7b87843] ( https://github.com/phpredis/phpredis/commit/c7b878431014789f35d2fb1834b95257ca6cbba5 )
33
+ ([ James Kennedy] ( https://github.com/jkenn99 ) )
34
+ - Don't cast a uint64_t to a long
35
+ [ faa4bc20] ( https://github.com/phpredis/phpredis/commit/faa4bc20868c76be4ecc4265015104a8adafccc4 )
36
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
37
+ - Fix potential NULL dereference
38
+ [ 43e6cab8] ( https://github.com/phpredis/phpredis/commit/43e6cab8792dc01580894d85600add9b68c27a42 )
39
+ ([ peter15914] ( https://github.com/peter15914 ) )
40
+ - Print cursor as unsigned 64 bit integer
41
+ [ 138d07b6] ( https://github.com/phpredis/phpredis/commit/138d07b67c5537373834f1cae99804e092db1631 )
42
+ ([ Bentley O'Kane-Chase] ( https://github.com/bentleyo ) )
43
+ - Fix XAUTOCLAIM argc when sending COUNT
44
+ [ 0fe45d24] ( https://github.com/phpredis/phpredis/commit/0fe45d24d4d8c115a5b52846be072ecb9bb43329 )
45
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
9
46
10
47
### Added
11
48
49
+ - Added ` serverName() ` and ` serverVersion() ` introspection methods
50
+ [ 056c2dbe] ( https://github.com/phpredis/phpredis/commit/056c2dbee7f6379a9f546e46584ace59449847c7 )
51
+ [ cbaf095f] ( https://github.com/phpredis/phpredis/commit/cbaf095ff708caf2728541bd627399a4058d0f19 )
52
+ [ fa3eb006] ( https://github.com/phpredis/phpredis/commit/fa3eb00683a2c8d539b52c0738db6821c74fef54 )
53
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
54
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
12
55
- Added ` getWithMeta ` method
13
56
[ 9036ffca] ( https://github.com/phpredis/phpredis/commit/9036ffca )
14
57
([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
58
+ - Implement ` GETDEL ` command for RedisCluster
59
+ [ d342e4ac] ( https://github.com/phpredis/phpredis/commit/d342e4ac18723607b001deb593c8d45e40bbc4c8 )
60
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
61
+ - Introduce ` Redis::OPT_PACK_IGNORE_NUMBERS ` option
62
+ [ f9ce9429] ( https://github.com/phpredis/phpredis/commit/f9ce9429ef9f14a3de2c3fe1d68d02fb7440093d )
63
+ [ 29e5cf0d] ( https://github.com/phpredis/phpredis/commit/29e5cf0d8c03069aa34c2a63322951fdf2c268c2 )
64
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
65
+ - Implement Valkey >= 8.1 ` IFEQ ` ` SET ` option
66
+ [ a2eef77f] ( https://github.com/phpredis/phpredis/commit/a2eef77f4419cda815052e75def3af81b0ccd80f )
67
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
68
+ - Implement KeyDB's EXPIREMEMBER[ AT] commands
69
+ [ 4cd3f593] ( https://github.com/phpredis/phpredis/commit/4cd3f59356582a65aec1cceed44741bd5d161d9e )
70
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
71
+ - Set priority to 60 (for PIE installations)
72
+ [ 9e504ede] ( https://github.com/phpredis/phpredis/commit/9e504ede34749326a39f997db6cc5c4201f6a9bc )
73
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
15
74
75
+ ### Documentation
76
+
77
+ - Fix phpdoc type of ` $pattern `
78
+ [ 5cad2076] ( https://github.com/phpredis/phpredis/commit/5cad20763710d44f8efb8e537f8f84a812935604 )
79
+ ([ OHZEKI Naoki] ( https://github.com/zeek0x ) )
80
+ - Better documentation for the ` $tlsOptions ` parameter of RedisCluster
81
+ [ 8144db37] ( https://github.com/phpredis/phpredis/commit/8144db374338006a316beb11549f37926bd40c5d )
82
+ ([ Jacob Brown] ( https://github.com/JacobBrownAustin ) )
83
+
84
+ ### Tests/CI
85
+
86
+ - Reorganize tests
87
+ [ 807f806f] ( https://github.com/phpredis/phpredis/commit/807f806f )
88
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
89
+ - Add details to the option doc block
90
+ [ abb0f6cc] ( https://github.com/phpredis/phpredis/commit/abb0f6ccc827f240a1de53633225abbc2848fc3a )
91
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
92
+ - Update CodeQL to v3
93
+ [ 41e11417] ( https://github.com/phpredis/phpredis/commit/41e114177a20a03e3013db2a3b90980a1f4f1635 )
94
+ [ a10bca35] ( https://github.com/phpredis/phpredis/commit/a10bca35bba32bb969cc1e473564695d3f8a8811 )
95
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
96
+ - Add PHP 8.4 to CI
97
+ [ 6097e7ba] ( https://github.com/phpredis/phpredis/commit/6097e7ba50c0a300bc4f420f84c5d2665ef99d90 )
98
+ ([ Pavlo Yatsukhnenko] ( https://github.com/yatsukhnenko ) )
99
+ - Pin ubuntu version for KeyDB
100
+ [ eb66fc9e] ( https://github.com/phpredis/phpredis/commit/eb66fc9e2fe60f13e5980ea2ecbe9457ca5ae8b4 )
101
+ [ 985b0313] ( https://github.com/phpredis/phpredis/commit/985b0313fb664c9776c3d2c84e778ddd6733728e )
102
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
103
+ - Windows CI: update setup-php-sdk to v0.10 and enable caching
104
+ [ f89d4d8f] ( https://github.com/phpredis/phpredis/commit/f89d4d8f6eecbe223e158651ffffd77ffa27449b )
105
+ ([ Christoph M. Becker] ( https://github.com/cmb69 ) )
106
+
107
+ ### Internal/Performance
108
+
109
+ - Reduce buffer size for signed integer
110
+ [ 044b3038] ( https://github.com/phpredis/phpredis/commit/044b30386f0418e9ed2a2bbc3b79582520d008d8 )
111
+ [ 35c59880] ( https://github.com/phpredis/phpredis/commit/35c5988027eda663167a64decde4512957cae738 )
112
+ ([ Bentley O'Kane-Chase] ( https://github.com/bentleyo ) )
113
+ - Create a strncmp wrapper
114
+ [ 085d61ec] ( https://github.com/phpredis/phpredis/commit/085d61ecfb0d484832547b46343a2e4b275a372e )
115
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
116
+ - Refactor and avoid allocation in rawcommand method
117
+ [ f68544f7] ( https://github.com/phpredis/phpredis/commit/f68544f70385e1d431fb0245fafe30b39ee7479a )
118
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
119
+ - Switch from linked list to growing array for reply callbacks
120
+ [ a551fdc9] ( https://github.com/phpredis/phpredis/commit/a551fdc94c14d7974f2303cd558f7bd3e0fd91d6 )
121
+ [ 42a42769] ( https://github.com/phpredis/phpredis/commit/42a427695e89577a1f1a554dba268527f3995708 )
122
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
123
+ ([ michael-grunder] ( https://github.com/michael-grunder ) )
124
+ - Reuse redis_sock_append_auth method
125
+ [ be388562] ( https://github.com/phpredis/phpredis/commit/be388562058a75ed8fd31926bb0e6a60e2d8cb08 )
126
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
127
+ - Switch pipeline_cmd from smart_str to smart_string
128
+ [ 571ffbc8] ( https://github.com/phpredis/phpredis/commit/571ffbc8e0a5da807a6cc4a2cc5aa90af72e23b0 )
129
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
130
+ - Remove unused redis_debug_response method from library.c
131
+ [ 7895636a] ( https://github.com/phpredis/phpredis/commit/7895636a3a7cd3cad396a83ebe3aa5fe0208f42d )
132
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
133
+ - Optimise HMGET method
134
+ [ 2434ba29] ( https://github.com/phpredis/phpredis/commit/2434ba294cbb3b2f5b4ee581c37056906902d0d9 )
135
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
136
+ - Avoid unnecessary allocation in redis_hset_cmd
137
+ [ aba09933] ( https://github.com/phpredis/phpredis/commit/aba09933db05a1a36e947c6fa9dca9889c6a77ff )
138
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
139
+ - Avoid unnecessary allocation in redis_hdel_cmd
140
+ [ 4082dd07] ( https://github.com/phpredis/phpredis/commit/4082dd07f714fd2f6a0918b1845eb46c403a9edd )
141
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
142
+ - Avoid unnecessary allocation in redis_key_varval_cmd
143
+ [ 99650e15] ( https://github.com/phpredis/phpredis/commit/99650e15453f03b5dd99284548514551fde4c812 )
144
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
145
+ - Use zval_get_tmp_string method that is faster when provided zval is string
146
+ [ f6906470] ( https://github.com/phpredis/phpredis/commit/f6906470a52e2d24b1e1b9f2574726643edd7a64 )
147
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
148
+ - Optimise constructing Redis command string
149
+ [ 2a2f908f] ( https://github.com/phpredis/phpredis/commit/2a2f908f2b6b695a0e6705200160e592802f0e41 )
150
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
151
+ - If no command is issued in multi mode, return immutable empty array
152
+ [ 5156e032] ( https://github.com/phpredis/phpredis/commit/5156e0320242ff05f327a3801667140069688c0e )
153
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
154
+ - Test for empty pipeline and multi
155
+ [ 426de2bb] ( https://github.com/phpredis/phpredis/commit/426de2bb71372f665f5a5bb5a779a7b9c586892d )
156
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
157
+ - Optimise method array_zip_values_and_scores
158
+ [ 400503b8] ( https://github.com/phpredis/phpredis/commit/400503b8718104b766ceb4a0b84e4a446dbee09b )
159
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
160
+ - Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd
161
+ [ 83a19656] ( https://github.com/phpredis/phpredis/commit/83a19656f49aec8f354596099dbf97ba7375d7af )
162
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
163
+ - Use immutable empty array in Redis::hKeys
164
+ [ 3a2f3f45] ( https://github.com/phpredis/phpredis/commit/3a2f3f45fc7bb01d1be2b9d97cf9d8bff0b0e818 )
165
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
166
+ - Use immutable empty array in Redis::exec
167
+ [ 60b5a886] ( https://github.com/phpredis/phpredis/commit/60b5a8860ae3ff2d02d7f06cc6f86b59cb53b2cf )
168
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
169
+ - Do not allocate empty string or string with one character
170
+ [ 64da891e] ( https://github.com/phpredis/phpredis/commit/64da891e6fe5810b1aa2a47bc0632a2cd346659d )
171
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
172
+ - Initialize arrays with known size
173
+ [ 99beb922] ( https://github.com/phpredis/phpredis/commit/99beb9221c815018f1d076654b033cafac22a6ce )
174
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
175
+ - Use smart str for constructing pipeline cmd
176
+ [ b665925e] ( https://github.com/phpredis/phpredis/commit/b665925eeddfdf6a6fc1de471c0789ffb60cd067 )
177
+ ([ JakubOnderka] ( https://github.com/JakubOnderka ) )
16
178
17
179
## [ 6.1.0] - 2024-10-04 ([ Github] ( https://github.com/phpredis/phpredis/releases/6.1.0 ) , [ PECL] ( https://pecl.php.net/package/redis/6.1.0 ) )
18
180
0 commit comments