X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c7c2090d7fdf03dd0be98215be92f1ed58a34c68..788505dbd885b6914336f9fc5a769156b4166900:/pod/perldelta.pod diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 494d261..6194fa6 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,787 +2,425 @@ =head1 NAME -perldelta - what is new for perl v5.17.1 +[ this is a template for a new perldelta file. Any text flagged as +XXX needs to be processed before release. ] -=head1 DESCRIPTION - -This document describes differences between the 5.17.0 release and -the 5.17.1 release. - -If you are upgrading from an earlier release such as 5.16.0, first read -L, which describes differences between 5.16.0 and -5.17.0. - -=head1 Core Enhancements +perldelta - what is new for perl v5.17.2 -=head2 More CORE:: subs +=head1 DESCRIPTION -Several more built-in functions have been added as subroutines to the -CORE:: namespace, namely, those non-overridable keywords that can be -implemented without custom parsers: C, C, C, -C, C, C, C, C, C, and C. +This document describes differences between the 5.17.1 release and +the 5.17.2 release. -As some of these have prototypes, C has been -changed to not make a distinction between overridable and non-overridable -keywords. This is to make C consistent with -C. +If you are upgrading from an earlier release such as 5.17.0, first read +L, which describes differences between 5.17.0 and +5.17.1. -=head1 Incompatible Changes +=head1 Notice -=head2 C and C have been heavily reworked +XXX Any important notices here -The implementation of this feature has been almost completely rewritten. -Although its main intent is to fix bugs, some behaviors, especially -related to the scope of lexical variables, will have changed. This is -described more fully in the L section. +=head1 Core Enhancements -=head2 C<\N{BELL}> now refers to U+1F514 instead of U+0007 +XXX New core language features go here. Summarise user-visible core language +enhancements. Particularly prominent performance optimisations could go +here, but most should go in the L section. -Unicode 6.0 reused the name "BELL" for a different code point than it -traditionally had meant. Since Perl v5.14, use of this name still -referred to U+0007, but would raise a deprecation warning. Now, "BELL" -refers to U+1F514, and the name for U+0007 is "ALERT". All the -functions in L have been correspondingly updated. +[ List each enhancement as a =head2 entry ] -=head2 Alphanumeric operators must now be separated from the closing -delimiter of regular expressions +=head1 Security -You may no longer write something like: +XXX Any security-related notices go here. In particular, any security +vulnerabilities closed should be noted here rather than in the +L section. - m/a/and 1 +[ List each security issue as a =head2 entry ] -Instead you must write +=head1 Incompatible Changes - m/a/ and 1 +XXX For a release on a stable branch, this section aspires to be: -with whitespace separating the operator from the closing delimiter of -the regular expression. Not having whitespace has resulted in a -deprecation warning since Perl v5.14.0. + There are no changes intentionally incompatible with 5.XXX.XXX + If any exist, they are bugs, and we request that you submit a + report. See L below. -=head2 C dies for unreadable files +[ List each incompatible change as a =head2 entry ] -When C encounters an unreadable file, it now dies. It used to -ignore the file and continue searching the directories in @INC -[perl #113422]. +=head1 Deprecations -=head2 Upgrade to the Unicode 6.2 beta +XXX Any deprecated features, syntax, modules etc. should be listed here. +In particular, deprecated modules should be listed here even if they are +listed as an updated module in the L section. -Unicode 6.2 is proposing some changes that may very well break some CPAN -modules. The timing of this nicely coincides with Perl's being early in the -release cycle. This commit takes the current beta 6.2, adds the proposed -changes that aren't yet in it, and subtracts the changes that would affect \X -processing, as those turn out to have errors, and may have to be rethought. -Unicode has been notified of these problems. +[ List each deprecation as a =head2 entry ] -This will allow us to gather data as to whether or not the proposed changes -cause us problems. These will be presented to Unicode to aid in their final -decision as to whether or not to go forward with the changes. +=head1 Performance Enhancements -These changes will be replaced by the final version of Unicode 6.2 before -5.18.0 is released. +XXX Changes which enhance performance without changing behaviour go here. There +may well be none in a stable release. -=head1 Performance Enhancements +[ List each enhancement as a =item entry ] =over 4 =item * -The C repetition operator is now folded to a single constant at compile -time if called in scalar context with constant operands and no parentheses -around the left operand. +XXX =back =head1 Modules and Pragmata -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 0.58 to 0.60. - -Work around an edge case on Linux with Busybox's unzip. - -=item * - -L has been upgraded from version 1.82 to 1.88. - -ptar now supports the -T option as well as dashless options -[rt.cpan.org #75473], [rt.cpan.org #75475]. - -Auto-encode filenames marked as UTF-8 [rt.cpan.org #75474]. - -Don't use C on L handles [rt.cpan.org #64339]. - -Don't try to C on symlinks. - -=item * - -L has been upgraded from version 0.19 to 0.20. - -=item * - -L has been upgraded from version 2.10 to 2.11. +XXX All changes to installed files in F, F, F and F +go here. If Module::CoreList is updated, generate an initial draft of the +following sections using F, which prints stub +entries to STDOUT. Results can be pasted in place of the '=head2' entries +below. A paragraph summary for important changes should then be added by hand. +In an ideal world, dual-life modules would have a F file that could be +cribbed. -=item * - -L has been upgraded from version 1.35 to 1.36. - -C has been replaced with C. - -C now supports UTF-8 package names and embedded NULs. - -=item * - -L has been upgraded from version 1.14 to 1.15. - -Avoid warning when run under C. +[ Within each section, list entries as a =item entry ] -=item * - -L has been upgraded from version 0.63 to 0.64. - -The constructor now respects overridden accessor methods [perl #29230]. - -=item * - -L has been upgraded from version 2.048 to 2.052. - -=item * +=head2 New Modules and Pragmata -L has been upgraded from version 2.048 to 2.054. - -Upgrade bundled zlib to version 1.2.7. - -Fix build failures on Irix, Solaris, and Win32, and also when building as C++ -[rt.cpan.org #69985], [rt.cpan.org #77030], [rt.cpan.org #75222]. - -=item * - -L has been upgraded from version 2.120630 to 2.120921. - -=item * - -L has been upgraded from version 2.120630 to 2.122. - -Treat undef requirements to C as 0 (with a warning). - -Added C method. - -=item * - -L has been upgraded from version 0.007 to 0.008. - -=item * - -L has been upgraded from version 0.9121 to 0.9130. - -Allow adding F to PATH. - -Save the history between invocations of the shell. - -Handle multiple C and C arguments better. - -Use C when available, and provide C to -override the autodetection. - -Always re-fetch F if C is set. +=over 4 =item * -L has been upgraded from version 2.51 to 2.52. - -Fix C OO fallback [rt.cpan.org #66634]. +XXX -=item * +=back -L has been upgraded from version 1.14 to 1.15. +=head2 Updated Modules and Pragmata -This is due to a minor code change in the XS for the VMS implementation. +=over 4 =item * -L has been upgraded from version 0.280206 to 0.280208. +L has been upgraded from version 1.06 to 1.07. -Manifest files are now correctly embedded for those versions of VC++ which -make use of them. [perl #111782, #111798]. +Previously C's overloaded C<-x> and C<-X> operators did not give +the correct results for directories or executable files when running as +root. They had been treating executable permissions for root just like for +any other user, performing group membership tests I for files not owned +by root. They now follow the correct Unix behaviour - for a directory they +are always true, and for a file if any of the three execute permission bits +are set then they report that root can execute the file. Perl's builtin +C<-x> and C<-X> operators have always been correct. -=item * - -L has been upgraded from version 1.07 to 1.08. +=back -=item * +=head2 Removed Modules and Pragmata -L has been upgraded from version 0.32 to 0.34. +=over 4 =item * -L has been upgraded from version 3.39_02 to 3.39_03. +XXX -C could produce incorrect results when given two relative paths or -the root directory twice [perl #111510]. +=back -=item * +=head1 Documentation -L has been upgraded from version 1.40 to 1.45. +XXX Changes to files in F go here. Consider grouping entries by +file and be sure to link to the appropriate page, e.g. L. -=item * +=head2 New Documentation -L has been upgraded from version 0.017 to 0.022. +XXX Changes which create B files in F go here. -Add SSL verification features [github #6], [github #9]. +=head3 L -Include the final URL in the response hashref. +XXX Description of the purpose of the new file here -Add C option. +=head2 Changes to Existing Documentation -=item * +XXX Changes which significantly change existing files in F go here. +However, any changes to F should go in the L +section. -L has been upgraded from version 1.25_06 to 1.25_07. +=head3 L -C can now be called on read-only file handles [perl #64772]. +=over 4 =item * -L has been upgraded from version 0.76 to 0.78. +XXX Description of the change here -Use C instead of C in C [rt.cpan.org #76901]. - -=item * - -L has been upgraded from version 1.02 to 1.03. +=back -Fix the C cache option. +=head1 Diagnostics -=item * +The following additions or changes have been made to diagnostic output, +including warnings and fatal error messages. For the complete list of +diagnostic messages, see L. -L has been upgraded from version 0.39_01 to 0.40. +XXX New or changed warnings emitted by the core's C code go here. Also +include any changes in L that reconcile it to the C code. -Fixed bug where modules without C<$VERSION> might have a version of '0' listed -in 'provides' metadata, which will be rejected by PAUSE. +[ Within each section, list entries as a =item entry that links to perldiag, + e.g. -Fixed bug in PodParser to allow numerals in module names. + =item * -Fixed bug where giving arguments twice led to them becoming arrays, resulting -in install paths like F. + L +] -=item * +=head2 New Diagnostics -L has been upgraded from version 0.46 to 0.50. +XXX Newly added diagnostic messages go here -Fix use of C on perls installed to a path with spaces. +=head3 New Errors -=item * - -L has been upgraded from version 0.42 to 0.44. +=over 4 =item * -L has been upgraded from version 0.32 to 0.36. - -=item * +XXX L -L has been upgraded from version 1.4402 to 1.4404. +=back -=item * +=head3 New Warnings -L has been upgraded from version 0.010 to 0.011. +=over 4 =item * -L has been upgraded from version 0.06 to 0.07. +C now warns when passed a negative value [perl #83048]. =item * -L has been upgraded from version 1.15_02 to 1.16. +C now warns when passed a value that doesn't fit in a C (since the +value will be truncated rather than overflowing) [perl #40605]. -The option C<--libpods> has been reinstated. It is deprecated, and its use -does nothing other than issue a warning that it is no longer supported. - -Since the HTML files generated by pod2html claim to have a UTF-8 charset, -actually write the files out using UTF-8 [perl #111446]. - -=item * - -L has been upgraded from version 1.30 to 1.31. +=back -=item * +=head2 Changes to Existing Diagnostics -L has been upgraded from version 0.19 to 0.20. +XXX Changes (i.e. rewording) of diagnostic messages go here -See note about C in the L section below. +=over 4 =item * -L has been upgraded from version 2.31_01 to 2.33_01. +XXX Describe change here -Fix interactions with C. - -Don't eval code under C. - -=item * - -L has been upgraded from version 1.23 to version 1.25. +=back -Fix an overloading issue with C. +=head1 Utility Changes -C and C now check the callback first (so C<&first(1)> is -disallowed). +XXX Changes to installed programs such as F and F go +here. Most of these are built within the directories F and F. -Fix C on magical values [rt.cpan.org #55763]. +[ List utility changes as a =head3 entry for each utility and =item +entries for each change +Use L with program names to get proper documentation linking. ] -Fix C on previously magical values [rt.cpan.org #61118]. +=head3 L -Fix reading past the end of a fixed buffer [rt.cpan.org #72700]. +=over 4 =item * -L has been upgraded from version 1.04 to 1.07. - -No longer require C on filehandles. - -Use C for casefolding. +XXX -=item * - -L has been upgraded from version 2.35 to 2.36. +=back -=item * +=head1 Configuration and Compilation -L has been upgraded from version 3.01 to 3.02. +XXX Changes to F, F, F, and analogous tools +go here. Any other changes to the Perl build process should be listed here. +However, any platform-specific changes should be listed in the +L section, instead. -Add support for italics. +[ List changes as a =item entry ]. -Improve error handling. +=over 4 =item * -L has been upgraded from version 3.23 to 3.25. - -Fix glob semantics on Win32 [rt.cpan.org #49732]. +XXX -Don't use C when calling perl [rt.cpan.org #47890]. +=back -Ignore -T when reading shebang [rt.cpan.org #64404]. +=head1 Testing -Handle the case where we don't know the wait status of the test more -gracefully. +XXX Any significant changes to the testing of a freshly built perl should be +listed here. Changes which create B files in F go here as do any +large changes to the testing harness (e.g. when parallel testing was added). +Changes to existing files in F aren't worth summarising, although the bugs +that they represent may be covered elsewhere. -Make the test summary 'ok' line overridable so that it can be changed to a -plugin to make the output of prove idempotent. +[ List each test improvement as a =item entry ] -Don't run world-writable files. +=over 4 =item * -L has been upgraded from version 0.43 to 0.44. - -This adds a function L -that returns all the casefolds. +XXX =back -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L - -=over 4 +=head1 Platform Support -=item * +XXX Any changes to platform support should be listed in the sections below. -L has been synchronized with version 5.0150040 from CPAN. +[ Within the sections, list each platform as a =item entry with specific +changes as paragraphs below it. ] -=back +=head2 New Platforms -=head3 L +XXX List any platforms that this version of perl compiles on, that previous +versions did not. These will either be enabled by new files in the F +directories, or new subdirectories and F files at the top level of the +source tree. =over 4 -=item * +=item XXX-some-platform -L has been reorganized, and a few new sections were added. +XXX =back -=head1 Diagnostics +=head2 Discontinued Platforms -=head2 Removals of Diagnostics +XXX List any platforms that this version of perl no longer compiles on. =over 4 -=item * - -The "Runaway prototype" warning that occurs in bizarre cases has been -removed as being unhelpful and inconsistent. +=item XXX-some-platform -=item * - -The "Not a format reference" error has been removed, as the only case in -which it could be triggered was a bug. - -=item * - -The "Unable to create sub named %s" error has been removed for the same -reason. +XXX =back -=head1 Platform Support - =head2 Platform-Specific Notes -=over 4 - -=item Win32 +XXX List any changes for specific platforms. This could include configuration +and compilation changes or changes in portability/compatibility. However, +changes within modules for platforms should generally be listed in the +L section. -C on Win32 now attempts to set C<$!> to more appropriate values -based on the Win32 API error code. [perl #112272] - -Perl no longer mangles the environment block, e.g. when launching a new -sub-process, when the environment contains non-ASCII characters. Known -problems still remain, however, when the environment contains characters -outside of the current ANSI codepage (e.g. see the item about Unicode in -C<%ENV> in L). -[perl #113536] +=over 4 -=item VMS +=item XXX-some-platform -All C header files from the top-level directory of the distribution are now -installed on VMS, providing consistency with a long-standing practice on other -platforms. Previously only a subset were installed, which broke non-core -extension builds for extensions that depended on the missing include files. +XXX =back =head1 Internal Changes -=over 4 +XXX Changes which affect the interface available to C code go here. +Other significant internal changes for future core maintainers should +be noted as well. -=item * - -The C function was made a no-op in 5.16. It was simply disabled via -a C statement; the code was left in place. Now the code supporting -what C used to do has been removed. - -=item * +[ List each change as a =item entry ] -Under threaded perls, there is no longer a separate PV allocated for every -COP to store its package name (C<< cop->stashpv >>). Instead, there is an -offset (C<< cop->stashoff >>) into the new C array, which -holds stash pointers. - -=item * - -In the pluggable regex API, the C struct has acquired a new -field C, which is currently just for perl's internal use, and -should be initialised to NULL by other regex plugin modules. +=over 4 =item * -A new function C has been added to the API, but is considered -experimental. See L. +XXX =back =head1 Selected Bug Fixes -=over 4 - -=item * +XXX Important bug fixes in the core language are summarised here. +Bug fixes in files in F and F are best summarised in +L. -The implementation of code blocks in regular expressions, such as C<(?{})> -and C<(??{})>, has been heavily reworked to eliminate a whole slew of bugs. -The main user-visible changes are: +[ List each fix as a =item entry ] =over 4 =item * -Code blocks within patterns are now parsed in the same pass as the -surrounding code; in particular it is no longer necessary to have balanced -braces: this now works: - - /(?{ $x='{' })/ - -This means that this error message is longer generated: - - Sequence (?{...}) not terminated or not {}-balanced in regex - -but a new error may be seen: - - Sequence (?{...}) not terminated with ')' - -In addition, literal code blocks within run-time patterns are only -compiled once, at perl compile-time: - - for my $p (...) { - # this 'FOO' block of code is compiled once, - # at the same time as the surrounding 'for' loop - /$p{(?{FOO;})/; - } - -=item * - -Lexical variables are now sane as regards scope, recursion and closure -behavior. In particular, C behaves (from a closure viewpoint) -exactly like C, while C is like -C. So this code now works how you might -expect, creating three regexes that match 0, 1, and 2: - - for my $i (0..2) { - push @r, qr/^(??{$i})$/; - } - "1" =~ $r[1]; # matches - -=item * - -The C pragma is now only required for code blocks defined -at runtime; in particular in the following, the text of the C<$r> pattern is -still interpolated into the new pattern and recompiled, but the individual -compiled code-blocks within C<$r> are reused rather than being recompiled, -and C isn't needed any more: - - my $r = qr/abc(?{....})def/; - /xyz$r/; - -=item * - -Flow control operators no longer crash. Each code block runs in a new -dynamic scope, so C etc. will not see any enclosing loops and -C will not see any calling subroutines. C returns a value -from the code block, not from any enclosing subroutine. - -=item * - -Perl normally caches the compilation of run-time patterns, and doesn't -recompile if the pattern hasn't changed, but this is now disabled if -required for the correct behavior of closures. For example: - - my $code = '(??{$x})'; - for my $x (1..3) { - # recompile to see fresh value of $x each time - $x =~ /$code/; - } - - -=item * - -The C and C<(?msix)> etc. flags are now propagated into the return -value from C<(??{})>; this now works: - - "AB" =~ /a(??{'b'})/i; - -=item * - -Warnings and errors will appear to come from the surrounding code (or for -run-time code blocks, from an eval) rather than from an C: - - use re 'eval'; $c = '(?{ warn "foo" })'; /$c/; - /(?{ warn "foo" })/; - -formerly gave: - - foo at (re_eval 1) line 1. - foo at (re_eval 2) line 1. - -and now gives: - - foo at (eval 1) line 1. - foo at /some/prog line 2. - -=back +A regression introduced in v5.14.0 has been fixed, in which some calls +to the C module would clobber C<$_>. =item * -Perl now works as well as can be expected on all releases of Unicode so -far. In v5.16, it worked on Unicodes 6.0 and 6.1, but there were -various bugs for earlier releases; the older the release the more -problems. +C now always either sets or clears C<$@>, even when the file can't be +read. This ensures that testing C<$@> first (as recommended by the +documentation) always returns the correct result. =item * -C no longer produces "uninitialized" warnings in lvalue context -[perl #9423]. - -=item * - -An optimization involving fixed strings in regular expressions could cause -a severe performance penalty in edge cases. This has been fixed -[perl #76546]. - -=item * - -In certain cases, including empty subpatterns within a regular expression (such -as C<(?:)> or C<(?:|)>) could disable some optimizations. This has been fixed. - -=item * - -The "Can't find an opnumber" message that C produces when passed -a string like "CORE::nonexistent_keyword" now passes UTF-8 and embedded -NULs through unchanged [perl #97478]. - -=item * - -C now treats magical variables like C<$1> the same way as -non-magical variables when checking for the CORE:: prefix, instead of -treating them as subroutine names. - -=item * - -Under threaded perls, a runtime code block in a regular expression could -corrupt the package name stored in the op tree, resulting in bad reads -in C, and possibly crashes [perl #113060]. - -=item * +The array iterator used for the C construct is now correctly +reset when C<@array> is cleared (RT #75596). This happens for example when the +array is globally assigned to, as in C<@array = (...)>, but not when its +B are assigned to. In terms of the XS API, it means that C +will now reset the iterator. -Referencing a closure prototype (C<\&{$_[1]}> in an attribute handler for a -closure) no longer results in a copy of the subroutine (or assertion -failures on debugging builds). +This mirrors the behaviour of the hash iterator when the hash is cleared. =item * -C now returns the right answer on threaded builds if -the current package has been assigned over (as in -C<*ThisPackage:: = *ThatPackage::>) [perl #78742]. +C<< $class->can >>, C<< $class->isa >>, and C<< $class->DOES >> now return +correct results, regardless of whether that package referred to by C<$class> +exists [perl #47113]. =item * -If a package is deleted by code that it calls, it is possible for C -to see a stack frame belonging to that deleted package. C could -crash if the stash's memory address was reused for a scalar and a -substitution was performed on the same scalar [perl #113486]. +Arriving signals no longer clear C<$@> [perl #45173]. =item * -C no longer treats its first argument differently -depending on whether it is a string or number internally. +Allow C declarations with an empty variable list [perl #113554]. =item * -C with C<< <& >> for the mode checks to see whether the third argument is -a number, in determining whether to treat it as a file descriptor or a handle -name. Magical variables like C<$1> were always failing the numeric check and -being treated as handle names. +During parsing, subs declared after errors no longer leave stubs +[perl #113712]. =item * -C's handling of magical variables (C<$1>, ties) has undergone several -fixes. C is only called once now on a tied argument or a tied C<$@> -[perl #97480]. Tied variables returning objects that stringify as "" are -no longer ignored. A tied C<$@> that happened to return a reference the -I time is was used is no longer ignored. +C now clears C<$@> after an I/O error [perl #113730]. =item * -C now treats C<$@> with a number in it the same way, regardless of -whether it happened via C<$@=3> or C<$@="3">. It used to ignore the -former. Now it appends "\t...caught", as it has always done with -C<$@="3">. +Closures containing no string evals no longer hang on to their containing +subroutines, allowing variables closed over by outer subroutines to be +freed when the outer sub is freed, even if the inner sub still exists +[perl #89544]. =item * -Numeric operators on magical variables (e.g., S>) used to use -floating point operations even where integer operations were more appropriate, -resulting in loss of accuracy on 64-bit platforms [perl #109542]. - -=item * - -Unary negation no longer treats a string as a number if the string happened -to be used as a number at some point. So, if C<$x> contains the string "dogs", -C<-$x> returns "-dogs" even if C<$y=0+$x> has happened at some point. - -=item * - -In Perl 5.14, C<-'-10'> was fixed to return "10", not "+10". But magical -variables (C<$1>, ties) were not fixed till now [perl #57706]. - -=item * - -Unary negation now treats strings consistently, regardless of the internal -C flag. - -=item * - -A regression introduced in Perl v5.16.0 involving -C/I/> has been fixed. Only the first -instance is supposed to be meaningful if a character appears more than -once in C>. Under some circumstances, the final instance -was overriding all earlier ones. [perl #113584] - -=item * - -Regular expressions like C previously silently inserted a NUL -character, thus matching as if it had been written C. Now it -matches as if it had been written as C, with a message that the -sequence C<"\8"> is unrecognized. - -=item * - -C<__SUB__> now works in special blocks (C, C, etc.). - -=item * - -Thread creation on Windows could theoretically result in a crash if done -inside a C block. It still does not work properly, but it no longer -crashes [perl #111610]. - -=item * - -C<\&{''}> (with the empty string) now autovivifies a stub like any other -sub name, and no longer produces the "Unable to create sub" error -[perl #94476]. +Duplication of in-memory filehandles by opening with a "<&=" or ">&=" mode +stopped working properly in 5.16.0. It was causing the new handle to +reference a different scalar variable. This has been fixed [perl #113764]. =back =head1 Known Problems -=over 4 +XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any +tests that had to be Ced for the release would be noted here. Unfixed +platform specific bugs also go here. -=item * +[ List each fix as a =item entry ] -On VMS, L still fails its test suite. +=over 4 =item * -On Win32, several tests fail intermittently, and may hang unless STDERR is -redirected. +XXX =back +=head1 Obituary + +XXX If any significant core contributor has died, we've added a short obituary +here. + =head1 Acknowledgements -Perl 5.17.1 represents approximately 4 weeks of development since Perl 5.17.0 -and contains approximately 37,000 lines of changes across 710 files from 35 -authors. - -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed the -improvements that became Perl 5.17.1: - -?, Andy Dougherty, Aristotle Pagaltzis, Breno G. de Oliveira, Brian Fraser, -Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, Dominic Hargreaves, -Evan Miller, Father Chrysostomos, Florian Ragwitz, H.Merijn Brand, Herbert -Breunung, Hugo van der Sanden, Jesse Luehrs, Karl Williamson, Karthik -Rajagopalan, Lukas Mai, Martin Hasch, Michael Schroeder, Nicholas Clark, Paul -Johnson, Reini Urban, Renee Baecker, Rhesa Rozendaal, Ricardo Signes, Shlomi -Fish, Steve Hay, Steve Peters, Sullivan Beck, Tony Cook, Volker Schatz, Yves -Orton, Zefram. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F file in the Perl source distribution. +XXX Generate this with: + + perl Porting/acknowledgements.pl v5.17.1..HEAD =head1 Reporting Bugs