This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Change the *nix and VMS Makefiles to to pass a filename to writemain().
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
38663f11
DG
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.19.2
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
38663f11 12This document describes differences between the 5.19.1 release and the 5.19.2
e08634c5 13release.
6db9054f 14
38663f11
DG
15If you are upgrading from an earlier release such as 5.19.0, first read
16L<perl5191delta>, which describes differences between 5.19.0 and 5.19.1.
42bff0d9 17
38663f11 18=head1 Notice
42bff0d9 19
38663f11 20XXX Any important notices here
d69d1f92 21
38663f11 22=head1 Core Enhancements
287d2d21 23
38663f11
DG
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.
287d2d21 27
38663f11 28[ List each enhancement as a =head2 entry ]
287d2d21 29
38663f11 30=head1 Security
42bff0d9 31
38663f11
DG
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.
42bff0d9 35
38663f11 36[ List each security issue as a =head2 entry ]
42bff0d9 37
38663f11 38=head1 Incompatible Changes
42bff0d9 39
38663f11 40XXX For a release on a stable branch, this section aspires to be:
42bff0d9 41
38663f11
DG
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.
42bff0d9 45
38663f11 46[ List each incompatible change as a =head2 entry ]
42bff0d9 47
38663f11 48=head1 Deprecations
42bff0d9 49
38663f11 50XXX Any deprecated features, syntax, modules etc. should be listed here.
42bff0d9 51
38663f11 52=head2 Module removals
42bff0d9 53
38663f11 54XXX Remove this section if inapplicable.
42bff0d9 55
8c33633d
FC
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.
42bff0d9 60
38663f11 61The core versions of these modules will now issue C<"deprecated">-category
8c33633d 62warnings to alert you to this fact. To silence these deprecation warnings,
38663f11 63install the modules in question from CPAN.
42bff0d9 64
38663f11 65Note that these are (with rare exceptions) fine modules that you are encouraged
8c33633d 66to continue to use. Their disinclusion from core primarily hinges on their
38663f11
DG
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
42bff0d9 69
38663f11 70=over
42bff0d9 71
38663f11
DG
72XXX Note that deprecated modules should be listed here even if they are listed
73as an updated module in the L</Modules and Pragmata> section.
42bff0d9 74
38663f11 75=back
42bff0d9 76
38663f11 77[ List each other deprecation as a =head2 entry ]
42bff0d9 78
38663f11 79=head1 Performance Enhancements
42bff0d9 80
38663f11
DG
81XXX Changes which enhance performance without changing behaviour go here.
82There may well be none in a stable release.
42bff0d9 83
38663f11 84[ List each enhancement as a =item entry ]
42bff0d9 85
38663f11 86=over 4
42bff0d9
DG
87
88=item *
89
38663f11 90XXX
42bff0d9 91
38663f11 92=back
42bff0d9 93
38663f11 94=head1 Modules and Pragmata
42bff0d9 95
38663f11
DG
96XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
97go here. If Module::CoreList is updated, generate an initial draft of the
98following sections using F<Porting/corelist-perldelta.pl>, which prints stub
99entries to STDOUT. Results can be pasted in place of the '=head2' entries
100below. A paragraph summary for important changes should then be added by hand.
101In an ideal world, dual-life modules would have a F<Changes> file that could be
102cribbed.
42bff0d9 103
38663f11 104[ Within each section, list entries as a =item entry ]
42bff0d9 105
38663f11 106=head2 New Modules and Pragmata
42bff0d9 107
38663f11 108=over 4
42bff0d9
DG
109
110=item *
111
38663f11 112XXX
42bff0d9 113
38663f11 114=back
42bff0d9 115
38663f11 116=head2 Updated Modules and Pragmata
42bff0d9 117
38663f11 118=over 4
42bff0d9
DG
119
120=item *
121
70ba8092
TC
122L<POSIX> has been upgraded from version 1.33 to 1.34.
123
124C<POSIX::AUTOLOAD> will no longer infinitely recurse if the shared
125object fails to load.
42bff0d9 126
38663f11 127=back
42bff0d9 128
38663f11 129=head2 Removed Modules and Pragmata
42bff0d9 130
38663f11 131=over 4
42bff0d9
DG
132
133=item *
134
38663f11 135XXX
42bff0d9 136
38663f11 137=back
42bff0d9 138
38663f11 139=head1 Documentation
42bff0d9 140
38663f11
DG
141XXX Changes to files in F<pod/> go here. Consider grouping entries by
142file and be sure to link to the appropriate page, e.g. L<perlfunc>.
42bff0d9 143
38663f11 144=head2 New Documentation
42bff0d9 145
38663f11 146XXX Changes which create B<new> files in F<pod/> go here.
42bff0d9 147
38663f11 148=head3 L<XXX>
42bff0d9 149
38663f11 150XXX Description of the purpose of the new file here
42bff0d9 151
38663f11 152=head2 Changes to Existing Documentation
42bff0d9 153
38663f11
DG
154XXX Changes which significantly change existing files in F<pod/> go here.
155However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
156section.
dbd04185 157
41f6d116 158=head3 L<perlexperiment>
dbd04185 159
38663f11 160=over 4
583aa5c2 161
1fdd5e53
KW
162=item *
163
41f6d116
RS
164Code in regular expressions, regular expression backtracking verbs,
165and lvalue subroutines are no longer listed as experimental. (This
166also affects L<perlre> and L<perlsub>.)
42bff0d9 167
38663f11 168=back
42bff0d9 169
38663f11 170=head1 Diagnostics
42bff0d9 171
38663f11
DG
172The following additions or changes have been made to diagnostic output,
173including warnings and fatal error messages. For the complete list of
174diagnostic messages, see L<perldiag>.
42bff0d9 175
38663f11
DG
176XXX New or changed warnings emitted by the core's C<C> code go here. Also
177include any changes in L<perldiag> that reconcile it to the C<C> code.
42bff0d9 178
38663f11 179=head2 New Diagnostics
42bff0d9 180
38663f11
DG
181XXX Newly added diagnostic messages go under here, separated into New Errors
182and New Warnings
42bff0d9 183
38663f11 184=head3 New Errors
42bff0d9 185
38663f11 186=over 4
42bff0d9
DG
187
188=item *
189
38663f11 190XXX L<message|perldiag/"message">
1fdd5e53 191
583aa5c2
RS
192=back
193
38663f11 194=head3 New Warnings
583aa5c2 195
38663f11 196=over 4
583aa5c2 197
b8a02ff1 198=item *
583aa5c2 199
38663f11 200XXX L<message|perldiag/"message">
583aa5c2 201
b8a02ff1 202=back
583aa5c2 203
38663f11 204=head2 Changes to Existing Diagnostics
96d496e4 205
38663f11 206XXX Changes (i.e. rewording) of diagnostic messages go here
b8a02ff1 207
38663f11 208=over 4
b8a02ff1
DG
209
210=item *
211
38663f11 212XXX Describe change here
96d496e4
RS
213
214=back
215
38663f11 216=head1 Utility Changes
d7bfa554 217
38663f11
DG
218XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
219Most of these are built within the directories F<utils> and F<x2p>.
d7bfa554 220
38663f11
DG
221[ List utility changes as a =head3 entry for each utility and =item
222entries for each change
223Use L<XXX> with program names to get proper documentation linking. ]
d7bfa554 224
38663f11 225=head3 L<XXX>
583aa5c2
RS
226
227=over 4
1993add8 228
e9912eaa 229=item *
ec985017 230
38663f11 231XXX
583aa5c2
RS
232
233=back
234
38663f11 235=head1 Configuration and Compilation
583aa5c2 236
38663f11
DG
237XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
238go here. Any other changes to the Perl build process should be listed here.
239However, any platform-specific changes should be listed in the
240L</Platform Support> section, instead.
583aa5c2 241
38663f11 242[ List changes as a =item entry ].
583aa5c2
RS
243
244=over 4
71e6aba6 245
d5f315e8
KW
246=item *
247
38663f11 248XXX
d5f315e8 249
337fb649 250=back
2426c394 251
38663f11 252=head1 Testing
357b01df 253
38663f11
DG
254XXX Any significant changes to the testing of a freshly built perl should be
255listed here. Changes which create B<new> files in F<t/> go here as do any
256large changes to the testing harness (e.g. when parallel testing was added).
257Changes to existing files in F<t/> aren't worth summarizing, although the bugs
258that they represent may be covered elsewhere.
4724da03 259
38663f11 260[ List each test improvement as a =item entry ]
357b01df 261
583aa5c2 262=over 4
357b01df 263
583aa5c2 264=item *
357b01df 265
38663f11 266XXX
4724da03 267
38663f11 268=back
4724da03 269
38663f11 270=head1 Platform Support
4724da03 271
38663f11 272XXX Any changes to platform support should be listed in the sections below.
4724da03 273
38663f11
DG
274[ Within the sections, list each platform as a =item entry with specific
275changes as paragraphs below it. ]
4724da03 276
38663f11 277=head2 New Platforms
4724da03 278
38663f11
DG
279XXX List any platforms that this version of perl compiles on, that previous
280versions did not. These will either be enabled by new files in the F<hints/>
281directories, or new subdirectories and F<README> files at the top level of the
282source tree.
4724da03 283
38663f11 284=over 4
357b01df 285
38663f11 286=item XXX-some-platform
583aa5c2 287
38663f11 288XXX
4724da03 289
38663f11 290=back
583aa5c2 291
583aa5c2
RS
292=head2 Discontinued Platforms
293
38663f11
DG
294XXX List any platforms that this version of perl no longer compiles on.
295
583aa5c2
RS
296=over 4
297
38663f11 298=item XXX-some-platform
d7bfa554 299
38663f11 300XXX
d7bfa554 301
583aa5c2
RS
302=back
303
304=head2 Platform-Specific Notes
305
38663f11
DG
306XXX List any changes for specific platforms. This could include configuration
307and compilation changes or changes in portability/compatibility. However,
308changes within modules for platforms should generally be listed in the
309L</Modules and Pragmata> section.
583aa5c2 310
38663f11 311=over 4
a34da6c4 312
3a0b4597 313=item MidnightBSD
a34da6c4 314
3a0b4597 315C<objformat> was removed from version 0.4-RELEASE of MidnightBSD and had been
8c33633d
FC
316deprecated on earlier versions. This caused the build environment to be
317erroneously configured for C<a.out> rather than C<elf>. This has been now
3a0b4597 318been corrected.
a34da6c4 319
583aa5c2
RS
320=back
321
322=head1 Internal Changes
323
38663f11
DG
324XXX Changes which affect the interface available to C<XS> code go here. Other
325significant internal changes for future core maintainers should be noted as
326well.
583aa5c2 327
38663f11 328[ List each change as a =item entry ]
583aa5c2 329
38663f11 330=over 4
1de7c8e6 331
d7bfa554
DG
332=item *
333
eca6ff41
NC
334The Makefile shortcut targets for many rarely (or never) used testing and
335profiling targets have been removed, or merged into the only other Makefile
8c33633d 336target that uses them. Specifically, these targets are gone, along with
eca6ff41
NC
337documentation that referenced them or explained how to use them:
338
af94b52d
KW
339 check.third check.utf16 check.utf8 coretest minitest.prep
340 minitest.utf16 perl.config.dashg perl.config.dashpg
341 perl.config.gcov perl.gcov perl.gprof perl.gprof.config perl.pixie
342 perl.pixie.atom perl.pixie.config perl.pixie.irix perl.third
343 perl.third.config pureperl purecovperl quantperl test.deparse
344 test.taintwarn test.third test.torture test.utf16 test.utf8
345 test_notty.deparse test_notty.third test_prep.third torturetest
346 ucheck ucheck.third ucheck.utf16 ucheck.valgrind utest utest.third
347 utest.utf16 utest.valgrind
eca6ff41
NC
348
349It's still possible to run the relevant commands by "hand" - no underlying
350functionality has been removed.
d7bfa554 351
583aa5c2
RS
352=back
353
354=head1 Selected Bug Fixes
355
38663f11
DG
356XXX Important bug fixes in the core language are summarized here. Bug fixes in
357files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
acfe52c8 358
38663f11 359[ List each fix as a =item entry ]
a2ef523e 360
38663f11 361=over 4
42dd67ca 362
e0d46238
FC
363=item *
364
38663f11 365XXX
d7bfa554 366
38663f11 367=back
d7bfa554 368
38663f11 369=head1 Known Problems
6810f0ad 370
38663f11
DG
371XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
372tests that had to be C<TODO>ed for the release would be noted here. Unfixed
373platform specific bugs also go here.
6810f0ad 374
38663f11 375[ List each fix as a =item entry ]
0e417e4d 376
38663f11 377=over 4
14fd9356
FC
378
379=item *
380
38663f11 381XXX
0e417e4d 382
38663f11 383=back
583aa5c2 384
38663f11 385=head1 Obituary
583aa5c2 386
38663f11
DG
387XXX If any significant core contributor has died, we've added a short obituary
388here.
583aa5c2 389
583aa5c2 390=head1 Acknowledgements
a75569c0 391
38663f11
DG
392XXX Generate this with:
393
394 perl Porting/acknowledgements.pl v5.19.1..HEAD
f5b73711 395
44691e6f
AB
396=head1 Reporting Bugs
397
e08634c5
SH
398If you find what you think is a bug, you might check the articles recently
399posted to the comp.lang.perl.misc newsgroup and the perl bug database at
400http://rt.perl.org/perlbug/ . There may also be information at
401http://www.perl.org/ , the Perl Home Page.
44691e6f 402
e08634c5
SH
403If you believe you have an unreported bug, please run the L<perlbug> program
404included with your release. Be sure to trim your bug down to a tiny but
405sufficient test case. Your bug report, along with the output of C<perl -V>,
406will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
407
408If the bug you are reporting has security implications, which make it
e08634c5
SH
409inappropriate to send to a publicly archived mailing list, then please send it
410to perl5-security-report@perl.org. This points to a closed subscription
411unarchived mailing list, which includes all the core committers, who will be
412able to help assess the impact of issues, figure out a resolution, and help
f9001595 413co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
414platforms on which Perl is supported. Please only use this address for
415security issues in the Perl core, not for modules independently distributed on
416CPAN.
44691e6f
AB
417
418=head1 SEE ALSO
419
e08634c5
SH
420The F<Changes> file for an explanation of how to view exhaustive details on
421what changed.
44691e6f
AB
422
423The F<INSTALL> file for how to build Perl.
424
425The F<README> file for general stuff.
426
427The F<Artistic> and F<Copying> files for copyright information.
428
429=cut