Revision history for Perl extension Class-XSAccessor.

1.19  Fri Nov 22 07:15 2013
  - Remove the OP tree munging optimization since it wasn't in the
    end really speeding things up. (chocolateboy)
  - Require Time::HiRes explicitly because CentOS cripples the base
    perl install.

1.18  Mon Jun 17 18:07 2013
  - Revert fixes for implicitly-lvalue getters for now since that
    actually breaks user code. It seems it's not just because the
    users are naughty, so more investigation required.

1.17  Mon Jun 17 07:09 2013
  - For Hashes: Implement predicates that check definedness and
    existance explicitly. The traditional "predicates" check
    definedness. It's conceivable to also want a bool-check
    type predicate. File a ticket if you need that.
  - Fix bug regarding getters being implicitly lvalue by
    returning the internal SV*. Instead, we now use TARG.

1.16  Mon Nov  5 13:47 2012
  - Drop erroneous MYMETA files from distribution.

1.15  Sun Nov  4 15:30 2012
  - Support for hash keys with NUL (\0) characters. Previously,
    these were truncated.

1.14  Sun Aug 26 23:23 2012
  - Skip some failing tests on old debugging perls. Guys, please
    upgrade your perl!

1.13  Mon Dec 12 08:21 2011
  - Promotes 1.12_03 to a stable release.

1.12_03  Fri Dec  9 18:29 2011
  - Fix for unthreaded perls (broken in 1.12_02).

