1.08 (2007-05-21)

     -- add "package Gearman::Objects" line to Objects.pm, to ease RPM

     -- reserve the packet number for "all_yours", not yet implemented

     -- In pack_res_command, silence any warnings about 'undefined' or 'uninitialized'
        variables if we aren't sending an argument along with the command.

1.07 (2007-05-07)

     -- continued improved support for child processes as workers,
        making workers go away cleanly if parent pipe dies/EPIPEs.

1.06 (2007-05-04)

     -- better support for Gearman::Workers as child processes talking
        to a Gearman::Server over unix pipe to parent

     -- In worker class, broke out the on connection work, and use that better
        in the case of being a sub process of the gearmand.

1.05 (2007-04-26)

     -- update the prefix code to not break Gearman::Client::Async, which
        was also updated to be compatible.

     -- Add ability for workers to be launched as sub processes of the
        gearmand, using a duped socketpair for communication.

     -- just some extra debugging/deaths during weird cases (helped find
        bugs when server code was massively refactored)

1.04 (2007-04-16)

     -- Let Gearman::Worker use hostnames for job_servers (like
        Gearman::Client does)  (Ask)

     -- Add prefix setting to Gearman::Client and Gearman::Worker for simple
        namespace separation of different instances of the same worker and
        client code sharing job servers. (Ask Bjoern Hansen)

     -- Refactor tests to have less duplicate code (Ask Bjoern Hansen)

     -- Make Gearman::Client / Gearman::Worker tests use $^X instead
        of hardcoded 'perl' to start gearmand (Ask Bjoern Hansen)

     -- Workers can now specify a timeout that when a task exceeds the time, the
        jobserver will reassign the task and ignore results from the defunct job.

     -- Task objects weren't reusable before anyway, and now they're really not:
        when they complete or fail, they wipe all their internal subref members
        to break any potential loops.  also now support a new internal hook
        that happens after your on_complete or on_failure callback.  this
        is used by Gearman::Client::Async now, for cancelling timers.

     -- when workers are writing status messages up to parent, die on SIGPIPE,
        or really any write errors, but just trap SIGPIPE now, if parent goes away.
        fixes a bug found via Gearman::Client::Async's test suite.

     -- finally package it up and call it 1.00 now that we've been using
        it in (LiveJournal) production for quite a while, finding/fixing
        the bugs that happen when you put something into production.