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