This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update to ExtUtils::CBuilder 0.280226
[perl5.git] / pod / perldelta.pod
index 6e33036..b298485 100644 (file)
@@ -5,15 +5,15 @@
 [ 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.25.9
+perldelta - what is new for perl v5.27.2
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.25.8 release and the 5.25.9
+This document describes differences between the 5.27.1 release and the 5.27.2
 release.
 
-If you are upgrading from an earlier release such as 5.25.7, first read
-L<perl5258delta>, which describes differences between 5.25.7 and 5.25.8.
+If you are upgrading from an earlier release such as 5.27.0, first read
+L<perl5271delta>, which describes differences between 5.27.0 and 5.27.1.
 
 =head1 Notice
 
@@ -27,6 +27,11 @@ here, but most should go in the L</Performance Enhancements> section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2 Unicode 10.0 is supported
+
+A list of changes is at
+L<http://www.unicode.org/versions/Unicode10.0.0>.
+
 =head1 Security
 
 XXX Any security-related notices go here.  In particular, any security
@@ -47,15 +52,7 @@ XXX For a release on a stable branch, this section aspires to be:
 
 =head1 Deprecations
 
-=head2 String delimiters that aren't stand-alone graphemes are now
-deprecated
-
-In order for Perl to eventually allow string delimiters to be Unicode
-grapheme clusters (which look like a single character, but may be
-a sequence of several ones), we have to stop allowing a single char
-delimiter that isn't a grapheme by itself.  These are unlikely to exist
-in actual code, as they would typically display as attached to the
-character in front of them.
+XXX Any deprecated features, syntax, modules etc. should be listed here.
 
 =head2 Module removals
 
@@ -129,86 +126,6 @@ XXX
 
 L<XXX> has been upgraded from version A.xx to B.yy.
 
-=item *
-
-L<B::Xref> has been upgraded from version 1.05 to 1.06.
-
-=item *
-
-L<DB_File> has been upgraded from version 1.838 to 1.840.
-
-=item *
-
-L<Devel::SelfStubber> has been upgraded from version 1.05 to 1.06.
-
-=item *
-
-L<diagnostics> has been upgraded from version 1.35 to 1.36.
-
-=item *
-
-L<DynaLoader> has been upgraded from version 1.40 to 1.41.
-
-=item *
-
-L<Errno> has been upgraded from version 1.27 to 1.28.
-
-=item *
-
-L<ExtUtils::Embed> has been upgraded from version 1.33 to 1.34.
-
-=item *
-
-L<I18N::LangTags> has been upgraded from version 0.41 to 0.42.
-
-=item *
-
-L<lib> has been upgraded from version 0.63 to 0.64.
-
-=item *
-
-L<Module::CoreList> has been upgraded from version 5.20161220 to 5.20170120.
-
-=item *
-
-L<OS2::Process> has been upgraded from version 1.11 to 1.12.
-
-=item *
-
-L<perl5db.pl> has been upgraded from version 1.50 to 1.51.
-
-=item *
-
-L<Storable> has been upgraded from version 2.59 to 2.60.
-
-=item *
-
-L<Symbol> has been upgraded from version 1.07 to 1.08.
-
-=item *
-
-L<Term::ReadLine> has been upgraded from version 1.15 to 1.16.
-
-=item *
-
-L<Test> has been upgraded from version 1.29 to 1.30.
-
-=item *
-
-L<threads::shared> has been upgraded from version 1.52 to 1.53.
-
-=item *
-
-L<Unicode::UCD> has been upgraded from version 0.67 to 0.68.
-
-=item *
-
-L<VMS::DCLsym> has been upgraded from version 1.07 to 1.08.
-
-=item *
-
-L<XSLoader> has been upgraded from version 0.24 to 0.26.
-
 =back
 
 =head2 Removed Modules and Pragmata
@@ -236,10 +153,16 @@ XXX Description of the purpose of the new file here
 
 =head2 Changes to Existing Documentation
 
+We have attempted to update the documentation to reflect the changes
+listed in this document.  If you find any we have missed, send email
+to L<perlbug@perl.org|mailto:perlbug@perl.org>.
+
 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.
 
+Additionally, the following selected changes have been made:
+
 =head3 L<XXX>
 
 =over 4
@@ -340,6 +263,17 @@ 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.
 
+XXX If there were no significant test changes, say this:
+
+Tests were added and changed to reflect the other additions and changes
+in this release.
+
+XXX If instead there were significant changes, say this:
+
+Tests were added and changed to reflect the other additions and
+changes in this release.  Furthermore, these significant changes were
+made:
+
 [ List each test improvement as a =item entry ]
 
 =over 4
@@ -411,47 +345,7 @@ well.
 
 =item *
 
-New versions of macros like C<isALPHA_utf8> and C<toLOWER_utf8>  have
-been added, each with the
-suffix C<_safe>, like C<isSPACE_utf8_safe>.  These take an extra
-parameter, giving an upper limit of how far into the string it is safe
-to read.  Using the old versions could cause attempts to read beyond the
-end of the input buffer if the UTF-8 is not well-formed, and ther use
-now raises a deprecation warning.  Details are at
-L<perlapi/Character classification>.
-
-=item *
-
-Calling macros like C<isALPHA_utf8> on malformed UTF-8 have issued a
-deprecation warning since Perl v5.18.  They now die.
-Similarly, macros like C<toLOWER_utf8> on malformed UTF-8 now die.
-
-=item *
-
-Calling the functions C<utf8n_to_uvchr> and its derivatives, while
-passing a string length of 0 is now asserted against in DEBUGGING
-builds, and otherwise returns the Unicode REPLACEMENT CHARACTER.   If
-you have nothing to decode, you shouldn't call the decode function.
-
-=item *
-
-The functions C<utf8n_to_uvchr> and its derivatives now return the
-Unicode REPLACEMENT CHARACTER if called with UTF-8 that has the overlong
-malformation, and that malformation is allowed by the input parameters.
-This malformation is where the UTF-8 looks valid syntactically, but
-there is a shorter sequence that yields the same code point.  This has
-been forbidden since Unicode version 3.1.
-
-=item *
-
-The functions C<utf8n_to_uvchr> and its derivatives now accept an input
-flag to allow the overflow malformation.  This malformation is when the
-UTF-8 may be syntactically valid, but the code point it represents is
-not capable of being represented in the word length on the platform.
-What "allowed" means in this case is that the function doesn't return an
-error, and advances the parse pointer to beyond the UTF-8 in question,
-but it returns the Unicode REPLACEMENT CHARACTER as the value of the
-code point (since the real value is not representable).
+XXX
 
 =back
 
@@ -466,8 +360,16 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =item *
 
-Under C<use utf8>, the entire Perl program is now checked that the UTF-8
-is wellformed.  This resolves [perl #126310].
+List assignment (C<aassign>) could in some rare cases allocate an
+entry on the mortal stack and leave the entry uninitialized. [perl
+#131570]
+
+=item *
+
+Attempting to apply an attribute to an C<our> variable where a
+function of that name already exists could result in a NULL pointer
+being supplied where an SV was expected, crashing perl.  [perl
+#131597]
 
 =back
 
@@ -525,6 +427,15 @@ 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