1.12_02  Wed Dec  7 08:20 2011
  - Removes the cached read-only and read-write accessors
    for the time being. (These were only available from another
    development releasse.
  - Much more brutal thread-safety testing.
  - Fixed thread-safety problem with the global hashkey storage.
  - Lots of refactoring in the C code.
  - Instead of storing an index in the CV, we store a pointer to
    the hashkey struct.

1.12_01  Tue Nov 29 18:40 2011
  - Implements cached read-only and read-write accessors.
    Details on what that means are in the documentation.

1.12  Fri Sep  4 19:00 2011
  - Reclaim compatibility with the most recent versions of
    ExtUtils::ParseXS.
  - Explicit tests for wrong-type invocants.

1.11  Fri Dec  3 18:00 2010
  - Fix assignment to lvalue accessors that
    point at an uninitialized hash element.

1.10  Wed Dec  1 20:44 2010
  - Fix RT #63458 and potentially #50454
    We don't occasionally crash during END any more.
    Instead, we rely on the OS to reap a bit of memory after
    perl was shut down anyway.
  - Tiny refactoring for smaller object size.

1.09  Sun Oct 31 12:45 2010
  - Fix #62531: Predicates return value, not bool (SJOHNSTON)
  - TODO test for perl-crashing bug (in perl) that can happen
    on (arcane) XSUB aliasing on perls < 5.8.9 (Peter Rabbitson)
    We're open for work-around patches.

1.08  Fri Sep 17 20:30 2010
  - Promote latest development release to a stable release.

1.07_04  Sun Sep 12 10:30 2010
  - Since WIN32 doesn't have the PERL_CORE optimization,
    it gets the PERL_NO_GET_CONTEXT optimization back.
  - Add threading test that would previously crash on win32
    and perls compiled with track-mempool.
  - Use the system's malloc/etc for the shared memory, not perl's.

1.07_03  Thu Sep  9 20:30 2010
  - Minor constructor optimization/cleanup.
  - Various built-time warning fixes.
  - PERL_CORE optimization now disabled on WIN32.
  - Class::Accessor::Fast compatibility code added (not
    for public consumption!)
  - Clear requirement of Perl 5.8 everywhere.
  - Fix minor (constant as in O(1)) memory leak.

1.07_02  Mon Aug 23 20:30 2010
  - Various warning fixes and small cleanups over previous
    dev. version.

1.07_01  Wed Aug 18 20:30 2010
  - Experimental support for lvalue accessors:
    $obj->foo = 12

1.07  Sun Aug 15 14:41 2010
  - Include two new test files for the fix in 1.06.
  - Define PERL_CORE, but *only* while including XSUB.h to get
    a significant speed-up (see XSAccessor.xs for an explanation).
    Idea from chocolateboy. Complaints from rightfully annoyed
    perl5-porters (in particular but not limited to Nicholas)
    go to Steffen.

1.06  Sat Aug 14 20:21 2010
  - Add sanity checks to make sure we don't segfault on
    invalid invocants (chocolateboy)

1.05  Sun Nov 15 12:54 2009
  - Minor developer doc tweaks.
  - Minor XS refactoring

1.04_05  Mon Nov  9 20:10 2009
  - Fixes for perls < 5.10:
    => No entersub optimization
    => Do no use precalculated hashes
  - Updated entersub optimization
  - Remove brain-damaged double-hashing
  - Minor portability fixlets

1.04_04  Thu Nov  5 18:00 2009
  - Fixes for non-threaded perls
    (no need for locks, perl_mutex not even defined).

1.04_03  Tue Nov  3 22:32 2009
  ** This release features some very radical changes. Test well. **
  - Replace use of perl hashes in the global hash key name storage with
    a full-blown, separate implementation of a hash table
    (Steffen, chocolateboy)
  - Similarly, throw out the SV's for simple C strings.
  - Add a global lock for all modifications to global data structures:
  - The above three items fix RT #50454 (serious threading issues).
  - Add support for alternate use Class::XSAccessor { ... } syntax
    (Adam K)

1.04_02  Mon Sep  7 11:35 2009
  ** This release features some very radical changes. Test well. **
  - Significant optimization by replacing the relevant entersub ops
    with stripped down versions (chocolateboy)

1.04_01  Mon Sep  7 11:35 2009
  ** This release features some very radical changes. Test well. **
  - More aggressive OPTIMIZE flags if possible (chocolateboy)
  - Added shorthand syntax for getters, setters, accessors, and predicates
    where the attribute has the same name as the method (chocolateboy)
  - Remove dependency on AutoXS::Header.
  - Merge Class::XSAccessor::Array into this distribution.
  - Refactored the XS to remove duplicate code.
  - Refactored the perl code in XSAccessor.pm and Array.pm to remove
    duplicate code (=> Heavy.pm).
  - Upgrade Devel::PPPort/ppport.h (chocolateboy)

1.04  Thu Jun 11 16:40 2009
  - Fix a bunch of warnings thanks to a heads up from
    Marcela Maslanova.

1.03  Sun May 31 18:45 2009
  - Upgrade to AutoXS::Header 1.01: Make it C89!

1.02  Sun May 17 11:18 2009
  - Require new AutoXS header version in order to fix
    prototyping issue.

1.01  Sat May 16 16:11 2009
  - XS boolean constants for PPI

1.00  Sat May 16 13:48 2009
  - Implement new caching algorithm: Only recreate
    the int => hash key association for new hash keys.

0.14  Tue Dec  9 21:06 2008
  - Fix Makefile issue on Windows using nmake (Petar Shangov)

0.13  Thu Dec  4 15:06 2008
  - Add predicate tests
  - Fix some compiler warnings (Tom Heady)

0.12  Tue Dec  2 14:07 2008
  - Compilation fix for Solaris cc. (Probably going half-way only.)

0.11  Sat Nov 29 21:37 2008
  - Forgot to add more tests in previous release.

0.10  Sat Nov 29 21:17 2008
  - Add generation of constructors.

0.09  Sat Nov 29 17:28 2008
  - Add the class option to set the target class.

0.08 Fri Nov 21 12:17 2008
  - Reduce code duplication.
  - Fix for compilation issues on Solaris with Sun's cc.

0.07  Thu Aug 29 14:14 2008
  - Documented the "replace" option.
  - Added the "chained" option to generate chainable setters
    and mutators.

0.06  Thu Aug 28 13:39 2008
  - Copy input scalars on setter/mutator calls (RT #38573)

0.05  Sat Jun 21 18:06 2008
  - Add read/write accessors. (chocolateboy)
  - By default, return the new value from setters. (chocolateboy)
  - Add predicates, i.e. "has_foo".

0.04  Mon May  3 19:12 2008
  - Win32 support.

0.03  Mon May  3 19:12 2008
  - Refer to Class::XSAccessor::Array for array based objects.

0.02  Mon Apr  3 17:12 2008
  - Mention in the docs that fully qualified method names are
          supported.

0.01  Mon Apr  3 17:09 2008
  - original version as uploaded to CPAN.