This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[MERGE] fixup add+use si_cxsubix field
[perl5.git] / pod / perldelta.pod
index 35af9fa..713514d 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.5
 
 =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.4 release and the 5.31.5
 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.3, first read
+L<perl5314delta>, which describes differences between 5.31.3 and 5.31.4.
 
 =head1 Notice
 
@@ -45,25 +45,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,45 +125,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<Test::Simple> has been upgraded from version 1.302164 to 1.302166.
-
-=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.
@@ -388,10 +330,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
 
@@ -407,24 +348,11 @@ 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].
-
-=item *
-
-The memory bookkeeping overhead for allocating an OP structure has been
-reduced by 8 bytes per OP on 64-bit systems.
+Added the C<<PL_curstackinfo->si_cxsubix>> field. This records the stack
+index of the most recently pushed sub/format/eval context.  It is set and
+restored automatically by C<cx_pushsub()>, C<cx_popsub()> etc., but would
+need to be manually managed if you do any unusual manipulation of the
+context stack.
 
 =back
 
@@ -439,19 +367,7 @@ 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]
+XXX
 
 =back
 
@@ -491,7 +407,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.4..HEAD
 
 =head1 Reporting Bugs