This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix make test failures in -Accflags=-DPERL_TRACE_OPS
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
0302547a 5perldelta - what is new for perl v5.25.1
eabfc7bc 6
2cfe9b50 7=head1 DESCRIPTION
eabfc7bc 8
0302547a 9This document describes differences between the 5.25.0 release and the 5.25.1
4b8803f0 10release.
f3ed8cbf 11
0302547a
RS
12If you are upgrading from an earlier release such as 5.24.0, first read
13L<perl5250delta>, which describes differences between 5.24.0 and 5.25.0.
eabfc7bc 14
0302547a 15=head1 Notice
fac0c351 16
0302547a
RS
17XXX Any important notices here
18
19=head1 Core Enhancements
20
21XXX New core language features go here. Summarize user-visible core language
22enhancements. Particularly prominent performance optimisations could go
23here, but most should go in the L</Performance Enhancements> section.
24
25[ List each enhancement as a =head2 entry ]
26
27=head1 Security
28
29XXX Any security-related notices go here. In particular, any security
30vulnerabilities closed should be noted here rather than in the
31L</Selected Bug Fixes> section.
32
33[ List each security issue as a =head2 entry ]
34
1656665e
KW
35=head2 Unescaped literal C<"{"> characters in regular expression
36patterns are no longer permissible
37
38You have to now say something like C<"\{"> or C<"[{]"> to specify to
39match a LEFT CURLY BRACKET. This will allow future extensions to the
40language. This restriction is not enforced, nor are there current plans
41to enforce it, if the C<"{"> is the first character in the pattern.
42
43These have been deprecated since v5.16, with a deprecation message
44displayed starting in v5.22.
45
acab2422
KW
46=head2 Literal control character variable names are no longer permissible
47
48A variable name may no longer contain a literal control character under
49any circumstances. These previously were allowed in single-character
50names on ASCII platforms, but have been deprecated there since Perl
51v5.20. This affects things like C<$I<\cT>>, where I<\cT> is a literal
52control (such as a C<NAK> or C<NEGATIVE ACKNOWLEDGE> character) in the
53source code.
0302547a 54
60108b47
KW
55=head2 C<qr//xx> is no longer permissible
56
57Using more than one C</x> regular expression pattern modifier on a
58single pattern is now forbidden. This is to allow a future enhancement
59to the language. This usage has been deprecated since v5.22.
60
61463a3e 61=head2 C<NBSP> is no longer permissible in C<\N{...}>
0302547a 62
61463a3e
KW
63The name of a character may no longer contain non-breaking spaces. It
64has been deprecated to do so since Perl v5.22.
0302547a
RS
65
66=head1 Deprecations
67
68XXX Any deprecated features, syntax, modules etc. should be listed here.
69
70=head2 Module removals
71
72XXX Remove this section if inapplicable.
73
74The following modules will be removed from the core distribution in a
75future release, and will at that time need to be installed from CPAN.
76Distributions on CPAN which require these modules will need to list them as
77prerequisites.
78
79The core versions of these modules will now issue C<"deprecated">-category
80warnings to alert you to this fact. To silence these deprecation warnings,
81install the modules in question from CPAN.
82
83Note that these are (with rare exceptions) fine modules that you are encouraged
84to continue to use. Their disinclusion from core primarily hinges on their
85necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
86not usually on concerns over their design.
87
88=over
89
90=item XXX
91
92XXX Note that deprecated modules should be listed here even if they are listed
93as an updated module in the L</Modules and Pragmata> section.
94
95=back
96
97[ List each other deprecation as a =head2 entry ]
98
99=head1 Performance Enhancements
100
101XXX Changes which enhance performance without changing behaviour go here.
102There may well be none in a stable release.
103
104[ List each enhancement as a =item entry ]
105
106=over 4
107
108=item *
109
110XXX
111
112=back
113
114=head1 Modules and Pragmata
115
116XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
117go here. If Module::CoreList is updated, generate an initial draft of the
118following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
119for important changes should then be added by hand. In an ideal world,
120dual-life modules would have a F<Changes> file that could be cribbed.
121
122[ Within each section, list entries as a =item entry ]
123
124=head2 New Modules and Pragmata
125
126=over 4
127
128=item *
129
130XXX
131
132=back
133
134=head2 Updated Modules and Pragmata
135
136=over 4
137
138=item *
139
140L<XXX> has been upgraded from version A.xx to B.yy.
141
142=back
143
144=head2 Removed Modules and Pragmata
145
146=over 4
147
148=item *
149
150XXX
151
152=back
153
154=head1 Documentation
155
156XXX Changes to files in F<pod/> go here. Consider grouping entries by
157file and be sure to link to the appropriate page, e.g. L<perlfunc>.
158
159=head2 New Documentation
160
161XXX Changes which create B<new> files in F<pod/> go here.
162
163=head3 L<XXX>
164
165XXX Description of the purpose of the new file here
166
167=head2 Changes to Existing Documentation
168
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
172
173=head3 L<XXX>
174
175=over 4
176
177=item *
178
179XXX Description of the change here
180
181=back
182
183=head1 Diagnostics
184
185The following additions or changes have been made to diagnostic output,
186including warnings and fatal error messages. For the complete list of
187diagnostic messages, see L<perldiag>.
188
189XXX New or changed warnings emitted by the core's C<C> code go here. Also
190include any changes in L<perldiag> that reconcile it to the C<C> code.
191
192=head2 New Diagnostics
193
194XXX Newly added diagnostic messages go under here, separated into New Errors
195and New Warnings
196
197=head3 New Errors
198
199=over 4
200
201=item *
202
203XXX L<message|perldiag/"message">
204
205=back
206
207=head3 New Warnings
208
209=over 4
210
211=item *
212
213XXX L<message|perldiag/"message">
214
215=back
e1ad135d 216
0302547a 217=head2 Changes to Existing Diagnostics
be2c0c65 218
0302547a 219XXX Changes (i.e. rewording) of diagnostic messages go here
be2c0c65 220
0302547a
RS
221=over 4
222
223=item *
224
225XXX Describe change here
226
227=back
228
229=head1 Utility Changes
230
231XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
232Most of these are built within the directory F<utils>.
233
234[ List utility changes as a =head2 entry for each utility and =item
235entries for each change
236Use L<XXX> with program names to get proper documentation linking. ]
237
238=head2 L<XXX>
239
240=over 4
241
242=item *
243
244XXX
245
246=back
247
248=head1 Configuration and Compilation
249
250XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
251go here. Any other changes to the Perl build process should be listed here.
252However, any platform-specific changes should be listed in the
253L</Platform Support> section, instead.
254
255[ List changes as a =item entry ].
256
257=over 4
258
259=item *
260
83a177d5
TC
261C<Configure> now builds C<miniperl> and C<generate_uudmap> if you
262invoke it with C<-Dusecrosscompiler> but not C<-Dtargethost=somehost>.
263This means you can supply your target platform C<config.sh>, generate
264the headers and proceed to build your cross-target perl. [perl #127234]
0302547a
RS
265
266=back
267
268=head1 Testing
269
270XXX Any significant changes to the testing of a freshly built perl should be
271listed here. Changes which create B<new> files in F<t/> go here as do any
272large changes to the testing harness (e.g. when parallel testing was added).
273Changes to existing files in F<t/> aren't worth summarizing, although the bugs
274that they represent may be covered elsewhere.
275
276[ List each test improvement as a =item entry ]
277
278=over 4
279
280=item *
281
282XXX
283
284=back
285
286=head1 Platform Support
287
288XXX Any changes to platform support should be listed in the sections below.
289
290[ Within the sections, list each platform as a =item entry with specific
291changes as paragraphs below it. ]
292
293=head2 New Platforms
294
295XXX List any platforms that this version of perl compiles on, that previous
296versions did not. These will either be enabled by new files in the F<hints/>
297directories, or new subdirectories and F<README> files at the top level of the
298source tree.
299
300=over 4
301
302=item XXX-some-platform
303
304XXX
305
306=back
307
308=head2 Discontinued Platforms
309
310XXX List any platforms that this version of perl no longer compiles on.
311
312=over 4
313
314=item XXX-some-platform
315
316XXX
317
318=back
319
320=head2 Platform-Specific Notes
321
322XXX List any changes for specific platforms. This could include configuration
323and compilation changes or changes in portability/compatibility. However,
324changes within modules for platforms should generally be listed in the
325L</Modules and Pragmata> section.
326
327=over 4
328
329=item XXX-some-platform
330
331XXX
332
333=back
334
335=head1 Internal Changes
336
337XXX Changes which affect the interface available to C<XS> code go here. Other
338significant internal changes for future core maintainers should be noted as
339well.
340
341[ List each change as a =item entry ]
342
343=over 4
344
345=item *
346
347XXX
348
349=back
350
351=head1 Selected Bug Fixes
352
353XXX Important bug fixes in the core language are summarized here. Bug fixes in
354files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
355
356[ List each fix as a =item entry ]
357
358=over 4
359
360=item *
361
362XXX
363
364=back
365
366=head1 Known Problems
367
368XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
369tests that had to be C<TODO>ed for the release would be noted here. Unfixed
370platform specific bugs also go here.
371
372[ List each fix as a =item entry ]
373
374=over 4
375
376=item *
377
378XXX
379
380=back
381
382=head1 Errata From Previous Releases
383
384=over 4
385
386=item *
387
388XXX Add anything here that we forgot to add, or were mistaken about, in
389the perldelta of a previous release.
390
391=back
392
393=head1 Obituary
394
395XXX If any significant core contributor has died, we've added a short obituary
396here.
397
398=head1 Acknowledgements
be2c0c65 399
0302547a 400Generate this with:
be2c0c65 401
0302547a 402 perl Porting/acknowledgements.pl v5.25.1..HEAD
f5b73711 403
44691e6f
AB
404=head1 Reporting Bugs
405
e08634c5
SH
406If you find what you think is a bug, you might check the articles recently
407posted to the comp.lang.perl.misc newsgroup and the perl bug database at
4b8803f0
RS
408L<https://rt.perl.org/> . There may also be information at
409L<http://www.perl.org/> , the Perl Home Page.
44691e6f 410
e08634c5
SH
411If you believe you have an unreported bug, please run the L<perlbug> program
412included with your release. Be sure to trim your bug down to a tiny but
413sufficient test case. Your bug report, along with the output of C<perl -V>,
414will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 415
87c118b9
DM
416If the bug you are reporting has security implications which make it
417inappropriate to send to a publicly archived mailing list, then see
418L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
419for details of how to report the issue.
44691e6f
AB
420
421=head1 SEE ALSO
422
e08634c5
SH
423The F<Changes> file for an explanation of how to view exhaustive details on
424what changed.
44691e6f
AB
425
426The F<INSTALL> file for how to build Perl.
427
428The F<README> file for general stuff.
429
430The F<Artistic> and F<Copying> files for copyright information.
431
432=cut