This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mktables: Rip out redundant tables
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
2ff1ebfe
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.21.9
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
2ff1ebfe 12This document describes differences between the 5.21.8 release and the 5.21.9
238894db 13release.
c68523cb 14
2ff1ebfe
MH
15If you are upgrading from an earlier release such as 5.21.7, first read
16L<perl5218delta>, which describes differences between 5.21.7 and 5.21.8.
2ec11c70 17
b5d4d3b9 18=head1 Notice
2ec11c70 19
2ff1ebfe 20XXX Any important notices here
67f2cc75 21
b5d4d3b9 22=head1 Core Enhancements
67f2cc75 23
2ff1ebfe
MH
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.
25941dca 27
2ff1ebfe 28[ List each enhancement as a =head2 entry ]
25941dca 29
2ff1ebfe 30=head1 Security
25941dca 31
2ff1ebfe
MH
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.
25941dca 35
2ff1ebfe 36[ List each security issue as a =head2 entry ]
48c4d243 37
b5d4d3b9 38=head1 Incompatible Changes
ef8784b7 39
2ff1ebfe 40XXX For a release on a stable branch, this section aspires to be:
595f54ae 41
2ff1ebfe
MH
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.
595f54ae 45
2ff1ebfe 46[ List each incompatible change as a =head2 entry ]
bba618d2 47
2ff1ebfe 48=head1 Deprecations
541e1e0d 49
2ff1ebfe 50XXX Any deprecated features, syntax, modules etc. should be listed here.
541e1e0d 51
2ff1ebfe 52=head2 Module removals
541e1e0d 53
2ff1ebfe 54XXX Remove this section if inapplicable.
541e1e0d 55
2ff1ebfe
MH
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
541e1e0d 60
2ff1ebfe
MH
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
541e1e0d 64
2ff1ebfe
MH
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
541e1e0d 69
2ff1ebfe 70=over
541e1e0d 71
2ff1ebfe 72=item XXX
541e1e0d 73
2ff1ebfe
MH
74XXX Note that deprecated modules should be listed here even if they are listed
75as an updated module in the L</Modules and Pragmata> section.
541e1e0d 76
2ff1ebfe 77=back
c196824d 78
2ff1ebfe 79[ List each other deprecation as a =head2 entry ]
541e1e0d 80
2ff1ebfe 81=head1 Performance Enhancements
541e1e0d 82
2ff1ebfe
MH
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
541e1e0d 85
2ff1ebfe 86[ List each enhancement as a =item entry ]
541e1e0d 87
2ff1ebfe 88=over 4
541e1e0d
MH
89
90=item *
91
2ff1ebfe 92XXX
541e1e0d 93
2ff1ebfe 94=back
541e1e0d 95
2ff1ebfe 96=head1 Modules and Pragmata
541e1e0d 97
2ff1ebfe
MH
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
541e1e0d 103
2ff1ebfe 104[ Within each section, list entries as a =item entry ]
541e1e0d 105
2ff1ebfe 106=head2 New Modules and Pragmata
541e1e0d 107
2ff1ebfe 108=over 4
541e1e0d
MH
109
110=item *
111
2ff1ebfe 112XXX
541e1e0d 113
2ff1ebfe 114=back
541e1e0d 115
2ff1ebfe 116=head2 Updated Modules and Pragmata
541e1e0d 117
2ff1ebfe 118=over 4
541e1e0d
MH
119
120=item *
121
897dbee7
TC
122L<B> has been upgraded from version 1.55 to 1.56.
123
124=item *
125
65e96328 126L<bigint>, L<bignum>, L<bigrat> have been upgraded to version 0.39.
127a7155 127
65e96328
TC
128Document in CAVEATS that using strings as numbers won't always invoke
129the big number overloading, and how to invoke it. [perl #123064]
541e1e0d 130
9e8951cf
TC
131=item *
132
65e96328 133L<Devel::Peek> has been upgraded from version 1.21 to 1.22.
1b3da025 134
65e96328
TC
135=item *
136
137L<Encode> has been upgraded from version 2.67 to 2.68.
138
139Building in C++ mode on Windows now works.
1b3da025
TC
140
141=item *
142
0bbdc33c
TC
143L<Opcode> has been upgraded from version 1.31 to 1.32.
144
145=item *
146
9e8951cf
TC
147L<PerlIO::scalar> has been upgraded from version 0.21 to 0.22.
148
eca355c2 149Attempting to write at file positions impossible for the platform now
9e8951cf
TC
150fail early rather than wrapping at 4GB.
151
e5240100
SH
152=item *
153
8884fcd5
SH
154L<Win32> has been upgraded from version 0.49 to 0.51.
155
156GetOSName() now supports Windows 8.1, and building in C++ mode now works.
157
158=item *
159
e5240100
SH
160L<Win32API::File> has been upgraded from version 0.1201 to 0.1202
161
162Building in C++ mode now works.
163
3db719fe
JK
164=item *
165
166L<POSIX> has been upgraded from version 1.49 to 1.50.
167
c49582c3
JK
168=item *
169
170L<Benchmark> has been upgraded from version 1.19 to 1.20.
171
9024667a
KW
172=item *
173
174L<Unicode::UCD> has been upgraded from version 0.60 to 0.61.
175A new function L<property_values()|Unicode::UCD/prop_values()>
176has been added to return a given property's possible values.
177
2ff1ebfe 178=back
541e1e0d 179
2ff1ebfe 180=head2 Removed Modules and Pragmata
541e1e0d 181
2ff1ebfe 182=over 4
d676fe86
JK
183
184=item *
185
2ff1ebfe 186XXX
d2fff9f6 187
2ff1ebfe 188=back
d2fff9f6 189
2ff1ebfe 190=head1 Documentation
e329daf3 191
2ff1ebfe
MH
192XXX Changes to files in F<pod/> go here. Consider grouping entries by
193file and be sure to link to the appropriate page, e.g. L<perlfunc>.
e329daf3 194
2ff1ebfe 195=head2 New Documentation
e329daf3 196
2ff1ebfe 197XXX Changes which create B<new> files in F<pod/> go here.
ba31029d 198
2ff1ebfe 199=head3 L<XXX>
b045b8b5 200
2ff1ebfe 201XXX Description of the purpose of the new file here
541e1e0d 202
2ff1ebfe 203=head2 Changes to Existing Documentation
541e1e0d 204
2ff1ebfe
MH
205XXX Changes which significantly change existing files in F<pod/> go here.
206However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
207section.
541e1e0d 208
2ff1ebfe 209=head3 L<XXX>
541e1e0d 210
2ff1ebfe 211=over 4
aa67537d 212
4c7a0d98
DD
213=item *
214
2ff1ebfe 215XXX Description of the change here
4c7a0d98 216
b5d4d3b9 217=back
4c7a0d98 218
a5d66edf
JK
219=head3 L<perlfaq>
220
221=over 4
222
223=item *
224
225L<perlfaq> has been synchronized with version 5.021009 from CPAN.
226
227=back
228
9ce6583e 229=head1 Diagnostics
f348c3d8 230
9ce6583e
MH
231The following additions or changes have been made to diagnostic output,
232including warnings and fatal error messages. For the complete list of
233diagnostic messages, see L<perldiag>.
f348c3d8 234
2ff1ebfe
MH
235XXX New or changed warnings emitted by the core's C<C> code go here. Also
236include any changes in L<perldiag> that reconcile it to the C<C> code.
237
9ce6583e 238=head2 New Diagnostics
f348c3d8 239
2ff1ebfe
MH
240XXX Newly added diagnostic messages go under here, separated into New Errors
241and New Warnings
242
9ce6583e 243=head3 New Errors
f348c3d8 244
b5d4d3b9 245=over 4
6ed80d55 246
60dde9d3 247=item *
f348c3d8 248
2ff1ebfe 249XXX L<message|perldiag/"message">
4dc623f0 250
b5d4d3b9 251=back
84d03adf 252
9ce6583e 253=head3 New Warnings
ff433f2d 254
9ce6583e 255=over 4
4cd408ba 256
9ce6583e 257=item *
6ed80d55 258
2ff1ebfe 259XXX L<message|perldiag/"message">
9ce6583e 260
2ff1ebfe 261=back
ab0b796c 262
2ff1ebfe 263=head2 Changes to Existing Diagnostics
8c6180a9 264
2ff1ebfe 265XXX Changes (i.e. rewording) of diagnostic messages go here
8c6180a9 266
2ff1ebfe 267=over 4
0561e60b 268
9ce6583e 269=item *
dd200dff 270
2ff1ebfe 271XXX Describe change here
9ce6583e 272
2ff1ebfe 273=back
73e793fc 274
2ff1ebfe 275=head1 Utility Changes
9ce6583e 276
2ff1ebfe
MH
277XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
278Most of these are built within the directory F<utils>.
73e793fc 279
2ff1ebfe
MH
280[ List utility changes as a =head2 entry for each utility and =item
281entries for each change
282Use L<XXX> with program names to get proper documentation linking. ]
613abc6d 283
2ff1ebfe 284=head2 L<XXX>
9ce6583e 285
2ff1ebfe 286=over 4
9ce6583e 287
b927b7e9
KW
288=item *
289
2ff1ebfe 290XXX
db5cc9f9 291
2ff1ebfe 292=back
db5cc9f9 293
2ff1ebfe 294=head1 Configuration and Compilation
c877af1b 295
2ff1ebfe
MH
296XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
297go here. Any other changes to the Perl build process should be listed here.
298However, any platform-specific changes should be listed in the
299L</Platform Support> section, instead.
c877af1b 300
2ff1ebfe 301[ List changes as a =item entry ].
db5cc9f9 302
2ff1ebfe 303=over 4
db5cc9f9 304
acdfc3b6
KW
305=item *
306
2ff1ebfe 307XXX
db5cc9f9 308
b5d4d3b9 309=back
8c6180a9 310
2ff1ebfe 311=head1 Testing
780fcc9f 312
2ff1ebfe
MH
313XXX Any significant changes to the testing of a freshly built perl should be
314listed here. Changes which create B<new> files in F<t/> go here as do any
315large changes to the testing harness (e.g. when parallel testing was added).
316Changes to existing files in F<t/> aren't worth summarizing, although the bugs
317that they represent may be covered elsewhere.
40a81b59 318
2ff1ebfe 319[ List each test improvement as a =item entry ]
bb8c7e27 320
b5d4d3b9 321=over 4
83b69bfd
DD
322
323=item *
324
2ff1ebfe 325XXX
13adb056 326
b5d4d3b9 327=back
391823f2 328
2ff1ebfe 329=head1 Platform Support
6ff8f256 330
2ff1ebfe 331XXX Any changes to platform support should be listed in the sections below.
db98db4e 332
2ff1ebfe
MH
333[ Within the sections, list each platform as a =item entry with specific
334changes as paragraphs below it. ]
8818afe8 335
2ff1ebfe 336=head2 New Platforms
8af808bf 337
2ff1ebfe
MH
338XXX List any platforms that this version of perl compiles on, that previous
339versions did not. These will either be enabled by new files in the F<hints/>
340directories, or new subdirectories and F<README> files at the top level of the
341source tree.
8af808bf 342
2ff1ebfe 343=over 4
fdcaecb7 344
2ff1ebfe 345=item XXX-some-platform
fdcaecb7 346
2ff1ebfe 347XXX
2af7c6b6 348
4dc623f0 349=back
2af7c6b6 350
2ff1ebfe 351=head2 Discontinued Platforms
9e26817d 352
2ff1ebfe 353XXX List any platforms that this version of perl no longer compiles on.
70cee83f 354
b5d4d3b9 355=over 4
e5fbfbc1 356
2ff1ebfe 357=item XXX-some-platform
b4045391 358
2ff1ebfe 359XXX
b4045391 360
2ff1ebfe 361=back
b4045391 362
2ff1ebfe 363=head2 Platform-Specific Notes
8c847e66 364
2ff1ebfe
MH
365XXX List any changes for specific platforms. This could include configuration
366and compilation changes or changes in portability/compatibility. However,
367changes within modules for platforms should generally be listed in the
368L</Modules and Pragmata> section.
8c847e66 369
2ff1ebfe 370=over 4
d345f487 371
8b08c4b9 372=item Windows
d345f487 373
8b08c4b9
SH
374Perl can now be built in C++ mode on Windows by setting the makefile macro
375C<USE_CPLUSPLUS> to the value "define".
353075a0 376
5904c5c0
TC
377List form pipe open no longer falls back to the shell.
378
4dc623f0 379=back
353075a0 380
4dc623f0 381=head1 Internal Changes
9f122eef 382
2ff1ebfe
MH
383XXX Changes which affect the interface available to C<XS> code go here. Other
384significant internal changes for future core maintainers should be noted as
385well.
386
387[ List each change as a =item entry ]
388
b5d4d3b9 389=over 4
2ec11c70
DM
390
391=item *
392
2ff1ebfe 393XXX
2683609f 394
4dc623f0 395=back
c7f058f0 396
4dc623f0 397=head1 Selected Bug Fixes
0ef4323a 398
2ff1ebfe
MH
399XXX Important bug fixes in the core language are summarized here. Bug fixes in
400files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
00ba25b8 401
2ff1ebfe 402[ List each fix as a =item entry ]
567291b6 403
2ff1ebfe 404=over 4
436f6503 405
f44e0270
FC
406=item *
407
d536498f
TC
408The original visible value of C<$/> is now preserved when it is set to
409an invalid value. Previously if you set C<$/> to a reference to an
410array, for example, perl would produce a runtime error and not set
411C<PL_rs>, but perl code that checked C<$/> would see the array
412reference. [perl #123218]
ea13b07e 413
7dbd4c44
KW
414=item *
415
416In a regular expression pattern, a POSIX class, like C<[:ascii:]>, must
417be inside a bracketed character class, like C</qr[[:ascii:]]>. A
418warning is issued when something looking like a POSIX class is not
419inside a bracketed class. That warning wasn't getting generated when
420the POSIX class was negated: C<[:^ascii:]>. This is now fixed.
421
47c2f9f1
TC
422=item *
423
424Fix a couple of other size calculation overflows. [perl #123554]
425
2ff1ebfe 426=back
ea13b07e 427
2ff1ebfe 428=head1 Known Problems
b65adbec 429
2ff1ebfe
MH
430XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
431tests that had to be C<TODO>ed for the release would be noted here. Unfixed
432platform specific bugs also go here.
b65adbec 433
2ff1ebfe 434[ List each fix as a =item entry ]
370c71c5 435
2ff1ebfe 436=over 4
b94c7836
FC
437
438=item *
439
2ff1ebfe 440XXX
439f6100 441
2ff1ebfe 442=back
439f6100 443
2ff1ebfe 444=head1 Errata From Previous Releases
e3e8f263 445
2ff1ebfe 446=over 4
e3e8f263 447
cb6cc22b
TC
448=item *
449
2ff1ebfe
MH
450XXX Add anything here that we forgot to add, or were mistaken about, in
451the perldelta of a previous release.
cb6cc22b 452
b5d4d3b9 453=back
fcfb7b86 454
2ff1ebfe 455=head1 Obituary
541e1e0d 456
2ff1ebfe
MH
457XXX If any significant core contributor has died, we've added a short obituary
458here.
541e1e0d 459
2ff1ebfe 460=head1 Acknowledgements
541e1e0d 461
2ff1ebfe 462XXX Generate this with:
01d42a22 463
2ff1ebfe 464 perl Porting/acknowledgements.pl v5.21.8..HEAD
f5b73711 465
44691e6f
AB
466=head1 Reporting Bugs
467
e08634c5
SH
468If you find what you think is a bug, you might check the articles recently
469posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 470https://rt.perl.org/ . There may also be information at
7ef8b31d 471http://www.perl.org/ , the Perl Home Page.
44691e6f 472
e08634c5
SH
473If you believe you have an unreported bug, please run the L<perlbug> program
474included with your release. Be sure to trim your bug down to a tiny but
475sufficient test case. Your bug report, along with the output of C<perl -V>,
476will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
477
478If the bug you are reporting has security implications, which make it
e08634c5
SH
479inappropriate to send to a publicly archived mailing list, then please send it
480to perl5-security-report@perl.org. This points to a closed subscription
481unarchived mailing list, which includes all the core committers, who will be
482able to help assess the impact of issues, figure out a resolution, and help
f9001595 483co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
484platforms on which Perl is supported. Please only use this address for
485security issues in the Perl core, not for modules independently distributed on
486CPAN.
44691e6f
AB
487
488=head1 SEE ALSO
489
e08634c5
SH
490The F<Changes> file for an explanation of how to view exhaustive details on
491what changed.
44691e6f
AB
492
493The F<INSTALL> file for how to build Perl.
494
495The F<README> file for general stuff.
496
497The F<Artistic> and F<Copying> files for copyright information.
498
499=cut