summaryrefslogtreecommitdiff
path: root/pod/perl5159delta.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perl5159delta.pod')
-rw-r--r--pod/perl5159delta.pod402
1 files changed, 402 insertions, 0 deletions
diff --git a/pod/perl5159delta.pod b/pod/perl5159delta.pod
new file mode 100644
index 0000000000..25e0c4f1af
--- /dev/null
+++ b/pod/perl5159delta.pod
@@ -0,0 +1,402 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5159delta - what is new for perl v5.15.9
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.15.8 release and
+the 5.15.9 release.
+
+If you are upgrading from an earlier release such as 5.15.7, first read
+L<perl5158delta>, which describes differences between 5.15.7 and
+5.15.8.
+
+=head1 Notice
+
+This space intentionally left blank.
+
+=head1 Core Enhancements
+
+=head2 C<< no feature; >> now means reset to default
+
+C<< no feature >> now resets to the default feature set. To disable all
+features (which is likely to be a pretty special-purpose request, since
+it presumably won't match any named set of semantics) you can now
+write C<< no feature ':all' >>.
+
+=head1 Security
+
+=head2 Malformed UTF-8 input could cause attempts to read beyond the end of the buffer
+
+Two new XS-accessible functions, C<utf8_to_uvchr_buf()> and
+C<utf8_to_uvuni_buf()> are now available to prevent this, and the Perl
+core has been converted to use them.
+See L</Internal Changes>.
+
+=head1 Incompatible Changes
+
+=head2 C<< no feature; >>
+
+C<no feature;> now means reset to default.
+
+=head1 Deprecations
+
+=head2 Literal C<< "{" >> characters in regular expressions.
+
+It has been documented that the current plans include requiring a
+literal C<< "{" >> to be escaped: 5.18 will emit deprecation warnings,
+and it will be required in 5.20.
+
+=head2 XS functions C<utf8_to_uvchr()> and C<utf8_to_uvuni()>
+
+Use C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> instead.
+See L</Internal Changes>.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+Fix a slowdown in freeing nested hashes. This may speedup the exit of
+certain programs.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<attributes> has been upgraded from version 0.17 to 0.18.
+
+=item *
+
+C<charnames> has been upgraded from version 1.29 to 1.30.
+
+=item *
+
+C<feature> has been upgraded from version 1.26 to 1.27.
+
+C<no feature;> now means reset to default. The code has been refactored
+to reduce duplication.
+
+=item *
+
+C<B::Deparse> has been upgraded from version 1.12 to 1.13.
+
+=item *
+
+C<B::Lint> has been upgraded from version 1.13 to 1.14.
+
+=item *
+
+C<CPAN::Meta> has been upgraded from version 2.120351 to 2.120630.
+
+=item *
+
+C<CPANPLUS> has been upgraded from version 0.9118 to 0.9121.
+
+=item *
+
+C<Data::Dumper> has been upgraded from version 2.135_05 to 2.135_06.
+
+=item *
+
+C<Digest::SHA> has been upgraded from version 5.70 to 5.71.
+
+=item *
+
+C<ExtUtils::CBuilder> has been upgraded from version 0.280205 to 0.280206.
+
+=item *
+
+C<HTTP::Tiny> has been upgraded from version 0.016 to 0.017.
+
+=item *
+
+C<Module::CoreList> has been upgraded from version 2.60 to 2.65.
+
+=item *
+
+C<Pod::Html> has been upgraded from version 1.14 to 1.1501.
+
+=item *
+
+C<Pod::Perldoc> has been upgraded from version 3.15_15 to 3.17.
+
+=item *
+
+C<Pod::Simple> has been upgraded from version 3.19 to 3.20.
+
+=item *
+
+C<Socket> has been upgraded from version 1.98 to 2.000.
+
+=item *
+
+C<Term::ReadLine> has been upgraded from version 1.08 to 1.09.
+
+C<< Term::ReadLine >> now optionally integrates with event loops
+other than C<< Tk >>.
+
+=item *
+
+C<Unicode::Collate> has been upgraded from version 0.87 to 0.89.
+
+=item *
+
+C<Unicode::Normalize> has been upgraded from version 1.13 to 1.14.
+
+=item *
+
+C<Unicode::UCD> has been upgraded from version 0.41 to 0.42.
+
+=item *
+
+C<XS::APItest> has been upgraded from version 0.36 to 0.37.
+
+=back
+
+
+=head1 Documentation
+
+There has been no significant change in the documentation between
+5.15.8 and 5.15.9.
+
+=head1 Diagnostics
+
+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>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+Compared to 5.15.8, 5.15.9 does not introduce new errors.
+
+=head3 New Warnings
+
+Compared to 5.15.8, 5.15.9 does not introduce new warnings, but see
+L</Changes to Existing Diagnostics>
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+L<lvalue attribute %s already-defined subroutine|perldiag/"lvalue attribute %s already-defined subroutine">, which replaces
+C<< lvalue attribute cannot be removed after the subroutine has been defined >>.
+
+=back
+
+=head1 Utility Changes
+
+No utilities changed between 5.15.8 and 5.15.9.
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+C<< perlfunc.html >> is now being generated again. [perl #107870]
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+F<< t/op/require_37033.t >> has been added, to test that C<require>
+always closes the file handle that it opens. Previously, it had been
+leaking the file handle if it happened to have file descriptor 0, which
+would happen if C<require> was called (explicitly or implicitly) when
+C<STDIN> had been closed.
+
+=back
+
+=head1 Platform Support
+
+There have been no changes to Perl's support of various platforms between
+5.15.8 and 5.15.9.
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+Two new functions C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> have
+been added. These are the same as C<utf8_to_uvchr> and
+C<utf8_to_uvuni> (which are now deprecated), but take an extra parameter
+that is used to guard against reading beyond the end of the input
+string.
+See L<perlapi/utf8_to_uvchr_buf> and L<perlapi/utf8_to_uvuni_buf>.
+
+=item *
+
+The regular expression engine now does TRIE case insensitive matches
+under Unicode. This may change the output of C<< use re 'debug'; >>,
+and will speed up various things.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+I<Takri> now matches two more characters under the C<Script_Extensions>
+property. This corrects a Unicode 6.1 omission.
+
+=item *
+
+C<< perlfunc.html >> is now being generated again. [perl #107870]
+
+=item *
+
+C<< $$ >> is no longer tainted. Since this value comes directly from
+C<< getpid() >>, it is always safe.
+
+=item *
+
+Fix leaking a file handle. [perl #37033]
+
+=item *
+
+An off-by-one error caused C<< /[:upper:]/ >> and C<< /[:punct:]/ >> to
+unexpectedly match characters with code points above 255. This has been
+rectified. [perl 111400].
+
+=item *
+
+C<< (?foo: ...) >> no longer loses passed in character set.
+
+=item *
+
+Allow attributes to set C<< :lvalue >> on a defined sub. [perl 107366].
+
+=item *
+
+C<< die; >> with a non-reference, non-string value in $@ now properly
+propagates that value [perl #111654].
+
+=back
+
+=head1 Known Problems
+
+This is a list of some significant unfixed bugs, which need to be
+resolved before 5.16.0
+
+=over 4
+
+=item F<< op/sigdispatch.t >> fails alarm test 14 and gets killed [perl #89718]
+
+E<32>
+
+=item Perl crash due to wrong delimiter in C<< PATH >> environment [perl #94846]
+
+It's possible to crash perl under Win32 if the wrong delimiter is used.
+
+=item Corrupt UTF8 [perl #79960, #100058]
+
+It is possible to read an invalid UTF8 character, but have it marked valid,
+or to incorrectly read UTF8 characters if C<< $/ >> is set to read fixed
+length records.
+
+=item UTF8 patches for 5.16 [perl #107008]
+
+Brian Fraser's work on UTF8 needs further integration.
+
+=item C<eval { 'fork()' }> is broken on Windows [perl #109718]
+
+This is a known test failure to be fixed before 5.16.0.
+
+=item Warnings from cpan/IO-Compress [perl #110736]
+
+Some tests in F<< cpan/IO-Compress/t/cz-03zlib-v1.t >> issues a
+"isn't numeric" warning in blead, but not in maint.
+
+=item C<< Pod-Html >> test failures on Windows.
+
+A number of tests for C<< Pod::Html >> fail under Windows, due to an
+incorrect assumption by the test scripts about capitalization of the
+network drive.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.15.9 represents approximately 4 weeks of development since Perl 5.15.8
+and contains approximately 79,000 lines of changes across 530 files from 23
+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.15.9:
+
+Aaron Crane, Abigail, Chris 'BinGOs' Williams, Craig A. Berry, Dave Rolsky,
+David Cantrell, David Golden, David Mitchell, Eric Brine, Father Chrysostomos,
+Florian Ragwitz, James E Keenan, Jesse Vincent, Karl Williamson, Marc Green,
+Max Maischein, Nicholas Clark, Pau Amma, Reini Urban, Ricardo Signes, Tony
+Cook, 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<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes
+all the core committers, who will be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut