*** Version 8.0 (stable) - API 8.0 (stable) - 2020-12-06


- Version 8.x support PHP 8.x
- Version 4.x supports PHP 7.0-7.4. 
- Version 4.x is considered to be stable for production usage. 
- Support for PHP 5.x has been removed, please use memcache extension ver. 3.x

- Special thanks to Frantisek Drojak - thesource93 (github) and Zaffy (github)
for making this happen
 

*** Version 8.0 (stable) - API 8.0 (stable) - 2020-12-06


- 8.0 supports PHP 8.0+ and drops support for older PHP versions
   

*** Version 4.0.5.1 (stable) - API 4.0.5.1 (stable) - 2019-12-19


- 4.0.5.1 fix in version number
   

*** Version 4.0.5 (stable) - API 4.0.5 (stable) - 2019-12-19


- First official release for PHP 7+, supports PHP 7.0-7.4
	- Support for PHP 5.x has been removed, please use 3.x version of this
extension
	- 4.0.5 version consits of fix for PHP 7.4 behaviour changes
   

*** Version 3.0.8 (beta) - API 3.0.8 (beta) - 2013-04-07


- Fix Bug #63142 - memcache client Segmentation fault
- Fix Bug #63272 - Explicitly reserve range of flags in php_memcache.h so
application code can use
- Fix Bug #59602 - getExtendedStats fails on the host intermittently after
restarting memcache
- Fix Bug #63141 - Added LICENSE file and include tests folder in package
   

*** Version 3.0.7 (beta) - API 3.0.7 (beta) - 2012-09-22


- Fixed bug #62589 - missing "$" in memcache.php
- Fix php_stream_cast() usage.
- fixes for windows build and php 5.4 compat
   

*** Version 3.0.6 (beta) - API 3.0.6 (beta) - 2011-04-10


- Fixed PECL Bug #16672 (memcache.php doesn't support unix socket)
- Fixed PECL Bug #19374 (memcache.php throws Notice: Undefined index: VALUE
when viewing expired items)
- Fixed PECL Bug #17518 (Strange behavior in increment on non integer and
after)
- Fixed potential segfault in memcache queue.
- Fixed various tests
   

*** Version 3.0.5 (beta) - API 3.0.5 (beta) - 2010-10-03


- Fixed PECL bug #16059 (Build error: 'MSG_NOSIGNAL' undeclared)
- Added method MemcachePool::findServer(key) which returns the server a key
hashes to
- Changed MemcachePool::findServer() to return only "hostname:port" since tcp
port is significant
- Fixed PECL bug #16536 (Weight of 0 causes SegFault on memcache_add_server)
- Fixed PECL bug #17566 (3.0.4 cache delete bug)
- Fixed PECL Bug #16442 (memcache_set fail with integer value)
   

*** Version 3.0.4 (beta) - API 3.0.4 (beta) - 2009-02-22


- Improved performance of consistent hash strategy
- Accept timeout parameter as float to enable microsecond timeouts, param is
still 
  given in seconds but with a microsecond fraction.
- Added session locking to avoid concurrency problems with AJAX apps
- Fixed PECL bug #14642 (3.0.x breaks BC with 2.2.x)
- Fixed PECL request #13758 (Failed to extract 'connection' variable from
object)
- Fixed PECL request #14658 (Allow connection timeouts in ms, not seconds)
- New INI directive
   memcache.lock_timeout = 15
   

*** Version 3.0.3 (beta) - API 3.0.3 (beta) - 2009-01-13


- Enabled compression by default for values larger than 20kb
- Scalar data types (int, bool, double) are preserved by get/set
- Reserved the lowest 2 bytes of the flags for internal use 
- Fixed PECL bug #14157 (Segmentation fault with errorcallback handler)
- Fixed PECL bug #15342 (memcache keys whitespaces replace issue)
- Fixed PECL bug #15447 (Persistent Connections Cause Segfaults if One Server
Drops)
- Fixed PECL bug #15529 (memcache object loses port information)
- Fixed PECL bug #14730 (Types lost during get/set)
- Fixed PECL request #14801 (Session handler and large sessions)
- Added REPORT_ERRORS to php stream open
- New INI directive
   memcache.compress_threshold = 20000
   

*** Version 3.0.2 (beta) - API 3.0.2 (beta) - 2008-09-11


