This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PATCH: [perl #127708] segfault in "$!" in threads
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
78a6ddfb
A
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.23.10
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
78a6ddfb 12This document describes differences between the 5.23.9 release and the 5.23.10
2cfe9b50 13release.
eabfc7bc 14
78a6ddfb
A
15If you are upgrading from an earlier release such as 5.23.8, first read
16L<perl5239delta>, which describes differences between 5.23.8 and 5.23.9.
17
18=head1 Notice
19
20XXX Any important notices here
394609a5 21
6fee6573 22=head1 Core Enhancements
cdfe2e65 23
78a6ddfb
A
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.
a8c28920 27
78a6ddfb 28[ List each enhancement as a =head2 entry ]
a8c28920 29
6fee6573 30=head1 Security
07450df7 31
78a6ddfb
A
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.
a7e63acd 35
78a6ddfb 36[ List each security issue as a =head2 entry ]
d7a7ed74 37
78a6ddfb 38=head1 Incompatible Changes
d7a7ed74 39
78a6ddfb 40XXX For a release on a stable branch, this section aspires to be:
34e79b75 41
78a6ddfb
A
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.
fc9da770 45
78a6ddfb 46[ List each incompatible change as a =head2 entry ]
df539208 47
78a6ddfb 48=head1 Deprecations
df539208 49
d8d26cac
KW
50=head2 \N{} with nothing between the braces is deprecated
51
52This had been illegal until v5.22, and will be illegal again in a future
53Perl version.
df539208 54
78a6ddfb 55=head2 Module removals
df539208 56
78a6ddfb 57XXX Remove this section if inapplicable.
df539208 58
78a6ddfb
A
59The following modules will be removed from the core distribution in a
60future release, and will at that time need to be installed from CPAN.
61Distributions on CPAN which require these modules will need to list them as
62prerequisites.
fc9da770 63
78a6ddfb
A
64The core versions of these modules will now issue C<"deprecated">-category
65warnings to alert you to this fact. To silence these deprecation warnings,
66install the modules in question from CPAN.
df539208 67
78a6ddfb
A
68Note that these are (with rare exceptions) fine modules that you are encouraged
69to continue to use. Their disinclusion from core primarily hinges on their
70necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
71not usually on concerns over their design.
df539208 72
78a6ddfb 73=over
df539208 74
78a6ddfb 75=item XXX
fc9da770 76
78a6ddfb
A
77XXX Note that deprecated modules should be listed here even if they are listed
78as an updated module in the L</Modules and Pragmata> section.
fc9da770 79
78a6ddfb 80=back
df539208 81
78a6ddfb 82[ List each other deprecation as a =head2 entry ]
df539208 83
78a6ddfb 84=head1 Performance Enhancements
df539208 85
78a6ddfb
A
86XXX Changes which enhance performance without changing behaviour go here.
87There may well be none in a stable release.
df539208 88
78a6ddfb 89[ List each enhancement as a =item entry ]
0d4476e9 90
78a6ddfb 91=over 4
0d4476e9
A
92
93=item *
94
78a6ddfb 95XXX
0d4476e9 96
78a6ddfb 97=back
0d4476e9 98
78a6ddfb 99=head1 Modules and Pragmata
df539208 100
78a6ddfb
A
101XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
102go here. If Module::CoreList is updated, generate an initial draft of the
103following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
104for important changes should then be added by hand. In an ideal world,
105dual-life modules would have a F<Changes> file that could be cribbed.
df539208 106
78a6ddfb 107[ Within each section, list entries as a =item entry ]
0d4476e9 108
78a6ddfb 109=head2 New Modules and Pragmata
0d4476e9 110
78a6ddfb 111=over 4
0d4476e9
A
112
113=item *
114
78a6ddfb 115XXX
28192377 116
78a6ddfb 117=back
28192377 118
78a6ddfb 119=head2 Updated Modules and Pragmata
df539208 120
78a6ddfb 121=over 4
331b9876 122
0d4476e9
A
123=item *
124
78a6ddfb 125L<XXX> has been upgraded from version A.xx to B.yy.
0d4476e9 126
78a6ddfb 127=back
0d4476e9 128
78a6ddfb 129=head2 Removed Modules and Pragmata
0d4476e9 130
78a6ddfb 131=over 4
0d4476e9
A
132
133=item *
134
78a6ddfb 135XXX
0d4476e9 136
78a6ddfb 137=back
0d4476e9 138
78a6ddfb 139=head1 Documentation
0d4476e9 140
78a6ddfb
A
141XXX Changes to files in F<pod/> go here. Consider grouping entries by
142file and be sure to link to the appropriate page, e.g. L<perlfunc>.
0d4476e9 143
78a6ddfb 144=head2 New Documentation
0d4476e9 145
78a6ddfb 146XXX Changes which create B<new> files in F<pod/> go here.
0d4476e9 147
78a6ddfb 148=head3 L<XXX>
0d4476e9 149
78a6ddfb 150XXX Description of the purpose of the new file here
0d4476e9 151
78a6ddfb 152=head2 Changes to Existing Documentation
0d4476e9 153
78a6ddfb
A
154XXX Changes which significantly change existing files in F<pod/> go here.
155However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
156section.
fc9da770 157
78a6ddfb 158=head3 L<XXX>
fc9da770 159
78a6ddfb 160=over 4
0d4476e9
A
161
162=item *
163
78a6ddfb 164XXX Description of the change here
0d4476e9 165
78a6ddfb 166=back
0d4476e9 167
78a6ddfb 168=head1 Diagnostics
0d4476e9 169
78a6ddfb
A
170The following additions or changes have been made to diagnostic output,
171including warnings and fatal error messages. For the complete list of
172diagnostic messages, see L<perldiag>.
0d4476e9 173
78a6ddfb
A
174XXX New or changed warnings emitted by the core's C<C> code go here. Also
175include any changes in L<perldiag> that reconcile it to the C<C> code.
0d4476e9 176
78a6ddfb 177=head2 New Diagnostics
0d4476e9 178
78a6ddfb
A
179XXX Newly added diagnostic messages go under here, separated into New Errors
180and New Warnings
0d4476e9 181
78a6ddfb
A
182=head3 New Errors
183
184=over 4
fc9da770
S
185
186=item *
187
78a6ddfb 188XXX L<message|perldiag/"message">
331b9876 189
af8a293f 190=back
a7e63acd 191
78a6ddfb 192=head3 New Warnings
fd12b912 193
054383b6 194=over 4
fd12b912
DG
195
196=item *
197
78a6ddfb 198XXX L<message|perldiag/"message">
206e921d 199
af8a293f 200=back
206e921d 201
78a6ddfb
A
202=head2 Changes to Existing Diagnostics
203
204XXX Changes (i.e. rewording) of diagnostic messages go here
d9d208b8 205
d7745c5b
DM
206=over 4
207
208=item *
209
78a6ddfb 210XXX Describe change here
4511cd77 211
78a6ddfb 212=back
d7745c5b 213
78a6ddfb 214=head1 Utility Changes
d7745c5b 215
78a6ddfb
A
216XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
217Most of these are built within the directory F<utils>.
d7745c5b 218
78a6ddfb
A
219[ List utility changes as a =head2 entry for each utility and =item
220entries for each change
221Use L<XXX> with program names to get proper documentation linking. ]
d7745c5b 222
78a6ddfb 223=head2 L<XXX>
d7745c5b 224
78a6ddfb 225=over 4
d7745c5b 226
7d12a739 227=item *
d7745c5b 228
78a6ddfb 229XXX
d7745c5b 230
6fee6573 231=back
d7745c5b 232
78a6ddfb 233=head1 Configuration and Compilation
d7745c5b 234
78a6ddfb
A
235XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
236go here. Any other changes to the Perl build process should be listed here.
237However, any platform-specific changes should be listed in the
238L</Platform Support> section, instead.
d7745c5b 239
78a6ddfb 240[ List changes as a =item entry ].
d7745c5b 241
78a6ddfb 242=over 4
756bd853
SH
243
244=item *
245
78a6ddfb 246XXX
d7745c5b 247
78a6ddfb 248=back
756bd853 249
78a6ddfb 250=head1 Testing
756bd853 251
78a6ddfb
A
252XXX Any significant changes to the testing of a freshly built perl should be
253listed here. Changes which create B<new> files in F<t/> go here as do any
254large changes to the testing harness (e.g. when parallel testing was added).
255Changes to existing files in F<t/> aren't worth summarizing, although the bugs
256that they represent may be covered elsewhere.
756bd853 257
78a6ddfb 258[ List each test improvement as a =item entry ]
756bd853 259
78a6ddfb 260=over 4
756bd853 261
78a6ddfb
A
262=item *
263
264XXX
756bd853 265
d7745c5b
DM
266=back
267
78a6ddfb 268=head1 Platform Support
42d92f4a 269
78a6ddfb 270XXX Any changes to platform support should be listed in the sections below.
19b46ab5 271
78a6ddfb
A
272[ Within the sections, list each platform as a =item entry with specific
273changes as paragraphs below it. ]
23b4d8d6 274
78a6ddfb 275=head2 New Platforms
710d3eb3 276
78a6ddfb
A
277XXX List any platforms that this version of perl compiles on, that previous
278versions did not. These will either be enabled by new files in the F<hints/>
279directories, or new subdirectories and F<README> files at the top level of the
280source tree.
710d3eb3 281
78a6ddfb 282=over 4
23b4d8d6 283
78a6ddfb 284=item XXX-some-platform
2aade621 285
78a6ddfb 286XXX
2aade621 287
78a6ddfb 288=back
7febee86 289
78a6ddfb 290=head2 Discontinued Platforms
7febee86 291
78a6ddfb 292XXX List any platforms that this version of perl no longer compiles on.
7febee86 293
78a6ddfb 294=over 4
7febee86 295
78a6ddfb 296=item XXX-some-platform
002a7765 297
78a6ddfb 298XXX
84279daf 299
78a6ddfb 300=back
84279daf 301
78a6ddfb 302=head2 Platform-Specific Notes
84279daf 303
78a6ddfb
A
304XXX List any changes for specific platforms. This could include configuration
305and compilation changes or changes in portability/compatibility. However,
306changes within modules for platforms should generally be listed in the
307L</Modules and Pragmata> section.
7d12a739 308
78a6ddfb 309=over 4
84279daf 310
78a6ddfb 311=item XXX-some-platform
54e70d91 312
78a6ddfb 313XXX
46d34d0e 314
78a6ddfb 315=back
46d34d0e 316
78a6ddfb 317=head1 Internal Changes
ac33c516 318
78a6ddfb
A
319XXX Changes which affect the interface available to C<XS> code go here. Other
320significant internal changes for future core maintainers should be noted as
321well.
7d12a739 322
78a6ddfb 323[ List each change as a =item entry ]
7d12a739 324
78a6ddfb 325=over 4
ac33c516 326
9857cc20
S
327=item *
328
78a6ddfb 329XXX
7d12a739 330
78a6ddfb 331=back
7d12a739 332
78a6ddfb 333=head1 Selected Bug Fixes
3c84cb84 334
78a6ddfb
A
335XXX Important bug fixes in the core language are summarized here. Bug fixes in
336files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
0057cacf 337
78a6ddfb 338[ List each fix as a =item entry ]
7d12a739 339
78a6ddfb 340=over 4
7d12a739
A
341
342=item *
343
a0b53297
KW
344A race condition which occurred when computing C<"$!"> with threads
345activated has been fixed. This showed up only on Darwin platforms. A
346related problem on Cygwin platforms involving UTF-8 strings has also
347been fixed. [perl #127708]
7d12a739 348
78a6ddfb 349=back
7d12a739 350
78a6ddfb 351=head1 Known Problems
7d12a739 352
78a6ddfb
A
353XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
354tests that had to be C<TODO>ed for the release would be noted here. Unfixed
355platform specific bugs also go here.
7d12a739 356
78a6ddfb 357[ List each fix as a =item entry ]
7d12a739 358
78a6ddfb 359=over 4
7d12a739 360
78a6ddfb 361=item *
7d12a739 362
78a6ddfb 363XXX
7d12a739
A
364
365=back
5a74572e 366
78a6ddfb 367=head1 Errata From Previous Releases
e1ad135d 368
78a6ddfb 369=over 4
3ec37fe3 370
78a6ddfb 371=item *
3ec37fe3 372
78a6ddfb
A
373XXX Add anything here that we forgot to add, or were mistaken about, in
374the perldelta of a previous release.
3ec37fe3 375
78a6ddfb 376=back
3ec37fe3 377
78a6ddfb
A
378=head1 Obituary
379
380XXX If any significant core contributor has died, we've added a short obituary
381here.
382
383=head1 Acknowledgements
3ec37fe3 384
78a6ddfb 385XXX Generate this with:
e1ad135d 386
78a6ddfb 387 perl Porting/acknowledgements.pl v5.23.9..HEAD
f5b73711 388
44691e6f
AB
389=head1 Reporting Bugs
390
e08634c5
SH
391If you find what you think is a bug, you might check the articles recently
392posted to the comp.lang.perl.misc newsgroup and the perl bug database at
fc4c3cec
RS
393L<https://rt.perl.org/> . There may also be information at
394L<http://www.perl.org/> , the Perl Home Page.
44691e6f 395
e08634c5
SH
396If you believe you have an unreported bug, please run the L<perlbug> program
397included with your release. Be sure to trim your bug down to a tiny but
398sufficient test case. Your bug report, along with the output of C<perl -V>,
399will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 400
87c118b9
DM
401If the bug you are reporting has security implications which make it
402inappropriate to send to a publicly archived mailing list, then see
403L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
404for details of how to report the issue.
44691e6f
AB
405
406=head1 SEE ALSO
407
e08634c5
SH
408The F<Changes> file for an explanation of how to view exhaustive details on
409what changed.
44691e6f
AB
410
411The F<INSTALL> file for how to build Perl.
412
413The F<README> file for general stuff.
414
415The F<Artistic> and F<Copying> files for copyright information.
416
417=cut