[ 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.1
+perldelta - what is new for perl v5.31.2
=head1 DESCRIPTION
-This document describes differences between the 5.31.0 release and the 5.31.1
+This document describes differences between the 5.31.1 release and the 5.31.2
release.
-If you are upgrading from an earlier release such as 5.30.0, first read
-L<perl5310delta>, which describes differences between 5.30.0 and 5.31.0.
+If you are upgrading from an earlier release such as 5.31.0, first read
+L<perl5311delta>, which describes differences between 5.31.0 and 5.31.1.
=head1 Notice
=item *
-XXX Describe change here
+C<\N{} here is restricted to one character> is now emitted in the same
+circumstances where previously C<\N{} in inverted character class or as
+a range end-point is restricted to one character> was.
+
+This is due to new circumstances having been added in perl v5.30 that
+weren't covered by the earlier wording.
=back
=item *
-XXX
+The C<ECHO> macro is now defined. This is used in a C<dtrace> rule
+that was originally changed for FreeBSD, and the FreeBSD make
+apparently predefines it. The Solaris make does not predefine C<ECHO>
+which broke this rule on Solaris. [perl #134218]
+
+=item *
+
+Bison versions 3.1 through 3.4 are now supported.
=back
=over 4
-=item XXX-some-platform
+=item Linux
-XXX
+C<cc> will be used to populate C<plibpth> if C<cc> is C<clang>. [perl
+#134189]
+
+=item VMS
+
+C<-Duse64bitint> is now the default on VMS.
=back
=item *
-XXX
+The PERL_DESTRUCT_LEVEL environment variable was formerly only honored on
+perl binaries built with DEBUGGING support. It is now checked on all perl
+builds. Its normal use is to force perl to individually free every block
+of memory which it has allocated before exiting, which is useful when
+using automated leak detection tools such as valgrind.
+
+=item *
+
+The API eval_sv() now accepts a C<G_RETHROW> flag. If this flag is
+set and an exception is thrown while compiling or executing the
+supplied code, it will be rethrown, and eval_sv() will not return.
+[perl #134177]
+
+=item *
+
+As part of the fix for [perl #2754] perl_parse() now returns non-zero
+if exit(0) is called in a C<BEGIN>, C<UNITCHECK> or C<CHECK> block.
=back
=item *
-XXX
+Parsing incomplete hex or binary literals was changed in 5.31.1 to
+treat such a literal as just the 0, leaving the following C<x> or C<b>
+to be parsed as part of the next token. This could lead to some
+silent changes in behaviour, so now incomplete hex or binary literals
+produce a fatal error. [perl #134125]
+
+=item *
+
+eval_pv()'s I<croak_on_error> flag will now throw even if the
+exception is a false overloaded value. [perl #134177]
+
+=item *
+
+C<INIT> blocks and the program itself are no longer run if exit(0) is
+called within a C<BEGIN>, C<UNITCHECK> or C<CHECK> block. [perl
+#2754]
+
+=item *
+
+C<<< open my $fh, ">>+", undef >>> now opens the temporary file in
+append mode - writes will seek to the end of file before writing.
+[perl #134221]
=back
=item *
-XXX
+The VC++ 6.0 build on Windows is currently broken.
+
+=item *
+
+Tests 9-11 in F<t/op/blocks.t> currently fail on Windows.
+[perl #134295]
=back
XXX Generate this with:
- perl Porting/acknowledgements.pl v5.31.0..HEAD
+ perl Porting/acknowledgements.pl v5.31.1..HEAD
=head1 Reporting Bugs