The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Cache::Memcached::Fast.


0.06  2007-12-20
        - this release fixes a serious bug and features the 'nowait'
        mode.  Upgrade is recommended.

        Changes since 0.05:

        Fix a subtle race bug present since 0.02 that could mix
        several values into one when you have more than one memcached
        server and executed get_multi or gets_multi.  If you have seen
        the following in your logs or on the console:

          Attempt to free unreferenced scalar: SV 0x9e89d34 at
          /tmp/Cache-Memcached-Fast/blib/lib/Cache/Memcached/Fast.pm line 688.

        that was it.

        Added 'nowait' mode that allows the client to not wait the
        reply, and thus reduces the wallclock time.  Run
        script/benchmark.pl and see how it affects wallclock time,
        especially over the wire.

        Made undocumented 'noreply' parameter a per-server setting.


0.05  2007-12-18
        - more fixes to build and pass tests on different platforms.
        There's no functional changes again.

        Changes since 0.04:

        At least on Perl 5.6.2 SVREF typemap entry has the meaning of
        the class based on blessed SV.  So instead of SVREF we use
        custom Ref_SV and custom typemap entry.  Found by CPAN
        testers.

        Do not use AUTOLOAD for normal commands, only for undocumented
        ones.

        Add incr() and decr() to script/compare.pl and
        script/benchmark.pl.

        Test case is split into several files and cleaned a bit.

        Rename 'sun' -> 's_unix' in connect.c, because 'sun' is
        reserved on... guesses?  Right, Sun systems!  Found by CPAN
        testers.

        Fix test case for FreeBSD and derivatives: do not use
        localhost.localdomain address, which FreeBSD doesn't resolve
        by default.

        Added docs section "UTF-8 and tainted data".


0.04  2007-12-16
        - CPAN testers found more issues on different platforms,
        fixing these.

        Changes since 0.03:

        const char * is missing from typemap in Perl 5.6.2, fixed by
        using plain char * for class name in new().

        Use AI_ADDRCONFIG conditionally, some systems do not have it
        (NetBSD 3.1).


0.03  2007-12-16
        - this release has no new functionality compared to 0.02.  It
          only fixes some test and documentation problems that were
          discovered, as it always happens, after the upload to CPAN.

        Changes since 0.02:

        Fixed internal documentation references.

        Added missing docs for incr and decr.

        Fixed test case to test server version and use
        cas/gets/append/prepend only for 1.2.4 and up.

        Actually there's new _undocumented_ command server_versions,
        is has broken interface, you can't say which version
        corresponds to which server when some of them do not respond.
        This command is subject to change.


0.02  2007-12-15
        - first public release.

        Changes since 0.01:

        Fully restartable code was replaced with classic
        fill-the-buffer-first approach: it turned out that
        restartability doesn't add much advantage.  Lots of beautiful
        and ugly code gone away.

        Added support for multiple servers (select machine, CRC32,
        timeouts).

        Added script/compare.pl to compare this module to the original
        Cache::Memcached, and also to measure speed in general.

        Added Unix socket support, SIGPIPE handling (proper ignoring
        actually ;)).

        Added support for serialization of Perl data structures, and
        for compression.

        New commands: incr, decr, gets, gets_multi, cas,
        enable_compression, remove (alias to delete).

        New client parameters: connect_timeout, io_timeout (aka
        select_timeout), compress_threshold, compress_ratio,
        compress_algo, max_failure, failure_timeout.

        Finally added documentation!

        Added support for server weights.

        Added the Ketama consistent hashing algorithm.

        Added default tests as generated with Module::Starter.  Main
        test case is still messy, should be split into several tests.

        There's also support for 'noreply'-enabled memcached, but
        those patches are not (yet) accepted to mainline, so 'noreply'
        is not an official feature and is not documented.


0.01  2007-11-26
        - first internal release.

        Supported only one server connection (TCP).  Commands are
        set(), add(), replace(), prepend(), append(), delete(),
        flush_all(), get(), get_multi().  Client parameters are
        'servers', 'namespace', 'close_on_error'.  There's no
        documentation.  Test case is messy (but does its job).


0.01  2007-11-19
        - original version; created by h2xs 1.23 with options
            -O --omit-autoload --compat-version=5.6.0 \
            --use-new-tests --name=Cache::Memcached::Fast