This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
uni/lex_utf8.t: Generalize for EBCDIC platforms
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
a43707ab
MH
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.3
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
a43707ab 12This document describes differences between the 5.23.2 release and the 5.23.3
2cfe9b50 13release.
eabfc7bc 14
a43707ab
MH
15If you are upgrading from an earlier release such as 5.23.1, first read
16L<perl5232delta>, which describes differences between 5.23.1 and 5.23.2.
cf73ceda 17
a43707ab
MH
18=head1 Notice
19
20XXX Any important notices here
21
22=head1 Core Enhancements
23
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.
27
28[ List each enhancement as a =head2 entry ]
29
a0bd1a30
KW
30=head2 C<qr/(?[ ])/> now works in UTF-8 locales
31
32L<Extended Bracketed Character Classes|perlrecharclass/Extended Bracketed Character Classes>
33now will successfully compile when S<C<use locale>> is in effect. The compiled
34pattern will use standard Unicode rules. If the runtime locale is not a
35UTF-8 one, a warning is raised and standard Unicode rules are used
36anyway. No tainting is done since the outcome does not actually depend
37on the locale.
38
a43707ab 39=head1 Security
deaaea8c 40
a43707ab
MH
41XXX Any security-related notices go here. In particular, any security
42vulnerabilities closed should be noted here rather than in the
43L</Selected Bug Fixes> section.
deaaea8c 44
a43707ab 45[ List each security issue as a =head2 entry ]
deaaea8c 46
a43707ab 47=head1 Incompatible Changes
deaaea8c 48
a43707ab 49XXX For a release on a stable branch, this section aspires to be:
fb7e9cdd 50
a43707ab
MH
51 There are no changes intentionally incompatible with 5.XXX.XXX
52 If any exist, they are bugs, and we request that you submit a
53 report. See L</Reporting Bugs> below.
fb7e9cdd 54
a43707ab 55[ List each incompatible change as a =head2 entry ]
deaaea8c 56
cf73ceda 57=head1 Deprecations
7d380357 58
a43707ab
MH
59XXX Any deprecated features, syntax, modules etc. should be listed here.
60
61=head2 Module removals
62
63XXX Remove this section if inapplicable.
64
65The following modules will be removed from the core distribution in a
66future release, and will at that time need to be installed from CPAN.
67Distributions on CPAN which require these modules will need to list them as
68prerequisites.
0ba9d88c 69
a43707ab
MH
70The core versions of these modules will now issue C<"deprecated">-category
71warnings to alert you to this fact. To silence these deprecation warnings,
72install the modules in question from CPAN.
0ba9d88c 73
a43707ab
MH
74Note that these are (with rare exceptions) fine modules that you are encouraged
75to continue to use. Their disinclusion from core primarily hinges on their
76necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
77not usually on concerns over their design.
0ba9d88c 78
a43707ab 79=over
0ba9d88c 80
a43707ab
MH
81=item XXX
82
83XXX Note that deprecated modules should be listed here even if they are listed
84as an updated module in the L</Modules and Pragmata> section.
85
86=back
87
88[ List each other deprecation as a =head2 entry ]
0ba9d88c 89
cf73ceda
MH
90=head1 Performance Enhancements
91
a43707ab
MH
92XXX Changes which enhance performance without changing behaviour go here.
93There may well be none in a stable release.
fc4c3cec 94
a43707ab 95[ List each enhancement as a =item entry ]
fc4c3cec 96
a43707ab 97=over 4
fc4c3cec 98
80e86009
MH
99=item *
100
a43707ab 101XXX
80e86009 102
cf73ceda 103=back
fc4c3cec 104
cf73ceda 105=head1 Modules and Pragmata
fc4c3cec 106
a43707ab
MH
107XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
108go here. If Module::CoreList is updated, generate an initial draft of the
109following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
110for important changes should then be added by hand. In an ideal world,
111dual-life modules would have a F<Changes> file that could be cribbed.
112
113[ Within each section, list entries as a =item entry ]
114
115=head2 New Modules and Pragmata
5ea25977
MH
116
117=over 4
fc4c3cec 118
5ea25977 119=item *
fc4c3cec 120
a43707ab 121XXX
fc4c3cec 122
a43707ab 123=back
eabfc7bc 124
a43707ab 125=head2 Updated Modules and Pragmata
eabfc7bc 126
a43707ab 127=over 4
eabfc7bc 128
5ea25977 129=item *
eabfc7bc 130
a43707ab 131L<XXX> has been upgraded from version A.xx to B.yy.
cf73ceda 132
a43707ab
MH
133=back
134
135=head2 Removed Modules and Pragmata
5ea25977 136
a43707ab 137=over 4
eabfc7bc 138
73d6481e 139=item *
eabfc7bc 140
a43707ab 141XXX
80e86009 142
a43707ab 143=back
5ea25977 144
a43707ab 145=head1 Documentation
80e86009 146
a43707ab
MH
147XXX Changes to files in F<pod/> go here. Consider grouping entries by
148file and be sure to link to the appropriate page, e.g. L<perlfunc>.
80e86009 149
a43707ab 150=head2 New Documentation
5ea25977 151
a43707ab 152XXX Changes which create B<new> files in F<pod/> go here.
5ea25977 153
a43707ab 154=head3 L<XXX>
0dd5b0dc 155
a43707ab
MH
156XXX Description of the purpose of the new file here
157
158=head2 Changes to Existing Documentation
159
160XXX Changes which significantly change existing files in F<pod/> go here.
161However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
162section.
163
164=head3 L<XXX>
0dd5b0dc 165
a43707ab 166=over 4
356231b0
SH
167
168=item *
169
a43707ab 170XXX Description of the change here
a2373b32 171
a43707ab 172=back
eabfc7bc 173
a43707ab 174=head1 Diagnostics
cf73ceda 175
a43707ab
MH
176The following additions or changes have been made to diagnostic output,
177including warnings and fatal error messages. For the complete list of
178diagnostic messages, see L<perldiag>.
eabfc7bc 179
a43707ab
MH
180XXX New or changed warnings emitted by the core's C<C> code go here. Also
181include any changes in L<perldiag> that reconcile it to the C<C> code.
eabfc7bc 182
a43707ab 183=head2 New Diagnostics
eabfc7bc 184
a43707ab
MH
185XXX Newly added diagnostic messages go under here, separated into New Errors
186and New Warnings
5ea25977 187
a43707ab 188=head3 New Errors
5ea25977 189
a43707ab 190=over 4
5ea25977
MH
191
192=item *
193
a43707ab
MH
194XXX L<message|perldiag/"message">
195
196=back
197
198=head3 New Warnings
199
200=over 4
5ea25977
MH
201
202=item *
203
a43707ab 204XXX L<message|perldiag/"message">
dc013420 205
cf73ceda 206=back
dc013420 207
a43707ab 208=head2 Changes to Existing Diagnostics
eabfc7bc 209
a43707ab 210XXX Changes (i.e. rewording) of diagnostic messages go here
6962a25d 211
80e86009 212=over 4
f282dc56 213
80e86009 214=item *
f282dc56 215
a43707ab 216XXX Describe change here
f282dc56 217
80e86009 218=back
f282dc56 219
a43707ab
MH
220=head1 Utility Changes
221
222XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
223Most of these are built within the directory F<utils>.
224
225[ List utility changes as a =head2 entry for each utility and =item
226entries for each change
227Use L<XXX> with program names to get proper documentation linking. ]
228
229=head2 L<XXX>
f282dc56 230
cf73ceda 231=over 4
f282dc56
MH
232
233=item *
234
a43707ab 235XXX
cf73ceda
MH
236
237=back
238
a43707ab 239=head1 Configuration and Compilation
cf73ceda 240
a43707ab
MH
241XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
242go here. Any other changes to the Perl build process should be listed here.
243However, any platform-specific changes should be listed in the
244L</Platform Support> section, instead.
cf73ceda 245
a43707ab 246[ List changes as a =item entry ].
cf73ceda
MH
247
248=over 4
f282dc56
MH
249
250=item *
251
a43707ab 252XXX
cf73ceda
MH
253
254=back
255
a43707ab
MH
256=head1 Testing
257
258XXX Any significant changes to the testing of a freshly built perl should be
259listed here. Changes which create B<new> files in F<t/> go here as do any
260large changes to the testing harness (e.g. when parallel testing was added).
261Changes to existing files in F<t/> aren't worth summarizing, although the bugs
262that they represent may be covered elsewhere.
263
264[ List each test improvement as a =item entry ]
cf73ceda
MH
265
266=over 4
f282dc56
MH
267
268=item *
269
a43707ab 270XXX
cf73ceda 271
a43707ab 272=back
cf73ceda 273
a43707ab 274=head1 Platform Support
6962a25d 275
a43707ab 276XXX Any changes to platform support should be listed in the sections below.
0b8e4842 277
a43707ab
MH
278[ Within the sections, list each platform as a =item entry with specific
279changes as paragraphs below it. ]
cf73ceda 280
a43707ab 281=head2 New Platforms
cf73ceda 282
a43707ab
MH
283XXX List any platforms that this version of perl compiles on, that previous
284versions did not. These will either be enabled by new files in the F<hints/>
285directories, or new subdirectories and F<README> files at the top level of the
286source tree.
cf73ceda
MH
287
288=over 4
0b8e4842 289
a43707ab 290=item XXX-some-platform
eabfc7bc 291
a43707ab 292XXX
cf73ceda
MH
293
294=back
295
a43707ab
MH
296=head2 Discontinued Platforms
297
298XXX List any platforms that this version of perl no longer compiles on.
cf73ceda 299
cf73ceda 300=over 4
374c951f 301
a43707ab 302=item XXX-some-platform
374c951f 303
a43707ab 304XXX
e586de20 305
fc4c3cec 306=back
e586de20 307
a43707ab
MH
308=head2 Platform-Specific Notes
309
310XXX List any changes for specific platforms. This could include configuration
311and compilation changes or changes in portability/compatibility. However,
312changes within modules for platforms should generally be listed in the
313L</Modules and Pragmata> section.
b7b593d8 314
fc4c3cec 315=over 4
4b951711 316
a43707ab 317=item XXX-some-platform
4b951711 318
a43707ab 319XXX
cf73ceda 320
2cfe9b50 321=back
eabfc7bc 322
fc4c3cec
RS
323=head1 Internal Changes
324
a43707ab
MH
325XXX Changes which affect the interface available to C<XS> code go here. Other
326significant internal changes for future core maintainers should be noted as
327well.
cf73ceda 328
a43707ab 329[ List each change as a =item entry ]
cf73ceda 330
a43707ab 331=over 4
eabfc7bc
RS
332
333=item *
334
a43707ab 335XXX
eabfc7bc 336
fc4c3cec 337=back
302ef3d4 338
fc4c3cec 339=head1 Selected Bug Fixes
302ef3d4 340
a43707ab
MH
341XXX Important bug fixes in the core language are summarized here. Bug fixes in
342files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
343
344[ List each fix as a =item entry ]
345
fc4c3cec 346=over 4
eabfc7bc 347
73d6481e 348=item *
eabfc7bc 349
e7bc5934 350C<qr/(?[ () ])/> no longer segfaults, giving a syntax error message instead.
e0be3f06 351[perl #125805]
cf73ceda 352
9a7bb2f7
KW
353=item *
354
6a475a49 355Regular expression possessive quantifier v5.20 regression now fixed.
9a7bb2f7
KW
356C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically
357to C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>. Since v5.20, this didn't
358work if I<min> and I<max> were equal. [perl #125825]
359
3160b44a
TC
360=item *
361
362C<< BEGIN <> >> no longer segfaults and properly produces an error
363message. [perl #125341]
364
a43707ab 365=back
89afeb47 366
a43707ab 367=head1 Known Problems
89afeb47 368
a43707ab
MH
369XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
370tests that had to be C<TODO>ed for the release would be noted here. Unfixed
371platform specific bugs also go here.
89afeb47 372
a43707ab
MH
373[ List each fix as a =item entry ]
374
375=over 4
f282dc56 376
cf73ceda 377=item *
f282dc56 378
a43707ab 379XXX
f282dc56 380
cf73ceda 381=back
f282dc56 382
a43707ab 383=head1 Errata From Previous Releases
f282dc56 384
a43707ab
MH
385=over 4
386
387=item *
5ea25977 388
a43707ab
MH
389XXX Add anything here that we forgot to add, or were mistaken about, in
390the perldelta of a previous release.
5ea25977 391
a43707ab
MH
392=back
393
394=head1 Obituary
5ea25977 395
a43707ab
MH
396XXX If any significant core contributor has died, we've added a short obituary
397here.
5ea25977 398
a43707ab 399=head1 Acknowledgements
5ea25977 400
a43707ab 401XXX Generate this with:
2cfe9b50 402
a43707ab 403 perl Porting/acknowledgements.pl v5.23.2..HEAD
f5b73711 404
44691e6f
AB
405=head1 Reporting Bugs
406
e08634c5
SH
407If you find what you think is a bug, you might check the articles recently
408posted to the comp.lang.perl.misc newsgroup and the perl bug database at
fc4c3cec
RS
409L<https://rt.perl.org/> . There may also be information at
410L<http://www.perl.org/> , the Perl Home Page.
44691e6f 411
e08634c5
SH
412If you believe you have an unreported bug, please run the L<perlbug> program
413included with your release. Be sure to trim your bug down to a tiny but
414sufficient test case. Your bug report, along with the output of C<perl -V>,
415will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
416
417If the bug you are reporting has security implications, which make it
e08634c5
SH
418inappropriate to send to a publicly archived mailing list, then please send it
419to perl5-security-report@perl.org. This points to a closed subscription
420unarchived mailing list, which includes all the core committers, who will be
421able to help assess the impact of issues, figure out a resolution, and help
f9001595 422co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
423platforms on which Perl is supported. Please only use this address for
424security issues in the Perl core, not for modules independently distributed on
425CPAN.
44691e6f
AB
426
427=head1 SEE ALSO
428
e08634c5
SH
429The F<Changes> file for an explanation of how to view exhaustive details on
430what changed.
44691e6f
AB
431
432The F<INSTALL> file for how to build Perl.
433
434The F<README> file for general stuff.
435
436The F<Artistic> and F<Copying> files for copyright information.
437
438=cut