summaryrefslogtreecommitdiff
path: root/pod/perl5312delta.pod
diff options
context:
space:
mode:
authorSteve Hay <steve.m.hay@googlemail.com>2019-07-20 18:24:37 +0100
committerSteve Hay <steve.m.hay@googlemail.com>2019-07-20 18:24:37 +0100
commit9064626f23e909c5d70a77b6b883628b55983ce7 (patch)
tree5abc79570f6e37ae1b118279912e7ef26a3c1fa3 /pod/perl5312delta.pod
parentbf1ce05d3f5c347efe54ad0a729fdb84e4fdd0a3 (diff)
downloadperl-9064626f23e909c5d70a77b6b883628b55983ce7.tar.gz
Create new perldelta for 5.31.3
Diffstat (limited to 'pod/perl5312delta.pod')
-rw-r--r--pod/perl5312delta.pod283
1 files changed, 283 insertions, 0 deletions
diff --git a/pod/perl5312delta.pod b/pod/perl5312delta.pod
new file mode 100644
index 0000000000..25f9123689
--- /dev/null
+++ b/pod/perl5312delta.pod
@@ -0,0 +1,283 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5312delta - what is new for perl v5.31.2
+
+=head1 DESCRIPTION
+
+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.31.0, first read
+L<perl5311delta>, which describes differences between 5.31.0 and 5.31.1.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Devel::PPPort> has been upgraded from version 3.53 to 3.54.
+
+=item *
+
+L<Exporter> has been upgraded from version 5.73 to 5.74.
+
+=item *
+
+L<IPC::Cmd> has been upgraded from version 1.02 to 1.04.
+
+=item *
+
+L<JSON::PP> has been upgraded from version 4.02 to 4.04.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20190620 to 5.20190720.
+
+=item *
+
+L<Opcode> has been upgraded from version 1.43 to 1.44.
+
+=item *
+
+L<PerlIO::encoding> has been upgraded from version 0.27 to 0.28.
+
+=item *
+
+L<Pod::Simple> has been upgraded from version 3.38 to 3.39.
+
+=item *
+
+L<threads::shared> has been upgraded from version 1.60 to 1.61.
+
+=back
+
+=head1 Diagnostics
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over 4
+
+=item *
+
+C<L<No digits found for %s literal|perldiag/"No digits found for %s literal">>
+
+(F) No hexadecimal digits were found following C<0x> or no binary digits were
+found following C<0b>.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+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 5.30 that weren't
+covered by the earlier wording.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+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.
+L<[perl #134218]|https://rt.perl.org/Ticket/Display.html?id=134218>
+
+=item *
+
+Bison versions 3.1 through 3.4 are now supported.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Linux
+
+C<cc> will be used to populate C<plibpth> if C<cc> is C<clang>.
+L<[perl #134189]|https://rt.perl.org/Ticket/Display.html?id=134189>
+
+=item VMS
+
+C<-Duse64bitint> is now the default on VMS.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+The PERL_DESTRUCT_LEVEL environment variable was formerly only honoured 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.
+L<[perl #134177]|https://rt.perl.org/Ticket/Display.html?id=134177>
+
+=item *
+
+As part of the fix for
+L<[perl #2754]|https://rt.perl.org/Ticket/Display.html?id=2754> perl_parse()
+now returns non-zero if exit(0) is called in a C<BEGIN>, C<UNITCHECK> or
+C<CHECK> block.
+
+=item *
+
+Most functions which recursively walked an op tree during compilation have been
+made non-recursive. This avoids SEGVs from stack overflow when the op tree is
+deeply nested, such as C<$n == 1 ? "one" : $n == 2 ? "two" : ....> (especially
+in code which is auto-generated).
+
+This is particularly noticeable where the code is compiled within a separate
+thread, as threads tend to have small stacks by default.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+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.
+L<[perl #134125]|https://rt.perl.org/Ticket/Display.html?id=134125>
+
+=item *
+
+eval_pv()'s I<croak_on_error> flag will now throw even if the exception is a
+false overloaded value.
+L<[perl #134177]|https://rt.perl.org/Ticket/Display.html?id=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.
+L<[perl #2754]|https://rt.perl.org/Ticket/Display.html?id=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.
+L<[perl #134221]|https://rt.perl.org/Ticket/Display.html?id=134221>
+
+=item *
+
+Fixed a SEGV when searching for the source of an uninitialized value warning on
+an op whose subtree includes an OP_MULTIDEREF.
+L<[perl #134275]|https://rt.perl.org/Ticket/Display.html?id=134275>
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+The VC++ 6.0 build on Windows is currently broken. Support for this compiler
+is likely to be removed in the near future.
+
+=item *
+
+Tests 9-11 in F<t/op/blocks.t> currently fail on Windows.
+L<[perl #134295]|https://rt.perl.org/Ticket/Display.html?id=134295>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.31.2 represents approximately 4 weeks of development since Perl 5.31.1
+and contains approximately 7,600 lines of changes across 190 files from 16
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 3,100 lines of changes to 99 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its fourth decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed
+the improvements that became Perl 5.31.2:
+
+Alexandr Savca, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
+Mannsåker, David Mitchell, H.Merijn Brand, James E Keenan, Karen Etheridge,
+Karl Williamson, Nicolas R., Pali, Paul Evans, Richard Leach, Steve Hay,
+Svyatoslav, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history. In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the perl bug database at
+L<https://rt.perl.org/>. 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 the bug you are reporting has security implications which make it
+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
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut