This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta - Remove boilerplate stuff
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
dad02c36 5perldelta - what is new for perl v5.31.2
d407e309 6
862f380b 7=head1 DESCRIPTION
261e14b0 8
dad02c36 9This document describes differences between the 5.31.1 release and the 5.31.2
862f380b 10release.
261e14b0 11
dad02c36
KE
12If you are upgrading from an earlier release such as 5.31.0, first read
13L<perl5311delta>, which describes differences between 5.31.0 and 5.31.1.
8424e368 14
dad02c36 15=head1 Modules and Pragmata
a0348300 16
9c600b76 17=head2 Updated Modules and Pragmata
a0348300 18
9c600b76 19=over 4
a0348300 20
9c600b76 21=item *
a0348300 22
9c600b76 23L<Devel::PPPort> has been upgraded from version 3.53 to 3.54.
a0348300 24
9c600b76
SH
25=item *
26
27L<Exporter> has been upgraded from version 5.73 to 5.74.
a0348300
KE
28
29=item *
30
9c600b76 31L<IPC::Cmd> has been upgraded from version 1.02 to 1.04.
a0348300 32
9c600b76 33=item *
a0348300 34
9c600b76 35L<JSON::PP> has been upgraded from version 4.02 to 4.04.
dad02c36 36
9c600b76
SH
37=item *
38
39L<Module::CoreList> has been upgraded from version 5.20190620 to 5.20190720.
a0348300
KE
40
41=item *
42
9c600b76 43L<Opcode> has been upgraded from version 1.43 to 1.44.
a0348300 44
9c600b76 45=item *
a0348300 46
9c600b76 47L<PerlIO::encoding> has been upgraded from version 0.27 to 0.28.
dad02c36 48
9c600b76 49=item *
dad02c36 50
9c600b76 51L<Pod::Simple> has been upgraded from version 3.38 to 3.39.
cc1cbb06
TC
52
53=item *
54
9c600b76 55L<threads::shared> has been upgraded from version 1.60 to 1.61.
8424e368 56
dad02c36 57=back
a0348300 58
dad02c36 59=head1 Diagnostics
a0348300 60
dad02c36 61=head2 New Diagnostics
8424e368 62
dad02c36 63=head3 New Errors
8424e368
S
64
65=over 4
66
67=item *
68
04f4dbe3 69C<L<No digits found for %s literal|perldiag/"No digits found for %s literal">>
8424e368 70
04f4dbe3
SH
71(F) No hexadecimal digits were found following C<0x> or no binary digits were
72found following C<0b>.
8424e368 73
dad02c36
KE
74=back
75
76=head2 Changes to Existing Diagnostics
77
860a458f
KE
78=over 4
79
80=item *
81
1a7108fe
KW
82C<\N{} here is restricted to one character> is now emitted in the same
83circumstances where previously C<\N{} in inverted character class or as
84a range end-point is restricted to one character> was.
85
86This is due to new circumstances having been added in perl v5.30 that
87weren't covered by the earlier wording.
860a458f
KE
88
89=back
90
8424e368
S
91=head1 Configuration and Compilation
92
8424e368
S
93=over 4
94
95=item *
96
48988e37
TC
97The C<ECHO> macro is now defined. This is used in a C<dtrace> rule
98that was originally changed for FreeBSD, and the FreeBSD make
99apparently predefines it. The Solaris make does not predefine C<ECHO>
100which broke this rule on Solaris. [perl #134218]
8424e368 101
86b50d93
DIM
102=item *
103
104Bison versions 3.1 through 3.4 are now supported.
105
8424e368
S
106=back
107
dad02c36 108=head1 Platform Support
8424e368 109
dad02c36 110=head2 Platform-Specific Notes
fef47ada 111
dad02c36 112=over 4
4ec3954c 113
ec121dac
TC
114=item Linux
115
116C<cc> will be used to populate C<plibpth> if C<cc> is C<clang>. [perl
117#134189]
118
c6981b9a 119=item VMS
4ec3954c 120
c6981b9a 121C<-Duse64bitint> is now the default on VMS.
4ec3954c 122
dad02c36 123=back
4ec3954c 124
dad02c36 125=head1 Internal Changes
4ec3954c 126
dad02c36 127=over 4
4ec3954c
TC
128
129=item *
130
26552905 131The PERL_DESTRUCT_LEVEL environment variable was formerly only honored on
06cc5386 132perl binaries built with DEBUGGING support. It is now checked on all perl
c22107ad 133builds. Its normal use is to force perl to individually free every block
26552905
DM
134of memory which it has allocated before exiting, which is useful when
135using automated leak detection tools such as valgrind.
4ec3954c 136
b870557c
TC
137=item *
138
139The API eval_sv() now accepts a C<G_RETHROW> flag. If this flag is
140set and an exception is thrown while compiling or executing the
141supplied code, it will be rethrown, and eval_sv() will not return.
142[perl #134177]
143
ed0cf058
TC
144=item *
145
146As part of the fix for [perl #2754] perl_parse() now returns non-zero
147if exit(0) is called in a C<BEGIN>, C<UNITCHECK> or C<CHECK> block.
148
4ec3954c
TC
149=back
150
dad02c36 151=head1 Selected Bug Fixes
4ec3954c 152
dad02c36 153=over 4
2dd5ef16 154
5b2f1ba6
TC
155=item *
156
1bed9104
TC
157Parsing incomplete hex or binary literals was changed in 5.31.1 to
158treat such a literal as just the 0, leaving the following C<x> or C<b>
159to be parsed as part of the next token. This could lead to some
160silent changes in behaviour, so now incomplete hex or binary literals
161produce a fatal error. [perl #134125]
5b2f1ba6 162
b870557c
TC
163=item *
164
165eval_pv()'s I<croak_on_error> flag will now throw even if the
166exception is a false overloaded value. [perl #134177]
167
ed0cf058
TC
168=item *
169
170C<INIT> blocks and the program itself are no longer run if exit(0) is
171called within a C<BEGIN>, C<UNITCHECK> or C<CHECK> block. [perl
172#2754]
173
973ae088
TC
174=item *
175
176C<<< open my $fh, ">>+", undef >>> now opens the temporary file in
177append mode - writes will seek to the end of file before writing.
178[perl #134221]
179
dad02c36 180=back
5b2f1ba6 181
dad02c36 182=head1 Known Problems
5b2f1ba6 183
dad02c36 184=over 4
84ab3b69 185
fa068f6d
TC
186=item *
187
cb561db1
SH
188The VC++ 6.0 build on Windows is currently broken.
189
190=item *
191
192Tests 9-11 in F<t/op/blocks.t> currently fail on Windows.
193[perl #134295]
fa068f6d 194
8424e368
S
195=back
196
dad02c36 197=head1 Acknowledgements
a0348300 198
dad02c36 199XXX Generate this with:
8424e368 200
dad02c36 201 perl Porting/acknowledgements.pl v5.31.1..HEAD
8424e368 202
44691e6f
AB
203=head1 Reporting Bugs
204
373fec1e 205If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
206at L<https://rt.perl.org/>. There may also be information at
207L<http://www.perl.org/>, the Perl Home Page.
44691e6f 208
e08634c5
SH
209If you believe you have an unreported bug, please run the L<perlbug> program
210included with your release. Be sure to trim your bug down to a tiny but
211sufficient test case. Your bug report, along with the output of C<perl -V>,
0e18d1c4 212will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 213
87c118b9
DM
214If the bug you are reporting has security implications which make it
215inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
216L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
217for details of how to report the issue.
44691e6f 218
390ae6f9
S
219=head1 Give Thanks
220
373fec1e
SH
221If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
222you can do so by running the C<perlthanks> program:
390ae6f9
S
223
224 perlthanks
225
226This will send an email to the Perl 5 Porters list with your show of thanks.
227
44691e6f
AB
228=head1 SEE ALSO
229
e08634c5
SH
230The F<Changes> file for an explanation of how to view exhaustive details on
231what changed.
44691e6f
AB
232
233The F<INSTALL> file for how to build Perl.
234
235The F<README> file for general stuff.
236
237The F<Artistic> and F<Copying> files for copyright information.
238
239=cut