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