Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
054383b6 DG |
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.7 | |
eabfc7bc | 9 | |
2cfe9b50 | 10 | =head1 DESCRIPTION |
eabfc7bc | 11 | |
054383b6 | 12 | This document describes differences between the 5.23.6 release and the 5.23.7 |
2cfe9b50 | 13 | release. |
eabfc7bc | 14 | |
054383b6 DG |
15 | If you are upgrading from an earlier release such as 5.23.5, first read |
16 | L<perl5236delta>, which describes differences between 5.23.5 and 5.23.6. | |
f83db990 | 17 | |
054383b6 | 18 | =head1 Notice |
1d6d94ad | 19 | |
054383b6 | 20 | XXX Any important notices here |
394609a5 | 21 | |
054383b6 | 22 | =head1 Core Enhancements |
394609a5 | 23 | |
054383b6 DG |
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. | |
f83db990 | 27 | |
054383b6 | 28 | [ List each enhancement as a =head2 entry ] |
f83db990 | 29 | |
054383b6 | 30 | =head1 Security |
87e05d1a | 31 | |
7feb15ec | 32 | =head2 fix out of boundary access in Win32 path handling |
a8c28920 | 33 | |
7feb15ec RS |
34 | This is CVE-2015-8608. For more information see |
35 | L<[perl #126755]|https://rt.perl.org/Ticket/Display.html?id=126755> | |
36 | ||
37 | =head2 fix loss of taint in canonpath | |
38 | ||
39 | This is CVE-2015-8607. For more information see | |
40 | L<[perl #126862]|https://rt.perl.org/Ticket/Display.html?id=126862> | |
a8c28920 | 41 | |
054383b6 | 42 | =head1 Incompatible Changes |
a8c28920 | 43 | |
054383b6 | 44 | XXX For a release on a stable branch, this section aspires to be: |
a8c28920 | 45 | |
054383b6 DG |
46 | There are no changes intentionally incompatible with 5.XXX.XXX |
47 | If any exist, they are bugs, and we request that you submit a | |
48 | report. See L</Reporting Bugs> below. | |
a8c28920 | 49 | |
054383b6 | 50 | [ List each incompatible change as a =head2 entry ] |
a8c28920 | 51 | |
f1f6961f KW |
52 | =head2 C<qr/\b{wb}/> is now tailored to Perl expectations |
53 | ||
54 | This is now more suited to be a drop-in replacement for plain C<\b>, but | |
55 | giving better results for parsing natural language. Previously it | |
56 | strictly followed the current Unicode rules which calls for it to match | |
57 | between each white space character. Now it doesn't generally match | |
58 | within spans of white space, behaving like C<\b> does. See | |
59 | L<perlrebackslash/\b{wb}> | |
60 | ||
054383b6 | 61 | =head1 Deprecations |
a8c28920 | 62 | |
054383b6 | 63 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
a8c28920 | 64 | |
054383b6 | 65 | =head2 Module removals |
a8c28920 | 66 | |
054383b6 | 67 | XXX Remove this section if inapplicable. |
fd12b912 | 68 | |
054383b6 DG |
69 | The following modules will be removed from the core distribution in a |
70 | future release, and will at that time need to be installed from CPAN. | |
71 | Distributions on CPAN which require these modules will need to list them as | |
72 | prerequisites. | |
fd12b912 | 73 | |
054383b6 DG |
74 | The core versions of these modules will now issue C<"deprecated">-category |
75 | warnings to alert you to this fact. To silence these deprecation warnings, | |
76 | install the modules in question from CPAN. | |
2cb736dd | 77 | |
054383b6 DG |
78 | Note that these are (with rare exceptions) fine modules that you are encouraged |
79 | to continue to use. Their disinclusion from core primarily hinges on their | |
80 | necessity to bootstrapping a fully functional, CPAN-capable Perl installation, | |
81 | not usually on concerns over their design. | |
2cb736dd | 82 | |
054383b6 | 83 | =over |
2cb736dd | 84 | |
054383b6 | 85 | =item XXX |
fd12b912 | 86 | |
054383b6 DG |
87 | XXX Note that deprecated modules should be listed here even if they are listed |
88 | as an updated module in the L</Modules and Pragmata> section. | |
fd12b912 | 89 | |
054383b6 | 90 | =back |
d9d208b8 | 91 | |
054383b6 | 92 | [ List each other deprecation as a =head2 entry ] |
d9d208b8 | 93 | |
054383b6 | 94 | =head1 Performance Enhancements |
d9d208b8 | 95 | |
054383b6 DG |
96 | XXX Changes which enhance performance without changing behaviour go here. |
97 | There may well be none in a stable release. | |
d9d208b8 | 98 | |
054383b6 | 99 | [ List each enhancement as a =item entry ] |
d9d208b8 | 100 | |
054383b6 | 101 | =over 4 |
fd12b912 DG |
102 | |
103 | =item * | |
104 | ||
054383b6 | 105 | XXX |
1257ab89 | 106 | |
054383b6 | 107 | =back |
d9d208b8 | 108 | |
054383b6 | 109 | =head1 Modules and Pragmata |
1257ab89 | 110 | |
054383b6 DG |
111 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
112 | go here. If Module::CoreList is updated, generate an initial draft of the | |
113 | following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary | |
114 | for important changes should then be added by hand. In an ideal world, | |
115 | dual-life modules would have a F<Changes> file that could be cribbed. | |
e70037f2 | 116 | |
054383b6 | 117 | [ Within each section, list entries as a =item entry ] |
a8c28920 | 118 | |
054383b6 | 119 | =head2 New Modules and Pragmata |
fb733bf0 | 120 | |
054383b6 | 121 | =over 4 |
fd12b912 DG |
122 | |
123 | =item * | |
124 | ||
054383b6 | 125 | XXX |
fd12b912 | 126 | |
054383b6 | 127 | =back |
d9d208b8 | 128 | |
054383b6 | 129 | =head2 Updated Modules and Pragmata |
d9d208b8 | 130 | |
054383b6 | 131 | =over 4 |
d9d208b8 DG |
132 | |
133 | =item * | |
134 | ||
5d4cc497 | 135 | L<Module::CoreList> has been upgraded from version 5.20151220 to 5.20160120. |
fd12b912 | 136 | |
f909f9f7 JK |
137 | =item * |
138 | ||
139 | The F<cpan/podlators/> bundle has been upgraded from version 2.28 to 4.04. | |
140 | ||
054383b6 | 141 | =back |
d9d208b8 | 142 | |
054383b6 | 143 | =head2 Removed Modules and Pragmata |
d9d208b8 | 144 | |
054383b6 | 145 | =over 4 |
d9d208b8 DG |
146 | |
147 | =item * | |
148 | ||
054383b6 | 149 | XXX |
523c5db4 | 150 | |
054383b6 | 151 | =back |
d9d208b8 | 152 | |
054383b6 | 153 | =head1 Documentation |
d9d208b8 | 154 | |
054383b6 DG |
155 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
156 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
d9d208b8 | 157 | |
054383b6 | 158 | =head2 New Documentation |
d9d208b8 | 159 | |
054383b6 | 160 | XXX Changes which create B<new> files in F<pod/> go here. |
fd12b912 | 161 | |
054383b6 | 162 | =head3 L<XXX> |
fd12b912 | 163 | |
054383b6 | 164 | XXX Description of the purpose of the new file here |
fd12b912 | 165 | |
054383b6 | 166 | =head2 Changes to Existing Documentation |
fd12b912 | 167 | |
054383b6 DG |
168 | XXX Changes which significantly change existing files in F<pod/> go here. |
169 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
170 | section. | |
d9d208b8 | 171 | |
054383b6 | 172 | =head3 L<XXX> |
d9d208b8 | 173 | |
054383b6 | 174 | =over 4 |
d9d208b8 DG |
175 | |
176 | =item * | |
177 | ||
054383b6 | 178 | XXX Description of the change here |
fd12b912 | 179 | |
054383b6 | 180 | =back |
fd12b912 | 181 | |
054383b6 | 182 | =head1 Diagnostics |
fd12b912 | 183 | |
054383b6 DG |
184 | The following additions or changes have been made to diagnostic output, |
185 | including warnings and fatal error messages. For the complete list of | |
186 | diagnostic messages, see L<perldiag>. | |
fd12b912 | 187 | |
054383b6 DG |
188 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
189 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
d9d208b8 | 190 | |
054383b6 | 191 | =head2 New Diagnostics |
d9d208b8 | 192 | |
054383b6 DG |
193 | XXX Newly added diagnostic messages go under here, separated into New Errors |
194 | and New Warnings | |
fd12b912 | 195 | |
054383b6 | 196 | =head3 New Errors |
fd12b912 | 197 | |
054383b6 | 198 | =over 4 |
fd12b912 DG |
199 | |
200 | =item * | |
201 | ||
054383b6 | 202 | XXX L<message|perldiag/"message"> |
a8c28920 | 203 | |
6c83150b | 204 | =back |
a8c28920 | 205 | |
054383b6 | 206 | =head3 New Warnings |
d9d208b8 DG |
207 | |
208 | =over 4 | |
209 | ||
210 | =item * | |
211 | ||
054383b6 | 212 | XXX L<message|perldiag/"message"> |
d9d208b8 DG |
213 | |
214 | =back | |
215 | ||
054383b6 DG |
216 | =head2 Changes to Existing Diagnostics |
217 | ||
218 | XXX Changes (i.e. rewording) of diagnostic messages go here | |
a8c28920 | 219 | |
6c83150b | 220 | =over 4 |
a8c28920 A |
221 | |
222 | =item * | |
223 | ||
83677dc5 RS |
224 | Accessing the C<IO> part of a glob as C<FILEHANDLE> instead of C<IO> is no |
225 | longer deprecated. It is discouraged to encourage uniformity (so that, for | |
226 | example, one can grep more easily) but it will not be removed. [perl #127060] | |
d9d208b8 DG |
227 | |
228 | =back | |
229 | ||
054383b6 | 230 | =head1 Utility Changes |
d9d208b8 | 231 | |
054383b6 DG |
232 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. |
233 | Most of these are built within the directory F<utils>. | |
d9d208b8 | 234 | |
054383b6 DG |
235 | [ List utility changes as a =head2 entry for each utility and =item |
236 | entries for each change | |
237 | Use L<XXX> with program names to get proper documentation linking. ] | |
d9d208b8 | 238 | |
054383b6 | 239 | =head2 L<XXX> |
d9d208b8 DG |
240 | |
241 | =over 4 | |
242 | ||
243 | =item * | |
244 | ||
054383b6 | 245 | XXX |
a8c28920 | 246 | |
6c83150b | 247 | =back |
a8c28920 | 248 | |
054383b6 | 249 | =head1 Configuration and Compilation |
a8c28920 | 250 | |
054383b6 DG |
251 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
252 | go here. Any other changes to the Perl build process should be listed here. | |
253 | However, any platform-specific changes should be listed in the | |
254 | L</Platform Support> section, instead. | |
a8c28920 | 255 | |
054383b6 | 256 | [ List changes as a =item entry ]. |
a8c28920 | 257 | |
6c83150b | 258 | =over 4 |
a8c28920 | 259 | |
6c83150b | 260 | =item * |
a8c28920 | 261 | |
084f2f74 TC |
262 | F<Configure> no longer probes for F<libnm> by default. Originally |
263 | this was the "New Math" library, but the name has been re-used by the | |
264 | GNOME NetworkManager. [perl #127131] | |
29d76410 | 265 | |
b6af474d | 266 | =back |
f83db990 | 267 | |
054383b6 DG |
268 | =head1 Testing |
269 | ||
270 | XXX Any significant changes to the testing of a freshly built perl should be | |
271 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
272 | large changes to the testing harness (e.g. when parallel testing was added). | |
273 | Changes to existing files in F<t/> aren't worth summarizing, although the bugs | |
274 | that they represent may be covered elsewhere. | |
275 | ||
276 | [ List each test improvement as a =item entry ] | |
f83db990 | 277 | |
b26bd9b0 | 278 | =over 4 |
eabfc7bc | 279 | |
0dafb1ce | 280 | =item * |
eabfc7bc | 281 | |
054383b6 | 282 | XXX |
5ea25977 | 283 | |
b26bd9b0 | 284 | =back |
5ea25977 | 285 | |
6c83150b A |
286 | =head1 Platform Support |
287 | ||
054383b6 | 288 | XXX Any changes to platform support should be listed in the sections below. |
f282dc56 | 289 | |
054383b6 DG |
290 | [ Within the sections, list each platform as a =item entry with specific |
291 | changes as paragraphs below it. ] | |
cf73ceda | 292 | |
054383b6 | 293 | =head2 New Platforms |
0b8e4842 | 294 | |
054383b6 DG |
295 | XXX List any platforms that this version of perl compiles on, that previous |
296 | versions did not. These will either be enabled by new files in the F<hints/> | |
297 | directories, or new subdirectories and F<README> files at the top level of the | |
298 | source tree. | |
0517ed38 | 299 | |
6c83150b | 300 | =over 4 |
0517ed38 | 301 | |
054383b6 | 302 | =item XXX-some-platform |
b3d7d865 | 303 | |
054383b6 | 304 | XXX |
b3d7d865 | 305 | |
054383b6 | 306 | =back |
d9d208b8 | 307 | |
054383b6 | 308 | =head2 Discontinued Platforms |
48fbd301 | 309 | |
054383b6 | 310 | XXX List any platforms that this version of perl no longer compiles on. |
48fbd301 | 311 | |
054383b6 | 312 | =over 4 |
f4240379 | 313 | |
054383b6 | 314 | =item XXX-some-platform |
f4240379 | 315 | |
054383b6 | 316 | XXX |
6c83150b | 317 | |
1d6d94ad DG |
318 | =back |
319 | ||
054383b6 | 320 | =head2 Platform-Specific Notes |
6c83150b | 321 | |
054383b6 DG |
322 | XXX List any changes for specific platforms. This could include configuration |
323 | and compilation changes or changes in portability/compatibility. However, | |
324 | changes within modules for platforms should generally be listed in the | |
325 | L</Modules and Pragmata> section. | |
d89ea360 | 326 | |
054383b6 | 327 | =over 4 |
0efe3111 | 328 | |
054383b6 | 329 | =item XXX-some-platform |
0efe3111 | 330 | |
054383b6 | 331 | XXX |
206e921d | 332 | |
054383b6 | 333 | =back |
206e921d | 334 | |
054383b6 | 335 | =head1 Internal Changes |
d9d208b8 | 336 | |
054383b6 DG |
337 | XXX Changes which affect the interface available to C<XS> code go here. Other |
338 | significant internal changes for future core maintainers should be noted as | |
339 | well. | |
d9d208b8 | 340 | |
054383b6 | 341 | =over 4 |
d9d208b8 DG |
342 | |
343 | =item * | |
344 | ||
c52cb817 DD |
345 | The obscure C<PL_timesbuf> variable, effectively a vestige of Perl 1, has |
346 | been removed. It was documented as deprecated in Perl 5.20, with a statement | |
347 | that it would be removed early in the 5.21.x series; that has now finally | |
348 | happened. [perl #121351] | |
d9d208b8 | 349 | |
d89ea360 DD |
350 | =back |
351 | ||
b26bd9b0 | 352 | =head1 Selected Bug Fixes |
eabfc7bc | 353 | |
054383b6 DG |
354 | XXX Important bug fixes in the core language are summarized here. Bug fixes in |
355 | files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. | |
0efe3111 | 356 | |
054383b6 | 357 | [ List each fix as a =item entry ] |
a82f4918 | 358 | |
054383b6 | 359 | =over 4 |
a82f4918 | 360 | |
acedda6e TC |
361 | =item * |
362 | ||
bc5be890 RS |
363 | A regression that allowed undeclared barewords as hash keys to work despite |
364 | strictures has been fixed. [perl #126981] | |
365 | ||
366 | =item * | |
367 | ||
40204b1c TC |
368 | Calls to the placeholder C<&PL_sv_yes> used internally when an |
369 | import() or unimport() method isn't found now correctly handle scalar | |
370 | context. [perl #126042] | |
acedda6e | 371 | |
c7052e96 TC |
372 | =item * |
373 | ||
374 | Fixed some problems introduced in 5.23.2 with list assignment dealing | |
375 | with magic and XS functions returning their arguments. [perl #126633] | |
376 | ||
3c84cb84 TC |
377 | =item * |
378 | ||
379 | Report more context when we see an array where we expect to see an | |
388b5165 | 380 | operator and avoid an assertion failure. [perl #123737] |
3c84cb84 | 381 | |
d005d3c3 TC |
382 | =item * |
383 | ||
384 | Modifying an array that was previously a package C<@ISA> no longer | |
385 | causes assertion failures or crashes. [perl #123788] | |
386 | ||
054383b6 | 387 | =back |
079bf24b | 388 | |
054383b6 | 389 | =head1 Known Problems |
d43e55a3 | 390 | |
054383b6 DG |
391 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
392 | tests that had to be C<TODO>ed for the release would be noted here. Unfixed | |
393 | platform specific bugs also go here. | |
d43e55a3 | 394 | |
054383b6 | 395 | [ List each fix as a =item entry ] |
e685831a | 396 | |
054383b6 | 397 | =over 4 |
e685831a | 398 | |
0701ff00 JH |
399 | =item * |
400 | ||
054383b6 | 401 | XXX |
0701ff00 | 402 | |
054383b6 | 403 | =back |
d9d208b8 | 404 | |
054383b6 DG |
405 | =head1 Errata From Previous Releases |
406 | ||
407 | =over 4 | |
d9d208b8 | 408 | |
d66eeb14 KW |
409 | =item * |
410 | ||
054383b6 DG |
411 | XXX Add anything here that we forgot to add, or were mistaken about, in |
412 | the perldelta of a previous release. | |
5a74572e | 413 | |
6c83150b | 414 | =back |
5a74572e | 415 | |
054383b6 | 416 | =head1 Obituary |
e1ad135d | 417 | |
054383b6 DG |
418 | XXX If any significant core contributor has died, we've added a short obituary |
419 | here. | |
e1ad135d | 420 | |
054383b6 | 421 | =head1 Acknowledgements |
e1ad135d | 422 | |
054383b6 | 423 | XXX Generate this with: |
e1ad135d | 424 | |
054383b6 | 425 | perl Porting/acknowledgements.pl v5.23.6..HEAD |
f5b73711 | 426 | |
44691e6f AB |
427 | =head1 Reporting Bugs |
428 | ||
e08634c5 SH |
429 | If you find what you think is a bug, you might check the articles recently |
430 | posted to the comp.lang.perl.misc newsgroup and the perl bug database at | |
fc4c3cec RS |
431 | L<https://rt.perl.org/> . There may also be information at |
432 | L<http://www.perl.org/> , the Perl Home Page. | |
44691e6f | 433 | |
e08634c5 SH |
434 | If you believe you have an unreported bug, please run the L<perlbug> program |
435 | included with your release. Be sure to trim your bug down to a tiny but | |
436 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
437 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. | |
44691e6f AB |
438 | |
439 | If the bug you are reporting has security implications, which make it | |
e08634c5 SH |
440 | inappropriate to send to a publicly archived mailing list, then please send it |
441 | to perl5-security-report@perl.org. This points to a closed subscription | |
442 | unarchived mailing list, which includes all the core committers, who will be | |
443 | able to help assess the impact of issues, figure out a resolution, and help | |
f9001595 | 444 | co-ordinate the release of patches to mitigate or fix the problem across all |
e08634c5 SH |
445 | platforms on which Perl is supported. Please only use this address for |
446 | security issues in the Perl core, not for modules independently distributed on | |
447 | CPAN. | |
44691e6f AB |
448 | |
449 | =head1 SEE ALSO | |
450 | ||
e08634c5 SH |
451 | The F<Changes> file for an explanation of how to view exhaustive details on |
452 | what changed. | |
44691e6f AB |
453 | |
454 | The F<INSTALL> file for how to build Perl. | |
455 | ||
456 | The F<README> file for general stuff. | |
457 | ||
458 | The F<Artistic> and F<Copying> files for copyright information. | |
459 | ||
460 | =cut |