Revision history for Perl extension PPI

0.826
	- Added PPI::Element::statement object method
	- Added PPI::Transform abstract class
	- Sped up the 'bool' overload for PPI::Element
	- Added PPI::Element::snext_sibling object method
	- Added PPI::Element::sprevious_sibling object method
	- Added PPI::Element::insert_before object method placeholder
	- Added PPI::Element::insert_after object method placeholder
	- Changed {elements} to {children} to match PPI::Node defintions
	- Added PPI::Node::first_element object method
	- Added PPI::Node::last_element object method
	- Added PPI::Element::next_token object method
	- Added PPI::Element::previous_token object method
	- Added PPI::Token::Symbol::symbol object method

0.825 Mon Jul 26 2004
	- Added PPI::Statement::Include::type object method
	- Added PPI::Statement::Include::module object method
	- Added PPI::Statement::Include::pragma object method
	- Added PPI::Statement::Include::version object method
	- Overloaded == as "the same object" for PPI::Element
	- Overloaded eq as "->content is the same" for PPI::Element
	- Overloaded bool as always true, to prevent an error
	- Added PPI::Statement::Package::namespace object method
	- 100% round-trip safe. What goes in, will come out.
	- Reduced leaks by 95%. Process size 30meg after 5000 files.
	  Still some leaks remaining when Lexing errors out.
	- Seperated largest Tokens into their own classes.
	  This aligns token class structure with that of ::Statement and ::Structure
	- Rewrote PPI::Node::DESTROY several times while hunting down more leaks
	- Fixed Tokenizer crash on empty subroutine prototypes such as C< sub foo() {} >
	- Treat unexpected braces as an implicit close, to make the lexer more resilient
	- Added PPI::Statement::UnmatchedBrace (name suggested by Abhijit Menon-Sen)
	  to handle closing braces found at the base of a Document.
	- Enabled foo'bar package notation again.
	- Getting close to the first 0.900 series beta release

0.824 Wed Jul 21 2004
	- Removed a 6 meg tmon.out file I accidentally bundled

0.823 Wed Jul 21 2004
	- Added PPI::Document::Fragment class
	- Added PPI::Node::schildren object method
	- Completed compound statement parsing
	- Lexer is now officially feature complete

0.822 Wed Jul 21 2004
	- Filling out the API test as much as possible
	- Added PPI::Statement::label object method
	- Moved PPI::Structure::elements object method to PPI::Node::elements
	- Re-organised statement parsing to better implement ::Compound statements
	- Added PPI::Statement::Data class
	- Added PPI::Statement::End class
	- Re-organised the _lex_statement, _statement_continues stuff, ready for while
	- Added PPI::Lexer::_lex_statement_end to handle PPI::Statement::End properly
	- Organising 02_api.t was getting hard, so added implicit Module=class to Test::ClassAPI

0.821 Mon Jul 19 2004
	- Cleaned up test data files directories
	- Added PPI::Statement::Variable::type object method
	- Added PPI::Statement::Variable::variables object method
	- Added some more classes to the API testing
	- Started 07_tokens.t for testing particular token classes
	- Added PPI::Token::Symbol::canonical object method (and tests)
	- PPI::Token::Magic now ISA PPI::Token::Symbol
	- PPI::Element::clone now fixes _PARENT links for Nodes

0.820 Mon Jul 19 2004
	- Added Round-Trip-Safe testing for all PPI files
	- Added PPI::Node::find_any object method
	- Added PPI::Node::contains object method
	- Continuing the never ending addition of tests
	- Structure open and close brace tokens now see the Structure as their parent
	- Removed the sample application, to streamline the core install
	- Removed dependencies for the sample application
	- Removed custom META.yml, as now no longer needed

0.819 Mon Jul 14 2004
	- Many parts of PPI are VASTLY changed in this revision
	- Breaks API compatibility heavily
	- Adds dependency on List::MoreUtils
	- Added PPI::Lexer support for CHECK blocks
	- Added PPI::Document::load method
	- Added PPI::Document::save method
	- Added PPI::Document::index_locations method
	- Added PPI::Document::flush_locations method
	- Added PPI::Element::top method
	- Added PPI::Element::document method
	- Renamed PPI::Element::extract -> PPI::Element::remove
	- Added test script for element-y stuff
	- Optimisation across the board using List::Any
	- Added PPI::Node::first_child method
	- Added PPI::Node::last_child method
	- Added PPI::Element::clone method
	- Removed Filehandle support from PPI::Tokenizer, to allow the
	  ability to rollback source lines into the buffer if needed.
	- Added POD documentation for PPI::Element
	- Added POD documentation for PPI::Node
	- Added POD documentation for PPI::Document

