This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl.h - make sure macros using negation are paren wrapped
[perl5.git] / pod / perldelta.pod
CommitLineData
0382c61d 1=encoding utf8
7b0fb693 2
0382c61d 3=head1 NAME
7b0fb693 4
9865eed8
KE
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.10
aae76867 9
9f2eb154 10=head1 DESCRIPTION
aae76867 11
9865eed8 12This document describes differences between the 5.37.9 release and the 5.37.10
9f2eb154 13release.
aae76867 14
9865eed8
KE
15If you are upgrading from an earlier release such as 5.37.8, first read
16L<perl5379delta>, which describes differences between 5.37.8 and 5.37.9.
8cf9e0b7 17
9865eed8 18=head1 Notice
8cf9e0b7 19
9865eed8 20XXX Any important notices here
8cf9e0b7 21
9865eed8 22=head1 Core Enhancements
0f2b2db7 23
9865eed8
KE
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.
0f2b2db7 27
9865eed8 28[ List each enhancement as a =head2 entry ]
c01e27fc 29
9865eed8 30=head1 Security
c01e27fc 31
9865eed8
KE
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.
c01e27fc 35
9865eed8 36[ List each security issue as a =head2 entry ]
c01e27fc 37
4d2e6572
RB
38=head1 Incompatible Changes
39
9865eed8 40XXX For a release on a stable branch, this section aspires to be:
b87acd3b 41
9865eed8
KE
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.
b87acd3b 45
9865eed8 46[ List each incompatible change as a =head2 entry ]
b87acd3b 47
9865eed8 48=head1 Deprecations
dcc59d83 49
9865eed8 50XXX Any deprecated features, syntax, modules etc. should be listed here.
b87acd3b 51
9865eed8 52=head2 Module removals
b87acd3b 53
9865eed8 54XXX Remove this section if not applicable.
347a477c 55
9865eed8
KE
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.
b694b46b 60
9865eed8
KE
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.
4d2e6572 64
9865eed8
KE
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.
dcc59d83 69
9865eed8 70=over
dcc59d83 71
9865eed8 72=item XXX
dcc59d83 73
9865eed8
KE
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.
b87acd3b 76
9865eed8 77=back
b87acd3b 78
9865eed8 79[ List each other deprecation as a =head2 entry ]
bf44733f 80
9865eed8 81=head1 Performance Enhancements
25948dfb 82
9865eed8
KE
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
4d2e6572 85
9865eed8 86[ List each enhancement as an =item entry ]
bbb34266 87
9865eed8 88=over 4
dcc59d83
KE
89
90=item *
91
9865eed8 92XXX
dcc59d83 93
9865eed8 94=back
dcc59d83 95
9865eed8 96=head1 Modules and Pragmata
dcc59d83 97
9865eed8
KE
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.
dcc59d83 103
9865eed8
KE
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.)
dcc59d83 109
9865eed8 110[ Within each section, list entries as an =item entry ]
dcc59d83 111
9865eed8 112=head2 New Modules and Pragmata
dcc59d83 113
9865eed8 114=over 4
dcc59d83
KE
115
116=item *
117
e95dc77e 118XXX Remove this section if Porting/corelist-perldelta.pl did not add any content here.
dcc59d83 119
9865eed8 120=back
dcc59d83 121
9865eed8 122=head2 Updated Modules and Pragmata
dcc59d83 123
9865eed8 124=over 4
dcc59d83
KE
125
126=item *
127
9865eed8 128L<XXX> has been upgraded from version A.xx to B.yy.
dcc59d83 129
e95dc77e 130XXX If there was something important to note about this change, include that here.
dcc59d83 131
9865eed8 132=back
dcc59d83 133
9865eed8 134=head2 Removed Modules and Pragmata
dcc59d83 135
9865eed8 136=over 4
bacfb30b 137
ae98afd8 138=item *
8f4d4ed2 139
e95dc77e 140XXX Remove this section if Porting/corelist-perldelta.pl did not add any content here.
b87acd3b 141
4d2e6572
RB
142=back
143
144=head1 Documentation
145
9865eed8
KE
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>.
4d2e6572 148
9865eed8 149=head2 New Documentation
43ea14c2 150
9865eed8 151XXX Changes which create B<new> files in F<pod/> go here.
4d2e6572 152
9865eed8 153=head3 L<XXX>
4d2e6572 154
9865eed8 155XXX Description of the purpose of the new file here
4d2e6572
RB
156
157=head2 Changes to Existing Documentation
158
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
9865eed8
KE
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.
43ea14c2 166
9865eed8 167Additionally, the following selected changes have been made:
43ea14c2 168
9865eed8 169=head3 L<XXX>
4d2e6572
RB
170
171=over 4
2feb1615 172
b87acd3b 173=item *
2feb1615 174
9865eed8 175XXX Description of the change here
4d2e6572
RB
176
177=back
178
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
9865eed8
KE
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
4d2e6572
RB
188=head2 New Diagnostics
189
9865eed8
KE
190XXX Newly added diagnostic messages go under here, separated into New Errors
191and New Warnings
192
4d2e6572
RB
193=head3 New Errors
194
195=over 4
b694b46b
RL
196
197=item *
198
9865eed8 199XXX L<message|perldiag/"message">
4d2e6572 200
9865eed8 201=back
f101e19a 202
9865eed8 203=head3 New Warnings
4d2e6572 204
9865eed8 205=over 4
4d2e6572 206
43ea14c2 207=item *
4d2e6572 208
9865eed8 209XXX L<message|perldiag/"message">
4d2e6572 210
9865eed8 211=back
43ea14c2 212
9865eed8 213=head2 Changes to Existing Diagnostics
43ea14c2 214
9865eed8 215XXX Changes (i.e. rewording) of diagnostic messages go here
43ea14c2 216
9865eed8 217=over 4
4d2e6572
RB
218
219=item *
220
9865eed8 221XXX Describe change here
f101e19a 222
9865eed8 223=back
b694b46b 224
9865eed8 225=head1 Utility Changes
4d2e6572 226
9865eed8
KE
227XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
228Most of these are built within the directory F<utils>.
4d2e6572 229
9865eed8
KE
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. ]
4d2e6572 233
9865eed8 234=head2 L<XXX>
4d2e6572 235
9865eed8 236=over 4
4d2e6572 237
43ea14c2 238=item *
4d2e6572 239
9865eed8 240XXX
4d2e6572 241
9865eed8 242=back
4d2e6572 243
9865eed8 244=head1 Configuration and Compilation
43ea14c2 245
9865eed8
KE
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.
43ea14c2 250
9865eed8 251[ List changes as an =item entry ].
43ea14c2 252
9865eed8 253=over 4
43ea14c2
KE
254
255=item *
256
9865eed8 257XXX
43ea14c2
KE
258
259=back
260
9865eed8 261=head1 Testing
43ea14c2 262
9865eed8
KE
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.
43ea14c2 268
9865eed8 269XXX If there were no significant test changes, say this:
43ea14c2 270
9865eed8
KE
271Tests were added and changed to reflect the other additions and changes
272in this release.
43ea14c2 273
9865eed8 274XXX If instead there were significant changes, say this:
43ea14c2 275
9865eed8
KE
276Tests were added and changed to reflect the other additions and
277changes in this release. Furthermore, these significant changes were
278made:
43ea14c2 279
9865eed8 280[ List each test improvement as an =item entry ]
43ea14c2 281
9865eed8 282=over 4
43ea14c2
KE
283
284=item *
285
9865eed8 286XXX
43ea14c2 287
9865eed8 288=back
43ea14c2 289
9865eed8 290=head1 Platform Support
43ea14c2 291
9865eed8 292XXX Any changes to platform support should be listed in the sections below.
43ea14c2 293
9865eed8
KE
294[ Within the sections, list each platform as an =item entry with specific
295changes as paragraphs below it. ]
43ea14c2 296
9865eed8 297=head2 New Platforms
43ea14c2 298
9865eed8
KE
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.
43ea14c2 303
9865eed8 304=over 4
43ea14c2 305
9865eed8 306=item XXX-some-platform
43ea14c2 307
9865eed8 308XXX
4d2e6572
RB
309
310=back
311
9865eed8 312=head2 Discontinued Platforms
43ea14c2 313
9865eed8 314XXX List any platforms that this version of perl no longer compiles on.
43ea14c2 315
9865eed8 316=over 4
43ea14c2 317
9865eed8 318=item XXX-some-platform
43ea14c2 319
9865eed8 320XXX
43ea14c2
KE
321
322=back
b694b46b 323
9865eed8 324=head2 Platform-Specific Notes
b694b46b 325
9865eed8
KE
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.
b694b46b 330
9865eed8 331=over 4
43ea14c2 332
9865eed8 333=item XXX-some-platform
43ea14c2 334
9865eed8 335XXX
314388b6 336
4d2e6572 337=back
314388b6 338
43ea14c2 339=head1 Internal Changes
4d2e6572 340
9865eed8
KE
341XXX Changes which affect the interface available to C<XS> code go here. Other
342significant internal changes for future core maintainers should be noted as
343well.
314388b6 344
9865eed8 345[ List each change as an =item entry ]
314388b6 346
9865eed8 347=over 4
314388b6 348
1ca0f119
KW
349=item *
350
9865eed8 351XXX
1ca0f119 352
314388b6
TC
353=back
354
4d2e6572
RB
355=head1 Selected Bug Fixes
356
9865eed8
KE
357XXX Important bug fixes in the core language are summarized here. Bug fixes in
358files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
4d2e6572 359
e95dc77e
KE
360Include references to GitHub issues and PRs as: [GH #12345] and the release
361manager will later use a regex to expand these into links.
362
9865eed8 363[ List each fix as an =item entry ]
4d2e6572 364
9865eed8 365=over 4
4d2e6572 366
4202141d
TC
367=item *
368
edcf480e
AJ
369In the new experimental C<class> feature, attributes are no longer a syntax
370error when using the unit class syntax.
371[GH #20888].
372
373=item *
374
9865eed8 375XXX
4202141d 376
9865eed8 377=back
4202141d 378
9865eed8 379=head1 Known Problems
828bae55 380
9865eed8
KE
381XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
382tests that had to be C<TODO>ed for the release would be noted here. Unfixed
383platform specific bugs also go here.
828bae55 384
9865eed8 385[ List each fix as an =item entry ]
0a73ee9e 386
9865eed8 387=over 4
0a73ee9e
YO
388
389=item *
390
9865eed8 391XXX
0a73ee9e 392
9865eed8 393=back
0a73ee9e 394
9865eed8 395=head1 Errata From Previous Releases
0a73ee9e 396
9865eed8 397=over 4
0a73ee9e 398
61241b1b
KW
399=item *
400
9865eed8
KE
401XXX Add anything here that we forgot to add, or were mistaken about, in
402the perldelta of a previous release.
61241b1b 403
b694b46b
RL
404=back
405
9865eed8 406=head1 Obituary
c0b38a2b 407
9865eed8
KE
408XXX If any significant core contributor or member of the CPAN community has
409died, add a short obituary here.
4d2e6572 410
9865eed8 411=head1 Acknowledgements
c0b38a2b 412
9865eed8 413XXX Generate this with:
9f2eb154 414
9865eed8 415 perl Porting/acknowledgements.pl v5.37.9..HEAD
8424e368 416
44691e6f
AB
417=head1 Reporting Bugs
418
6acd8d81
SH
419If you find what you think is a bug, you might check the perl bug database
420at L<https://github.com/Perl/perl5/issues>. There may also be information at
46a21c0a 421L<http://www.perl.org/>, the Perl Home Page.
44691e6f 422
8166b4e0 423If you believe you have an unreported bug, please open an issue at
0382c61d 424L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
8166b4e0 425tiny but sufficient test case.
44691e6f 426
87c118b9 427If the bug you are reporting has security implications which make it
8166b4e0 428inappropriate to send to a public issue tracker, then see
6acd8d81
SH
429L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
430for details of how to report the issue.
44691e6f 431
390ae6f9
S
432=head1 Give Thanks
433
6acd8d81
SH
434If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
435you can do so by running the C<perlthanks> program:
390ae6f9
S
436
437 perlthanks
438
439This will send an email to the Perl 5 Porters list with your show of thanks.
440
44691e6f
AB
441=head1 SEE ALSO
442
e08634c5
SH
443The F<Changes> file for an explanation of how to view exhaustive details on
444what changed.
44691e6f
AB
445
446The F<INSTALL> file for how to build Perl.
447
448The F<README> file for general stuff.
449
450The F<Artistic> and F<Copying> files for copyright information.
451
452=cut