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
74c14c97 5perldelta - what is new for perl v5.31.5
d407e309 6
862f380b 7=head1 DESCRIPTION
261e14b0 8
74c14c97 9This document describes differences between the 5.31.4 release and the 5.31.5
862f380b 10release.
261e14b0 11
74c14c97
MM
12If you are upgrading from an earlier release such as 5.31.3, first read
13L<perl5314delta>, which describes differences between 5.31.3 and 5.31.4.
fcbec156 14
9064626f
SH
15=head1 Incompatible Changes
16
7fd0eed3
TC
17=head2 Modifiable variables are no longer permitted in constants
18
19Code like:
20
21 my $var;
22 $sub = sub () { $var };
23
24where C<$var> is referenced elsewhere in some sort of modiable context
25now produces an exception when the sub is defined.
26
27This error can be avoided by adding a return to the sub definition:
28
29 $sub = sub () { return $var };
30
31This has been deprecated since perl 5.22.
32
33[perl #131138]
34
74c14c97 35=head1 Modules and Pragmata
be2eb09e 36
ced2c819 37=head2 Updated Modules and Pragmata
03b7d279 38
74c14c97 39=over 4
03b7d279
TC
40
41=item *
42
ced2c819 43L<B> has been upgraded from version 1.76 to 1.77.
03b7d279 44
ced2c819 45=item *
74c14c97 46
ced2c819 47L<B::Deparse> has been upgraded from version 1.49 to 1.50.
36bb8f68
JK
48
49=item *
50
ced2c819 51L<Devel::PPPort> has been upgraded from version 3.55 to 3.54.
c8d86fdc 52
ced2c819
SH
53=item *
54
55L<Digest::MD5> has been upgraded from version 2.55 to 2.55_01.
74c14c97 56
eeef80ee
JK
57=item *
58
59L<Dumpvalue> has been upgraded from version 1.18 to 1.21.
60
61Previously, when dumping elements of an array and encountering an undefined
62value, the string printed would have been C<empty array>. This has been
63changed to what was apparently originally intended: C<empty slot>.
64
ced2c819 65=item *
c8d86fdc 66
ced2c819 67L<ExtUtils::CBuilder> has been upgraded from version 0.280232 to 0.280233.
74c14c97 68
ced2c819
SH
69=item *
70
71L<Math::BigInt> has been upgraded from version 1.999816 to 1.999817_01.
be2eb09e
TH
72
73=item *
74
ced2c819
SH
75L<Math::BigInt::FastCalc> has been upgraded from version 0.5008 to 0.5009.
76
77=item *
78
79L<Module::CoreList> has been upgraded from version 5.20190920 to 5.20191020.
80
81=item *
82
83L<Safe> has been upgraded from version 2.40 to 2.41.
84
85=item *
86
87L<threads> has been upgraded from version 2.22 to 2.23.
88
89=item *
90
91L<Time::HiRes> has been upgraded from version 1.9763 to 1.9764.
92
93=item *
94
95L<XS::APItest> has been upgraded from version 1.03 to 1.04.
96
97If there was something important to note about this change, include that here.
fcbec156
TH
98
99=back
100
74c14c97
MM
101=head1 Documentation
102
fcbec156
TH
103=head2 Changes to Existing Documentation
104
105We have attempted to update the documentation to reflect the changes
106listed in this document. If you find any we have missed, send email
107to L<perlbug@perl.org|mailto:perlbug@perl.org>.
108
336e728b
SH
109=head3 L<perlguts>
110
111=over 4
112
113=item *
114
115Details of the various stacks within the perl interpreter are now explained
116here.
117
118=back
74c14c97 119
fcbec156
TH
120Additionally, the following selected changes have been made:
121
04d3d25b
MM
122=head3 URLs have been changed to https://, stale links updated
123
124=over 4
125
126=item *
127
128Where applicable, the URLs in the documentation have been moved from
129using the http:// protocol to https:// . This also affects the location
130of the bug tracker at L<https://rt.perl.org>.
131
132=item *
133
134Some links to OS/2 libraries, Address Sanitizer and other system tools
135had gone stale. These have been updated with working links.
136
137=item *
138
139Some links to old mails on perl5-porters had gone stale. These have been
140updated with working links.
141
142=back
143
fcbec156
TH
144=head1 Diagnostics
145
146The following additions or changes have been made to diagnostic output,
147including warnings and fatal error messages. For the complete list of
148diagnostic messages, see L<perldiag>.
149
336e728b 150=head2 Changes to Existing Diagnostics
74c14c97
MM
151
152=over 4
153
154=item *
155
336e728b 156L<Can't use global %s in %s|perldiag/"Can't use global %s in %s">
74c14c97 157
336e728b
SH
158This error message has been slightly reformatted from the original C<Can't use
159global %s in "%s">, and in particular misleading error messages like C<Can't
160use global $_ in "my"> are now rendered as C<Can't use global $_ in subroutine
161signature>.
74c14c97
MM
162
163=item *
164
336e728b 165L<Constants from lexical variables potentially modified elsewhere are no longer permitted|perldiag/"Constants from lexical variables potentially modified elsewhere are no longer permitted">
74c14c97 166
336e728b
SH
167This error message replaces the former C<Constants from lexical variables
168potentially modified elsewhere are deprecated. This will not be allowed in Perl
1695.32> to reflect the fact that this previously deprecated usage has now been
170transformed into an exception. The message's classification has also been
171updated from D (deprecated) to F (fatal).
74c14c97
MM
172
173=back
174
fcbec156
TH
175=head1 Configuration and Compilation
176
fcbec156 177=over 4
f0f66070
TC
178
179=item *
180
a578d0f3
TC
181Perl now no longer probes for C<d_u32align>, defaulting to C<define>
182on all platforms. This check was error prone when it was done, which
183was on 32-bit platforms only. [perl #133495]
06bfb2b1 184
c5103e52
MB
185=item *
186
187Documentation and hints for building perl on Z/OS (native EBCDIC) have
188been updated. Still work in progress.
189
190=item *
191
192New probe for malloc_usable_size
193
fcbec156
TH
194=back
195
196=head1 Testing
197
fcbec156
TH
198Tests were added and changed to reflect the other additions and changes
199in this release.
200
dad02c36 201=head1 Platform Support
8424e368 202
74c14c97 203=head2 Platform-Specific Notes
fcbec156 204
74c14c97 205=over 4
0076a047 206
2e1181e2 207=item Windows
74c14c97 208
feedae7a
SH
209=over 4
210
211=item *
212
2e1181e2 213Support for building perl with Visual C++ 6.0 has now been removed.
fcbec156 214
feedae7a
SH
215=item *
216
217Building perl with Visual C++ 2013 and earlier was broken in the previous
218release but has now been fixed.
219
220=back
221
fcbec156
TH
222=back
223
224=head1 Internal Changes
225
fcbec156 226=over 4
061637ca 227
285db695
DM
228=item *
229
5b6f7443
DM
230Added the C<<PL_curstackinfo->si_cxsubix>> field. This records the stack
231index of the most recently pushed sub/format/eval context. It is set and
232restored automatically by C<cx_pushsub()>, C<cx_popsub()> etc., but would
233need to be manually managed if you do any unusual manipulation of the
234context stack.
285db695 235
059703b0
KW
236=item *
237
238Various macros dealing with character type classification and changing
239case where the input is encoded in UTF-8 now require an extra parameter
240to prevent potential reads beyond the end of the buffer. Use of these
241has generated a deprecation warning since 5.26. Details are in
242L<perldeprecation/In XS code, use of various macros dealing with UTF-8.>
243
9064626f 244=back
ed0cf058 245
74c14c97 246=head1 Acknowledgements
bd833cba 247
74c14c97 248XXX Generate this with:
bd833cba 249
74c14c97 250 perl Porting/acknowledgements.pl v5.31.4..HEAD
8424e368 251
44691e6f
AB
252=head1 Reporting Bugs
253
9064626f
SH
254If you find what you think is a bug, you might check the perl bug database
255at L<https://rt.perl.org/>. There may also be information at
71c89d21 256L<https://www.perl.org/>, the Perl Home Page.
44691e6f 257
e08634c5
SH
258If you believe you have an unreported bug, please run the L<perlbug> program
259included with your release. Be sure to trim your bug down to a tiny but
260sufficient test case. Your bug report, along with the output of C<perl -V>,
0e18d1c4 261will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 262
87c118b9
DM
263If the bug you are reporting has security implications which make it
264inappropriate to send to a publicly archived mailing list, then see
9064626f
SH
265L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
266for details of how to report the issue.
44691e6f 267
390ae6f9
S
268=head1 Give Thanks
269
9064626f
SH
270If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
271you can do so by running the C<perlthanks> program:
390ae6f9
S
272
273 perlthanks
274
275This will send an email to the Perl 5 Porters list with your show of thanks.
276
44691e6f
AB
277=head1 SEE ALSO
278
e08634c5
SH
279The F<Changes> file for an explanation of how to view exhaustive details on
280what changed.
44691e6f
AB
281
282The F<INSTALL> file for how to build Perl.
283
284The F<README> file for general stuff.
285
286The F<Artistic> and F<Copying> files for copyright information.
287
288=cut