0.818 Mon Jul  5 2004
	- Changed lib/PPI/Manual.pm to lib/PPI/Manual.pod
	- Added documentation for PPI::Lexer
	- Fixed the misparsing of s{//}{\}
	- More clues added for deciding "slash or regex"
	- Removed PPI::Batch from the default distribution
	- Replaced File::Flat with File::Slurp to reduce dependencies

0.817 Thu Jul  1 2004
 	- Fixed the misparsing of $#{ }
 	- Changed PPI::ParentElement to PPI::Node and moved it to it's own file
	- Changed PPI::Common to PPI::Base
	- Fixed PPI::Node::find
	- Added PPI::Node::prune
	- Started to add a little more class structure documentation
	- Tried to make the DESTROY sequence of events work better

0.816 Tue Jun 29 2004
	- Solved the "last token in file parses wrong" bug

0.815 Sun Jun 27 2004
	- Fixed a bug with the detection of @- and @+
	- Added support for @*
	- Added missing classmap entry for ^ to ::Token::WhiteSpace
	- Added support for arcane "foo"x10 idiosyncracy

0.814 Sat Jun 26 2004
	- Added the PPI tester, a desktop-based interactive debugger, which
	  should greatly accelerate finding and fixing both ::Tokenizer
	  and ::Lexer bugs. This will probably end up as a seperate
	  distribution though, as it has a dependency on wxPerl.

	- Fixed the misparsing of Foo::Bar::Baz
	- Fixed the misparsing of *100
	- Fixed the misparsing of Class::->method properly, or rather Foo::
	- Tokenizer correctly identifies labels
	- Changed PPI::Statement::Flow to PPI::Statement::Compound
	- Removed the extra null whitespace token appearing after a bareword
	  at the end of a file.
	- -X operator are recognised correctly, although not at end of file
	- Lexer detects subroutine and if () statement ends correctly

0.813 Sat Jun 26 2004
	- PPI::Lexer is not structurally complete

0.812 Tue Jun 22 2004
	- No changes to PPI itself.
	- With the addition of Test::ClassAPI 'complete' support,
	  upgraded 02_api.t to use it. Fixed a few small house-keeping bugs.

0.811 Mon Jun 21 2004
	- Added support for subroutine attributes
	- Fixed some problems with anonymous subroutines and prototypes
	- $#$foo parses as (Cast,Symbol) now, not (Magic,Symbol)

0.810 Mon Jun 14 2004
	- Recognise the _ magic filehandle

0.809 Sat Apr 17 2004
	- No changes to PPI itself.
	  Set the correct number of tests to match changes to Test::ClassAPI

0.808 Sat Apr 17 2004
	- No changes to PPI itself.
	  Upgraded 02_api.t to match changes to Test::ClassAPI

0.807 Sat Apr  3 2004
	- Added a manual META.yml file to stop the bundled private AppLib
	  library from being indexed by CPAN

0.806 Mon Mar 22 2004
	- The $} magic variable is now supported
	- Fixed a "tight sub property" bug ( sub foo:lvalue )

0.805 Sun Sep 28 2003
	- The maximum line length regressed, reseting it to 5000.
	- In PPI::Format::HTML, not any parsing error causing a
	  premature end of tokenizer by adding it in a comment at
	  the end of the file.

0.804 Sat Sep 06 2003
	- Statement and Structure resolution preliminarily work.
	  Some basic types of statements and structures are identified.
	- PPI::Format::Apache has been seperated into a different module

0.803 Sat Sep 06 2003
	- Added very long line protection support.
	  Maximum line length is now 5000.
	- Added bug fixes to the Lexer so that block tree building works
	  mostly OK again, without adding broken duplicate tokens.
	- Added the PPI::Lexer::Dump module, to do Lexer object dumps.

0.802 Sat Aug 23 2003
	- PPI::Format::HTML sends the correct content headers

0.801 Fri Aug 22 2003
	- Moved to a new numbering scheme to get more room before 1.0
	- Always fully load when called under mod_perl
	- Add mod_perl hook to PPI::Format::HTML

0.8 Fixes to the quote parsing engine

0.7 Fixed some minor bugs

0.6 Fixed POD, fixed version number, included $'a as a symbol

0.5  Missing

0.4  Mon Dec 23 10:24:21
        - Some more minor parsing fixes in Tokenizer
        - Completely changed the API from doThis to do_this style
        - Changed API to indicate private methods properly

0.3  Tue Dec 17 10:29:27
	- Restructured a little bit
	- Fixed some mis-parsing cases

0.2  Unknown
	- Added test script

0.1  Thu Dec 06 16:50:23 2002
	- original version
