The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
3.20 - 2011-09-10

    * fix CPAN #56749: isASCII and isCNTRL macros are buggy
      (thanks to Karl Williamson for providing a patch and patiently
       waiting almost two years for me to integrate it)
    * fix CPAN #70427: RealPPPort.xs:1587: error: lvalue required as unary ‘&’ operand

3.19_03 - 2011-04-13

    * keep up with latest core changes

3.19_02 - 2010-03-07

    * fix a warning emitted by the test suite with older perls
    * added support for the following API
        newSVpvs_share
        get_cvn_flags
        get_cvs
      (thanks to Goro Fuji for providing a patch to
      implement all of these, fixes CPAN #47174)

3.19_01 - 2010-02-20

    * fix CPAN #50763: mistaken use of $[
      (thanks to Zefram for spotting this)
    * remove spurious PUSHMARK from Perl_ppaddr_t
      (thanks to Gerard Goossen for providing a patch)
    * improved support for newer compilers in buildperl.pl
      (thanks to Philippe Bruhat (BooK) for providing a patch)
    * added support for the following API
        memEQs
        memNEs
    * lots of small toolchain updates

3.19 - 2009-06-14

    * updated base/todo files

3.18_01 - 2009-06-12

    * fix CPAN #44614: Please support XSBODY
    * fix CPAN #44655: Please support SVfARG
    * added support for the following API
        gv_fetchpvn_flags
        gv_fetchpvs
        gv_stashpvs
        GvSVn
        HvNAME_get
        HvNAMELEN_get
        isGV_with_GP
        newSV_type
        PL_error_count
        PL_in_my
        PL_in_my_stash
        SVfARG
        XSPROTO
      (thanks to Goro Fuji for providing a patch to
      implement almost all of these, fixes CPAN #44087)

3.18 - 2009-06-12

    * remove MAN3PODS option from Makefile.PL, which is
      no longer needed (thanks to Nicholas Clark for
      providing a patch)
    * adapt mktests.PL for new layout of ext modules in
      the core

3.17 - 2009-03-15

    * rework PTR macros, fixing PTR2ul for 5.6.1
      (fixes CPAN #39802, thanks to CHOCOLATE for
       reporting and providing a patch)
    * added support for the following API
        PTR2nat
      (second part of fix for CPAN #39802)

3.16 - 2009-01-23

    * fix DEFSV_set() for threaded 5.005 perls
    * add G_METHOD support to call_sv()

3.15 - 2009-01-18

    * added support for the following API
        DEFSV_set
    * fix --unstrip for development versions

3.14_05 - 2008-10-31

    * fix stupid bugs in pv_pretty tests (only the
      tests were broken, ppport.h was find)

3.14_04 - 2008-10-30

    * added support for the following API
        isALNUMC  [depend]
        isASCII
        isBLANK
        isCNTRL
        isGRAPH
        isPRINT
        isPSXSPC
        isPUNCT
        isXDIGIT
        PERL_PV_ESCAPE_ALL
        PERL_PV_ESCAPE_FIRSTCHAR
        PERL_PV_ESCAPE_NOBACKSLASH
        PERL_PV_ESCAPE_NOCLEAR
        PERL_PV_ESCAPE_QUOTE
        PERL_PV_ESCAPE_RE
        PERL_PV_ESCAPE_UNI
        PERL_PV_ESCAPE_UNI_DETECT
        PERL_PV_PRETTY_DUMP
        PERL_PV_PRETTY_ELLIPSES
        PERL_PV_PRETTY_LTGT
        PERL_PV_PRETTY_NOCLEAR
        PERL_PV_PRETTY_QUOTE
        PERL_PV_PRETTY_REGPROP
        pv_display
        pv_escape
        pv_pretty

3.14_03 - 2008-10-21

    * fix C++ compilation issue with last release
      (spotted by Nicholas Clark)
    * added support for the following API
        Perl_ppaddr_t
        Perl_check_t
        CPERLscope
      (fixes CPAN #40078)

3.14_02 - 2008-10-12

    * added support for the following API
        my_sprintf
        PL_linestr
        PL_bufptr
        PL_bufend
        PL_lex_state
        PL_lex_stuff
        PL_tokenbuf
        SvPV_renew
      (fixes CPAN #39809 and CPAN #39808)
    * add read/write support for
        PL_expect
        PL_copline
        PL_rsfp
        PL_rsfp_filters
      (fixes CPAN #39802)
    * sync my_snprintf implementation with bleadperl

3.14_01 - 2008-07-11

    * resolve CPAN #37451: add PERLIO_FUNCS_DECL and
      PERLIO_FUNCS_CAST
    * update API info

3.14 - 2008-06-01

    * fix CPAN #36197: filename nit in parse_partspec
      (thanks to Craig A. Berry for providing a patch)

3.13_03 - 2008-05-13

    * fix CPAN #35835: SvPV_flags_const_nolen segfaults prior
      to perl 5.8.8

3.13_02 - 2008-04-13

    * fix NV[efg]f format string macros for perl-5.6.0 built
      using -Duselongdouble (thanks to Zefram for figuring this
      out and to Jarkko Hietaniemi for keeping me in sync)
    * add --patch and --oneshot options to devel/buildperl.pl

3.13_01 - 2008-01-04

    * fix dependency detection algorithm for functions
    * fix some potential memory leaks in the test suite
    * no need to use *_mg functions for mX?PUSH macros
    * added support for the following API
        mPUSHs
        mXPUSHs
        newSVpvn_flags
        newSVpvn_utf8
        newSVpvs_flags
        SVf_UTF8
    * make sure soak works with cromfs

3.13 - 2007-10-04

    * fix cpan #29748: ppport.h problems with perl5.005_05
      (spotted by Slaven Rezić)
    * fix a compiler warning

3.12 - 2007-09-22

    [released without changes]

3.11_06 - 2007-09-11

    * fix cpan #29302: Perl_croak_nocontext doesn't need aTHX_
      (spotted by Jerry D. Hedden)
    * fix a Win32 VC++ compiler warning (thanks to Steve Hay for
      providing a patch)
    * don't generate redundant specs for provided Perl_ functions
    * fun with const and casts to avoid compiler warnings
    * bump max supported version to 5.10.0

3.11_05 - 2007-08-20

    * fix: PERL_HASH() was emitting a warning when passed in a
      const char pointer
    * fix: sv_magic_portable() was emitting a warning when
      passed in a const char pointer
    * fix: make sure arguments to sv_magic_portable() are only
      evaluated once

3.11_04 - 2007-08-20

    * fix: ignore strings and XS comments when scanning and
      patching files
    * added support for the following API
        newSVpvn_share
        PERL_HASH
        SvSHARED_HASH
    * use PERL_BCDREVISION for version checking to save some
      bytes in ppport.h
    * improve the --strip option
      - strip all C comments
      - strip most superfluous whitespace
      with these changes, the stripped ppport.h is now almost
      30% smaller:
                       3.11_03   3.11_04     delta
        ------------------------------------------
        uncompressed     87988     62573    -28.9%
        gzip'd           17985     12725    -29.2%

3.11_03 - 2007-08-14

    * fix an infinite recursion in ppport.h that could be
      triggered by circular dependencies
    * fix PERL_BCDREVISION, which wasn't BCD but simply
      shifted decimal (just in time for 5.10)
    * fix detection of macros that are not listed in the
      implementation/dontwarn sections

3.11_02 - 2007-08-13

    * fix cpan #25372: special case sv_magic(sv, obj, how, name, 0)
    * fix cpan #27906: [PATCH] add UTF8_MAXBYTES
      (thanks to Steve Peters for providing a patch)
    * added support for the following API
        sv_2pv_flags
        sv_2pvbyte_nolen
        SV_CONST_RETURN
        SV_COW_DROP_PV
        SV_COW_SHARED_HASH_KEYS
        SV_GMAGIC
        SV_HAS_TRAILING_NUL
        SV_IMMEDIATE_UNREF
        sv_magic_portable
        SV_MUTABLE_RETURN
        SV_NOSTEAL
        sv_pvn_force_flags
        SV_SMAGIC
        SV_UTF8_NO_ENCODING
        SvPV_const
        SvPV_flags
        SvPV_flags_const
        SvPV_flags_const_nolen
        SvPV_flags_mutable
        SvPV_force
        SvPV_force_flags
        SvPV_force_flags_mutable
        SvPV_force_flags_nolen
        SvPV_force_mutable
        SvPV_force_nolen
        SvPV_force_nomg_nolen
        SvPV_mutable
        SvPV_nolen_const
        SvPV_nomg_const
        SvPV_nomg_const_nolen
        SvUOK
        UTF8_MAXBYTES
    * provide compatibility macros for vanished variables
      PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters
    * add warnings support to ppport.h
    * update ppport.h file searching logic
    * add -c.inc and -xs.inc to the list of supported extensions
    * document that --copy doesn't include the dot
    * improve soak script and devel/buildperl.pl

3.11_01 - 2007-03-23

    * added support for the following API
        PL_expect
        load_module
        vload_module
      (thanks to Nicholas Clark for providing a patch)

3.11 - 2007-02-14

    * happy new year!

3.10_02 - 2006-12-02

    * add two missing files

3.10_01 - 2006-12-02

    * fix cpan #21239: Signals safe in Perl 5.8.0
    * fix PL_ppaddr and PL_no_modify support 5.005 perls
    * added dTHXR, aTHXR and aTHXR_ for API that need
      the context argument in pre-5.6.0 perls
    * added support for the following API
        PL_DBsignal
        PL_DBtrace
        PL_laststatval
        PL_statcache
    * added tests for all PL_* variables
    * added progress indicator to soak script
    * added --test-archives option to buildperl.pl script
    * added comments to all autogenerated files that
      clearly indicate their purpose and origin

3.10 - 2006-08-14

    * remove timestamp from generated ppport.h

3.09_02 - 2006-07-25

    * added support for the following API
        my_strlcat
        my_strlcpy
      (thanks to Steve Peters for providing a patch)

3.09_01 - 2006-07-21

    * avoid using 'glob' when running under miniperl

3.09 - 2006-07-08

    * fix Makefile.PL's c_o override
    * update API info
    * improve soak script
      - now counts warnings emitted during testing
      - output is colored (can be turned off)
    * add a section on integrating this module into
      the core to the HACKERS file

3.08_07 - 2006-07-03

    * fix cpan #20179: Licensing information for PPPort is
      unclear
    * only --unstrip a stripped ppport.h if an appropriate
      version of Devel::PPPort is installed
    * add a --version option to ppport.h

3.08_06 - 2006-06-25

    * fix breakage on MSWin32, where generating XS files on
      the fly doesn't seem to work the same way as under Linux
      (thanks to Sadahiro Tomoyuki for providing a patch)
    * load the shared files only when testing the module
    * remove PPPort.xs from CPAN distribution

3.08_05 - 2006-06-23

    * when in the core, generate PPPort.pm and PPPort.xs
      automatically
    * PPPort.pm can now be loaded by miniperl

3.08_04 - 2006-05-29

    * update API info
    * fix a bug in the automated API info generator that
      caused slightly wrong output
    * improve the speed of the automated API info generator;
      we're now down from several hours to a few minutes

3.08_03 - 2006-05-25

    * update API info
    * add devel/regenerate script to regenerate API info
    * improve and speed up the development tools

3.08_02 - 2006-05-22

    * fix a POD error
    * added POD test
    * changed hv_stores() to omit the hash parameter
    * improve soak script
      - can now search directories for perl executables
      - can use only perl binaries of at least a certain
        revision using the --min option
      - sorts tests by perl version
      - shows a summary of failed versions
    * added support for the following API
        PERL_USE_GCC_BRACE_GROUPS
        PoisonFree
        PoisonNew
        PoisonWith
        SvREFCNT_inc
        SvREFCNT_inc_NN
        SvREFCNT_inc_simple
        SvREFCNT_inc_simple_NN
        SvREFCNT_inc_simple_void
        SvREFCNT_inc_simple_void_NN
        SvREFCNT_inc_void
        SvREFCNT_inc_void_NN

3.08_01 - 2006-05-20

    * update NOOP and dNOOP to include lint directives
    * update API info (for 5.8.8 and 5.9.3)
    * added support for the following API
        ckWARN
        dVAR
        hv_fetchs
        hv_stores
        my_snprintf
        newSVpvs
        packWARN
        PERL_ABS
        PERL_UNUSED_ARG
        PERL_UNUSED_CONTEXT
        PERL_UNUSED_VAR
        STR_WITH_LEN
        sv_catpvs
        sv_setpvs
        SVf
        SvVSTRING_mg
        warner

3.08 - 2006-01-19

    * thanks to Craig Berry for fixing my broken ppphtest
    * add AUTHOR and ABSTRACT_FROM to Makefile.PL

3.07 - 2006-01-16

    * improve internals documentation in HACKERS
    * minor internal cleanups
    * thanks to Steve Peters for adding support for
      the following API
        SvMAGIC_set
        SvPVX_const
        SvPVX_mutable
        SvRV_set
        SvSTASH_set
        SvUV_set

3.06_04 - 2005-10-30

    * add --strip / --unstrip options
    * added support for the following API
        Newx
        Newxc
        Newxz
        XSRETURN

3.06_03 - 2005-10-18

    * fix extra ')' in PPPort_pm.PL
    * fix compiler warnings
    * fix test for PL_signals
    * fix API listing
    * more tests

3.06_02 - 2005-10-18

    * improve devel/buildperl.pl utility
    * added support for the following API
        dAXMARK
        PL_signals
        PERL_SIGNALS_UNSAFE_FLAG
        XSprePUSH

3.06_01 - 2005-06-25

    * fix --compat-version argument checking
    * filter files passed on the command line by default
      to make sure 'perl ppport.h *' does something useful
    * add --nofilter option to override the filtering
    * testsuite now hopefully supports MacOS Classic
    * check definedness of PERL_UNUSED_DECL
    * update API info

3.06 - 2005-02-02

    * fix cpan #11327: make fails with syntax error
    * fix XCPT_* macros

3.05 - 2005-01-31

    * fix a test for SvPV_nolen
    * add more examples to tht documentation
    * improve wording baseline information
    * added support for the following API
        dXCPT
        dXSTARG
        XCPT_CATCH
        XCPT_RETHROW
        XCPT_TRY_END
        XCPT_TRY_START

3.04 - 2004-12-29

    * fix a hint for sv_pvn_force
    * fix VMS problem with unquoted command line arguments
      not preserving case (perl change #23367)
    * add --api-info switch for ppport.h

3.03 - 2004-09-08

    * MY_CXT_CLONE was broken

3.02 - 2004-09-08

    * added support for the following API:
        END_EXTERN_C
        EXTERN_C
        MY_CXT_CLONE
        PERL_GCC_BRACE_GROUPS_FORBIDDEN
        START_EXTERN_C
        STMT_END
        STMT_START

3.01 - 2004-08-23

    * patchlevel.h tweak

3.00_03 - 2004-08-20

    * make sure the @INC path is kept up-to-date when changing
      directories while running in the core test suite

3.00_02 - 2004-08-19

    * remove PPPort.pm and PPPort.xs dependencies from Makefile.PL,
      as they can be rebuilt with a "make regen" when neccessary

3.00_01 - 2004-08-17

    * fixed problems with $^X in t/ppphtest.t when building in
      the core on OpenBSD
    * fixed a "duplicate dependencies" bug that could lead to
      global NEED_'s where static NEED_'s are sufficient
    * added support for the following API:
        PL_DBsingle
        PL_DBsub
        PL_debstash
        PL_diehook
        PL_errgv
        PL_no_modify
        PL_perl_destruct_level
        PL_ppaddr
        PL_stack_sp
        PL_sv_arenaroot
        PL_tainted
        PL_tainting
        PUSHu
        sv_catpvf_mg
        sv_catpvf_mg_nocontext
        sv_setpvf_mg
        sv_setpvf_mg_nocontext
        sv_vcatpvf
        sv_vcatpvf_mg
        sv_vsetpvf
        sv_vsetpvf_mg
        vnewSVpvf
        XPUSHu

3.00 - 2004-08-16

    * added support for dAX and dITEMS, which got lost while
      working on the 3.00 internals

2.99_07 - 2004-08-13

    * improve/check documentation
    * add tests for CopFILE and CopSTASHPV
    * add file headers
    * some code cleanups

2.99_06 - 2004-08-11

    * --compat-version now considers all macros/functions
      provided by Devel::PPPort, not only the documented API
    * fixed: PL_rsfp was PL_rsfpv
    * turn __PPPORT_NAME__ back to ppport.h, because the former
      looks ugly on search.cpan.org

2.99_05 - 2004-08-10

    * --compat-version now also hides compatibility warnings for
      unsupported API calls

2.99_04 - 2004-08-10

    * added code to check for correct INSTALLDIRS
    * added --compat-version option to ppport.h script to only
      check for compatibility with at least the given Perl version
    * some small adjustments

2.99_03 - 2004-08-09

    * remove useless dependency from Makefile.PL (spotted by
      Craig A. Berry)
    * added checking for and replacement of C++ comments as
      well as --cplusplus option to suppress it to ppport.h
      script
    * added more diagnostic output to ppport.h script
    * added a hint for gv_stashpvn
    * fixed the thread tests (spotted by Craig A. Berry)
    * added more tests
    * renamed and documented DPPP_NAMESPACE
    * renamed some files

2.99_02 - 2004-08-08

    * second beta
    * feature complete for 3.00
    * implemented missing functionality for ppport.h script:
      - can now perform global (i.e. multi-file) NEED_ checks
      - checks source for missing aTHX arguments
      - checks source for unsupported API calls
      - can now lists provided and unsupported API
      - can use Text::Diff on platforms without diff utility
      - can use custom diff utility / options
      - can write one patch against the module
      - can write single copies with changes applied
    * updated the documentation for Devel::PPPort and ppport.h
    * added lots of tests for the ppport.h script
    * merged tests for call_* eval_* from XS::APItest
    * added HACKERS file to document internals
    * now includes PPPort.pm, so you can read the full docs
      using search.cpan.org

2.99_01 - 2004-08-07

    * first beta towards 3.00
    * complete rework of internals
    * autogenerated API-checks
    * autogenerated .pm, .xs and .t files
    * ppport.h changes:
      - no static/global functions without explicit NEED_
      - can now be run without -x
      - now shows hints and dependencies
      - now has POD documentation, so perldoc ppport.h works
      - now has options
      - now uses File::Find when available
    * tested with multi-threaded (ithreads and 5.005-threads) perls
      from 5.005 and single-threaded perls from 5.003 up to 5.9.x
    * added support for the following API:
        CopFILE
        CopFILEAV
        CopFILEGV
        CopFILEGV_set
        CopFILE_set
        CopFILESV
        CopSTASH
        CopSTASH_eq
        CopSTASHPV
        CopSTASHPV_set
        CopSTASH_set
        CopyD
        dUNDERBAR
        IN_PERL_COMPILETIME
        IV_MAX
        IV_MIN
        IVTYPE
        memEQ
        memNE
        MoveD
        mPUSHi
        mPUSHn
        mPUSHp
        mPUSHu
        mXPUSHi
        mXPUSHn
        mXPUSHp
        mXPUSHu
        newCONSTSUB
        newSVuv
        PERL_INT_MAX
        PERL_INT_MIN
        PERL_LONG_MAX
        PERL_LONG_MIN
        PERL_QUAD_MAX
        PERL_QUAD_MIN
        PERL_SHORT_MAX
        PERL_SHORT_MIN
        PERL_UCHAR_MAX
        PERL_UCHAR_MIN
        PERL_UINT_MAX
        PERL_UINT_MIN
        PERL_ULONG_MAX
        PERL_ULONG_MIN
        PERL_UQUAD_MAX
        PERL_UQUAD_MIN
        PERL_USHORT_MAX
        PERL_USHORT_MIN
        PL_hexdigit
        PL_rsfp
        Poison
        PUSHmortal
        sv_2pvbyte
        sv_2pvbyte_nolen
        sv_2pv_nolen
        sv_2uv
        sv_catpv_mg
        sv_catpvn_mg
        sv_catpvn_nomg
        sv_catsv_mg
        sv_catsv_nomg
        SvGETMAGIC
        SvIV_nomg
        SvPV_force_nomg
        sv_pvn
        sv_pvn_force
        sv_pvn_nomg
        SvPV_nomg
        sv_setiv_mg
        sv_setnv_mg
        sv_setpv_mg
        sv_setpvn_mg
        sv_setsv_mg
        sv_setsv_nomg
        sv_setuv
        sv_setuv_mg
        sv_usepvn_mg
        sv_uv
        SvUV
        SvUV_nomg
        SvUVx
        SvUVX
        SvUVXx
        UNDERBAR
        UV_MAX
        UV_MIN
        UVTYPE
        XPUSHmortal
        XSRETURN_UV
        XST_mUV
        ZeroD

2.008 - 20th October 2003

    * eval_(pv|sv) added
    * PERL_MAGIC_* added

2.007 - 18th September 2003

    * small fix in grok_numeric_radix: variable was used uninitialized

2.006 - 8th September 2003

    * call_(pv|sv|method|argv) added
    * still compiler-warnings for grok_??? and 5.6.x, fixed

2.005 - 2nd September 2003

    * Some tweaks to grok_(hex|oct|bin) to make compiler warnings
      go away for older perls
    * grok_number and grok_numeric_radix added

2.004 - 22th August 2003

    * Added grok_(hex|oct|bin) and related constants

2.003 - 8th May 2003

    * Added get_av, get_cv, get_hv and get_sv

2.002 - 2nd December 2001

    * More portability issues in Makefile.PL addresed.
    * Merged the Harness sub-module into Devel::PPPort
    * More documentation in PPPort.pm

2.001

    * Some portability issues in Makefile.PL addresed.

2.000

    * Initial port to the perl core.

1.007

    * Original version of the module by Kenneth Albanowski.