-
Notifications
You must be signed in to change notification settings - Fork 324
/
ChangeLog
294 lines (249 loc) · 11.8 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
memcached extension changelog
Version 3.1.5 (2019-12-03)
--------------------------
* Fix build with PHP 7.4 release due to ulong typedef removal (#445)
Version 3.1.4 (2019-10-06)
--------------------------
* Test on PHP 7.4 as well as 8.0 (#440)
* Fix segfault for unknown memcached flags (#431)
* Update documented defaults for sess_lock_retries( #432)
* Remove stray instances of the TSRMLS_CC macro for PHP 8 compatibility (#444)
Version 3.1.3 (2018-12-24)
--------------------------
* Fix --disable-memcached-session by ifdef-ing session INI handler callbacks (#396, #420)
Version 3.1.2 (2018-12-22)
--------------------------
* Fix --enable-memcached-protocol was set to yes by default, reverted to no (#418)
Version 3.1.1 (2018-12-21)
--------------------------
* Fix --disable-memcached-sasl and --disable-memcached-session replaced by --enable variants (#416)
Version 3.1.0 (2018-12-21)
--------------------------
New
* Support for PHP 7.3 (#385, #390)
* Add INI setting to choose session consistent hash (ketama or ketama_weighted) (#344, #392)
* Add support for libmemcached encryption (#345, #381)
* Add error reporting to session code (#165)
* Expose build configuration via PECL (#383)
Fixes
* Fix hanging getStats() when binary protocol and non-blocking are both enabled (#348)
* Fix session persistence by checking memcached behavior values before setting (#379)
* Fix memcached.sess_persistent not working with memcached.sess_binary_protocol = On (#375)
* Configure warns if libmemcached needs sasl.h (#341, #380)
* Resolve various INI deviations in 3.0.3 (#351)
* Turn off sess_binary_protocol by default with older libmemcached (#330)
Changes
* Impove Windows builds (#411)
* Support Homebrew ZLIB path (#410)
* Remove forgotten unused comment about -lpthread (#406)
* Git ignore configure.ac (#405)
* Replace obsolete macros AC_TRY_FOO with AC_FOO_IFELSE (#403)
* Remove unused defines (#354)
* Change session_lock and sess_prefix default ini values (#340, #350)
* Use new fast_zpp parameter parsing API (#302, #311)
Version 3.0.4 (2017-11-20)
--------------------------
* Fix corrupted interned strings (#338)
* Fix unit tests for compatibility with PHP 7.2 (#358, #359)
* Fix \x0a in key name locks up connection and triggers a fatal timeout error (#339)
* Fix missing optional parameter getStats($type) (#337)
* Fix typo in skip message (#331)
* Fix build warnings (#329)
* Document GET_EXTENDED flag, add/rename other missing/misnamed constants (#335)
Version 3.0.3 (2017-02-19)
--------------------------
* Fix crash when checking session data with older versions of libmemcached (#328)
* Fix crash due to zend_mm_corrupted when fetching session data (#327)
Version 3.0.2 (2017-02-12)
--------------------------
* Update warning for touch command in binary protocol mode with libmemcached < 1.0.18 (#322)
* Add tests for 64-bit increment/decrement/incrementByKey/decrementByKey (#321)
* Fix tests for 32-bit increment/decrement/incrementByKey/decrementByKey (#319)
Version 3.0.1 (2017-02-07)
--------------------------
* Add API entries for flushBuffers() and getAllKeys() (#316)
* Ignore specific errors from memcached_dump for getAllKeys() with newer memcached servers (#315)
* Fix compiling with memcached binary protocol enabled (#312)
* Restore php_libmemcached_compat with workaround for missing memcached_exists (#314)
* Travis CI purge old versions of memcached and libmemcached (#309)
Version 3.0.0 (2017-01-27)
--------------------------
* Support for PHP 7.0 and PHP 7.1
* Fix compiling with SASL disabled
* Improved the test suite and Travis CI test runners
* Fix small string compression / decompression
* Fix increment/decrement with adjustments greater than 32-bit integers
* Fix session.gc_maxlifetime to handle both relative and absolute times
* Fix inability to reset OPT_PREFIX_KEY
Version 3.0.0a1 (2016-02-22)
----------------------------
Dependencies
* Support for PHP 7.0
* Requires libmemcached 1.0 or higher
* Optional extension igbinary must 2.0 or higher
* Optional extension msgpack must be 2.0 or higher
API
* The method signature of get, getByKey, getMulti, and getMultiByKey changed.
* get* and getMulti* commands no longer take cas or user flags parameters.
* get* and getMulti* commands now take the Memcached::GET_EXTENDED flag to retrieve user flags and cas tokens.
* Fixes getStats command to return all stats from all servers
* Fixes allKeys command behaviour
* Fixes error where cache callback for get command was not setting expiration time properly
* Added server type to server list
* Remove use_sasl ini-variable and initialise sasl as needed
* CAS tokens are returned as integers and they overflow to strings as needed
Session handler
* The session memcached protocol config name was changed, and the default protocol was changed from text to binary protocol. If your memcached setup does not support the binary protocol(e.g. if using twemproxy), then set memcached.sess_binary_protocol = Off. (Previously called memcached.sess_binary)
* Session lock algorithm updated (new ini-values memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries)
* Session extension uses PHP allocators (still some work to do on the rest of the extension)
* Ini-values take effect during session_start or session_regenerate_id
* Fixes crash with session_regenerate_id (work-around for PHP bug)
Tests
* Fix several problematic tests
Version 2.2.0 (2014-04-01)
--------------------------
* Added the OPT_SERVER_TIMEOUT_LIMIT behaviour
Version 2.2.0RC1 (2014-03-12)
-----------------------------
* Added the OPT_SERVER_TIMEOUT_LIMIT behaviour
* Fixes incorrect size when compressing serialized objects
* Fixes endianess of compressed values
Version 2.2.0b1 (2013-10-28)
----------------------------
* Reinstate support for libememcached 0.x series
* Added SASL support to session handler
* Added Memcached::flushBuffers as per GH #78
* Fixes GH #54: Fixed UDP server adding with newer libmemcached
* Fixed PHP bug #65334: (Segfault if uncompress value failed)
* Fixes GH #14: get with cas token fails to fetch all results
* Fixes GH #68: memcached 2.1.0 requires libmemcached 1.0.10
* Fixes GH #69: compiling on CentOS 6.4 with libmemcached 1.0.17
* Merged PR #91: memcached.sess_lock_wait and memcached.sess_lock_max_wait
* Added session handler settings:
- memcached.sess_number_of_replicas
- memcached.sess_randomize_replica_read
- memcached.sess_remove_failed
- memcached.sess_connect_timeout
* Added support for memcached protocol handlers
* Added Memcached::setBucket for virtual bucket support
* Added support for msgpack serialization
* Memcached::setSaslAuthData returns correct status on success
* Added support for user-defined flags in set and get operations
Version 2.1.0 (2012-08-06)
--------------------------
* Drop support for libmemcached 0.x series, now 1.0.x is required
* Add support for virtual bucket distribution
* Fix compilation against PHP 5.2
Version 2.0.1 (2012-03-03)
--------------------------
* Fix embedded version number to be not -dev
Version 2.0.0 (2012-03-02)
--------------------------
* Add touch() and touchByKey() methods
* Add resetServerList() and quit() methods
* Support binary protocol in sessions
* Make it work with libmemcached up to 1.0.4
* Test against PHP 5.4.0
Version 2.0.0b2 (2011-06-24)
----------------------------
* Add OPT_REMOVE_FAILED_SERVERS option.
* Make it work with libmemcached up to 0.49.
* Fix a case where invalid session ID could lock the script.
* Improve session support:
- Add support for libmemcached config string
- Add persistence support via PERSISTENT=persistent_id prefix
of the save_path
* Add 3rd parameter to the __construct() that allows specification
of libmemcached configuration string
* Fix a possible crash in __construct() when using persistent
connections
* Add work-around a bug in libmemcached < 0.50 that causes truncation
of last character of server key prefix
* When using multiple servers implement transparent fail-over
* Fix php_memc_cas_impl() implementation when server_key is not being used
* Add support for incrementByKey() and decrementByKey()
* Make increment/decrement initialize value when it is not available (when
using binary protocol)
Version 2.0.0b1 (2011-03-12)
----------------------------
* Add fastlz library that provides better/faster payload compression
* Add configure switch to enable/disable JSON serialization support
* Add getAllKeys() method
* Add deleteMulti() and deleteMultiByKey() methods
* Add isPristine() and isPersistent() methods
* Add setOptions() method to set multiple options at once
* Add SERIALIZER_JSON_ARRAY type that decodes JSON payloads as arrays
instead of objects
* Add support for Unix domain socket connections
* Add memcached.compression_threshold INI setting
* Add memcached.compression_factor INI setting
* Add memcached.compression_type INI setting
* Implement a few speed optimizations
* Many bug fixes and memory leaks plugged
* Add several more tests
* Add constants for libmemcached 0.37+:
- Memcached::OPT_NUMBER_OF_REPLICAS
- Memcached::OPT_RANDOMIZE_REPLICA_READ
* Add 'on_new' callback to constructor
* Add SASL support
Version 1.0.2 (2010-05-03)
--------------------------
* Fix build for libmemcached-0.39 (memcached_server_list() issue)
Version 1.0.1 (2010-03-11)
--------------------------
* Fix JSON API handling to account for PHP 5.2/5.3 version differences.
* Add memcached.sess_locking, memcached.sess_lock_wait, and
memcached.sess_prefix INI entries.
* Add OPT_AUTO_EJECT_HOSTS option.
Version 1.0.0 (2009-07-04)
--------------------------
* First stable release.
* Add getResultMessage() method.
* Fix OPT_RECV_TIMEOUT definition.
* Initialize Session lock wait to max execution time (if max execution
time is unlimited, default to 30 seconds).
Version 0.2.0 (2009-06-04)
--------------------------
* Add JSON serializer support, requires PHP 5.2.10+.
* Add HAVE_JSON and HAVE_IGBINARY class constants that indicate
whether the respective serializers are available.
* Add 'flags' parameter to getMulti() and getMultiByKey().
* Add GET_PRESERVE_ORDER class constant that can be used with
abovementioned flags parameter to make the order of the keys in the
response match the request.
* Fix an issue with retrieving 0-length payloads (FALSE boolean value).
* Refactor the way payload types are stored in memcached flags to optimize
the structure and allow for future expansion. WARNING! You have to flush
the cache when upgrading to this version.
* Add several tests.
Version 0.1.5 (2009-03-31)
--------------------------
* Implement getVersion().
* Add support for preserving boolean value types.
* Fix crash when child class does not call constructor.
* Fix bug #16084 (Crash when addServers is called with an associative array).
* ZTS compilation fixes.
Version 0.1.4 (2009-02-13)
--------------------------
* Fix compilation against PHP 5.3.
* Add support for 'igbinary' serializer (Oleg Grenrus)
Version 0.1.3 (2009-02-06)
--------------------------
* Bludgeon bug #15896 (Memcached setMulti error) into submission.
Version 0.1.2 (2009-02-06)
--------------------------
* Fix bug #15896 (Memcached setMulti error).
* Check for empty key in getServerByKey().
* Allow passing 'null' for callbacks.
* get() with cas token fetching wasn't erroring out properly.
* Rename certain parameters in the API to be more clear.
* Allow only strings as the append/prepend value.
* Remove expiration parameter from append/prepend.
Version 0.1.1 (2009-02-02)
--------------------------
* Add OPT_LIBKETAMA_COMPATIBLE option.
* Implement addServers() method.
* Swap internal compressed and serialized flags to be compatible with other clients.
Version 0.1.0 (2009-01-29)
--------------------------
* Initial release