Revision history for subs-parallel-0.04

0.04    Tue Jun 17 23:26:44 2005
        This is more of a fine-tuning version, just to guarantee that some 
        specific situations will work as expected.
        - First CPAN upload after giving up waiting an answer from the folks at
          the official module-list.
        - Some simple test cases added.
        - Now, parallelyzed subs keep their prototypes. This didn't  happen 
          before, so you couldn't parallelyze LWP::Simple's get() without a 
          warning. It would DWYM, though, but it seemed wrong. So this is fixed
          but introduced the dependency of Scalar::Util (which would end up 
          being included anyway, as there's a lot of magic going on here).
        - CORE::GLOBAL::ref() is now overriden in order to make it DWYM with 
          returned objects (previously, it would returns 'subs::parallel').

0.03    Mon Jun 13 20:50:25 2005
        - Refactored the functional interface, so it makes more sense.
        - Now there's documentation! Including a big "CAVEATS" section.
        - Previously if you never used the return value of a parallelyzed sub
          (i.e. it was called in void context) some memory would be leaked due 
          to non-detached threads waiting to be joined. Now, when the return 
          value goes out of scope (or never even enters, as in void context) 
          the threads are detached.
        - The previous fix resulted in another bug which caused threads to be
          incorrectly detached. This has been worked around.
        - parallelyze() was causing "Scalars leaked: 1" warnings. Although
          I don't really, understand why, it has been fixed. All I needed to
          do was to change its definition from
            sub parallelyze (&) { parallelyze_coderef(@_)->() }
          to
            sub parallelyze (&) { parallelyze_coderef(shift)->() }
          As I read somewhere, I suspect there's just too much magic associated
          with @_.
        - The "parallel" attribute is now known as "Parallel" due to perl 
          interpreter whining.
        - 0.03 is a much more respectable version number (hence the number of 
          issues fixed / worked-around).

0.02    June 10, 2005
        This was supposed to be the first public version. But I decided to bump
        up the version number because it seemed like the way to go. Besides, 
        who would use a module that is only version 0.02 and doesn't have that
        many features? ;)
        - "parallel" attribute handling implemented

0.01    June, 2005
        - Gathering ideas. 
        - Making it just work.
