2004-07-27 * release 1.14 2004-07-27 * kill buggy, slow ord() _hashfunc, replace with crc32. this adds String::CRC32 as a dependency. thanks to everybody's feedback on the mailing list. 2004-07-19 * don't use pos() because it doesn't seem to work in taint mode. use $+[0] instead. (Dave Evans <..@djce.org.uk>) 2004-06-19 * support multiple paths to memcache nodes (Brad) see 'set_pref_ip' 2004-05-30 * release version 1.13 2004-05-26 (Whitaker ) * quiet warning 2004-05-25 (Whitaker ) * get_multi shouldn't modify caller's @_ 2004-05-18 (Michael ) * namespace support * use fields 2004-05-16 (Alexei Kozlov ) * remove warnings with vec 2004-04-09 (brad) * in perl 5.6, trap errors dethawing 5.8 storable objects and instead treat it like a cache miss 2004-04-01 * use $! and not %! for perl 5.6 compat (Dave Evans <..@djce.org.uk>) * don't mark whole IP dead anymore when a node is down (Jason Titus ) * start version numbering (Jamie McCarthy ) 2004-03-09 (Brad/Avva) * _oneline can return more than one line (but always on a line break), so caller must decide when it's really time to quit. had to modify run_command to know that. (which is used by stats) 2004-03-05 (Dave Evans <..@djce.org.uk>) * Here's a really trivial patch for the Perl binding, Cache::Memcached. The bug is that the module assumes that the currently select()ed filehandle is STDOUT, but this might not be the case. So this patch ensures that the select()ed filehandle is preserved, not forced to STDOUT. 2004-02-29 (Brad) * add readonly option 2004-02-27 (Avva) * Cleaner handling of the case when _oneline is called without a line parameter (i.e. not to send anything, just read a line from the socket). Make it depend on $line being defined only, regardless of its content (thanks Brad!). 2004-02-25 (Avva) * Asyncify all I/O, finally get rid of alarm() yuckiness, unify all one-liner command/responses into a single internal API. 2004-02-17 * document in POD the delete method 2004-02-03 * fix bug with 2k read boundaries falling in the middle of "VALUE ..." or "END" lines, thus halting future parsing and responses. (eek!) * version 1.0.12 2003-12-01 * merge stats/stats_reset patch from Jamie McCarthy * trailing whitespace cleanup 2003-11-08 * work on Solaris/BSD where there's no MSG_NOSIGNAL. the expense is extra syscalls to change the local SIGPIPE handler all the time. in the future, it'd be nice to have an option so Solaris/BSD callers can say, "Hey, I've turned off SIGPIPE globally, don't worry about it." 2003-10-26 * add a test file, so automated CPAN test hosts are happy * check MSG_NOSIGNAL immediately on module load, not on use, so Solaris dies early. (still on TODO to fix, but better to fail loudly) * version 1.0.11 2003-10-25 * version 1.0.10, rename to Cache::Memcached, upload to CPAN 2003-10-18 * implement read/write timeouts everywhere. Now the client shouldn't hang if the server machine goes down unexpectedly. (avva) 2003-10-16 * use Storable::nfreeze instead of freeze, so hosts from different architectures can all use the same data. (all must use Perl, though. the different memcache APIs all store/pickle/serialize data differently) Suggestion by Jason Titus 2003-10-06 * fix _incrdecr to return complete number, not just first digit (thanks to Ryan T. Dean) * release version 1.0.9 2003-10-04 * document expiration times in POD (thanks to Tim Bunce for noting the omission) * release version 1.0.8 2003-10-03 * add connect timeout of 0.25s, for dead host detection. We had 1 second a couple revs ago, but lost it when ditching IO::Socket module. (avva) 2003-10-02 * fix _incrdecr with explicit-hashvalue keys (whitaker) 2003-10-01 * add run_command API call. TODO: document, and document the $exptime on the setters 2003-09-30 * use send instead of print, so we can set MSG_NOSIGNAL and not get SIGPIPES, which avoids 3 syscalls of localizing $SIG{PIPE} and sends everything at once, instead of 4k stdio chunks. in review: stdio buffered in, send unbuffered out. TODO: setvbuf so reads are buffered at more than 4k. 2003-09-29 * yet faster parsing * switch to stdio/perlio instead of raw io: more correct, simpler parsing code. 2003-09-28 * prevent some warnings * faster get() call that doesn't use get_multi() * optimizations for single-server case * use socket APIs directly, instead of uber-slow IO::* modules * new faster _load_items parsing 2003-09-04 * emit debug when set/add/replace fails, in addition to succeed Version 1.0.7 -- compression support (Brad Whitaker) Version 1.0.6 -- incr/decr client support -- make delete optionally take second argument (server now supports a delay time on delete) -- doc updates from Jamie McCarthy -- better hashing after dead host detection: new requests go to different remaining hosts, instead of all to the same one. Version 1.0.2 -- initial release, about.