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