- Updated binary protocol to be compatible with memcached 1.3.0
- Added memcached stats script from Harun Yayli
(http://livebookmark.net/memcachephp)
- Fixed server weight not being used in the session handler
- Fixed PECL bug #13343 (compilation breaks with CodeWarrior compiler)
- Fixed PECL bug #13546 (Session handler through unix socket)
- Fixed PECL bug #13592 (error in opcode)
- Fixed PECL req #13588 (minor inefficiency in binary protocol implementation)
- Fixed PECL bug #14044 (send of 32768 bytes failed with errno=11 Resource
temporarily unavailable)
- Fixed PECL bug #14239 (Memcache::set() modifies value parameter)
- Fixed PECL bug #14156 (No check for parameter count in php_mmc_store)
- Fixed PECL bug #14458 (off-by-one causes corrupted arrays in 3.0.x)
- Fixed PECL bug #14104 (Malformed VALUE header (0))
- Fixed PECL request #13725 (unnecessary allocations in
mmc_consistent_add_server)
- Changed behaviour when unserialize/uncompress fail to return false instead
of failing the server
   

*** Version 3.0.1 (beta) - API 3.0.1 (beta) - 2008-02-05


- Fixed PECL bug #12866 (Ignore memcache.default_port in memcache_connect)
- Fixed PECL bug #12883 (Breaks UTF-8 in keys)
- Fixed PECL bug #13060 (make problems, due to role="doc" instead of
role="src")
- Changed behaviour of close() to actually remove all servers from pool (PECL
bug #12555)
- Added configure option for PEAR installer to disable session handler support
- Added package version to phpinfo()
   

*** Version 3.0.0 (alpha) - API 3.0.0 (alpha) - 2007-11-26


See README for details on new API and INI directives.
    
- UDP support
- Binary protocol support 
- Non-blocking IO using select()
- Pipelined multi-set/delete/increment/decrement
- CAS (Compare-And-Swap) support
- Append/prepend support
- Key and session redundancy (values are written to N mirrors)
- Improved error reporting and failover handling
- Added class "MemcachePool" implementing the new API
- New INI directives
   memcache.protocol = {ascii, binary}
   memcache.redundancy = 1
   memcache.session_redundancy = 2
- Changed INI defaults 
   memcache.hash_strategy = consistent
   memcache.chunk_size = 32768
   

*** Version 2.2.3 (stable) - API 2.2.3 (stable) - 2008-02-05


- Fixed PECL bug #12883 (Breaks UTF-8 in keys)
- Fixed PECL bug #13060 (make problems, due to role="doc" instead of
role="src")
- Added package version to phpinfo()
   

*** Version 2.2.2 (stable) - API 2.2.2 (stable) - 2008-01-10


- Fixed PECL bug 12494 (Segmentation fault when Exception thrown in the
callback function)
- Fixed PECL bug #12834 (segfault when getting duplicate array values on
64-bit system)
- Changed behaviour of close() to actually remove all servers from pool (PECL
bug #12555)
- Added configure option for PEAR installer to disable session handler support
   

*** Version 2.2.1 (stable) - API 2.2.1 (stable) - 2007-11-01


- Added argument to Memcache::get() that receives the flags for retrieved
value(s)
- Fixed PECL bug 11369 ("nested" get calls in __wakeup() functions breaks)
- Fixed problem with keys being modified in-place and empty keys (PECL Bug
#11236)
- Fixed incompatibility with standard hash strategy in previous versions
   

*** Version 2.2.0 (stable) - API 2.2.0 (stable) - 2007-09-21


- Added support for consistent hash strategy
- New INI directives 
    "memcache.hash_strategy" = {standard, consistent}
    "memcache.hash_function" = {crc32, fnv}
- PHP6 support
- Fixed PECL bug #11221 (Double free when returning cached object with
__sleep)
- Fixed PECL bug #10607 (Segfault on array key retrieval when array key is not
IS_STRING)
- Don't failover on "object to large" errors
- Use $phpincludedir for finding php_session.h
   

*** Version 2.1.2 (stable) - API 2.1.2 (stable) - 2007-03-27


- Added missing files to the package.
   

*** Version 2.1.1 (stable) - API 2.1.1 (stable) - 2007-03-27


- Added experimental session storage support. You can use memcached as session
storage.
- Fixed PECL bug #9486 (empty keys should not be allowed in
memcache_set/add())
- Fixed PECL bug #9854 (get() changes the datatype of variable of given as
key)
   

