This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(toke|regcomp).c: Use common fcn to handle \0 problems
[perl5.git] / pod / perldelta.pod
index 0dd0a33..8611b58 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.31.7
+perldelta - what is new for perl v5.31.9
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.31.6 release and the 5.31.7
+This document describes differences between the 5.31.8 release and the 5.31.9
 release.
 
-If you are upgrading from an earlier release such as 5.31.5, first read
-L<perl5316delta>, which describes differences between 5.31.5 and 5.31.6.
+If you are upgrading from an earlier release such as 5.31.7, first read
+L<perl5318delta>, which describes differences between 5.31.7 and 5.31.8.
 
 =head1 Notice
 
@@ -25,15 +25,6 @@ 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 The isa Operator
-
-A new experimental infix operator called C<isa> tests whether a given object
-is an instance of a given class or a class derived from it:
-
-    if( $obj isa Package::Name ) { ... }
-
-For more detail see L<perlop/Class Instance Operator>.
-
 [ List each enhancement as a =head2 entry ]
 
 =head1 Security
@@ -54,20 +45,6 @@ XXX For a release on a stable branch, this section aspires to be:
 
 [ List each incompatible change as a =head2 entry ]
 
-=head2 C<\p{I<user-defined>}> properties now always override official
-Unicode ones
-
-Previously, if and only if a user-defined property was declared prior to
-the compilation of the regular expression pattern containing it, its
-definition was used instead of any official Unicode property with the
-same name.  Now, it always overrides the offical property.  This
-change could break existing code that relied (likely unwittingly) on the
-previous behavior.  Without this fix, if Unicode released a new version
-with a new property that happens to have the same name as the one you
-had long been using, your program would break when you upgraded to a
-perl that used that new Unicode version.  See L<perlunicode/User-Defined
-Character Properties>.  [GH #17205]
-
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
@@ -148,18 +125,10 @@ XXX Remove this section if not applicable.
 
 =item *
 
-L<Net::Ping> has been upgraded from version 2.71 to 2.72.
+L<XXX> has been upgraded from version A.xx to B.yy.
 
 If there was something important to note about this change, include that here.
 
-=item *
-
-L<English> has been upgraded from version 1.10 to 1.11.
-
-=item *
-
-L<Test::Simple> has been upgraded from version 1.302169 to 1.302170.
-
 =back
 
 =head2 Removed Modules and Pragmata
@@ -188,8 +157,8 @@ 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>.
+listed in this document.  If you find any we have missed, open an issue
+at L<https://github.com/Perl/perl5/issues>.
 
 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>
@@ -203,7 +172,8 @@ Additionally, the following selected changes have been made:
 
 =item *
 
-XXX Description of the change here
+Links to the now defunct L<https://search.cpan.org> site now point at
+the equivalent L<https://metacpan.org> URL.  [GH #17393]
 
 =back
 
@@ -237,7 +207,26 @@ XXX L<message|perldiag/"message">
 
 =item *
 
-XXX L<message|perldiag/"message">
+L<Code point 0x%X is not Unicode, and not portable|perldiag/"Code point 0x%X is not Unicode, and not portable">
+
+This is actually not a new message, but it is now output when the
+warnings category C<portable> is enabled.
+
+When raised during regular expression pattern compilation, the warning
+has extra text added at the end marking where precisely in the pattern
+it occured.
+
+=item *
+
+L<Non-hex character '%c' terminates \x early.  Resolved as "%s"|perldiag/"Non-hex character '%c' terminates \x early.  Resolved as "%s"">
+
+This replaces a warning that was much less specific, and which gave
+false information.  This new warning parallels the similar
+already-existing one raised for C<\o{}>.
+
+=item *
+
+L<message|perldiag/"message">
 
 =back
 
@@ -249,13 +238,58 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
 
 =item *
 
-XXX Describe change here
+L<Character following "\c" must be printable ASCII|perldiag/"Character following "\c" must be printable ASCII">
+
+now has extra text added at the end, when raised during regular
+expression pattern compilation, marking where precisely in the pattern
+it occured.
+
+=item *
+
+L<Use "%s" instead of "%s"|perldiag/"Use "%s" instead of "%s"">
+
+now has extra text added at the end, when raised during regular
+expression pattern compilation, marking where precisely in the pattern
+it occured.
+
+=item *
+
+L<Sequence "\c{" invalid|perldiag/"Sequence "\c{" invalid">
+
+now has extra text added at the end, when raised during regular
+expression pattern compilation, marking where precisely in the pattern
+it occured.
+
+=item *
+
+L<"\c%c" is more clearly written simply as "%s"|perldiag/""\c%c" is more clearly written simply as "%s"">
+
+now has extra text added at the end, when raised during regular
+expression pattern compilation, marking where precisely in the pattern
+it occured.
+
+=item *
+
+L<Non-octal character '%c' terminates \o early.  Resolved as "%s"|perldiag/"Non-octal character '%c' terminates \o early.  Resolved as "%s"">
+
+now includes the phrase "terminates \o early", and has extra text added
+at the end, when raised during regular expression pattern compilation,
+marking where precisely in the pattern it occured.  In some instances
+the text of the resolution has been clarified.
+
+=item *
+
+L<'%s' resolved to '\o{%s}%d'|perldiag/'%s' resolved to '\o{%s}%d'>
+
+As of Perl 5.32, this message is no longer generated.  Instead,
+L<perldiag/Non-octal character '%c' terminates \o early.  Resolved as "%s">
+is.
 
 =back
 
 =head1 Utility Changes
 
-XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
+XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
 Most of these are built within the directory F<utils>.
 
 [ List utility changes as a =head2 entry for each utility and =item
@@ -361,14 +395,14 @@ L</Modules and Pragmata> section.
 
 =over 4
 
-=item XXX-some-platform
-
-XXX
-
-=item Solaris
+=item VMS
 
-C<Configure> will now find recent versions of the Oracle Developer Studio
-compiler, which are found under C</opt/developerstudio*>.
+With the release of the patch kit C99 V2.0, VSI has provided support for a
+number of previously-missing C99 features.  On systems with that patch kit
+installed, Perl's configuration process will now detect the presence of the
+header C<stdint.h> and the following functions: C<fpclassify>, C<isblank>, C<isless>,
+C<llrint>, C<llrintl>, C<llround>, C<llroundl>, C<nearbyint>, C<round>, C<scalbn>,
+and C<scalbnl>.
 
 =back
 
@@ -399,10 +433,7 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =item *
 
-Updates to C<cop_features> are now handled by magic on C<%^H> rather
-than by F<feature.pm> updating C<${^FEATURE_BITS}>, which has been
-removed.  This allows perl code to save and restore the contents of
-C<%^H> without also having to manage C<${^FEATURE_BITS}>.  [#17337]
+XXX
 
 =back
 
@@ -442,7 +473,7 @@ died, add a short obituary here.
 
 XXX Generate this with:
 
-  perl Porting/acknowledgements.pl v5.31.6..HEAD
+  perl Porting/acknowledgements.pl v5.31.8..HEAD
 
 =head1 Reporting Bugs
 
@@ -450,13 +481,12 @@ If you find what you think is a bug, you might check the perl bug database
 at L<https://github.com/Perl/perl5/issues>.  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 perlbug@perl.org to be analysed by the Perl porting team.
+If you believe you have an unreported bug, please open an issue at
+L<https://github.com/Perl/perl5/issues>.  Be sure to trim your bug down to a
+tiny but sufficient test case.
 
 If the bug you are reporting has security implications which make it
-inappropriate to send to a publicly archived mailing list, then see
+inappropriate to send to a public issue tracker, then see
 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
 for details of how to report the issue.