Revision history for Fatal

1.10_06 Sun Jun 22 21:50:39 AUSEST 2008

	* RELEASE CODENAME: "Chocolateboy", in thanks for his wonderful
	  insights, and for letting me sound off way too many ideas
	  about how things may be done.

	* Fixed speeling errors in context.t, thanks to Stennie.

	* Fixed minor pod errors and omissions.

	* Fixed bug in recv.t which resulted in an incorrect number
	  of skipped tests on systems using socketpair emulation.

	* Fixed a bug that would cause unwanted interactions between
	  autodie and autobox.  Thanks to chocolateboy. (5.8)

	* Wrote a (failing) test case demonstrating that the
	  autodie pragma could leak across files.  Many thanks to
	  chocolateboy for bringing this to my attention.

	* t/system.t checks to see if exotic system has been injured
	  in the same package as 'use qutodie qw(system)'

	* Calling filename reliably reported in 5.8 error messages
	  and error objects.

	* User subs can be made autodying under 5.8, but they leak
	  over the entire package (which is very bad!)

	* Context-checking tests split into package-scope tests and
	  lexical scope tests.

	* Lexical user-subs are disabled under Perl 5.8.  They were
	  leaking everywhere and not being lexical at all.  Attempting
	  to use a lexical user-sub under 5.8 now causes an error.

	* Bugs found in interaction between autodie and Fatal in
	  5.8.  When used together, we can't reliably replace a
	  Fatalised sub with an autodying one, and then switch it
	  back again at the end of block.

	* Bugs described above fixed, thanks to ikegami!

	* Overhauled _remove_lexical_subs, based on ikegami's
	  input.  This routine would now be better named
	  "_install_lexical_subs", since it can now both
	  install and remove.

	* Surpressed some warnings under 5.8 about uninitialised
	  hints hashes.

	* Added support for backwards compatible Fatal calls in
	  5.8.  These are currently a little *too* backwards compatible,
	  possessing the same bugs as the old Fatal (clobbering
	  context).

	* Improved caching of pre-generated subroutines.  We now
	  cache the compiled subroutine, rather than the uncompiled
	  code.

	* Added more tests to ensure Fatal throws backcompat
	  strings, whereas autodie throws exception objects.

	* Support for lexical user-subs enabled, tested, and working
	  in 5.8!

	* Added resources to Makefile.PL / META.yml


1.10_05 Sun Jun 15 15:46:38 AUSEST 2008
	* Kludgy support for Perl 5.8 using Scope::Guard and dark
	  and terrible magicks taken from namespace::clean.

	* Rudimentary caching of generated code, to avoid having
	  to regenerate the same code every single time Fatal/autodie
	  is used on the same function.

	* Nuking subroutines at end of lexical scope moved into
	  own subroutine.

	* Perl 5.8 support working!  Backcompat mode not yet
	  supported, nor is autodie with user defined subs.
	  The 5.8 support that is there is rather kludgy, and
	  still needs a lot of work.

	* Perl 5.8 code no longer gets executed under 5.10 when
	  executing write_invocation().

	* lex58.t tells the user that we'll get warnings under
	  Win32, and these are to be ignored.  This is due to
	  a Perl behaviour where it always calls the shell under
	  Win32, even when multi-arg system is used.

	* lex58.t no longer fails to compile on Perl 5.10 which
	  is still clobbering exotic open.  Perl 5.8 does not
	  clobber the exotic form.

	* Backcompat tests are all marked as TODO under perl 5.8

	* Makefile.PL moved back to saying autodie works under 5.8

	* Context/user-sub tests skipped under 5.8, which does
	  not yet support autodying of user subs.

	* lex58 tests now skipped if IPC::System::Simple not installed.

	* Squished a spurious warning from lex58.t

1.10_04 Sat Jun 14 15:02:17 AUSEST 2008
	* Made all $VERSION numbers more friendly to static code
	  analysis tools (including CPAN).
	* Added a test to make sure all version numbers are incremented
	  in lock-step.

	* Started 5.8 support
		* Removed dependencies on 5.10 'use feature'.
		* Removed dependencies on 5.10 fieldhashes.
		* a::e::match no longer uses smart-match or //
		* %^H init doesn't use // anymore.
		* 5.8 won't try to use // in fatalised subs (kludge)

	* recv.t corrected to use a custom socket (closed for writing)
	  and to ignore SIGPIPEs.

1.10_03 Fri Jun 13 11:04:17 AUSEST 2008
	* Updated backwards compatibility tests to work on
	  non-Enligh systems.

1.10_02 Fri Jun 13 10:55:00 AUSEST 2008
	* Tweaked boilerplate test to remove windows-only paths.

1.10_01	Thu Jun 12 17:19:13 AUSEST 2008
	* First beta release of module.

1.09	UNRELEASED
	* Many changes not documented here.
	* Fatal is now fully backwaards compatible again.
	* system() can be fatalised/autodying if IPC::System::Simple
	  is installed.
	* Rationlisation of autodie::exception API.
	* autodie::exception->function() now always returns the
	  full function name as best we can find it, and not
	  what may be getting replaced (eg, CORE::open instead of
	  main::open).

1.08	Sat Mar 29 10:54:20 AUSEDT 2008
        Dual-lifed module internally from work I was doing on p5p.

