Revision history for Perl extension Inline::CPP.

0.40_001 Fri Aug 24 20:12 PDT 2012
    ( DEVELOPER'S RELEASE -- Changes to CPP.pm require smoke testing. )
    - Added test to release test to test compile after wiping out pre-existing
      Inline config file.
    - Added test for consistent version numbering.
    - Added test to ensure 'LIBS' configuration directive wraps in an array-ref
    - Converted all "author" type tests to run only with RELEASE_TESTING (some
      were already that way.  Just created better consistency).
    - Bug-fix: library specification needed to be wrapped in an array-ref.
      Reported and tracked down by Paul Grinberg++.

0.40 Thu Aug 23 15:34:00 PDT 2012
    - Added META_MERGE => provides to Makefile.PL.
    - Added another example to the POD (elipses, exceptions, overloading
      work-arounds).
    - Added a RATIONALE section to the POD.
    - POD enhancements, and clarification on reasons for Template and
      Overloading limitations.
    - Added #define __INLINE_CPP 1 to all Inline::CPP generated code to
      facilitate preprocessor logic that targets Inline::CPP code.

0.39 Mon May 07 00:30:00 PDT 2012
    - All changes from 0.38_004 remain.
    - Inline::CPP::Config is now the write target for Makefile.PL rather than
      directly writing to CPP.pm.
    - Added 09pod_coverage.t and 10kwalitee.t tests.
    - Major refactor for Inline::CPP::validate() and
      Inline::CPP::XS_bindings().
    - Warnings added to all tests.
    - Explicit mention of all dependencies (even core) in Makefile.PL.
    - LICENSE tag added to Makefile.PL so that the license is properly
      identified in the META.* files.
    - MINIMUM_PERL_VERSION tag used in Makefile.PL to take advantage of
      more modern META tags.

0.38_004 Mon Apr 16 12:12:00 PDT 2012
    - Revert Makefile.PL to 0.38_002 logic
      (remove ExtUtils::CppGuess dependency).
    - Add Inline::CPP::Config.pm
        Makefile.PL now writes to Inline::CPP::Config.pm rather than
        directly to CPP.pm.
    - Modify Makefile.PL to write to new configuration location.
    - Modify CPP.pm to utilize Inline::CPP::Config.pm rather than expecting
      hard-coded defaults to be written directly to CPP.pm by Makefile.PL.
    - Make t/08cppguess.t **optional**.
    - Update MANIFEST.
    - Improved how Makefile.PL specifies minimum Perl version.
    - Makefile.PL now includes a CONFIGURE_REQUIRES directive for a version of
      ExtUtils::MakeMaker that will support important meta tags.

0.38_003 Sat Mar 24 10:36:00 PDT 2012
    - Makefile.PL rewritten to use ExtUtils::CppGuess.  THIS IS A PRELIMINARY
      TEST.  EXPECT PROBLEMS.
    - t/08cppguess.t to provide diagnostic info regarding Makefile.PL rewrite.

0.38_002 Wed Mar 07 10:07:00 PST 2012
    - Bug fix for a bug introduced in refactoring code within version 0.35:
      A hash slice got (wrongly) refactored as something else.  Fixed now.
    - Fine tuned a few other recent refactoring issues.

0.38_001 Tue Mar 06 21:23:00 PST 2012
    - Dropped in the re-written test suite that uses Test::More.  This more
      modern test suite facilitates greater introspection for each segment of
      C++ code, and should also be easier to extend and maintain.
    - Removed Test.pm dependency from distribution.
    - Shifted CPP.pm away from "use base 'Inline::C';" to "our @ISA =
      qw( Inline::C );" to better deal with the fact that one cannot "use"
      Inline::C.

0.38 Tue Mar 06 17:09:00 PST 2012
    - Added a minimum version of Test.pm under BUILD_REQUIRES in
      Makefile.PL to get a good version of Test.pm for the test suite.
      This fixes an issue where someone uploaded an empty distribution
      to CPAN named Test as version 0.001.  The  minimum version set for
      Test.pm was core for Perl 5.6.0.

0.37 Mon Mar 05 15:45:00 PST 2012
    - Backed 'strict' out of test suite; tests began failing randomly on
      *some* minority of platforms (inexplicably).  May be a Test.pm fault.
    - Test suite lacks Perl::Critic compliance on the single issue of 'strict'

0.36 Sun Mar 04 21:28:00 PST 2012
    - Some platforms were complaining from strictures in the test suite
      conflicting with Test.pm's plan() function.  This issue should now be
      resolved.

0.35 Sat Mar 03 08:15:00 PST 2012
    - Additional code cleanup and improvements in Perl::Critic compliance.
    - All patches present in 0.34_004, including code formatting, cleanup
      Perl::Critic compliance and escaping (where necessary), and Makefile.PL
      fixes to allow NetBSD, Solaris, and Darwin platform install success.
    - Explicitly require minimum Perl version of 5.6.0.

0.34_004 Tue Feb 28 08:00:00 MST 2012
    - Code formatting cleanup in CPP.pm and grammar.pm.
    - All code now passes Perl::Critic level 5, including test suite.
    - CPP.pm and grammar.pm are Perl::Critic level 4 compliant.
    - New NetBSD patch from Chris Smith targeting better install success on
      that platform.

0.34_003 Fri Feb 24 08:28:00 PST 2012
    - Add (untested) code to Makefile.PL to deal with NetBSD so that
      we can get a clean NetBSD install. EXPERIMENTAL in this version.
    - Add check to CPP.pm to avoid a noisy warning about undefined value
      when user code includes a subroutine with 'void' as param list.
      (Note: This does NOT add 'void' as a valid param list type.)
    - POD refinements.

0.34_002 Thur Feb 16 12:00:00 PST 2012
    - Patch to Makefile.PL provided by smoke tester Steven Schubiger which
      allows module to successfully install on MirBSD systems. Thanks!
    - Patch to Makefile.PL by Dave Oswald to allow successful install for
      Darwin OS by setting proper default libraries.

0.34_001 Thur Feb 09 23:22:00 PST 2012
    - Patched Makefile.PL (as suggested by sisyphus) to better detect proper
      Solaris compiler (targeting Solaris 2.11 bug).


0.34 Mon Feb 06 22:32:00 PST 2012
    - Carry all updates current in 0.33_010(Dev) to 0.34(Stable) for release
      to CPAN.
    - Set minimum version for Inline and Inline::C dependency to 0.50 to
      take advantage of Inline patch that resolves the issue where smoke
      testers were unable to locate Parse::RecDescent dependency.
    - POD revisions.
    - Inline::CPP now needs minimum Perl version of 5.6.x

0.33_010  Fri Feb 03 23:45:00 PST 2012
    [Patch applied by David Oswald]
    *** NEVER RELEASED ***
    - Update Makefile.PL to set v0.49_02 as the minimum Inline and Inline::C
      dependency versions to further evalute smoke-tests.

0.33_009  Thu Feb 02 10:32:00 PST 2012
    [Worked out patch between David Oswald and sisyphus]
    - Roll back early loading of Parse::RecDescent.
    - Set PREREQ_PM to Inline 0.49_01 to take advantage of recent bugfix.
    - Bump version number and push to CPAN for fresh round of smoke testing.

0.33_008  Mon Jan 30 22:05:00 PST 2012
    [Patches by David Oswald]
    - Make sure that Parse::RecDescent loads ahead of Inline::C so that the
      smoke-testers incompatible @INC modifications won't cause smoke failure.
    - Add 17memberarray.t to the test suite to validate the new code that
      allows Inline::CPP to recognize arrays as class/struct data members.

0.33_007  Sun Jan 29 20:35:00 PST 2012
    [Test suite patches by David Oswald]
    - If 00load_prereqs.t does successfully load Parse::RecDescent (which it
      always seems to do), output the location it was found so it can be
      compared to @INC.

0.33_006  Sun Jan 22 05:59:00 PST 2012
    *** NEVER RELEASED ***
    [Patches by David Oswald]
    - Set 00load_prereqs.t to BAIL_OUT if Parse::RecDescent can't be found.
    - Tweaks to the distribution framework.

0.33_005  Sat Jan 21 00:36:00 PST 2012
    [Added suggestion from sisyphus]
    - Created a 00load_prereqs.t test to provide better diagnostics when
      confronted with the "Unable to find Parse::RecDescent" error.

0.33_004  Wed Jan 11 18:16:00 GMT+8 2012 (Manila)
    [Patches pushed out by David Oswald]
    - Developer release
    - Tweaked compiler flags for Microsoft compilers (per sisyphus)
    - Added github repo information to POD.
    - Added inline mailing list information to POD.

0.33_003  Thu Dec 22 01:20:00 PST 2011
    [Feature added by David Oswald]
    - Added two #define definitions to assist users in determining if the
      target compiler supports namespaces and Standard headers.  This
      will assist users in writing compiler-agnostic or portable code.

0.33_002  Tue Dec 20 10:10:00 PST 2011
    [Patch submitted by BrowserUk, adapted by davido]
    - Better handling of the '.h' code in Makefile.PL with respect to
      MS-flavor compilers.

0.33_001  Mon Dec 19 11:12:00 PST 2011
    [Patch submitted by sysiphus, adapted by davido]
    - Developer release to verify smoke tests without upsetting v0.33 stable.
    - Reworked Makefile.PL and CPP.pm to test-compile a C++ program containing
      <iostream>.  On success we know that <iostream> style headers are ok.
      On failure we assume that headers should be <iostream.h> instead.
      Removed previous compiler-name based detection in favor of trial method.

0.33  Thu Dec 8 22:06:00 PST 2011
    [Patches by David Oswald]
    - Fixed issue where grammar.pm wasn't able to deal with Parse::RecDescent
      improper handling of "Developer Release" version numbers.
    - Fixed issue with test suite where a test was failing due to C++
      implementation dependent handling of floating point math.
    - Updated version number to 0.33 in CPP.pm and grammar.pm.

0.32  Wed Dec 7 23:42:00 PST 2011
    [Patches by David Oswald]
    - Version of Inline::CPP and grammar.pm updated to 0.32.
    - Adjustments to the POD for clarity.
    - Makefile.PL now requires Inline v0.49 to take advantage of the
      patch there that eliminates M18 install errors for Inline plugins.
      This should eliminate the bulk of the smoke test issues.

0.31  Tue Nov 22 21:17:00 PST 2011
    [Patches by David Oswald - davido@cpan.org]
    - Updated Makefile.PL to include Parse::RecDescent to the PREREQ_PM
      list.

0.30  Sun Nov 13 15:30:00 PST 2011
    [Applied two patches contributed by sisyphus.]
    - Maintain backward compatibility with compilers that still require
      the '.h' extension on <iostream>.

0.29  Sat Nov 12 20:30:00 PST 2011
    [Patches applied by David Oswald - davido@cpan.org]
    - Added code to Makefile.PL so that it will install on Mac OS's.
    - Applied a longstanding type-conversion patch by Sisyphus.

0.28  Sat Nov 12 12:45:00 PST 2011
    [Patches applied by David Oswald - davido@cpan.org]
    - David Oswald takes over co-maintainership; blame me!
    - CPP.pm - Stop appending '.h' to <iostream>
    - Now it passes its test suite for Windows Vista 64 with Strawberry
      Perl version 5.14.
    - Now it passes its test suite for Ubuntu Linux 11.10 with
      Perl 5.14.

0.27  Unknown date
    [Undocumented release.]
    - Repaired the iostream(.h) issue.  A similar patch was later
      applied to v0.28, listed above.
    - This update is not part of the progress chain.

0.25  Tue Aug 12 17:03:44 PDT 2003
    [Accepted two patches from Nicholas Clark]
    - works with Parse::RecDescent 1.90 and later
    - use g++ in the same path as gcc, if perl was built with gcc
    [Reported by Anthony Bouvier]
    - fix a compile error in POD's example code

0.24  Mon May 27 22:25:38 PDT 2002
    [Accepted patch from Sean O'Rourke]
    - unhandled types ignored, rather than causing an error
    - typenames and identifiers can now include more C++ noise
    - operators are correctly recognized (and ignored)
    - nested classes are ignored
    - non-inline constructor bodies are ignored

0.23  Sun Jul 15 15:53:02 PDT 2001
    - Allow declaration lists: int a, b;
    - Allow initializer lists: Foo(double _o) : o(_o) { }
    - Added a test case for both of these.

0.23  Sat Jul  7 15:00:55 PDT 2001
    - Renamed subs to use Inline::C's new naming scheme. Refactored some
      common code into a new sub named call_or_instantiate().

0.23  Fri Jul  6 19:51:23 PDT 2001
    - Added smart-sense for Sun 2.6 (Solaris 6). Needed to include
      libCrun.so.

0.23  Wed Jun 20 00:56:58 PDT 2001
    - Fixed a grammar bug to allow modifiers on member variables.
    - Added a test case for it.

0.22  Mon Jun 11 11:35:26 PDT 2001
    - Compatible with Inline::0.42 (not backwards compatible).

0.21  Wed Jun  6 08:55:50 PDT 2001
    - Compatible with Inline::0.40 (not backwards compatible).
    - Documentation improvements.

0.20  Wed May  2 23:00:50 PDT 2001
    - Made Inline::CPP a subclass of Inline::C. Moved most functionality
      into Inline::C, and trimmed code a lot.
    - Fixed bug in handling of 'LIBS' config option. Added a 'ALTLIBS'
      config option which adds a new element to the list of alternate
      libs.
    - Added 'PRESERVE_ELLIPSIS' option, which prevents Inline::CPP from
      replacing '...' arguments with nothing.
    - Inline::CPP now works on Cygwin!
    - Grammar improvements:
        - Inline functions
        - Inheritance
        - Default parameters: void foo(int a=10, char *b="Hello");
        - Unnamed parameters: void foo(int, char *);
        - Support for public, private and protected scopes
        - 'structs' are now bound just like classes, except the
          default scope is public.
        - Support for no fixed arguments: void foo(...);

0.14  Tue Mar 13 23:10:14 PST 2001
    - Moved the distribution module from CPP_pm to CPP.pm to get
      Inline::CPP indexed properly.
    - Fixed some minor bugs.

0.13  Sun Mar  4 22:09:35 PST 2001
    - Added Win32-specific configuration code to add '-TP' flag to compiler
    - Special case for AIX ($Config{so})
    - Added the following configuration options: 'CC', 'LD', 'CCFLAGS', 'LDDLFLAGS', 'MYEXTLIB', and 'MAKE': proxies for the MakeMaker options of the same name.

0.12  Sun Jan 21 17:16:43 PST 2001
    - Upgraded modules to conform to Inline-0.31
    - Documentation upgrades

0.11  Thu Nov 23 16:46:27 PST 2000
    - Created Inline::CPP.