summaryrefslogtreecommitdiff
path: root/ext/Devel-PPPort/Changes
blob: 40deaba63d3827d3dc0a6ab52d1e8dfe53162192 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
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.