diff options
Diffstat (limited to 'pod/perl5159delta.pod')
-rw-r--r-- | pod/perl5159delta.pod | 402 |
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 |