Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
5a6a30f4 CBW |
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.17.10 | |
e128ab2c | 9 | |
4eabcf70 | 10 | =head1 DESCRIPTION |
6db9054f | 11 | |
5a6a30f4 | 12 | This document describes differences between the 5.17.9 release and the 5.17.10 |
e08634c5 | 13 | release. |
6db9054f | 14 | |
5a6a30f4 CBW |
15 | If you are upgrading from an earlier release such as 5.17.8, first read |
16 | L<perl5179delta>, which describes differences between 5.17.8 and 5.17.9. | |
3f01b192 | 17 | |
5a6a30f4 | 18 | =head1 Notice |
3f01b192 | 19 | |
5a6a30f4 | 20 | XXX Any important notices here |
3f01b192 | 21 | |
5a6a30f4 | 22 | =head1 Core Enhancements |
3f01b192 | 23 | |
5a6a30f4 CBW |
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. | |
3f01b192 | 27 | |
5a6a30f4 | 28 | [ List each enhancement as a =head2 entry ] |
3f01b192 | 29 | |
5a6a30f4 | 30 | =head1 Security |
3f01b192 | 31 | |
5a6a30f4 CBW |
32 | XXX Any security-related notices go here. In particular, any security |
33 | vulnerabilities closed should be noted here rather than in the | |
34 | L</Selected Bug Fixes> section. | |
3f01b192 | 35 | |
5a6a30f4 | 36 | [ List each security issue as a =head2 entry ] |
3f01b192 | 37 | |
5a6a30f4 | 38 | =head1 Incompatible Changes |
3f01b192 | 39 | |
32833930 BF |
40 | =head2 Explicit rules for variable names and identifiers |
41 | ||
42 | Due to an oversight, length-one variable names in 5.16 were completely | |
43 | unrestricted, and opened the door to several kinds of insanity. As of | |
44 | 5.18, these now follow the rules of other identifiers, in addition | |
45 | to accepting characters that match the \p{POSIX_Punct} property. | |
46 | ||
07f72646 BF |
47 | There are no longer any differences in the parsing of identifiers specified |
48 | as $... or ${...}; previously, they were dealt with in different parts of | |
49 | the core, and so had slightly different behavior. For instance, | |
50 | C<${foo:bar}> was a legal variable name. Since they are now both parsed | |
51 | by the same code, that is no longer the case. | |
3f01b192 | 52 | |
5a6a30f4 | 53 | [ List each incompatible change as a =head2 entry ] |
3f01b192 | 54 | |
5a6a30f4 | 55 | =head1 Deprecations |
3f01b192 | 56 | |
5a6a30f4 CBW |
57 | XXX Any deprecated features, syntax, modules etc. should be listed here. In |
58 | particular, deprecated modules should be listed here even if they are listed as | |
59 | an updated module in the L</Modules and Pragmata> section. | |
3f01b192 | 60 | |
5a6a30f4 | 61 | [ List each deprecation as a =head2 entry ] |
3f01b192 | 62 | |
d7a08570 S |
63 | =head2 PL_sv_objcount |
64 | ||
65 | This interpreter-global variable used to track the total number of | |
66 | Perl objects in the interpreter. It is no longer maintained and will | |
67 | be removed altogether in Perl 5.20. | |
68 | ||
5a6a30f4 | 69 | =head1 Performance Enhancements |
3f01b192 | 70 | |
5a6a30f4 CBW |
71 | XXX Changes which enhance performance without changing behaviour go here. |
72 | There may well be none in a stable release. | |
3f01b192 | 73 | |
5a6a30f4 | 74 | [ List each enhancement as a =item entry ] |
3f01b192 | 75 | |
5a6a30f4 | 76 | =over 4 |
3f01b192 | 77 | |
5a6a30f4 | 78 | =item * |
3f01b192 | 79 | |
5a6a30f4 | 80 | XXX |
3f01b192 CBW |
81 | |
82 | =back | |
83 | ||
5a6a30f4 | 84 | =head1 Modules and Pragmata |
3f01b192 | 85 | |
5a6a30f4 CBW |
86 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
87 | go here. If Module::CoreList is updated, generate an initial draft of the | |
88 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
89 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
90 | below. A paragraph summary for important changes should then be added by hand. | |
91 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
92 | cribbed. | |
ff56e4f1 | 93 | |
5a6a30f4 | 94 | [ Within each section, list entries as a =item entry ] |
19718730 | 95 | |
19718730 | 96 | =head2 New Modules and Pragmata |
751611d4 | 97 | |
6253ee75 | 98 | =over 4 |
751611d4 FC |
99 | |
100 | =item * | |
101 | ||
5a6a30f4 | 102 | XXX |
751611d4 | 103 | |
19718730 | 104 | =back |
86148eee | 105 | |
19718730 AC |
106 | =head2 Updated Modules and Pragmata |
107 | ||
108 | =over 4 | |
7a7a10c7 | 109 | |
e14ac59b | 110 | =item * |
7a7a10c7 | 111 | |
a2656c4a DM |
112 | L<Benchmark> has been upgraded from version 1.14 to 1.15. |
113 | ||
114 | This reverts (for now) a change in 1.14 whereby the "too few iterations" | |
115 | message became a warning on STDERR instead of being output on STDOUT. It's | |
116 | now on STDOUT again. | |
2426c394 | 117 | |
5a6a30f4 | 118 | =back |
2426c394 | 119 | |
5a6a30f4 | 120 | =head2 Removed Modules and Pragmata |
2426c394 | 121 | |
5a6a30f4 | 122 | =over 4 |
2426c394 CBW |
123 | |
124 | =item * | |
125 | ||
5a6a30f4 | 126 | XXX |
2426c394 | 127 | |
5a6a30f4 | 128 | =back |
2426c394 | 129 | |
5a6a30f4 | 130 | =head1 Documentation |
2426c394 | 131 | |
5a6a30f4 CBW |
132 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
133 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
2426c394 | 134 | |
5a6a30f4 | 135 | =head2 New Documentation |
2426c394 | 136 | |
5a6a30f4 | 137 | XXX Changes which create B<new> files in F<pod/> go here. |
2426c394 | 138 | |
5a6a30f4 | 139 | =head3 L<XXX> |
2426c394 | 140 | |
5a6a30f4 | 141 | XXX Description of the purpose of the new file here |
2426c394 | 142 | |
5a6a30f4 | 143 | =head2 Changes to Existing Documentation |
2426c394 | 144 | |
5a6a30f4 CBW |
145 | XXX Changes which significantly change existing files in F<pod/> go here. |
146 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
147 | section. | |
2426c394 | 148 | |
2171640d | 149 | =head3 L<perlrebackslash/\N> |
2426c394 | 150 | |
5a6a30f4 | 151 | =over 4 |
2426c394 CBW |
152 | |
153 | =item * | |
154 | ||
2171640d | 155 | This feature is no longer experimental. |
2426c394 | 156 | |
5a6a30f4 | 157 | =back |
e58c5aaf | 158 | |
5a6a30f4 | 159 | =head1 Diagnostics |
7a7a10c7 | 160 | |
5a6a30f4 CBW |
161 | The following additions or changes have been made to diagnostic output, |
162 | including warnings and fatal error messages. For the complete list of | |
163 | diagnostic messages, see L<perldiag>. | |
2426c394 | 164 | |
5a6a30f4 CBW |
165 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
166 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
2426c394 | 167 | |
5a6a30f4 | 168 | =head2 New Diagnostics |
2426c394 | 169 | |
5a6a30f4 CBW |
170 | XXX Newly added diagnostic messages go under here, separated into New Errors |
171 | and New Warnings | |
2426c394 | 172 | |
5a6a30f4 | 173 | =head3 New Errors |
2426c394 | 174 | |
5a6a30f4 | 175 | =over 4 |
2426c394 CBW |
176 | |
177 | =item * | |
178 | ||
5a6a30f4 | 179 | XXX L<message|perldiag/"message"> |
2426c394 | 180 | |
5a6a30f4 | 181 | =back |
2426c394 | 182 | |
5a6a30f4 | 183 | =head3 New Warnings |
2426c394 | 184 | |
5a6a30f4 | 185 | =over 4 |
2426c394 CBW |
186 | |
187 | =item * | |
188 | ||
5a6a30f4 | 189 | XXX L<message|perldiag/"message"> |
2426c394 | 190 | |
5a6a30f4 | 191 | =back |
2426c394 | 192 | |
5a6a30f4 | 193 | =head2 Changes to Existing Diagnostics |
2426c394 | 194 | |
5a6a30f4 | 195 | XXX Changes (i.e. rewording) of diagnostic messages go here |
2426c394 | 196 | |
5a6a30f4 | 197 | =over 4 |
2426c394 CBW |
198 | |
199 | =item * | |
200 | ||
5a6a30f4 | 201 | XXX Describe change here |
2426c394 | 202 | |
5a6a30f4 | 203 | =back |
2426c394 | 204 | |
5a6a30f4 | 205 | =head1 Utility Changes |
2426c394 | 206 | |
5a6a30f4 CBW |
207 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. |
208 | Most of these are built within the directories F<utils> and F<x2p>. | |
2426c394 | 209 | |
5a6a30f4 CBW |
210 | [ List utility changes as a =head3 entry for each utility and =item |
211 | entries for each change | |
212 | Use L<XXX> with program names to get proper documentation linking. ] | |
2426c394 | 213 | |
5a6a30f4 | 214 | =head3 L<XXX> |
2426c394 | 215 | |
5a6a30f4 | 216 | =over 4 |
2426c394 CBW |
217 | |
218 | =item * | |
219 | ||
5a6a30f4 | 220 | XXX |
2426c394 | 221 | |
19718730 AC |
222 | =back |
223 | ||
5a6a30f4 | 224 | =head1 Configuration and Compilation |
11e375e0 | 225 | |
5a6a30f4 CBW |
226 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
227 | go here. Any other changes to the Perl build process should be listed here. | |
228 | However, any platform-specific changes should be listed in the | |
229 | L</Platform Support> section, instead. | |
19718730 | 230 | |
5a6a30f4 | 231 | [ List changes as a =item entry ]. |
19718730 AC |
232 | |
233 | =over 4 | |
dd4b1c75 AC |
234 | |
235 | =item * | |
236 | ||
5a6a30f4 | 237 | XXX |
cb077ed2 | 238 | |
5d8c8c8a | 239 | =back |
5f877a7f | 240 | |
5a6a30f4 | 241 | =head1 Testing |
e14ac59b | 242 | |
5a6a30f4 CBW |
243 | XXX Any significant changes to the testing of a freshly built perl should be |
244 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
245 | large changes to the testing harness (e.g. when parallel testing was added). | |
246 | Changes to existing files in F<t/> aren't worth summarizing, although the bugs | |
247 | that they represent may be covered elsewhere. | |
1ea91bbe | 248 | |
5a6a30f4 | 249 | [ List each test improvement as a =item entry ] |
19718730 AC |
250 | |
251 | =over 4 | |
5e0a247b KW |
252 | |
253 | =item * | |
254 | ||
5a6a30f4 | 255 | XXX |
19718730 AC |
256 | |
257 | =back | |
258 | ||
5a6a30f4 | 259 | =head1 Platform Support |
8b877d20 | 260 | |
5a6a30f4 | 261 | XXX Any changes to platform support should be listed in the sections below. |
19718730 | 262 | |
5a6a30f4 CBW |
263 | [ Within the sections, list each platform as a =item entry with specific |
264 | changes as paragraphs below it. ] | |
19718730 | 265 | |
5a6a30f4 | 266 | =head2 New Platforms |
19718730 | 267 | |
5a6a30f4 CBW |
268 | XXX List any platforms that this version of perl compiles on, that previous |
269 | versions did not. These will either be enabled by new files in the F<hints/> | |
270 | directories, or new subdirectories and F<README> files at the top level of the | |
271 | source tree. | |
19718730 AC |
272 | |
273 | =over 4 | |
e078d89d | 274 | |
5a6a30f4 | 275 | =item XXX-some-platform |
09a49503 | 276 | |
5a6a30f4 | 277 | XXX |
09a49503 | 278 | |
6253ee75 | 279 | =back |
e078d89d | 280 | |
5a6a30f4 | 281 | =head2 Discontinued Platforms |
19718730 | 282 | |
5a6a30f4 | 283 | XXX List any platforms that this version of perl no longer compiles on. |
e078d89d | 284 | |
5a6a30f4 | 285 | =over 4 |
b7c7d786 | 286 | |
5a6a30f4 | 287 | =item XXX-some-platform |
d2d1e842 | 288 | |
5a6a30f4 | 289 | XXX |
d2d1e842 | 290 | |
5a6a30f4 | 291 | =back |
d2d1e842 | 292 | |
5a6a30f4 | 293 | =head2 Platform-Specific Notes |
d2d1e842 | 294 | |
5a6a30f4 CBW |
295 | XXX List any changes for specific platforms. This could include configuration |
296 | and compilation changes or changes in portability/compatibility. However, | |
297 | changes within modules for platforms should generally be listed in the | |
298 | L</Modules and Pragmata> section. | |
d2d1e842 | 299 | |
5a6a30f4 | 300 | =over 4 |
b9214e65 | 301 | |
5a6a30f4 | 302 | =item XXX-some-platform |
b9214e65 | 303 | |
5a6a30f4 | 304 | XXX |
f355e93d | 305 | |
5a6a30f4 | 306 | =back |
f355e93d | 307 | |
5a6a30f4 | 308 | =head1 Internal Changes |
19718730 | 309 | |
5a6a30f4 CBW |
310 | XXX Changes which affect the interface available to C<XS> code go here. Other |
311 | significant internal changes for future core maintainers should be noted as | |
312 | well. | |
19718730 | 313 | |
5a6a30f4 | 314 | [ List each change as a =item entry ] |
19718730 | 315 | |
19718730 | 316 | =over 4 |
e14ac59b | 317 | |
fdea6f98 FC |
318 | =item * |
319 | ||
9f351b45 | 320 | The new copy-on-write mechanism that was introduced in 5.17.7 has now been |
e8aa73ce | 321 | disabled by default, since it was felt that there were too many rough |
9f351b45 DM |
322 | edges for the 5.18 release. It is expected that it will be enabled by |
323 | default for 5.20. | |
324 | ||
325 | This change also re-enables PL_sawampersand by default. | |
326 | ||
327 | It can be enabled in a perl build by running F<Configure> with | |
328 | B<-Accflags=-DPERL_NEW_COPY_ON_WRITE>, and we would encourage XS authors to | |
329 | try their code with such an enabled perl, and provide feedback. | |
330 | XXX need blurb, e.g. a reference to a new section in perlguts or perlxs | |
331 | explaining how XS authors should handle COW strings. | |
332 | ||
fdea6f98 | 333 | |
6253ee75 | 334 | =back |
7cf3104f | 335 | |
5a6a30f4 | 336 | =head1 Selected Bug Fixes |
8a987e1a | 337 | |
5a6a30f4 CBW |
338 | XXX Important bug fixes in the core language are summarized here. Bug fixes in |
339 | files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. | |
785fb813 | 340 | |
5a6a30f4 | 341 | [ List each fix as a =item entry ] |
f5778209 | 342 | |
6253ee75 | 343 | =over 4 |
f5778209 | 344 | |
216cf7fc DR |
345 | =item * |
346 | ||
a7cf6621 RS |
347 | Fix two crashes in the debugger when using Frame=2 or autotrace. These are |
348 | [perl #116769] and [perl #116771]. | |
12719193 | 349 | |
6253ee75 | 350 | =back |
216cf7fc | 351 | |
5a6a30f4 | 352 | =head1 Known Problems |
216cf7fc | 353 | |
5a6a30f4 CBW |
354 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
355 | tests that had to be C<TODO>ed for the release would be noted here. Unfixed | |
356 | platform specific bugs also go here. | |
d76c0f4b | 357 | |
5a6a30f4 | 358 | [ List each fix as a =item entry ] |
d76c0f4b | 359 | |
5a6a30f4 | 360 | =over 4 |
b9214e65 | 361 | |
250ef6a9 KW |
362 | =item * |
363 | ||
5a6a30f4 | 364 | XXX |
250ef6a9 | 365 | |
5a6a30f4 | 366 | =back |
250ef6a9 | 367 | |
5a6a30f4 | 368 | =head1 Obituary |
250ef6a9 | 369 | |
5a6a30f4 CBW |
370 | XXX If any significant core contributor has died, we've added a short obituary |
371 | here. | |
6c042f06 | 372 | |
19718730 | 373 | =head1 Acknowledgements |
f5b73711 | 374 | |
5a6a30f4 CBW |
375 | XXX Generate this with: |
376 | ||
377 | perl Porting/acknowledgements.pl v5.17.9..HEAD | |
f5b73711 | 378 | |
44691e6f AB |
379 | =head1 Reporting Bugs |
380 | ||
e08634c5 SH |
381 | If you find what you think is a bug, you might check the articles recently |
382 | posted to the comp.lang.perl.misc newsgroup and the perl bug database at | |
383 | http://rt.perl.org/perlbug/ . There may also be information at | |
384 | http://www.perl.org/ , the Perl Home Page. | |
44691e6f | 385 | |
e08634c5 SH |
386 | If you believe you have an unreported bug, please run the L<perlbug> program |
387 | included with your release. Be sure to trim your bug down to a tiny but | |
388 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
389 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. | |
44691e6f AB |
390 | |
391 | If the bug you are reporting has security implications, which make it | |
e08634c5 SH |
392 | inappropriate to send to a publicly archived mailing list, then please send it |
393 | to perl5-security-report@perl.org. This points to a closed subscription | |
394 | unarchived mailing list, which includes all the core committers, who will be | |
395 | able to help assess the impact of issues, figure out a resolution, and help | |
f9001595 | 396 | co-ordinate the release of patches to mitigate or fix the problem across all |
e08634c5 SH |
397 | platforms on which Perl is supported. Please only use this address for |
398 | security issues in the Perl core, not for modules independently distributed on | |
399 | CPAN. | |
44691e6f AB |
400 | |
401 | =head1 SEE ALSO | |
402 | ||
e08634c5 SH |
403 | The F<Changes> file for an explanation of how to view exhaustive details on |
404 | what changed. | |
44691e6f AB |
405 | |
406 | The F<INSTALL> file for how to build Perl. | |
407 | ||
408 | The F<README> file for general stuff. | |
409 | ||
410 | The F<Artistic> and F<Copying> files for copyright information. | |
411 | ||
412 | =cut |