Spaces:
Running
Running
| =encoding utf8 | |
| =head1 NAME | |
| perl5282delta - what is new for perl v5.28.2 | |
| =head1 DESCRIPTION | |
| This document describes differences between the 5.28.1 release and the 5.28.2 | |
| release. | |
| If you are upgrading from an earlier release such as 5.28.0, first read | |
| L<perl5281delta>, which describes differences between 5.28.0 and 5.28.1. | |
| =head1 Incompatible Changes | |
| =head2 Any set of digits in the Common script are legal in a script run of | |
| another script | |
| There are several sets of digits in the Common script. C<[0-9]> is the most | |
| familiar. But there are also C<[\x{FF10}-\x{FF19}]> (FULLWIDTH DIGIT ZERO - | |
| FULLWIDTH DIGIT NINE), and several sets for use in mathematical notation, such | |
| as the MATHEMATICAL DOUBLE-STRUCK DIGITs. Any of these sets should be able to | |
| appear in script runs of, say, Greek. But the previous design overlooked all | |
| but the ASCII digits C<[0-9]>, so the design was flawed. This has been fixed, | |
| so is both a bug fix and an incompatibility. | |
| All digits in a run still have to come from the same set of ten digits. | |
| L<[GH #16704]|https://github.com/Perl/perl5/issues/16704> | |
| =head1 Modules and Pragmata | |
| =head2 Updated Modules and Pragmata | |
| =over 4 | |
| =item * | |
| L<Module::CoreList> has been upgraded from version 5.20181129_28 to 5.20190419. | |
| =item * | |
| L<PerlIO::scalar> has been upgraded from version 0.29 to 0.30. | |
| =item * | |
| L<Storable> has been upgraded from version 3.08 to 3.08_01. | |
| =back | |
| =head1 Platform Support | |
| =head2 Platform-Specific Notes | |
| =over 4 | |
| =item Windows | |
| The Windows Server 2003 SP1 Platform SDK build, with its early x64 compiler and | |
| tools, was accidentally broken in Perl 5.27.9. This has now been fixed. | |
| =item Mac OS X | |
| Perl's build and testing process on Mac OS X for C<-Duseshrplib> builds is now | |
| compatible with Mac OS X System Integrity Protection (SIP). | |
| SIP prevents binaries in F</bin> (and a few other places) being passed the | |
| C<DYLD_LIBRARY_PATH> environment variable. For our purposes this prevents | |
| C<DYLD_LIBRARY_PATH> from being passed to the shell, which prevents that | |
| variable being passed to the testing or build process, so running C<perl> | |
| couldn't find F<libperl.dylib>. | |
| To work around that, the initial build of the F<perl> executable expects to | |
| find F<libperl.dylib> in the build directory, and the library path is then | |
| adjusted during installation to point to the installed library. | |
| L<[GH #15057]|https://github.com/Perl/perl5/issues/15057> | |
| =back | |
| =head1 Selected Bug Fixes | |
| =over 4 | |
| =item * | |
| If an in-place edit is still in progress during global destruction and the | |
| process exit code (as stored in C<$?>) is zero, perl will now treat the | |
| in-place edit as successful, replacing the input file with any output produced. | |
| This allows code like: | |
| perl -i -ne 'print "Foo"; last' | |
| to replace the input file, while code like: | |
| perl -i -ne 'print "Foo"; die' | |
| will not. Partly resolves [perl #133659]. | |
| L<[GH #16748]|https://github.com/Perl/perl5/issues/16748> | |
| =item * | |
| A regression in Perl 5.28 caused the following code to fail | |
| close(STDIN); open(CHILD, "|wc -l")' | |
| because the child's stdin would be closed on exec. This has now been fixed. | |
| =item * | |
| C<pack "u", "invalid uuencoding"> now properly NUL terminates the zero-length | |
| SV produced. | |
| L<[GH #16343]|https://github.com/Perl/perl5/issues/16343> | |
| =item * | |
| Failing to compile a format now aborts compilation. Like other errors in | |
| sub-parses this could leave the parser in a strange state, possibly crashing | |
| perl if compilation continued. | |
| L<[GH #16169]|https://github.com/Perl/perl5/issues/16169> | |
| =item * | |
| See L</Any set of digits in the Common script are legal in a script run of | |
| another script>. | |
| =back | |
| =head1 Acknowledgements | |
| Perl 5.28.2 represents approximately 4 months of development since Perl 5.28.1 | |
| and contains approximately 2,500 lines of changes across 75 files from 13 | |
| authors. | |
| Excluding auto-generated files, documentation and release tools, there were | |
| approximately 1,200 lines of changes to 29 .pm, .t, .c and .h files. | |
| Perl continues to flourish into its fourth decade thanks to a vibrant community | |
| of users and developers. The following people are known to have contributed | |
| the improvements that became Perl 5.28.2: | |
| Aaron Crane, Abigail, Andy Dougherty, David Mitchell, Karen Etheridge, Karl | |
| Williamson, Leon Timmermans, Nicolas R., Sawyer X, Steve Hay, Tina Müller, | |
| Tony Cook, Zak B. Elep. | |
| 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 perl bug database | |
| at L<https://rt.perl.org/> . There may also be information at | |
| L<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 [email protected] 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 see | |
| L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> | |
| for details of how to report the issue. | |
| =head1 Give Thanks | |
| If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, | |
| you can do so by running the C<perlthanks> program: | |
| perlthanks | |
| This will send an email to the Perl 5 Porters list with your show of thanks. | |
| =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 | |