This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Patch unit tests to explicitly insert "." into @INC when needed.
[perl5.git] / dist / ExtUtils-ParseXS / Changes
1 Revision history for Perl extension ExtUtils::ParseXS.
2
3 3.30 - Mon Aug 31 10:35:00 CET 2015
4   - Promote to stable CPAN release.
5
6 3.29_01 - Mon Aug 10 10:45:00 CET 2015
7   - Support added for XS handshake API introduced in 5.21.6.
8   - Backported S_croak_xs_usage optimized on threaded builds
9   - Fix INCLUDE_COMMAND $^X for Perl In Space
10   - Remove 'use lib' left over from refactoring
11   - Document + improve ancient optimization in ParseXS
12   - Improve RETVAL code gen
13
14 3.24 - Wed Mar  5 18:20:00 CET 2014
15   - Native Android build fixes
16   - More lenient syntax for embedded TYPEMAP blocks in XS:
17     a trailing semicolon will not be required for the block
18     terminator.
19   - Code cleanup.
20
21 3.22 - Thu Aug 29 19:30:00 CET 2013
22   - Fix parallel testing crashes.
23   - Explicitly require new-enough Exporter.
24
25 3.21 - Fri Aug  9 19:08:00 CET 2013
26   - stop "sv_2mortal(&PL_sv_yes)" and "(void)sv_newmortal()" for immortal
27     typemap entries [perl #116152]
28   - Deterministic C output (fix for hash randomization in 5.18).
29
30 3.18_04 - Fri Jun 20 17:47:00 CET 2013
31   - Fix targetable size detection (& better tests)
32   - Assorted cleanup and refactoring.
33
34 3.18_03 - Fri Apr 19 18:40:00 CET 2013
35   - Heuristic (and flawed) type canonicalization for templated
36     C++ types.
37   - More tests ported from core.
38
39 3.18_02 - Mon Apr 15 07:30:00 CET 2013
40   - ExtUtils::ParseXS no longer uses global state (if using OO
41     interface).
42   - New "real" OO interface.
43
44 3.18_01 - Thu Apr 11 19:17:00 CET 2013
45   - ExtUtils::Typemaps gains a clone method.
46
47 3.18 - Mon Nov 19 07:35:00 CET 2012
48   - Restore portability to Perl 5.6, which was lost at EU-PXS 3.00.
49   - [perl #112776] avoid warning on an initialized non-parameter
50   - Only increment PL_amagic_generation before 5.9
51
52 3.15 - Thu Feb  2 08:12:00 CET 2012
53   - Fix version for PAUSE indexer.
54
55 3.14 - Wed Feb  1 18:22:00 CET 2012
56   - Promote to stable release.
57   - Proper repository and bugtracker info in META.json.
58
59 3.13_01 - Sat Jan 29 12:45:00 CET 2012
60   - ExtUtils::Typemaps:
61     => Embedded typemap dumping: A method which will produce the
62        verbatim string for inclusion in XS.
63     => Introducing ExtUtils::Typemaps::Cmd, a helper module which
64        can produce embedded typemap strings via simple one-liners.
65        Useful for including typemaps from other modules in XS code
66        with INCLUDE_COMMAND. See "perldoc ExtUtils::Typemaps::Cmd".
67
68   - ExtUtils::ParseXS:
69     => Bugfix: Used to have parsing problems with embedded typemaps
70        occasionally.
71     => Better error messages on typemap-related issues. If a no
72        typemap was found for a given C type, list all mapped C types
73        so that the user hopefully spots his mistake easily.
74
75 3.11 - Thu Dec 29 17:55:00 CET 2011
76   - Version/distribution fixes.
77
78 3.09 - Wed Dec 28 18:48:00 CET 2011
79   - Escape double quotes of file names/commands in #line directives.
80
81 3.08 - Mon Dec 19 18:03:00 CET 2011
82   - Silence undefined-value-in-addition warning
83     (Nothing serious, just happened sometimes when reporting line numbers for
84     errors. But warning during build process.)
85
86 3.07 - Wed Dec  7 14:10:00 CET 2011
87   - Fix inconsistent versioning in 3.06.
88
89 3.06 - Fri Dec  2 08:10:00 CET 2011
90
91   - Fix Cygwin issues [Tony Cook]
92     avoid conflicting static / dllexport on legacy perls too
93     This probably fixes rt.cpan.org 72313 and 71964.
94     (3928a66ad4bd8aee704eda1942b7877c0ff1ab2c in core)
95
96   - Convert ` to ' [James Keenan]
97     55bee391aeff3c3b8d22fa4ce5491ee9440028aa and
98     6dfee1ec62c64d7afe8ced4650596dd9e7f71a63 in core
99
100   - Avoid some test-time warnings [Zefram]
101     97bae9c59cd181b3b54061213ec1fdce0ccb30d4 in core
102
103 3.05 - Wed Oct  5 08:14:00 CET 2011
104
105   - No functional changes, promoted to stable release.
106
107 3.04_04 - Mon Sep 12 08:12:00 CET 2011
108
109   - Simplify generated XS code by emitting a compatibility version
110     of dVAR. [Nicholas Clark]
111
112   - Fixed "INCLUDE: $cmd |", CPAN RT #70213
113
114 3.04_03 - Sun Sep  4 18:49:00 CET 2011
115
116   - By #defining PERL_EUPXS_ALWAYS_EXPORT or
117     PERL_EUPXS_NEVER_EXPORT early in your XS code, you can
118     force ExtUtils::ParseXS to always or never export
119     XSUB symbols. This has no effect on boot_* symbols since
120     those must be exported.
121
122 3.04_02 - Sat Sep  3 15:28:00 CET 2011
123
124   - Don't put null characters into the generated source
125     file when -except is used; write the '\0' escape sequence
126     properly instead. [Stephen Bennett]
127
128 3.04_01 - Sun Aug 28 17:50:00 CET 2011
129
130   - The XSUB.h changes to make XS(name) use XS_INTERNAL(name)
131     by default (which were in the 5.15.2 dev release of perl)
132     have been reverted since too many CPAN modules expect to
133     be able to refer to XSUBs declared with XS(name).
134     Instead, ExtUtils::ParseXS will define a copy of the
135     XS_INTERNAL/XS_EXTERNAL macros as necessary going back to
136     perl 5.10.0 (which is the oldest perl I had for testing).
137     By default, ExtUtils::ParseXS will use XS_INTERNAL(name)
138     instead of XS(name).
139
140 3.04 - Thu Aug 25 08:20:00 CET 2011
141
142   - Stable release based on 3.03_03, no functional changes.
143
144 3.03_03 - Wed Aug 24 19:43:00 CET 2011
145
146   - Try to fix regression for input-typemap override in XS argument
147     list. (CPAN RT #70448)
148
149   - Explicit versions in submodules to fail early if something
150     goes wrong.
151
152 3.03_02 - Sun Aug 21 13:19:00 CET 2011
153
154   - Properly strip trailing semicolons form inputmaps. These could
155     trigger warnings (errors in strict C89 compilers) due to
156     additional semicolons being interpreted as empty statements.
157     [Torsten Schoenfeld, Jan Dubois, Steffen Mueller]
158
159   - Now detects and throws a warning if there is a CODE section using
160     RETVAL, but no OUTPUT section. [CPAN RT #69536]
161
162   - Uses the explicit XS_EXTERNAL macro (from perl 5.15.2 and newer)
163     for XSUBs that need to be exported. Defines XS_EXTERNAL to fall
164     back to XS where that is not available.
165
166   - Introduces new EXPORT_XSUB_SYMBOLS XS keyword that forces exported
167     XSUB symbols. It's a no-op on perls before 5.15.2.
168
169 3.03 - Thu Aug 11 08:24:00 CET 2011
170
171   - Test fix: Try all @INC-derived typemap locations. (CPAN RT #70047)
172     [Mike Sheldrake]
173
174 3.02 - Thu Aug  4 18:19:00 CET 2011
175
176   - Test fix: Use File::Spec->catfile instead of catdir where appropriate.
177
178 3.01 - Thu Aug  4 17:51:00 CET 2011
179
180   - No significant changes from 3.00_05.
181
182 3.00_05 - Wed Jul 27 22:54:00 CET 2011
183
184   - Define PERL_UNUSED_ARG for pre-3.8.9 perls.
185     This should fix the tests on those perls.
186
187 3.00_04 - Wed Jul 27 22:22:00 CET 2011
188
189   - Require perl 5.8.1.
190
191   - Patches from CPAN RT #53938, #61908
192     Both of these are attempts to fix win32 problems:
193     Bug #61908 for ExtUtils-ParseXS: MSWin compilers and back-slashed paths
194     Bug #53938 for ExtUtils-ParseXS: MinGW Broken after 2.21
195
196 3.00_03 - Fri Jul 22 20:13:00 CET 2011
197
198   - Add some diagnostics when xsubpp fails to load a current-enough
199     version of ExtUtils::ParseXS. [Steffen Mueller]
200
201   - Add a check to Makefile.PL that scans @INC to determine whether
202     the new xsubpp will be shadowed by another, existing xsubpp
203     and warn the user vehemently. [Steffen Mueller]
204
205 3.00_02 - Thu Jul 14 18:00:00 CET 2011
206
207   - Move script/xsubpp back to lib/ExtUtils/xsubpp
208     The original move caused old xsubpp's to be used.
209
210 3.00_01 - Tue Jul 12 22:00:00 CET 2011
211
212   - Major refactoring of the whole code base.
213     It finally runs under 'use strict' for the first time!
214     [James Keenan, Steffen Mueller]
215
216   - Typemaps can now be embedded into XS code using a here-doc
217     like syntax and the new "TYPEMAP:" XS keyword.
218     [Steffen Mueller]
219
220   - Move typemap handling code to ExtUtils::Typemaps
221     with full object-oriented goodness. [Steffen Mueller]
222
223   - Check API compatibility when loading xs modules.
224     If on a new-enough perl, add the XS_APIVERSION_BOOTCHECK macro to
225     the _boot function of every XS module to compare it against the API
226     version the module has been compiled against. If the versions do
227     not match, an exception is thrown. [Florian Ragwitz]
228
229   - Fixed compiler warnings in XS. [Zefram]
230
231   - Spell-check [Peter J. Acklam]
232
233 2.2206 - Sun Jul  4 15:43:21 EDT 2010
234
235  Bug fixes:
236
237  - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez]
238
239  - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry]
240
241  - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873)
242    [Steffen Mueller]
243
244 2.2205 - Wed Mar 10 18:15:36 EST 2010
245
246  Other:
247
248  - No longer ships with Build.PL to avoid creating a circular dependency
249
250 2.2204 - Wed Mar 10 14:23:52 EST 2010
251
252  Other:
253
254  - Downgraded warnings on using INCLUDE with a command from "deprecated"
255    to "discouraged" and limited it to the case where the command includes
256    "perl" [Steffen Mueller]
257
258 2.2203 - Thu Feb 11 14:00:51 EST 2010
259
260  Bug fixes:
261
262  - Build.PL was not including ExtUtils/xsubpp for installation.  Fixed
263    by subclassing M::B::find_pm_files to include it [David Golden]
264
265 2.2202 - Wed Jan 27 15:04:59 EST 2010
266
267  Bug fixes:
268
269  - The fix to IN/OUT/OUTLIST was itself broken and is now fixed.
270    [Reported by Serdar Dalgic; fix suggested by Rafael Garcia-Suarez]
271
272    We apologize for the fault in the regex. Those responsible 
273    have been sacked.
274
275 2.2201 Mon Jan 25 16:12:05 EST 2010
276
277  Bug fixes:
278
279  - IN/OUT/OUTLIST, etc. were broken due to a bad regexp.  [Simon Cozens]
280
281 2.22 - Mon Jan 11 15:00:07 EST 2010
282
283  No changes from 2.21_02
284
285 2.21_02 - Sat Dec 19 10:55:41 EST 2009
286
287  Bug fixes:
288
289  - fixed bugs and added tests for INCLUDE_COMMAND [Steffen Mueller]
290
291 2.21_01 - Sat Dec 19 07:22:44 EST 2009
292
293  Enhancements:
294
295  - New 'INCLUDE_COMMAND' directive [Steffen Mueller]
296
297  Bug fixes:
298
299  - Workaround for empty newXS macro found in P5NCI [Goro Fuji]
300
301 2.21 - Mon Oct  5 11:17:53 EDT 2009
302
303  Bug fixes:
304  - Adds full path in INCLUDE #line directives (RT#50198) [patch by "spb"]
305
306  Other:
307  - Updated copyright and maintainer list
308
309 2.20_07 - Sat Oct  3 11:26:55 EDT 2009
310
311  Bug fixes:
312  - Use "char* file" for perl < 5.9, not "char[] file"; fixes mod_perl
313    breakage due to prior attempts to fix RT#48104 [David Golden]
314
315 2.20_06 - Fri Oct  2 23:45:45 EDT 2009
316
317  Bug fixes:
318  - Added t/typemap to fix broken test on perl 5.6.2 [David Golden]
319  - More prototype fixes for older perls [Goro Fuji]
320  - Avoid "const char *" in test files as it breaks on 5.6.2 [Goro Fuji]
321
322  Other:
323  - Merged changes from 2.2004 maintenance branch (see 2.200401 to 2.200403)
324    [David Golden]
325
326 2.20_05 - Sat Aug 22 21:46:56 EDT 2009
327
328  Bug fixes:
329  - Fix prototype related bugs [Goro Fuji]
330  - Fix the SCOPE keyword [Goro Fuji]
331
332 2.200403 - Fri Oct  2 02:01:58 EDT 2009
333
334  Other:
335  - Removed PERL_CORE specific @INC manipulation (no longer needed)
336    [Nicholas Clark]
337  - Changed hard-coded $^H manipulation in favor of "use re 'eval'"
338    [Nicholas Clark]
339
340 2.200402 - Fri Oct  2 01:26:40 EDT 2009
341
342  Bug fixes:
343  - UNITCHECK subroutines were not being called (detected in ext/XS-APItest
344    in Perl blead) [reported by Jesse Vincent, patched by David Golden]
345
346 2.200401 - Mon Sep 14 22:26:03 EDT 2009
347
348  - No changes from 2.20_04.
349
350
351 2.20_04 - Mon Aug 10 11:18:47 EDT 2009
352
353  Bug fixes:
354  - Changed install_dirs to 'core' for 5.8.9 as well (RT#48474)
355  - Removed t/bugs.t until there is better C++ support in ExtUtils::CBuilder
356
357  Other:
358  - Updated repository URL in META file
359
360 2.20_03 - Thu Jul 23 23:14:50 EDT 2009
361
362  Bug fixes:
363  - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
364    [Vincent Pit]
365  - Added newline before a preprocessor directive (RT#30673)
366    [patch by hjp]
367
368 2.2002 - Sat Jul 18 17:22:27 EDT 2009
369
370  Bug fixes:
371  - Fix Makefile.PL installdirs for older perls
372
373 2.20_01 - Wed Jul  8 12:12:47 EDT 2009
374
375  - Fix XSUsage prototypes for testing [Jan Dubois]
376
377 2.20 - Wed Jul  1 13:42:11 EDT 2009
378
379  - No changes from 2.19_04
380
381 2.19_04 - Mon Jun 29 11:49:12 EDT 2009
382
383  - Changed tests to use Test::More and added it to prereqs
384
385  - Some tests skip if no compiler or if no dynamic loading
386
387  - INTERFACE keyword tests skipped for perl < 5.8
388
389 2.19_03 - Sat Jun 27 22:51:18 EDT 2009
390
391  - Released to see updated results from smoke testers
392
393  - Fix minor doc typo pulled from blead
394
395 2.19_02 - Wed Aug  6 22:18:33 2008
396
397  - Fix the usage reports to consistently report package name as well
398    as sub name across ALIAS, INTERFACE and regular XSUBS. [Robert May]
399
400  - Cleaned up a warning with -Wwrite-strings that gets passed into
401    every parsed XS file. [Steve Peters]
402
403  - Allow (pedantically correct) C pre-processor comments in the code
404    snippets of typemap files. [Nicholas Clark]
405
406 2.19 - Sun Feb 17 14:27:40 2008
407
408  - Fixed the treatment of the OVERLOAD: keyword, which was causing a C
409    compile error. [Toshiyuki Yamato]
410
411 2.18 - Mon Jan 29 20:56:36 2007
412
413  - Added some UNITCHECK stuff, which (I think) makes XS code able to
414    do UNITCHECK blocks. [Nicholas Clark]
415
416  - Changed 'use re "eval";' to 'BEGIN { $^H |= 0x00200000 };' so we
417    can compile re.xs in bleadperl. [Yves Orton]
418
419  - Fix an undefined-variable warning related to 'inout' parameter
420    processing.
421
422 2.17 - Mon Nov 20 17:07:27 2006
423
424  - Stacked $filepathname to make #line directives in #INCLUDEs work.
425    [Nicholas Clark]
426
427  - Sprinked dVAR in with dXSARGS, for God-(Jarkko)-knows-what
428    reason. [Jarkko Hietaniemi]
429
430  - Use printf-style formats in Perl_croak() for some significant
431    savings in number of distinct constant strings in the linked
432    binaries we create. [Alexey Tourbin]
433
434  - Don't use 'class' as a variable name in the t/XSTest.xs module,
435    since that's a keyword in C++. [Jarkko Hietaniemi]
436
437 2.16  Fri Sep 15 22:33:24 CDT 2006
438
439  - Fix a problem with PREFIX not working inside INTERFACE
440    sections. [Salvador Fandin~o]
441
442 2.15  Mon Oct 10 11:02:13 EDT 2005
443
444  - I accidentally left out a README from the distribution.  Now it's
445    auto-created from the main documentation in ExtUtils/ParseXS.pm.
446
447 2.14  Sat Oct  8 21:49:15 EDT 2005
448
449  - The filehandle for the .xs file was never being properly closed,
450    and now it is.  This was causing some Win32 problems with
451    Module::Build's tests, which create a .xs file, process it with
452    ParseXS, and then try to remove it. [Spotted by Randy Sims]
453
454 2.13  Mon Oct  3 21:59:06 CDT 2005
455
456  - Integrate a cleanup-related change from bleadperl that somehow
457    never got into this copy. [Steve Hay]
458
459 2.12  Wed Aug 24 20:03:09 CDT 2005
460
461  - On Win32, there was a DLL file we create during testing that we
462    couldn't delete unless we closed it first, so testing failed when
463    the deletion was attempted.  This should now work (provided the
464    version of perl is high enough to have DynaLoader::dl_unload_file()
465    - I'm not sure what will happen otherwise). [Steve Hay]
466
467  - Fix a spurious warning during testing about a variable that's used
468    before it's initialized. [Steve Hay]
469
470 2.11  Mon Jun 13 23:00:23 CDT 2005
471
472  - Make some variables global, to avoid some "will not stay shared"
473    warnings at compile time. [Rafael Garcia-Suarez]
474
475 2.10  Mon May 30 21:29:44 CDT 2005
476
477  - This module is being integrated into the perl core; the regression
478    tests will now work properly when run as part of the core build.
479    [Yitzchak Scott-Thoennes]
480
481  - Added the ability to create output files with a suffix other than
482    ".c", via the new "csuffix" option.  This gets the module working
483    on Symbian. [Jarkko Hietaniemi]
484
485  - Added the ability to put 'extern "C"' declarations in front of
486    prototypes. [Jarkko Hietaniemi]
487
488 2.09  Sun Mar 27 11:11:49 CST 2005
489
490  - Integrated change #18270 from the perl core, which fixed a problem
491    in which xsubpp can make nested comments in C code (which is
492    bad). [Nicholas Clark]
493
494  - When no "MODULE ... PACKAGE ... PREFIX" line is found, it's now
495    still a fatal error for ParseXS, but we exit with status 0, which
496    is what the old xsubpp did and seems to work best with some modules
497    like Win32::NetAdmin.  See RT ticket 11472. [Steve Hay]
498
499 2.08  Fri Feb 20 21:41:22 CST 2004
500
501  - Fixed a problem with backslashes in file paths (e.g. C:\Foo\Bar.xs)
502    disappearing in error messages. [Randy Sims, Steve Hay]
503
504  - Did a little minor internal code cleanup in the
505    ExtUtils::ParseXS::CountLines class, now other classes don't poke
506    around in its package variables.
507
508 2.07  Sun Jan 25 17:01:52 CST 2004
509
510  - We now use ExtUtils::CBuilder for testing the compile/build phase
511    in the regression tests.  It's not necessary to have it for runtime
512    usage, though.
513
514  - Fixed a minor documentation error (look in 'Changes' for revision
515    history, not 'changes.pod'). [Scott R. Godin]
516
517 2.06  Fri Dec 26 09:00:47 CST 2003
518
519  - Some fixes in the regression tests for the AIX platform.
520
521 2.05  Mon Sep 29 10:33:39 CDT 2003
522
523  - We no longer trim the directory portions from the "#line " comments
524    in the generated C code.  This helps cooperation with many editors'
525    auto-jump-to-error stuff. [Ross McFarland]
526
527  - In some cases the PERL_UNUSED_VAR macro is needed to get rid of C
528    compile-time warnings in generated code.  Since this eliminates so
529    many warnings, turning on "-Wall -W" (or your platform's
530    equivalent) can once again be helpful. [Ross McFarland]
531
532  - Did a huge amount of variable-scoping cleanup, and it *still*
533    doesn't compile under 'use strict;'.  Much progress was made
534    though, and many scoping issues were fixed.
535
536 2.04  Thu Sep  4 13:10:59 CDT 2003
537
538  - Added a COPYRIGHT section to the documentation.  [Spotted by Ville
539    Skytta]
540
541 2.03  Sat Aug 16 17:49:03 CST 2003
542
543  - Fixed a warning that occurs if a regular expression (buried deep
544    within the bowels of the code here) fails.  [Spotted by Michael
545    Schwern]
546
547  - Fixed a testing error on Cygwin. [Reini Urban]
548
549 2.02  Sun Mar 30 18:20:12 CST 2003
550
551  - Now that we know this module doesn't work (yet?) with perl 5.005,
552    put a couple 'use 5.006' statements in the module & Makefile.PL so
553    we're explicit about the dependency. [Richard Clamp]
554
555 2.01  Thu Mar 20 08:22:36 CST 2003
556
557  - Allow -C++ flag for backward compatibility.  It's a no-op, and has
558    been since perl5.003_07. [PodMaster]
559
560 2.00  Sun Feb 23 16:40:17 CST 2003
561
562  - Tests now function under all three of the supported compilers on
563    Windows environments. [Randy W. Sims]
564
565  - Will now install to the 'core' perl module directory instead of to
566    'site_perl' or the like, because this is the only place MakeMaker
567    will look for the xsubpp script.
568
569  - Explicitly untie and close the output file handle because ParseXS was
570    holding the file handle open, preventing the compiler from opening
571    it on Win32. [Randy W. Sims]
572
573  - Added an '--output FILENAME' flag to xsubpp and changed ParseXS to use
574    the named file in the #line directives when the output file has an
575    extension other than '.c' (i.e. '.cpp'). [Randy W. Sims]
576
577  - Added conditional definition of the PERL_UNUSED_VAR macro to the
578    output file in case it's not already defined for backwards
579    compatibility with pre-5.8 versions of perl. (Not sure if this is the
580    best solution.) [Randy W. Sims]
581
582
583 1.99  Wed Feb  5 10:07:47 PST 2003
584
585  - Version bump to 1.99 so it doesn't look like a 'beta release' to
586    CPAN.pm.  No code changes, since I haven't had any bug reports.
587
588  - Fixed a minor problem in the regression tests that was creating an
589    XSTest..o file instead of XSTest.o
590
591
592 1.98_01  Mon Dec  9 11:50:41 EST 2002
593
594  - Converted from ExtUtils::xsubpp in bleadperl
595
596  - Basic set of regression tests written