Upgrade to Devel::PPPort 3.18
[p5sagit/p5-mst-13.2.git] / ext / Devel-PPPort / Changes
1 3.18 - 2009-06-12
2
3     * remove MAN3PODS option from Makefile.PL, which is
4       no longer needed (thanks to Nicholas Clark for
5       providing a patch)
6     * adapt mktests.PL for new layout of ext modules in
7       the core
8
9 3.17 - 2009-03-15
10
11     * rework PTR macros, fixing PTR2ul for 5.6.1
12       (fixes CPAN #39802, thanks to CHOCOLATE for
13        reporting and providing a patch)
14     * added support for the following API
15         PTR2nat
16       (second part of fix for CPAN #39802)
17
18 3.16 - 2009-01-23
19
20     * fix DEFSV_set() for threaded 5.005 perls
21     * add G_METHOD support to call_sv()
22
23 3.15 - 2009-01-18
24
25     * added support for the following API
26         DEFSV_set
27     * fix --unstrip for development versions
28
29 3.14_05 - 2008-10-31
30
31     * fix stupid bugs in pv_pretty tests (only the
32       tests were broken, ppport.h was find)
33
34 3.14_04 - 2008-10-30
35
36     * added support for the following API
37         isALNUMC  [depend]
38         isASCII
39         isBLANK
40         isCNTRL
41         isGRAPH
42         isPRINT
43         isPSXSPC
44         isPUNCT
45         isXDIGIT
46         PERL_PV_ESCAPE_ALL
47         PERL_PV_ESCAPE_FIRSTCHAR
48         PERL_PV_ESCAPE_NOBACKSLASH
49         PERL_PV_ESCAPE_NOCLEAR
50         PERL_PV_ESCAPE_QUOTE
51         PERL_PV_ESCAPE_RE
52         PERL_PV_ESCAPE_UNI
53         PERL_PV_ESCAPE_UNI_DETECT
54         PERL_PV_PRETTY_DUMP
55         PERL_PV_PRETTY_ELLIPSES
56         PERL_PV_PRETTY_LTGT
57         PERL_PV_PRETTY_NOCLEAR
58         PERL_PV_PRETTY_QUOTE
59         PERL_PV_PRETTY_REGPROP
60         pv_display
61         pv_escape
62         pv_pretty
63
64 3.14_03 - 2008-10-21
65
66     * fix C++ compilation issue with last release
67       (spotted by Nicholas Clark)
68     * added support for the following API
69         Perl_ppaddr_t
70         Perl_check_t
71         CPERLscope
72       (fixes CPAN #40078)
73
74 3.14_02 - 2008-10-12
75
76     * added support for the following API
77         my_sprintf
78         PL_linestr
79         PL_bufptr
80         PL_bufend
81         PL_lex_state
82         PL_lex_stuff
83         PL_tokenbuf
84         SvPV_renew
85       (fixes CPAN #39809 and CPAN #39808)
86     * add read/write support for
87         PL_expect
88         PL_copline
89         PL_rsfp
90         PL_rsfp_filters
91       (fixes CPAN #39802)
92     * sync my_snprintf implementation with bleadperl
93
94 3.14_01 - 2008-07-11
95
96     * resolve CPAN #37451: add PERLIO_FUNCS_DECL and
97       PERLIO_FUNCS_CAST
98     * update API info
99
100 3.14 - 2008-06-01
101
102     * fix CPAN #36197: filename nit in parse_partspec
103       (thanks to Craig A. Berry for providing a patch)
104
105 3.13_03 - 2008-05-13
106
107     * fix CPAN #35835: SvPV_flags_const_nolen segfaults prior
108       to perl 5.8.8
109
110 3.13_02 - 2008-04-13
111
112     * fix NV[efg]f format string macros for perl-5.6.0 built
113       using -Duselongdouble (thanks to Zefram for figuring this
114       out and to Jarkko Hietaniemi for keeping me in sync)
115     * add --patch and --oneshot options to devel/buildperl.pl
116
117 3.13_01 - 2008-01-04
118
119     * fix dependency detection algorithm for functions
120     * fix some potential memory leaks in the test suite
121     * no need to use *_mg functions for mX?PUSH macros
122     * added support for the following API
123         mPUSHs
124         mXPUSHs
125         newSVpvn_flags
126         newSVpvn_utf8
127         newSVpvs_flags
128         SVf_UTF8
129     * make sure soak works with cromfs
130
131 3.13 - 2007-10-04
132
133     * fix cpan #29748: ppport.h problems with perl5.005_05
134       (spotted by Slaven Rezić)
135     * fix a compiler warning
136
137 3.12 - 2007-09-22
138
139     [released without changes]
140
141 3.11_06 - 2007-09-11
142
143     * fix cpan #29302: Perl_croak_nocontext doesn't need aTHX_
144       (spotted by Jerry D. Hedden)
145     * fix a Win32 VC++ compiler warning (thanks to Steve Hay for
146       providing a patch)
147     * don't generate redundant specs for provided Perl_ functions
148     * fun with const and casts to avoid compiler warnings
149     * bump max supported version to 5.10.0
150
151 3.11_05 - 2007-08-20
152
153     * fix: PERL_HASH() was emitting a warning when passed in a
154       const char pointer
155     * fix: sv_magic_portable() was emitting a warning when
156       passed in a const char pointer
157     * fix: make sure arguments to sv_magic_portable() are only
158       evaluated once
159
160 3.11_04 - 2007-08-20
161
162     * fix: ignore strings and XS comments when scanning and
163       patching files
164     * added support for the following API
165         newSVpvn_share
166         PERL_HASH
167         SvSHARED_HASH
168     * use PERL_BCDREVISION for version checking to save some
169       bytes in ppport.h
170     * improve the --strip option
171       - strip all C comments
172       - strip most superfluous whitespace
173       with these changes, the stripped ppport.h is now almost
174       30% smaller:
175                        3.11_03   3.11_04     delta
176         ------------------------------------------
177         uncompressed     87988     62573    -28.9%
178         gzip'd           17985     12725    -29.2%
179
180 3.11_03 - 2007-08-14
181
182     * fix an infinite recursion in ppport.h that could be
183       triggered by circular dependencies
184     * fix PERL_BCDREVISION, which wasn't BCD but simply
185       shifted decimal (just in time for 5.10)
186     * fix detection of macros that are not listed in the
187       implementation/dontwarn sections
188
189 3.11_02 - 2007-08-13
190
191     * fix cpan #25372: special case sv_magic(sv, obj, how, name, 0)
192     * fix cpan #27906: [PATCH] add UTF8_MAXBYTES
193       (thanks to Steve Peters for providing a patch)
194     * added support for the following API
195         sv_2pv_flags
196         sv_2pvbyte_nolen
197         SV_CONST_RETURN
198         SV_COW_DROP_PV
199         SV_COW_SHARED_HASH_KEYS
200         SV_GMAGIC
201         SV_HAS_TRAILING_NUL
202         SV_IMMEDIATE_UNREF
203         sv_magic_portable
204         SV_MUTABLE_RETURN
205         SV_NOSTEAL
206         sv_pvn_force_flags
207         SV_SMAGIC
208         SV_UTF8_NO_ENCODING
209         SvPV_const
210         SvPV_flags
211         SvPV_flags_const
212         SvPV_flags_const_nolen
213         SvPV_flags_mutable
214         SvPV_force
215         SvPV_force_flags
216         SvPV_force_flags_mutable
217         SvPV_force_flags_nolen
218         SvPV_force_mutable
219         SvPV_force_nolen
220         SvPV_force_nomg_nolen
221         SvPV_mutable
222         SvPV_nolen_const
223         SvPV_nomg_const
224         SvPV_nomg_const_nolen
225         SvUOK
226         UTF8_MAXBYTES
227     * provide compatibility macros for vanished variables
228       PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters
229     * add warnings support to ppport.h
230     * update ppport.h file searching logic
231     * add -c.inc and -xs.inc to the list of supported extensions
232     * document that --copy doesn't include the dot
233     * improve soak script and devel/buildperl.pl
234
235 3.11_01 - 2007-03-23
236
237     * added support for the following API
238         PL_expect
239         load_module
240         vload_module
241       (thanks to Nicholas Clark for providing a patch)
242
243 3.11 - 2007-02-14
244
245     * happy new year!
246
247 3.10_02 - 2006-12-02
248
249     * add two missing files
250
251 3.10_01 - 2006-12-02
252
253     * fix cpan #21239: Signals safe in Perl 5.8.0
254     * fix PL_ppaddr and PL_no_modify support 5.005 perls
255     * added dTHXR, aTHXR and aTHXR_ for API that need
256       the context argument in pre-5.6.0 perls
257     * added support for the following API
258         PL_DBsignal
259         PL_DBtrace
260         PL_laststatval
261         PL_statcache
262     * added tests for all PL_* variables
263     * added progress indicator to soak script
264     * added --test-archives option to buildperl.pl script
265     * added comments to all autogenerated files that
266       clearly indicate their purpose and origin
267
268 3.10 - 2006-08-14
269
270     * remove timestamp from generated ppport.h
271
272 3.09_02 - 2006-07-25
273
274     * added support for the following API
275         my_strlcat
276         my_strlcpy
277       (thanks to Steve Peters for providing a patch)
278
279 3.09_01 - 2006-07-21
280
281     * avoid using 'glob' when running under miniperl
282
283 3.09 - 2006-07-08
284
285     * fix Makefile.PL's c_o override
286     * update API info
287     * improve soak script
288       - now counts warnings emitted during testing
289       - output is colored (can be turned off)
290     * add a section on integrating this module into
291       the core to the HACKERS file
292
293 3.08_07 - 2006-07-03
294
295     * fix cpan #20179: Licensing information for PPPort is
296       unclear
297     * only --unstrip a stripped ppport.h if an appropriate
298       version of Devel::PPPort is installed
299     * add a --version option to ppport.h
300
301 3.08_06 - 2006-06-25
302
303     * fix breakage on MSWin32, where generating XS files on
304       the fly doesn't seem to work the same way as under Linux
305       (thanks to Sadahiro Tomoyuki for providing a patch)
306     * load the shared files only when testing the module
307     * remove PPPort.xs from CPAN distribution
308
309 3.08_05 - 2006-06-23
310
311     * when in the core, generate PPPort.pm and PPPort.xs
312       automatically
313     * PPPort.pm can now be loaded by miniperl
314
315 3.08_04 - 2006-05-29
316
317     * update API info
318     * fix a bug in the automated API info generator that
319       caused slightly wrong output
320     * improve the speed of the automated API info generator;
321       we're now down from several hours to a few minutes
322
323 3.08_03 - 2006-05-25
324
325     * update API info
326     * add devel/regenerate script to regenerate API info
327     * improve and speed up the development tools
328
329 3.08_02 - 2006-05-22
330
331     * fix a POD error
332     * added POD test
333     * changed hv_stores() to omit the hash parameter
334     * improve soak script
335       - can now search directories for perl executables
336       - can use only perl binaries of at least a certain
337         revision using the --min option
338       - sorts tests by perl version
339       - shows a summary of failed versions
340     * added support for the following API
341         PERL_USE_GCC_BRACE_GROUPS
342         PoisonFree
343         PoisonNew
344         PoisonWith
345         SvREFCNT_inc
346         SvREFCNT_inc_NN
347         SvREFCNT_inc_simple
348         SvREFCNT_inc_simple_NN
349         SvREFCNT_inc_simple_void
350         SvREFCNT_inc_simple_void_NN
351         SvREFCNT_inc_void
352         SvREFCNT_inc_void_NN
353
354 3.08_01 - 2006-05-20
355
356     * update NOOP and dNOOP to include lint directives
357     * update API info (for 5.8.8 and 5.9.3)
358     * added support for the following API
359         ckWARN
360         dVAR
361         hv_fetchs
362         hv_stores
363         my_snprintf
364         newSVpvs
365         packWARN
366         PERL_ABS
367         PERL_UNUSED_ARG
368         PERL_UNUSED_CONTEXT
369         PERL_UNUSED_VAR
370         STR_WITH_LEN
371         sv_catpvs
372         sv_setpvs
373         SVf
374         SvVSTRING_mg
375         warner
376
377 3.08 - 2006-01-19
378
379     * thanks to Craig Berry for fixing my broken ppphtest
380     * add AUTHOR and ABSTRACT_FROM to Makefile.PL
381
382 3.07 - 2006-01-16
383
384     * improve internals documentation in HACKERS
385     * minor internal cleanups
386     * thanks to Steve Peters for adding support for
387       the following API
388         SvMAGIC_set
389         SvPVX_const
390         SvPVX_mutable
391         SvRV_set
392         SvSTASH_set
393         SvUV_set
394
395 3.06_04 - 2005-10-30
396
397     * add --strip / --unstrip options
398     * added support for the following API
399         Newx
400         Newxc
401         Newxz
402         XSRETURN
403
404 3.06_03 - 2005-10-18
405
406     * fix extra ')' in PPPort_pm.PL
407     * fix compiler warnings
408     * fix test for PL_signals
409     * fix API listing
410     * more tests
411
412 3.06_02 - 2005-10-18
413
414     * improve devel/buildperl.pl utility
415     * added support for the following API
416         dAXMARK
417         PL_signals
418         PERL_SIGNALS_UNSAFE_FLAG
419         XSprePUSH
420
421 3.06_01 - 2005-06-25
422
423     * fix --compat-version argument checking
424     * filter files passed on the command line by default
425       to make sure 'perl ppport.h *' does something useful
426     * add --nofilter option to override the filtering
427     * testsuite now hopefully supports MacOS Classic
428     * check definedness of PERL_UNUSED_DECL
429     * update API info
430
431 3.06 - 2005-02-02
432
433     * fix cpan #11327: make fails with syntax error
434     * fix XCPT_* macros
435
436 3.05 - 2005-01-31
437
438     * fix a test for SvPV_nolen
439     * add more examples to tht documentation
440     * improve wording baseline information
441     * added support for the following API
442         dXCPT
443         dXSTARG
444         XCPT_CATCH
445         XCPT_RETHROW
446         XCPT_TRY_END
447         XCPT_TRY_START
448
449 3.04 - 2004-12-29
450
451     * fix a hint for sv_pvn_force
452     * fix VMS problem with unquoted command line arguments
453       not preserving case (perl change #23367)
454     * add --api-info switch for ppport.h
455
456 3.03 - 2004-09-08
457
458     * MY_CXT_CLONE was broken
459
460 3.02 - 2004-09-08
461
462     * added support for the following API:
463         END_EXTERN_C
464         EXTERN_C
465         MY_CXT_CLONE
466         PERL_GCC_BRACE_GROUPS_FORBIDDEN
467         START_EXTERN_C
468         STMT_END
469         STMT_START
470
471 3.01 - 2004-08-23
472
473     * patchlevel.h tweak
474
475 3.00_03 - 2004-08-20
476
477     * make sure the @INC path is kept up-to-date when changing
478       directories while running in the core test suite
479
480 3.00_02 - 2004-08-19
481
482     * remove PPPort.pm and PPPort.xs dependencies from Makefile.PL,
483       as they can be rebuilt with a "make regen" when neccessary
484
485 3.00_01 - 2004-08-17
486
487     * fixed problems with $^X in t/ppphtest.t when building in
488       the core on OpenBSD
489     * fixed a "duplicate dependencies" bug that could lead to
490       global NEED_'s where static NEED_'s are sufficient
491     * added support for the following API:
492         PL_DBsingle
493         PL_DBsub
494         PL_debstash
495         PL_diehook
496         PL_errgv
497         PL_no_modify
498         PL_perl_destruct_level
499         PL_ppaddr
500         PL_stack_sp
501         PL_sv_arenaroot
502         PL_tainted
503         PL_tainting
504         PUSHu
505         sv_catpvf_mg
506         sv_catpvf_mg_nocontext
507         sv_setpvf_mg
508         sv_setpvf_mg_nocontext
509         sv_vcatpvf
510         sv_vcatpvf_mg
511         sv_vsetpvf
512         sv_vsetpvf_mg
513         vnewSVpvf
514         XPUSHu
515
516 3.00 - 2004-08-16
517
518     * added support for dAX and dITEMS, which got lost while
519       working on the 3.00 internals
520
521 2.99_07 - 2004-08-13
522
523     * improve/check documentation
524     * add tests for CopFILE and CopSTASHPV
525     * add file headers
526     * some code cleanups
527
528 2.99_06 - 2004-08-11
529
530     * --compat-version now considers all macros/functions
531       provided by Devel::PPPort, not only the documented API
532     * fixed: PL_rsfp was PL_rsfpv
533     * turn __PPPORT_NAME__ back to ppport.h, because the former
534       looks ugly on search.cpan.org
535
536 2.99_05 - 2004-08-10
537
538     * --compat-version now also hides compatibility warnings for
539       unsupported API calls
540
541 2.99_04 - 2004-08-10
542
543     * added code to check for correct INSTALLDIRS
544     * added --compat-version option to ppport.h script to only
545       check for compatibility with at least the given Perl version
546     * some small adjustments
547
548 2.99_03 - 2004-08-09
549
550     * remove useless dependency from Makefile.PL (spotted by
551       Craig A. Berry)
552     * added checking for and replacement of C++ comments as
553       well as --cplusplus option to suppress it to ppport.h
554       script
555     * added more diagnostic output to ppport.h script
556     * added a hint for gv_stashpvn
557     * fixed the thread tests (spotted by Craig A. Berry)
558     * added more tests
559     * renamed and documented DPPP_NAMESPACE
560     * renamed some files
561
562 2.99_02 - 2004-08-08
563
564     * second beta
565     * feature complete for 3.00
566     * implemented missing functionality for ppport.h script:
567       - can now perform global (i.e. multi-file) NEED_ checks
568       - checks source for missing aTHX arguments
569       - checks source for unsupported API calls
570       - can now lists provided and unsupported API
571       - can use Text::Diff on platforms without diff utility
572       - can use custom diff utility / options
573       - can write one patch against the module
574       - can write single copies with changes applied
575     * updated the documentation for Devel::PPPort and ppport.h
576     * added lots of tests for the ppport.h script
577     * merged tests for call_* eval_* from XS::APItest
578     * added HACKERS file to document internals
579     * now includes PPPort.pm, so you can read the full docs
580       using search.cpan.org
581
582 2.99_01 - 2004-08-07
583
584     * first beta towards 3.00
585     * complete rework of internals
586     * autogenerated API-checks
587     * autogenerated .pm, .xs and .t files
588     * ppport.h changes:
589       - no static/global functions without explicit NEED_
590       - can now be run without -x
591       - now shows hints and dependencies
592       - now has POD documentation, so perldoc ppport.h works
593       - now has options
594       - now uses File::Find when available
595     * tested with multi-threaded (ithreads and 5.005-threads) perls
596       from 5.005 and single-threaded perls from 5.003 up to 5.9.x
597     * added support for the following API:
598         CopFILE
599         CopFILEAV
600         CopFILEGV
601         CopFILEGV_set
602         CopFILE_set
603         CopFILESV
604         CopSTASH
605         CopSTASH_eq
606         CopSTASHPV
607         CopSTASHPV_set
608         CopSTASH_set
609         CopyD
610         dUNDERBAR
611         IN_PERL_COMPILETIME
612         IV_MAX
613         IV_MIN
614         IVTYPE
615         memEQ
616         memNE
617         MoveD
618         mPUSHi
619         mPUSHn
620         mPUSHp
621         mPUSHu
622         mXPUSHi
623         mXPUSHn
624         mXPUSHp
625         mXPUSHu
626         newCONSTSUB
627         newSVuv
628         PERL_INT_MAX
629         PERL_INT_MIN
630         PERL_LONG_MAX
631         PERL_LONG_MIN
632         PERL_QUAD_MAX
633         PERL_QUAD_MIN
634         PERL_SHORT_MAX
635         PERL_SHORT_MIN
636         PERL_UCHAR_MAX
637         PERL_UCHAR_MIN
638         PERL_UINT_MAX
639         PERL_UINT_MIN
640         PERL_ULONG_MAX
641         PERL_ULONG_MIN
642         PERL_UQUAD_MAX
643         PERL_UQUAD_MIN
644         PERL_USHORT_MAX
645         PERL_USHORT_MIN
646         PL_hexdigit
647         PL_rsfp
648         Poison
649         PUSHmortal
650         sv_2pvbyte
651         sv_2pvbyte_nolen
652         sv_2pv_nolen
653         sv_2uv
654         sv_catpv_mg
655         sv_catpvn_mg
656         sv_catpvn_nomg
657         sv_catsv_mg
658         sv_catsv_nomg
659         SvGETMAGIC
660         SvIV_nomg
661         SvPV_force_nomg
662         sv_pvn
663         sv_pvn_force
664         sv_pvn_nomg
665         SvPV_nomg
666         sv_setiv_mg
667         sv_setnv_mg
668         sv_setpv_mg
669         sv_setpvn_mg
670         sv_setsv_mg
671         sv_setsv_nomg
672         sv_setuv
673         sv_setuv_mg
674         sv_usepvn_mg
675         sv_uv
676         SvUV
677         SvUV_nomg
678         SvUVx
679         SvUVX
680         SvUVXx
681         UNDERBAR
682         UV_MAX
683         UV_MIN
684         UVTYPE
685         XPUSHmortal
686         XSRETURN_UV
687         XST_mUV
688         ZeroD
689
690 2.008 - 20th October 2003
691
692     * eval_(pv|sv) added
693     * PERL_MAGIC_* added
694
695 2.007 - 18th September 2003
696
697     * small fix in grok_numeric_radix: variable was used uninitialized
698
699 2.006 - 8th September 2003
700
701     * call_(pv|sv|method|argv) added
702     * still compiler-warnings for grok_??? and 5.6.x, fixed
703
704 2.005 - 2nd September 2003
705
706     * Some tweaks to grok_(hex|oct|bin) to make compiler warnings
707       go away for older perls
708     * grok_number and grok_numeric_radix added
709
710 2.004 - 22th August 2003
711
712     * Added grok_(hex|oct|bin) and related constants
713
714 2.003 - 8th May 2003
715
716     * Added get_av, get_cv, get_hv and get_sv
717
718 2.002 - 2nd December 2001
719
720     * More portability issues in Makefile.PL addresed.
721     * Merged the Harness sub-module into Devel::PPPort
722     * More documentation in PPPort.pm
723
724 2.001
725
726     * Some portability issues in Makefile.PL addresed.
727
728 2.000
729
730     * Initial port to the perl core.
731
732 1.007
733
734     * Original version of the module by Kenneth Albanowski.