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