This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rewrite paragraph on using strict and warnings
[perl5.git] / pod / perldelta.pod
index 1c082c7..6dfb854 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.3
+perldelta - what is new for perl v5.31.4
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.31.2 release and the 5.31.3
+This document describes differences between the 5.31.3 release and the 5.31.4
 release.
 
-If you are upgrading from an earlier release such as 5.31.1, first read
-L<perl5312delta>, which describes differences between 5.31.1 and 5.31.2.
+If you are upgrading from an earlier release such as 5.31.2, first read
+L<perl5313delta>, which describes differences between 5.31.2 and 5.31.3.
 
 =head1 Notice
 
@@ -27,6 +27,15 @@ here, but most should go in the L</Performance Enhancements> section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2 Now can dump compiled patterns before optimization
+
+This is primarily useful for tracking down bugs in the regular
+expression compiler.  This dump happens on C<-DDEBUGGING> perls, if you
+specify C<-Drv> on the command line; or on any perl if the pattern is
+compiled within the scope of S<C<use re qw(Debug DUMP_PRE_OPTIMIZE)>> or
+S<C<use re qw(Debug COMPILE EXTRA)>>.  (All but the 2nd case display
+other information as well.)
+
 =head1 Security
 
 XXX Any security-related notices go here.  In particular, any security
@@ -45,25 +54,6 @@ XXX For a release on a stable branch, this section aspires to be:
 
 [ List each incompatible change as a =head2 entry ]
 
-=head2 Plain "0" string now treated as a number for range operator
-
-Previously a range C< "0" .. "-1" > would produce a range of numeric
-strings from "0" through "99", this now produces an empty list, just
-as C< 0 .. -1 > does.
-
-This was due to a special case that treated strings starting with "0"
-as strings so ranges like C< "00" .. "03" > produced C< "00", "01",
-"02", "03" >, but didn't specially handle the string C<"0">.
-
-[perl #133695]
-
-=head2 C<\K> now disallowed in look-ahead and look-behind assertions
-
-This was disallowed because it causes unexpected behaviour, and no-one
-could define what the desired behaviour was.
-
-[perl #124256]
-
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
@@ -144,41 +134,6 @@ XXX Remove this section if not applicable.
 
 =item *
 
-L<Devel::PPPort> has been upgraded from version 3.54 to 3.55.
-
-The test files generated on Win32 are now identical to when they are
-generated on POSIX-like systems.
-
-=item *
-
-L<File::Find> has been upgraded from version 1.36 to 1.37.
-
-On Win32, the tests no longer require either a file in the drive root
-directory, or a writable root directory.
-
-=item *
-
-L<Thread> has been upgraded from version 3.04 to 3.05.
-
-=item *
-
-L<Getopt::Long> has been upgraded from version 2.50 to 2.51.
-
-=item *
-
-L<Time::HiRes> has been upgraded from version 1.9761 to 1.9762.
-
-Removed obsolete code such as support for pre-5.6 perl and classic
-MacOS.  [perl #134288]
-
-=item *
-
-L<I18N::LangTags> has been upgraded from version 1.07 to 1.08.
-
-Document the C<IGNORE_WIN32_LOCALE> environment variable.
-
-=item *
-
 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.
@@ -384,10 +339,9 @@ L</Modules and Pragmata> section.
 
 =over 4
 
-=item Windows
+=item XXX-some-platform
 
-F<t/op/magic.t> could fail if environment varables starting with
-C<FOO> already existed.
+XXX
 
 =back
 
@@ -403,19 +357,7 @@ well.
 
 =item *
 
-A new parser function L<parse_subsignature()|perlapi/parse_subsignature>
-allows a keyword plugin to parse a subroutine signature while C<use feature
-'signatures'> is in effect.  This allows custom keywords to implement
-semantics similar to regular C<sub> declarations that include signatures.
-[perl #132474]
-
-=item *
-
-Since on some platforms we need to hold a mutex when temporarily
-switching locales, new macros (C<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>,
-C<WITH_LC_NUMERIC_SET_TO_NEEDED> and C<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>)
-have been added to make it easier to do this safely and efficiently
-as part of [perl #134172].
+XXX
 
 =back
 
@@ -430,19 +372,11 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =item *
 
-C<< $@ = 100; die; >> now correctly propagates the 100 as an exception
-instead of ignoring it.  [perl #134291]
-
-=item *
-
-C<< 0 0x@ >> no longer asserts in S_no_op().  [perl #134310]
-
-=item *
-
-Exceptions thrown while C<$@> is read-only could result in infinite
-recursion as perl tried to update C<$@>, which throws another
-exception, resulting in a stack overflow.  Perl now replaces C<$@>
-with a copy if it's not a simple writable SV.  [perl #134266]
+Perl no longer treats strings starting with "0x" or "0b" as hex or
+binary numbers respectively when converting a string to a number.
+This reverts a change in behaviour inadvertently introduced in perl
+5.30.0 intended to improve precision when converting a string to a
+floating point number. [perl #134230]
 
 =back
 
@@ -482,7 +416,7 @@ died, add a short obituary here.
 
 XXX Generate this with:
 
-  perl Porting/acknowledgements.pl v5.31.2..HEAD
+  perl Porting/acknowledgements.pl v5.31.3..HEAD
 
 =head1 Reporting Bugs