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