summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorRicardo Signes <rjbs@cpan.org>2014-01-20 17:36:17 -0500
committerRicardo Signes <rjbs@cpan.org>2014-01-20 17:36:17 -0500
commitce5b6630ce873ba04f427bf60c93537250d86eb8 (patch)
treed3aeabfd60a4c9c2f8d7df499ed24366a98f6dca /pod
parentd897adffd8a5538d1aa250517beea9341245bf78 (diff)
downloadperl-ce5b6630ce873ba04f427bf60c93537250d86eb8.tar.gz
create new perldelta for 5.19.9
Diffstat (limited to 'pod')
-rw-r--r--pod/.gitignore2
-rw-r--r--pod/perl.pod1
l---------pod/perl5198delta.pod1
-rw-r--r--pod/perldelta.pod432
4 files changed, 170 insertions, 266 deletions
diff --git a/pod/.gitignore b/pod/.gitignore
index fe95321c56..3e862d7d6c 100644
--- a/pod/.gitignore
+++ b/pod/.gitignore
@@ -58,7 +58,7 @@
/roffitall
# generated
-/perl5198delta.pod
+/perl5199delta.pod
/perlapi.pod
/perlintern.pod
*.html
diff --git a/pod/perl.pod b/pod/perl.pod
index a8980fd16f..4abe433ffa 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -179,6 +179,7 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
perlhist Perl history records
perldelta Perl changes since previous version
+ perl5198delta Perl changes in version 5.19.8
perl5197delta Perl changes in version 5.19.7
perl5196delta Perl changes in version 5.19.6
perl5195delta Perl changes in version 5.19.5
diff --git a/pod/perl5198delta.pod b/pod/perl5198delta.pod
new file mode 120000
index 0000000000..bb639d3f2b
--- /dev/null
+++ b/pod/perl5198delta.pod
@@ -0,0 +1 @@
+perldelta.pod \ No newline at end of file
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 1ecc88f1f8..28338af3eb 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -2,58 +2,48 @@
=head1 NAME
-perldelta - what is new for perl v5.19.8
+[ this is a template for a new perldelta file. Any text flagged as XXX needs
+to be processed before release. ]
+
+perldelta - what is new for perl v5.19.9
=head1 DESCRIPTION
-This document describes differences between the 5.19.7 release and the 5.19.8
+This document describes differences between the 5.19.8 release and the 5.19.9
release.
-If you are upgrading from an earlier release such as 5.19.6, first read
-L<perl5197delta>, which describes differences between 5.19.6 and 5.19.7.
+If you are upgrading from an earlier release such as 5.19.7, first read
+L<perl5198delta>, which describes differences between 5.19.7 and 5.19.8.
-=head1 Core Enhancements
+=head1 Notice
-=head2 New C<\p{Unicode}> regular expression pattern property
+XXX Any important notices here
-This is a synonym for C<\p{Any}> and matches the set of Unicode-defined
-code points 0 - 0x10FFFF.
+=head1 Core Enhancements
-=head1 Incompatible Changes
+XXX New core language features go here. Summarize user-visible core language
+enhancements. Particularly prominent performance optimisations could go
+here, but most should go in the L</Performance Enhancements> section.
-=head2 C<do> can no longer be used to call subroutines
+[ List each enhancement as a =head2 entry ]
-The C<do SUBROUTINE(LIST)> form has resulted in a deprecation warning
-since Perl v5.0.0, and is now a syntax error.
+=head1 Security
-=head2 C<\p{}>, C<\P{}> matching has changed for non-Unicode code
-points.
+XXX Any security-related notices go here. In particular, any security
+vulnerabilities closed should be noted here rather than in the
+L</Selected Bug Fixes> section.
-C<\p{}> and C<\P{}> are defined by Unicode only on Unicode-defined code
-points (C<U+0000> through C<U+10FFFF>). Their behavior on matching
-these legal Unicode code points is unchanged, but there are changes for
-code points C<0x110000> and above. Previously, Perl treated the result
-of matching C<\p{}> and C<\P{}> against these as C<undef>, which
-translates into "false". For C<\P{}>, this was then complemented into
-"true". A warning was supposed to be raised when this happened.
-However, various optimizations could prevent the warning, and the
-results were often counter-intuitive, with both a match and its seeming
-complement being false. Now all non-Unicode code points are treated as
-typical unassigned Unicode code points. This generally is more
-Do-What-I-Mean. A warning is raised only if the results are arguably
-different from a strict Unicode approach, and from what Perl used to do.
-Code that needs to be strictly Unicode compliant can make this warning
-fatal, and then Perl always raises the warning.
+[ List each security issue as a =head2 entry ]
-Details are in L<perlunicode/Beyond Unicode code points>.
+=head1 Incompatible Changes
+
+XXX For a release on a stable branch, this section aspires to be:
-=head2 C<\p{All}> has been expanded to match all possible code points
+ 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</Reporting Bugs> below.
-The Perl-defined regular expression pattern element C<\p{All}>, unused
-on CPAN, used to match just the Unicode code points; now it matches all
-possible code points; that is, it is equivalent to C<qr/./s>. Thus
-C<\p{All}> is no longer synonymous with C<\p{Any}>, which continues to
-match just the Unicode code points, as Unicode says it should.
+[ List each incompatible change as a =head2 entry ]
=head1 Deprecations
@@ -79,393 +69,305 @@ not usually on concerns over their design.
=over
+=item XXX
+
XXX Note that deprecated modules should be listed here even if they are listed
as an updated module in the L</Modules and Pragmata> section.
=back
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
+[ List each other deprecation as a =head2 entry ]
-L<IO::Socket::IP> has been (tentatively) added to core at version 0.26.
+=head1 Performance Enhancements
-=back
+XXX Changes which enhance performance without changing behaviour go here.
+There may well be none in a stable release.
-=head2 Updated Modules and Pragmata
+[ List each enhancement as a =item entry ]
=over 4
=item *
-L<perl5db.pl> has been upgraded from version 1.42 to 1.43
-
-Fix a crash in tab completion, where available. [perl #120827]
-
-The debugger tests no longer open two handles to the same output file,
-making them more robust. [perl #118817]
-
-=item *
-
-L<base> has been upgraded from version 2.20 to 2.21.
-
-The stricter load failure tests added in 2.20 now allow for
-C<${^LAST_FH}> being set.
-
-=item *
-
-L<constant> has been upgraded from version 1.30 to 1.31.
-
-=item *
-
-L<DynaLoader> has been upgraded from version 1.22 to 1.24.
-
-=item *
-
-L<Encode> has been upgraded from version 2.55 to 2.57.
+XXX
-UTF-8 is no longer used in the C source (which some compilers didn't like), and
-some POD errors have been fixed in the documentation.
-
-=item *
+=back
-L<Errno> has been upgraded from version 1.20_01 to 1.20_02.
+=head1 Modules and Pragmata
-=item *
+XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
+go here. If Module::CoreList is updated, generate an initial draft of the
+following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
+for important changes should then be added by hand. In an ideal world,
+dual-life modules would have a F<Changes> file that could be cribbed.
-L<ExtUtils::CBuilder> has been upgraded from version 0.280212 to 0.280213.
+[ Within each section, list entries as a =item entry ]
-=item *
+=head2 New Modules and Pragmata
-L<ExtUtils::MakeMaker> has been upgraded from version 6.84 to 6.86.
+=over 4
=item *
-L<File::Copy> has been upgraded from version 2.28 to 2.29.
+XXX
-=item *
-
-L<Hash::Util::FieldHash> has been upgraded from version 1.13 to 1.14.
+=back
-=item *
+=head2 Updated Modules and Pragmata
-L<inc::latest> has been upgraded from version 0.4203 to 0.4204.
-NOTE: L<inc::latest> is deprecated and may be removed from a future version of
-Perl.
+=over 4
=item *
-L<IO::Socket::UNIX> has been upgraded from version 1.25 to 1.26.
-
-Removed a warning about an ancient behaviour change and filled out the
-SYNOPSIS. [perl #120981]
+L<XXX> has been upgraded from version A.xx to B.yy.
-=item *
+=back
-The libnet module collection has been upgraded from version 1.23 to 1.24.
+=head2 Removed Modules and Pragmata
-The handling of CRLF characters in L<Net::FTP> has been fixed.
+=over 4
=item *
-L<List::Util> has been upgraded from version 1.35 to 1.36.
+XXX
-=item *
+=back
-L<Module::Build> has been upgraded from version 0.4203 to 0.4204.
-NOTE: L<Module::Build> is deprecated and may be removed from a future version
-of Perl.
+=head1 Documentation
-=item *
+XXX Changes to files in F<pod/> go here. Consider grouping entries by
+file and be sure to link to the appropriate page, e.g. L<perlfunc>.
-L<Module::CoreList> has been upgraded from version 3.02 to 3.04.
+=head2 New Documentation
-=item *
+XXX Changes which create B<new> files in F<pod/> go here.
-L<Module::Load> has been upgraded from version 0.24 to 0.28.
+=head3 L<XXX>
-=item *
+XXX Description of the purpose of the new file here
-L<Module::Load::Conditional> has been upgraded from version 0.58 to 0.60.
+=head2 Changes to Existing Documentation
-=item *
+XXX Changes which significantly change existing files in F<pod/> go here.
+However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
+section.
-L<Perl::OSType> has been upgraded from version 1.006 to 1.007.
+=head3 L<XXX>
-=item *
-
-L<PerlIO::encoding> has been upgraded from version 0.17 to 0.18.
+=over 4
=item *
-L<Pod::Perldoc> has been upgraded from version 3.20 to 3.21.
+XXX Description of the change here
-=item *
+=back
-L<POSIX> has been upgraded from version 1.37 to 1.38_01.
+=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<perldiag>.
-L<Scalar::Util> has been upgraded from version 1.35 to 1.36.
+XXX New or changed warnings emitted by the core's C<C> code go here. Also
+include any changes in L<perldiag> that reconcile it to the C<C> code.
-=item *
+=head2 New Diagnostics
-L<threads::shared> has been upgraded from version 1.45 to 1.46.
+XXX Newly added diagnostic messages go under here, separated into New Errors
+and New Warnings
-=item *
+=head3 New Errors
-L<Time::Piece> has been upgraded from version 1.24 to 1.27.
+=over 4
=item *
-L<Unicode::UCD> has been upgraded from version 0.55 to 0.57.
-
-=item *
+XXX L<message|perldiag/"message">
-L<version> has been upgraded from version 0.9904 to 0.9907.
+=back
-=item *
+=head3 New Warnings
-L<warnings> has been upgraded from version 1.20 to 1.21.
+=over 4
=item *
-L<XSLoader> has been upgraded from version 0.16 to 0.17.
+XXX L<message|perldiag/"message">
=back
-=head1 Documentation
+=head2 Changes to Existing Diagnostics
-=head2 Changes to Existing Documentation
+XXX Changes (i.e. rewording) of diagnostic messages go here
=over 4
=item *
-L<perlunicode> has been updated to reflect C<Bidi_Class> changes in Unicode
-6.3.
+XXX Describe change here
=back
-=head1 Diagnostics
+=head1 Utility Changes
-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<perldiag>.
+XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
+Most of these are built within the directories F<utils> and F<x2p>.
-=head3 New Warnings
+[ List utility changes as a =head3 entry for each utility and =item
+entries for each change
+Use L<XXX> with program names to get proper documentation linking. ]
+
+=head3 L<XXX>
=over 4
=item *
-%s on a reference is now experimental
+XXX
-The "auto-deref" feature is now experimental.
+=back
-Starting in v5.14.0, it was possible to use push, pop, keys, and other
-built-in functions not only on aggregate types, but on references to
-them. The feature was not deployed to its original intended
-specification, and now may become redundant to postfix dereferencing.
-It has always been categorized as an experimental feature, and in
-v5.20.0 is carries a warning as such.
+=head1 Configuration and Compilation
-Warnings will now be issued at compile time when these operations are
-detected.
+XXX Changes to F<Configure>, F<installperl>, F<installman>, 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</Platform Support> section, instead.
- no if $] >= 5.01908, warnings => "experimental::autoderef";
+[ List changes as a =item entry ].
-Consider, though, replacing the use of these features, as they may
-change behavior again before becoming stable.
+=over 4
=item *
-L<Matched non-Unicode code point 0x%X against Unicode property; may not be portable|perldiag/"Matched non-Unicode code point 0x%X against Unicode property; may not be portable">.
-This replaces the message "Code point 0x%X is not Unicode, all \p{}
-matches fail; all \P{} matches succeed".
+XXX
=back
-=head1 Utility Changes
+=head1 Testing
-=head3 L<perlbug>
+XXX Any significant changes to the testing of a freshly built perl should be
+listed here. Changes which create B<new> files in F<t/> go here as do any
+large changes to the testing harness (e.g. when parallel testing was added).
+Changes to existing files in F<t/> aren't worth summarizing, although the bugs
+that they represent may be covered elsewhere.
-=over 4
-
-=item *
+[ List each test improvement as a =item entry ]
-F<perlbug> now has a C<-p> option for attaching patches with a bug report.
+=over 4
=item *
-F<perlbug> now does input in the encoding of the current locale and
-output raw.
+XXX
=back
-=head1 Configuration and Compilation
-
-=over 4
+=head1 Platform Support
-=item *
+XXX Any changes to platform support should be listed in the sections below.
-Distinct library basenames with C<d_libname_unique>.
+[ Within the sections, list each platform as a =item entry with specific
+changes as paragraphs below it. ]
-When compiling perl with this option, the library files for XS modules are
-named something "unique" -- for example, Hash/Util/Util.so becomes
-Hash/Util/PL_Hash__Util.so. This behavior is similar to what currently
-happens on VMS, and serves as groundwork for the Android port.
+=head2 New Platforms
-=item *
+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<hints/>
+directories, or new subdirectories and F<README> files at the top level of the
+source tree.
-C<sysroot> option to indicate the logical root directory under gcc and clang.
+=over 4
-When building with this option set, both Configure and the compilers search
-for all headers and libraries under this new sysroot, instead of /.
+=item XXX-some-platform
-This is a huge time saver if cross-compiling, but can also help
-on native builds if your toolchain's files have non-standard locations.
+XXX
=back
-=head1 Platform Support
+=head2 Discontinued Platforms
-=over 4
+XXX List any platforms that this version of perl no longer compiles on.
-=item *
+=over 4
-Code related to supporting C<sfio> has been removed.
+=item XXX-some-platform
-Perl 5.004 added support to use the native API of C<sfio>, AT&T's Safe/Fast
-I/O library. This code still built with v5.8.0, albeit with many regression
-tests failing, but was inadvertently broken before the v5.8.1 release,
-meaning that it has not worked on any version of Perl released since then.
-In over a decade we have received no bug reports about this, hence it is clear
-that no-one is using this functionality on any version of Perl that is still
-supported to any degree.
+XXX
=back
=head2 Platform-Specific Notes
+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</Modules and Pragmata> section.
+
=over 4
-=item Cygwin
+=item XXX-some-platform
-recv() on a connected handle would populate the returned sender
-address with whatever happened to be in the working buffer. recv()
-now uses a workaround similar to the Win32 recv() wrapper and returns
-an empty string when recvfrom(2) doesn't modify the supplied address
-length. [perl #118843]
+XXX
=back
=head1 Internal Changes
+XXX Changes which affect the interface available to C<XS> code go here. Other
+significant internal changes for future core maintainers should be noted as
+well.
+
+[ List each change as a =item entry ]
+
=over 4
-=item newATTRSUB is now a macro
-
-The public API newATTRSUB was previously a macro to the private
-function Perl_newATTRSUB. Function Perl_newATTRSUB has been removed. newATTRSUB
-is now macro to a different internal function.
-
-=item Changes in warnings raised by C<utf8n_to_uvchr()>
-
-This bottom level function decodes the first character of a UTF-8 string
-into a code point. It is accessible to C<XS> level code, but it's
-discouraged from using it directly. There are higher level functions
-that call this that should be used instead, such as
-L<perlapi/utf8_to_uvchr_buf>. For completeness though, this documents
-some changes to it. Now, tests for malformations are done before any
-tests for other potential issues. One of those issues involves code
-points so large that they have never appeared in any official standard
-(the current standard has scaled back the highest acceptable code point
-from earlier versions). It is possible (though not done in CPAN) to
-warn and/or forbid these code points, while accepting smaller code
-points that are still above the legal Unicode maximum. The warning
-message for this now includes the code point if representable on the
-machine. Previously it always displayed raw bytes, which is what it
-still does for non-representable code points.
+=item *
+
+XXX
=back
=head1 Selected Bug Fixes
-=over 4
+XXX Important bug fixes in the core language are summarized here. Bug fixes in
+files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
-=item *
+[ List each fix as a =item entry ]
-In v5.19.6, C<do CORE()> was inadvertently changed from being interpreted
-as do-file (i.e., C<do +CORE()>) to do-sub (i.e., C<&CORE()>). It has now
-been changed back.
+=over 4
=item *
-v5.19.7 inadvertently caused freed scalars to be passed to subroutines in
-@INC if it contained multiple subs. This has been fixed. [perl #120657]
+XXX
-=item *
+=back
-Individually-tied elements of @INC (as in C<tie $INC[0]...>) are now
-handled correctly. Formerly, whether a sub returned by such a tied element
-would be treated as a sub depended on whether a FETCH had occurred
-previously.
+=head1 Known Problems
-=item *
+XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
+tests that had to be C<TODO>ed for the release would be noted here. Unfixed
+platform specific bugs also go here.
-C<getc> on a byte-sized handle after the same C<getc> operator had been
-used on a utf8 handle used to treat the bytes as utf8, resulting in erratic
-behavior (e.g., malformed UTF-8 warnings).
+[ List each fix as a =item entry ]
-=item *
-
-An initial C<{> at the beginning of a format argument line was always
-interpreted as the beginning of a block prior to v5.18. In Perl v5.18, it
-started being treated as an ambiguous token. The parser would guess
-whether it was supposed to be an anonymous hash constructor or a block
-based on the contents. Now the previous behavious has been restored.
-[perl #119973]
+=over 4
=item *
-In Perl v5.18 C<undef *_; goto &sub> and C<local *_; goto &sub> started
-crashing. This has been fixed. [perl #119949]
+XXX
=back
-=head1 Acknowledgements
+=head1 Obituary
-Perl 5.19.8 represents approximately 4 weeks of development since Perl 5.19.7
-and contains approximately 38,000 lines of changes across 420 files from 26
-authors.
+XXX If any significant core contributor has died, we've added a short obituary
+here.
-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.19.8:
-
-Abigail, Alan Hourihane, Brian Fraser, Brian Gottreu, Chris 'BinGOs' Williams,
-Christian Millour, Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan,
-David Mitchell, Dominic Hargreaves, Father Chrysostomos, H.Merijn Brand, James
-E Keenan, Jess Robinson, John Peacock, Karl Williamson, Martin McGrath, Matthew
-Horsfall, Nicholas Clark, Ricardo Signes, Shlomi Fish, Steve Hay, Tobias Leich,
-Tony Cook, Ævar Arnfjörð Bjarmason.
-
-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.
+=head1 Acknowledgements
-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.
+XXX Generate this with:
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
+ perl Porting/acknowledgements.pl v5.19.9..HEAD
=head1 Reporting Bugs