This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
embed.pl - add a way to declare a parameter should be non-zero
[perl5.git] / pod / perldelta.pod
CommitLineData
0382c61d 1=encoding utf8
7b0fb693 2
0382c61d 3=head1 NAME
7b0fb693 4
b694b46b
RL
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
7
8perldelta - what is new for perl v5.37.8
aae76867 9
9f2eb154 10=head1 DESCRIPTION
aae76867 11
b694b46b 12This document describes differences between the 5.37.7 release and the 5.37.8
9f2eb154 13release.
aae76867 14
b694b46b
RL
15If you are upgrading from an earlier release such as 5.37.6, first read
16L<perl5377delta>, which describes differences between 5.37.6 and 5.37.7.
17
18=head1 Notice
19
20XXX Any important notices here
b87acd3b 21
b87acd3b
MM
22=head1 Core Enhancements
23
b694b46b
RL
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
26here, but most should go in the L</Performance Enhancements> section.
abf573d1 27
b694b46b 28[ List each enhancement as a =head2 entry ]
b87acd3b 29
b694b46b
RL
30=head1 Security
31
32XXX Any security-related notices go here. In particular, any security
33vulnerabilities closed should be noted here rather than in the
34L</Selected Bug Fixes> section.
35
36[ List each security issue as a =head2 entry ]
37
38=head1 Incompatible Changes
39
40XXX For a release on a stable branch, this section aspires to be:
41
42 There are no changes intentionally incompatible with 5.XXX.XXX
43 If any exist, they are bugs, and we request that you submit a
44 report. See L</Reporting Bugs> below.
45
46[ List each incompatible change as a =head2 entry ]
47
48=head1 Deprecations
49
50XXX Any deprecated features, syntax, modules etc. should be listed here.
51
52=head2 Module removals
53
54XXX Remove this section if not applicable.
55
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
60
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
64
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
69
70=over
71
72=item XXX
73
74XXX Note that deprecated modules should be listed here even if they are listed
75as an updated module in the L</Modules and Pragmata> section.
76
77=back
78
79[ List each other deprecation as a =head2 entry ]
80
81=head1 Performance Enhancements
82
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
85
86[ List each enhancement as an =item entry ]
b87acd3b 87
ae98afd8 88=over 4
b87acd3b 89
ae98afd8 90=item *
b87acd3b 91
b694b46b 92XXX
b87acd3b 93
b694b46b
RL
94=back
95
96=head1 Modules and Pragmata
b87acd3b 97
b694b46b
RL
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
b87acd3b 103
b694b46b
RL
104The list of new and updated modules is modified automatically as part of
105preparing a Perl release, so the only reason to manually add entries here is if
106you're summarising the important changes in the module update. (Also, if the
107manually-added details don't match the automatically-generated ones, the
108release manager will have to investigate the situation carefully.)
b87acd3b 109
b694b46b 110[ Within each section, list entries as an =item entry ]
b87acd3b 111
b694b46b 112=head2 New Modules and Pragmata
b87acd3b 113
b694b46b 114=over 4
b87acd3b
MM
115
116=item *
117
b694b46b 118XXX Remove this section if not applicable.
347a477c 119
b694b46b 120=back
bf44733f 121
b694b46b
RL
122=head2 Updated Modules and Pragmata
123
124=over 4
b87acd3b 125
ae98afd8 126=item *
b87acd3b 127
b694b46b 128L<XXX> has been upgraded from version A.xx to B.yy.
b87acd3b 129
b694b46b 130If there was something important to note about this change, include that here.
bf44733f 131
b694b46b 132=back
bf44733f 133
b694b46b 134=head2 Removed Modules and Pragmata
c5b9df71 135
b694b46b 136=over 4
bacfb30b 137
ae98afd8 138=item *
8f4d4ed2 139
b694b46b 140XXX
bf44733f 141
b694b46b 142=back
bf44733f 143
b694b46b 144=head1 Documentation
82da20df 145
b694b46b
RL
146XXX Changes to files in F<pod/> go here. Consider grouping entries by
147file and be sure to link to the appropriate page, e.g. L<perlfunc>.
bcbede66 148
b694b46b 149=head2 New Documentation
bcbede66 150
b694b46b 151XXX Changes which create B<new> files in F<pod/> go here.
6170c4a0 152
b694b46b 153=head3 L<XXX>
6170c4a0 154
b694b46b 155XXX Description of the purpose of the new file here
6170c4a0 156
b694b46b 157=head2 Changes to Existing Documentation
88da24e7 158
b694b46b
RL
159We have attempted to update the documentation to reflect the changes
160listed in this document. If you find any we have missed, open an issue
161at L<https://github.com/Perl/perl5/issues>.
162
163XXX Changes which significantly change existing files in F<pod/> go here.
164However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
165section.
166
167Additionally, the following selected changes have been made:
b87acd3b 168
b694b46b
RL
169=head3 L<XXX>
170
171=over 4
b87acd3b
MM
172
173=item *
174
b694b46b 175XXX Description of the change here
b87acd3b
MM
176
177=back
178
bacfb30b
TR
179=head1 Diagnostics
180
181The following additions or changes have been made to diagnostic output,
182including warnings and fatal error messages. For the complete list of
183diagnostic messages, see L<perldiag>.
184
b694b46b
RL
185XXX New or changed warnings emitted by the core's C<C> code go here. Also
186include any changes in L<perldiag> that reconcile it to the C<C> code.
187
bacfb30b
TR
188=head2 New Diagnostics
189
b694b46b
RL
190XXX Newly added diagnostic messages go under here, separated into New Errors
191and New Warnings
192
bacfb30b
TR
193=head3 New Errors
194
b87acd3b 195=over 4
2feb1615 196
b87acd3b 197=item *
2feb1615 198
b694b46b
RL
199XXX L<message|perldiag/"message">
200
201=back
202
203=head3 New Warnings
204
205=over 4
206
207=item *
208
209XXX L<message|perldiag/"message">
eb4b3462 210
b87acd3b 211=back
7e21f44e 212
b87acd3b 213=head2 Changes to Existing Diagnostics
7e21f44e 214
b694b46b
RL
215XXX Changes (i.e. rewording) of diagnostic messages go here
216
217=over 4
218
219=item *
220
221XXX Describe change here
222
223=back
224
225=head1 Utility Changes
226
227XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
228Most of these are built within the directory F<utils>.
229
230[ List utility changes as a =head2 entry for each utility and =item
231entries for each change
232Use L<XXX> with program names to get proper documentation linking. ]
233
234=head2 L<XXX>
235
236=over 4
237
238=item *
239
240XXX
241
242=back
243
244=head1 Configuration and Compilation
245
246XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
247go here. Any other changes to the Perl build process should be listed here.
248However, any platform-specific changes should be listed in the
249L</Platform Support> section, instead.
250
251[ List changes as an =item entry ].
252
b87acd3b
MM
253=over 4
254
255=item *
256
b694b46b 257XXX
901d80aa 258
b87acd3b
MM
259=back
260
261=head1 Testing
262
b694b46b
RL
263XXX Any significant changes to the testing of a freshly built perl should be
264listed here. Changes which create B<new> files in F<t/> go here as do any
265large changes to the testing harness (e.g. when parallel testing was added).
266Changes to existing files in F<t/> aren't worth summarizing, although the bugs
267that they represent may be covered elsewhere.
268
269XXX If there were no significant test changes, say this:
270
bacfb30b
TR
271Tests were added and changed to reflect the other additions and changes
272in this release.
273
b694b46b
RL
274XXX If instead there were significant changes, say this:
275
276Tests were added and changed to reflect the other additions and
277changes in this release. Furthermore, these significant changes were
278made:
279
280[ List each test improvement as an =item entry ]
b87acd3b 281
bacfb30b 282=over 4
c5b9df71
KE
283
284=item *
741a5c73 285
b694b46b 286XXX
82da20df 287
b87acd3b 288=back
82da20df 289
b694b46b
RL
290=head1 Platform Support
291
292XXX Any changes to platform support should be listed in the sections below.
293
294[ Within the sections, list each platform as an =item entry with specific
295changes as paragraphs below it. ]
296
297=head2 New Platforms
298
299XXX List any platforms that this version of perl compiles on, that previous
300versions did not. These will either be enabled by new files in the F<hints/>
301directories, or new subdirectories and F<README> files at the top level of the
302source tree.
82da20df 303
b87acd3b 304=over 4
82da20df 305
b694b46b 306=item XXX-some-platform
82da20df 307
b694b46b 308XXX
741a5c73 309
b694b46b
RL
310=back
311
312=head2 Discontinued Platforms
313
314XXX List any platforms that this version of perl no longer compiles on.
315
316=over 4
a91f26ae 317
b694b46b 318=item XXX-some-platform
f101e19a 319
b694b46b 320XXX
f101e19a 321
b694b46b
RL
322=back
323
324=head2 Platform-Specific Notes
325
326XXX List any changes for specific platforms. This could include configuration
327and compilation changes or changes in portability/compatibility. However,
328changes within modules for platforms should generally be listed in the
329L</Modules and Pragmata> section.
330
331=over 4
332
c2ac50f0 333=item Windows
b694b46b 334
314388b6
TC
335=over
336
337=item *
338
c2ac50f0
TC
339lstat() on Windows now returns the length of the link target as the
340size of the file, as it does on POSIX systems. [github #20476]
b694b46b 341
314388b6
TC
342=item *
343
344symlink() on Windows now replaces any C</> in the target with C<\>,
345since Windows does not recognize C</> in symbolic links. The reverse
346translation is B<not> done by readlink(). [github #20506]
347
348=item *
349
350symlink() where the target was an absolute path to a directory was
351incorrectly created as a file symbolic link. [github #20533]
352
353=back
354
b694b46b
RL
355=back
356
357=head1 Internal Changes
358
359XXX Changes which affect the interface available to C<XS> code go here. Other
360significant internal changes for future core maintainers should be noted as
361well.
362
363[ List each change as an =item entry ]
364
365=over 4
f101e19a 366
44282561
YO
367=item *
368
b694b46b 369XXX
44282561 370
332af227
YO
371=item *
372
373Added HvNAMEf and HvNAMEf_QUOTEDPREFIX special formats. They take an HV *
374as an argument and use C<HvNAME()> and related macros to determine the string,
375its length, and whether it is utf8.
376
8269d379
NB
377=back
378
b694b46b
RL
379=head1 Selected Bug Fixes
380
381XXX Important bug fixes in the core language are summarized here. Bug fixes in
382files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
383
384[ List each fix as an =item entry ]
bacfb30b 385
b87acd3b
MM
386=over 4
387
388=item *
389
b694b46b 390XXX
b87acd3b 391
b694b46b
RL
392=back
393
394=head1 Known Problems
d53dc4aa 395
b694b46b
RL
396XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
397tests that had to be C<TODO>ed for the release would be noted here. Unfixed
398platform specific bugs also go here.
bacfb30b 399
b694b46b
RL
400[ List each fix as an =item entry ]
401
402=over 4
403
404=item *
405
406XXX
c5b9df71 407
ae98afd8 408=back
bacfb30b 409
b694b46b
RL
410=head1 Errata From Previous Releases
411
412=over 4
c0b38a2b 413
b694b46b
RL
414=item *
415
416XXX Add anything here that we forgot to add, or were mistaken about, in
417the perldelta of a previous release.
c0b38a2b 418
b694b46b 419=back
c0b38a2b 420
b694b46b 421=head1 Obituary
c0b38a2b 422
b694b46b
RL
423XXX If any significant core contributor or member of the CPAN community has
424died, add a short obituary here.
ae98afd8 425
b694b46b 426=head1 Acknowledgements
c0b38a2b 427
b694b46b 428XXX Generate this with:
9f2eb154 429
b694b46b 430 perl Porting/acknowledgements.pl v5.37.7..HEAD
8424e368 431
44691e6f
AB
432=head1 Reporting Bugs
433
6acd8d81
SH
434If you find what you think is a bug, you might check the perl bug database
435at L<https://github.com/Perl/perl5/issues>. There may also be information at
46a21c0a 436L<http://www.perl.org/>, the Perl Home Page.
44691e6f 437
8166b4e0 438If you believe you have an unreported bug, please open an issue at
0382c61d 439L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
8166b4e0 440tiny but sufficient test case.
44691e6f 441
87c118b9 442If the bug you are reporting has security implications which make it
8166b4e0 443inappropriate to send to a public issue tracker, then see
6acd8d81
SH
444L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
445for details of how to report the issue.
44691e6f 446
390ae6f9
S
447=head1 Give Thanks
448
6acd8d81
SH
449If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
450you can do so by running the C<perlthanks> program:
390ae6f9
S
451
452 perlthanks
453
454This will send an email to the Perl 5 Porters list with your show of thanks.
455
44691e6f
AB
456=head1 SEE ALSO
457
e08634c5
SH
458The F<Changes> file for an explanation of how to view exhaustive details on
459what changed.
44691e6f
AB
460
461The F<INSTALL> file for how to build Perl.
462
463The F<README> file for general stuff.
464
465The F<Artistic> and F<Copying> files for copyright information.
466
467=cut