*** Version 2.1.0 (stable) - API 2.1.0 (stable) - 2006-10-09


- Servers may be flagged up/down and the user may specify a error callback
- Individual server params and up/down status may be changed at runtime
- New methods: setServerParams(), getServerStatus()
- Statistics methods support fetching other kinds of stats (slabs, items,
cachedump, ...)
- Fixed PECL bugs #7631, #8117 (erroneous line feeds in config.m4)
- Added memcache.max_failover_attempts ini directive, which can be used to
configure max number of 
    servers to try when setting and getting data.
   

*** Version 2.0.4 (stable) - API 2.0.4 (stable) - 2006-05-16


- Redefined retry_interval as long to fix no-automatic-reconnect behaviour
        - Fixed PECL bugs #7635, #7637 (OnUpdateInt: referenced symbol not
found)
   

*** Version 2.0.3 (stable) - API 2.0.3 (stable) - 2006-05-15


- Display ini entries in phpinfo() output
        - Fixed Zend2 compat
   

*** Version 2.0.2 (stable) - API 2.0.2 (stable) - 2006-05-14


- Added "memcache.default_port" ini directive (default 11211)
- Added "memcache.allow_failover" ini directive (default On)
- Added "memcache.chunk_size" ini directive (default 8192 bytes)
- Setting retry_interval parameter to -1 disables automatic reconnect
- Fixed PECL bug #7331 (NULL pointer freeing causes memcache to segfault)
   

*** Version 2.0.1 (stable) - API 2.0.1 (stable) - 2006-02-01


- Fixed PECL bug #6595 (segfault in addServer())
- Fixed PECL bug #6512 (buffer overrun in getVersion())
- Fixed PECL bug #6460 (lacking include of php_smart_str_public.h)
- Fixed PECL bug #6370 (incorrect failover on out-of-memory server errors)
- Improved zlib detection
   

*** Version 2.0.0 (stable) - API 2.0.0 (stable) - 2005-12-21


- Multiple servers with loadbalancing and failover
- Automatic compress threshold setting
- New methods: addServer(), getExtendedStats(), setCompressThreshold()
   

*** Version 1.6 (stable) - API 1.6 (stable) - 2005-10-12


- Fixed minor leak appeared when connect fails.
- Fixed PECL bug #5626 (segfault when trying to use previously closed
connection).
   

*** Version 1.5 (stable) - API 1.5 (stable) - 2005-08-05


1) Fixed minor leak.
2) Class Memcache made inheritable.
   

*** Version 1.4 (stable) - API 1.4 (stable) - 2004-12-02


1) Added multi get support (i.e. you're now able to get multiple items with
one get() call, 
just pass array of keys to get() and it will return associative array of found
items).
   

*** Version 1.3 (stable) - API 1.3 (stable) - 2004-08-29


1) Fixed potential problem with empty datasets (yet another patch from Andrey
Nigmatulin [anight at monamour dot ru]).
2) Fixed bug #2167 (thanks to [pbnadeau at gmail dot com] for noticing,
testing and patching).
   

*** Version 1.2 (stable) - API 1.2 (stable) - 2004-07-20


1) Fixed typo, preventing to use set() with flags and expire in the same time
(thanks to Troy Hakala [troy at recipezaar dot com] for noticing).
2) Added possibility to store objects and arrays compressed.
3) Hopefully fixed all possible problems with persistent connections (thanks
to [anight at monamour dot ru]).
4) Some uncritical impovements.
   

*** Version 1.1 (stable) - API 1.1 (stable) - 2004-06-08


1) Fixed couple of possible segfaults and one error (many thanks to Anight).
2) Minor improvements.
   

*** Version 1.0 (beta) - API 1.0 (beta) - 2004-05-21


1) Ifdef'ed debug routines, so they are available only in debug mode.
This should add more speed to extension. 
2) Minor code decorations.
   

*** Version 0.4 (beta) - API 0.4 (beta) - 2004-xx-xx


1) Added on-the-fly data (de)compression support.
2) Added procedural API.
3) Extension was fairly refactored and accelerated.
   

*** Version 0.2 (beta) - API 0.2 (beta) - 2004-02-26


New methods: getStats(), increment(), decrement().
Extension should be rather stable.
   

*** Version 0.1 (alpha) - API 0.1 (alpha) - 2004-02-08


Initial release in PECL
   

