Revision history for Contextual-Return

0.0.1  Mon Mar 14 22:53:00 2005
       Initial release.


0.0.2  Sun May 22 05:48:19 2005

    - added dependency on version.pm



0.1.0  Fri Feb 17 12:15:18 2006

    - added LAZY {...} block for better self-documentation

    - fixed propagation of exceptions from methods called on returned object

    - Added proxying of can() and isa(). (Should VERSION() be done as well?)
      (thanks, Rob)

    - Added FIXED() to support morphing of scalar return values (thanks, Rob)

    - BACKWARDS INCOMPATIBLE CHANGE:
      Added fallback to scalar returns for list context
      To get the old behavior, add:
        LIST { croak "Can't call this sub in list context" } 

    - Made return values under ${} and @{} remain fully lazy (unless FIXED)

    - Added LVALUE, RVALUE, and NVALUE blocks for implementing lvalue returns

    - Added FAIL block for smart failure

    - Added Contextual::Return::FAIL_WITH to configure FAIL


0.2.0  Tue Mar  6 16:34:54 2007

    - Fixed doc nit (thanks BrowserUK)

    - Fixed test suite under Windows (thanks Nigel and Doug)

    - Fixed doc bugs for FAIL_WITH

    - Removed dependency on Carp internals (now replaces them!)

    - Fixed VOID handling (now correctly falls back to DEFAULT)

    - Fixed caller semantics within handler blocks (thanks Schwern)

    - Fixed edge case of C::R::V metainformation requests (thanks Andrew)

    - Rejigged FIXED/LAZY/ACTIVE

    - Added RESULT and RECOVER blocks (thanks Aaron)


0.2.1  Thu Mar 29 17:59:40 2007

    - Removed spurious Smart::Comments dependency (thanks Dave!)


0.003001  Tue Jun 22 17:20:36 2010

    - Added Contextual::Return::FREEZE and Contextual::Return::DUMP
      to facilitate debugging

    - General clean-and-tighten of documentation

    - Added CLEANUP blocks

    - Added PUREBOOL context

    - [BACKWARDS INCOMPATIBLE CHANGE] Changed export interface

    - Added warning about (mis)behaviour of LVALUE, RVALUE, NVALUE
      under the debugger (thanks Steven)

    - Documented METHOD handlers


0.003002  Thu Jan 19 09:27:29 2012

    - Updated version number of Contextual::Return::Failure
      to placate CPAN indexer

    - Improved error messages for bare handlers in bad contexts (thanks Mathew)

    - Work around problems with Test::More and caller


0.004000  Thu Feb 16 14:30:56 2012

    - Fixed context propagation bugs in FIXED and ACTIVE modifiers

    - Added STRICT modifier to prevent fallbacks
      (i.e. impose strict typing on return values)


0.004001  Thu Feb 16 19:01:05 2012

    - Fixed annoying POD nit (thanks Salvatore)


0.004002  Fri Mar  2 06:18:38 2012

    - Fixed significant typo (Carp:carp -> Carp::carp)
      (thanks everyone who reported it)


0.004003  Wed Apr 11 07:55:49 2012

    - Doc patch (thanks Fabrizio)

    - Patched failures.t to account from bleadperl changes
      (thanks Zefram!)


0.004004  Sun Aug  5 17:46:56 2012

    - Further patch to failures.t

    - Added redefinition of Scalar::Util::blessed() to avoid nasty
      surprises (thanks Andrew!)

    - Added confess() and cluck() overrides
      and fixed caller() override to set @DB::args when appropriate


0.004005  Mon Aug 20 10:44:35 2012

    - Further patch for t/confess.t
      (Thanks, David!)


0.004006  Thu Oct  4 16:49:47 2012

    - Circumvented annoying undef-as-key warnings in Perl 5.17+

    - Honour @CARP_NOT's when reporting context


0.004007  Fri Oct  5 23:05:05 2012

    - Added BLESSED handler for better control over how blessed() lies

    - Upgraded reimplementation of blessed() to make more sense


0.004008  Sat Sep 12 13:16:30 2015

    - Promoted $VERSION variable to earlier in source to
      attempt to placate cpanminus (thanks, Karen!)

    - Added prototype to overridden caller()

    - Changed way caller() is overridden, hopefully will no longer
      clash with Sub::Uplevel


0.004009  Fri Nov 18 08:34:19 2016

    - Improved behaviour of FREEZE (Thanks, Mathew!)

    - Improved output of DUMP


0.004010  Thu Dec  1 17:41:14 2016

    - Spelling fix in POD (thanks, Salvatore)

    - Improved DUMP behaviour when passed a non-CRV argument
      (thanks, Mathew)


0.004011  Sat Apr  8 15:23:14 2017

    - Patched memory leak from use of @DB::args
      (thanks, Jay!)


0.004012  Thu Apr 13 01:06:09 2017

    - Optimized previous patch for memory leak
      (thanks, Jay and Father C.)

    - Added missing test plan to t/fail.t



0.004014  Fri Apr 14 18:46:16 2017

    - Reverted to 0.004011 due to segfaults under
      optimized memory leak patch (thanks, Slavin!)