Revision history for Perl extension Heap::Simple::Perl.

0.14	2008-01-27 23:43:15 UT
	- No functional changes
	- Use two argument open to handle the t/options file. Needed for old
	  perls before 5.6. Only relevant for "make test"

0.13	2008-01-27 14:59:06 UT
	- Work around a bug in perl 5.6 where you cannot trust the return
          value of s///ge
	- Quote version dependencies in Makefile.PL to avoid having some
	  systems depend on 9e-2 instead of 0.09
	- Add a line directive to the partial evaluations so that errors
	  refer to logical names like
	  "Heap::Simple::Auto::Number::Scalar::insert line 3" instead of
	  "eval 25 line 3"

0.12	2008-01-26 18:45:32 UT
	- Pure maintenance release, no functional changes
	- Added "cover", "ppm install" and "ppm uninstall" private make targets
	- Fix for test on perl 5.10 where we were testing perl itself, not
	- Added PackageTools based versioning

0.11	2005-11-20
	- Add extract_all method
	- Add merge_arrays method
	- inserts can now handle multiple elements as argument
	- absorb and key_absorb use the new multi-inserts
	- absorb and key_absorb now take any number of heaps as argument
          instead of absorbing exactly one.
	- Special characters in generated constant strings were incorrectly
	  escaped (bugfix)
	- key_method doesn't return literal strings anymore in the "complex"
	  case (also causes the above mentioned bug to never trigger)
	- make the internal _STRING and _LITERAL macros never see each others
	  output (this is possibly a bugfix)

0.10	2005-07-27
	- removed a stray print from t/speed_array
	- Replaced :: by - in author email address (easier quoting for mailers)
        - Don't run benchmarks unless asked for during Makefile.PL

0.09	2004-11-12
	- Minor update, only the tests are changed to work with perl 5.6.1:
	    - Some tests triggered a 5.6.1 issue where -0 differs from 0
	    - One of the ties in the magic test was one reference too deep.

0.08	2004-11-06
	- Removed a few stray "use warnings" in the tests
        - Added a basic "load the module directly" test since the indirection
          through Heap::Simple hides load errors.
	- Added _ before the name of the recover methods since they aren't
	  part of the official API
	- Only expand all uppercase macros

0.07	2004-10-25
        - Split off Heap::Simple to its own package. This package is now
        - Add a "top" method.
	- Use the "official" constant for infinity (9**9**9)
        - Expand array, hash and method keys inplace (if safe)
        - Check for unknown options
	- Generate code in proper package and with proper name
	  (defining a function twice is now a redefine warning)
        - _make substitutions functions must start with _, not just contain it
	- _make macro expansion now has proper argument parsing
	- _make now does some very trivial code elimination
	- drop the (always undocumented) internal _init method.
	  It was too awkward to use anyways.
        - Move perl code to Simple/ in preparation for an XS switch
	- Renamed the "Key" element type to "Scalar". "Key" remains supported
          for backward compatibility.
	- Consistent error message for getting an element of an empty heap.
        - Document that the methods that return undef on empty are only
          guaranteed to do so in scalar context.
        - Added an extract_first method that returns nothing on empty.
	- Replace test suite with a much cleaner one
        - More fair speed testing
        - Added speed compare with Array::Heap2
	- Added "wrapped", "order", "elements" and "dirty" methods.
        - Make index 0 into a hash now that more and more attributes get added
	- Save and restore $@ around _make() based code creation.
        - Support max_count
	- add absorb() and key_absorb methods
	- added _absorb, _key_absorb and _key_insert helper functions, but they
	  are undocumented (not part of the official interface)
	- placeholders that croak with a nice error message for all methods that
	  don't always exist.

0.06	2004-09-29
        - Don't scare away users by directly explaining all possibilities in
          the docs. Add examples to the top to show basic usage.
        - Fix author email.
        - Be paranoid about defining an expanded function twice.
        - Rename extract_min to extract_top (like Heap did). Keep
          extract_min around for backward compatibility. Same with top_key
          (used to be min_key)
        - Move into lib/Heap
        - Allow and package version to be different

0.05	2003-05-20
        - reorder s.t to take much less memory (failed on fast machines with
          little memory).
        - Added keys, values and clear methods, with tests and documentation

0.04	2003-05-19
        - Small documentation changes
        - Bugfix: "Any" and "Object" element types without arguments failed

0.03	2003-05-19
        - Added settable infinity
        - Added generic compare function
        - min_key now always exists, but can fail on empty heaps
        - reordered $self->[0] from most to least likely
        - Added the Object and Any element methods
        - Added testcases for element methods Method, Object, Function and Any
        - Added method "key_insert"
        - Added testcases for generic compare
        - Added method "key"
        - Documented all new stuff
        - Reduce the number of tests. Still way too many though.

0.02	2003-05-15
        - Added testcases for > and gt
        - Cleaned up the tests a bit
        - Do a bit less work in the tests (faster)
        - autocalibrate the big benchmark test.
        - Unify n.t and s.t. Only run the number variant by default.
        - Unify 2.t into 1.t
        - changed the macro-expander so it supports balanced parenthesis
        - Added the Method and Function element types for completely general
          key fetching (not documented or tested yet)

0.01	2003-05-14
	- original version; created by h2xs 1.22 with options
		-X -n Heap::Simple
        - Insert code from my old FastHeap module
        - Slight code changes
        - Make special versions (Plain, Array, Hash)
        - add testcases
        - Prepare for release
        - Module set too simular, names too confusing. Refactor module names
          into arguments.
        - remove perl 5.6 dependencies (untested)
        - Prepare for release again.