This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Unicode-Normalize to CPAN version 1.07
[perl5.git] / pod / perldelta.pod
CommitLineData
4c793fe3
FR
1=encoding utf8
2
3=head1 NAME
4
ee0887a9
SH
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
4c793fe3 7
ee0887a9 8perldelta - what is new for perl v5.13.6
4c793fe3 9
ee0887a9 10=head1 DESCRIPTION
0c692eed 11
ee0887a9
SH
12This document describes differences between the 5.13.5 release and
13the 5.13.6 release.
0c692eed 14
ee0887a9
SH
15If you are upgrading from an earlier release such as 5.13.4, first read
16L<perl5135delta>, which describes differences between 5.13.4 and
175.13.5.
0c692eed 18
ee0887a9 19=head1 Notice
0c692eed 20
ee0887a9 21XXX Any important notices here
4c793fe3 22
ee0887a9 23=head1 Core Enhancements
85318b69 24
ee0887a9
SH
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
85318b69 28
ee0887a9 29[ List each enhancement as a =head2 entry ]
85318b69 30
fb85c044
KW
31=head2 C<(?^...)> regex construct added to signify default modifiers
32
33A caret (also called a "cirumflex accent") C<"^"> immediately following
34a C<"(?"> in a regular expression now means that the subexpression is to
35not inherit the surrounding modifiers such as C</i>, but to revert to the
36Perl defaults. Any modifiers following the caret override the defaults.
37
38The stringification of regular expressions now uses this notation. The
39main purpose of this is to allow tests that rely on the stringification
40to not have to change when new modifiers are added. See
41L<perlre/Extended Patterns>.
42
ee0887a9 43=head1 Security
85318b69 44
ee0887a9
SH
45XXX Any security-related notices go here. In particular, any security
46vulnerabilities closed should be noted here rather than in the
47L</Selected Bug Fixes> section.
85318b69 48
ee0887a9 49[ List each security issue as a =head2 entry ]
4c793fe3
FR
50
51=head1 Incompatible Changes
52
fb85c044
KW
53=head2 Stringification of regexes has changed
54
55Default regular expression modifiers are now notated by using
56C<(?^...)>. Code relying on the old stringification will fail. The
57purpose of this is so that when new modifiers are added, such code will
58not have to change, as the stringification will automatically
59incorporate the new modifiers.
60
61Code that needs to work properly with both old- and new-style regexes
62can use something like the following:
63
64 # Accept both old and new-style stringification
65 my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
44428a46 66
fb85c044 67And then use C<$modifiers> instead of C<-xism>.
44428a46 68
ee0887a9 69[ List each incompatible change as a =head2 entry ]
4c793fe3
FR
70
71=head1 Deprecations
72
ee0887a9
SH
73XXX Any deprecated features, syntax, modules etc. should be listed here.
74In particular, deprecated modules should be listed here even if they are
75listed as an updated module in the L</Modules and Pragmata> section.
85318b69 76
ee0887a9 77[ List each deprecation as a =head2 entry ]
4c793fe3
FR
78
79=head1 Performance Enhancements
80
ee0887a9
SH
81XXX Changes which enhance performance without changing behaviour go here. There
82may well be none in a stable release.
4c793fe3 83
ee0887a9 84[ List each enhancement as a =item entry ]
4c793fe3 85
ee0887a9 86=over 4
4c793fe3 87
e2babdfb
FR
88=item *
89
ee0887a9 90XXX
e2babdfb 91
4c793fe3
FR
92=back
93
94=head1 Modules and Pragmata
95
ee0887a9
SH
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.
fc1418b7 103
ee0887a9 104[ Within each section, list entries as a =item entry ]
df91fef1 105
ee0887a9 106=head2 New Modules and Pragmata
ccb45ef4 107
ee0887a9 108=over 4
df91fef1 109
ee0887a9 110=item *
df91fef1 111
ee0887a9 112XXX
e2babdfb 113
ee0887a9 114=back
e2babdfb 115
ee0887a9 116=head2 Updated Modules and Pragmata
fc1418b7 117
ee0887a9 118=over 4
fc1418b7 119
ee0887a9 120=item *
e2babdfb 121
de0e3ce7
FR
122C<NEXT> has been upgraded from version 0.64 to 0.65.
123
124=item *
125
8e58c70c 126C<PathTools> has been upgraded from version 3.31_01 to 3.32.
c9a84c8b 127
ee0887a9 128=back
c9a84c8b 129
ee0887a9 130=head2 Removed Modules and Pragmata
c9a84c8b 131
ee0887a9 132=over 4
4c793fe3 133
ee0887a9 134=item *
48c1efd2 135
ee0887a9 136XXX
4c793fe3
FR
137
138=back
139
140=head1 Documentation
141
ee0887a9
SH
142XXX Changes to files in F<pod/> go here. Consider grouping entries by
143file and be sure to link to the appropriate page, e.g. L<perlfunc>.
4c793fe3 144
ee0887a9 145=head2 New Documentation
4c793fe3 146
ee0887a9 147XXX Changes which create B<new> files in F<pod/> go here.
4c793fe3 148
ee0887a9 149=head3 L<XXX>
4c793fe3 150
ee0887a9 151XXX Description of the purpose of the new file here
4c793fe3 152
ee0887a9 153=head2 Changes to Existing Documentation
fc1418b7 154
ee0887a9
SH
155XXX Changes which significantly change existing files in F<pod/> go here.
156However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
157section.
fc1418b7 158
ee0887a9 159=head3 L<XXX>
e2babdfb 160
7bc3efda
SH
161=over 4
162
163=item *
164
ee0887a9 165XXX Description of the change here
7bc3efda
SH
166
167=back
e2babdfb 168
4c793fe3
FR
169=head1 Diagnostics
170
171The following additions or changes have been made to diagnostic output,
172including warnings and fatal error messages. For the complete list of
173diagnostic messages, see L<perldiag>.
174
ee0887a9
SH
175XXX New or changed warnings emitted by the core's C<C> code go here. Also
176include any changes in L<perldiag> that reconcile it to the C<C> code.
4c793fe3 177
ee0887a9 178[ Within each section, list entries as a =item entry ]
4c793fe3 179
ee0887a9 180=head2 New Diagnostics
4c793fe3 181
ee0887a9 182XXX Newly added diagnostic messages go here
fc1418b7 183
ee0887a9 184=over 4
fc1418b7
SH
185
186=item *
187
ee0887a9 188XXX
ebce6c40 189
4c793fe3
FR
190=back
191
ee0887a9 192=head2 Changes to Existing Diagnostics
4c793fe3 193
ee0887a9 194XXX Changes (i.e. rewording) of diagnostic messages go here
4c793fe3
FR
195
196=over 4
197
198=item *
199
ee0887a9 200XXX
4c793fe3
FR
201
202=back
203
ee0887a9 204=head1 Utility Changes
4c793fe3 205
ee0887a9
SH
206XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
207here. Most of these are built within the directories F<utils> and F<x2p>.
4c793fe3 208
ee0887a9
SH
209[ List utility changes as a =head3 entry for each utility and =item
210entries for each change
211Use L<XXX> with program names to get proper documentation linking. ]
fc1418b7 212
ee0887a9 213=head3 L<XXX>
fc1418b7 214
ee0887a9 215=over 4
4c793fe3 216
44428a46
FC
217=item *
218
ee0887a9 219XXX
44428a46 220
4c793fe3
FR
221=back
222
ee0887a9 223=head1 Configuration and Compilation
4c793fe3 224
ee0887a9
SH
225XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
226go here. Any other changes to the Perl build process should be listed here.
227However, any platform-specific changes should be listed in the
228L</Platform Support> section, instead.
4c793fe3 229
ee0887a9 230[ List changes as a =item entry ].
4c793fe3 231
0c692eed
FR
232=over 4
233
234=item *
235
ee0887a9 236XXX
0c692eed
FR
237
238=back
4c793fe3 239
ee0887a9 240=head1 Testing
0c692eed 241
ee0887a9
SH
242XXX Any significant changes to the testing of a freshly built perl should be
243listed here. Changes which create B<new> files in F<t/> go here as do any
244large changes to the testing harness (e.g. when parallel testing was added).
245Changes to existing files in F<t/> aren't worth summarising, although the bugs
246that they represent may be covered elsewhere.
0c692eed 247
ee0887a9 248[ List each test improvement as a =item entry ]
0c692eed 249
ee0887a9 250=over 4
0c692eed
FR
251
252=item *
253
ee0887a9 254XXX
4c793fe3
FR
255
256=back
257
ee0887a9 258=head1 Platform Support
4c793fe3 259
ee0887a9 260XXX Any changes to platform support should be listed in the sections below.
4c793fe3 261
ee0887a9
SH
262[ Within the sections, list each platform as a =item entry with specific
263changes as paragraphs below it. ]
4c793fe3 264
ee0887a9 265=head2 New Platforms
0c692eed 266
ee0887a9
SH
267XXX List any platforms that this version of perl compiles on, that previous
268versions did not. These will either be enabled by new files in the F<hints/>
269directories, or new subdirectories and F<README> files at the top level of the
270source tree.
0c692eed 271
ee0887a9 272=over 4
0c692eed 273
ee0887a9 274=item XXX-some-platform
0c692eed 275
ee0887a9 276XXX
0c692eed 277
ee0887a9 278=back
0c692eed 279
ee0887a9 280=head2 Discontinued Platforms
4c793fe3 281
ee0887a9 282XXX List any platforms that this version of perl no longer compiles on.
8ebb9810 283
ee0887a9 284=over 4
8ebb9810 285
ee0887a9 286=item XXX-some-platform
48c1efd2 287
ee0887a9 288XXX
48c1efd2 289
ee0887a9 290=back
44428a46 291
ee0887a9 292=head2 Platform-Specific Notes
44428a46 293
ee0887a9
SH
294XXX List any changes for specific platforms. This could include configuration
295and compilation changes or changes in portability/compatibility. However,
296changes within modules for platforms should generally be listed in the
297L</Modules and Pragmata> section.
f4beb78f 298
ee0887a9 299=over 4
f4beb78f 300
ee0887a9 301=item XXX-some-platform
ccb45ef4 302
ee0887a9 303XXX
ccb45ef4 304
ee0887a9 305=back
85318b69 306
ee0887a9 307=head1 Internal Changes
85318b69 308
ee0887a9
SH
309XXX Changes which affect the interface available to C<XS> code go here.
310Other significant internal changes for future core maintainers should
311be noted as well.
85318b69 312
ee0887a9 313[ List each test improvement as a =item entry ]
80b6a949 314
ee0887a9 315=over 4
80b6a949 316
e2babdfb
FR
317=item *
318
ee0887a9 319XXX
e2babdfb 320
ee0887a9 321=back
e2babdfb 322
ee0887a9 323=head1 Selected Bug Fixes
e2babdfb 324
ee0887a9
SH
325XXX Important bug fixes in the core language are summarised here.
326Bug fixes in files in F<ext/> and F<lib/> are best summarised in
327L</Modules and Pragmata>.
e2babdfb 328
ee0887a9 329[ List each fix as a =item entry ]
346e4e56 330
ee0887a9 331=over 4
346e4e56 332
78846812
FR
333=item *
334
ee0887a9 335XXX
78846812 336
4c793fe3
FR
337=back
338
962fbe1d
SH
339=head1 Known Problems
340
ee0887a9
SH
341XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
342tests that had to be C<TODO>ed for the release would be noted here, unless
343they were specific to a particular platform (see below).
962fbe1d 344
ee0887a9
SH
345This is a list of some significant unfixed bugs, which are regressions
346from either 5.XXX.XXX or 5.XXX.XXX.
962fbe1d 347
ee0887a9
SH
348[ List each fix as a =item entry ]
349
350=over 4
08d032c0
SH
351
352=item *
353
ee0887a9 354XXX
962fbe1d
SH
355
356=back
357
ee0887a9 358=head1 Obituary
4c793fe3 359
ee0887a9
SH
360XXX If any significant core contributor has died, we've added a short obituary
361here.
0195fb5f 362
ee0887a9 363=head1 Acknowledgements
0195fb5f 364
ee0887a9 365XXX The list of people to thank goes here.
4c793fe3
FR
366
367=head1 Reporting Bugs
368
369If you find what you think is a bug, you might check the articles
370recently posted to the comp.lang.perl.misc newsgroup and the perl
371bug database at http://rt.perl.org/perlbug/ . There may also be
372information at http://www.perl.org/ , the Perl Home Page.
373
374If you believe you have an unreported bug, please run the B<perlbug>
375program included with your release. Be sure to trim your bug down
376to a tiny but sufficient test case. Your bug report, along with the
377output of C<perl -V>, will be sent off to perlbug@perl.org to be
378analysed by the Perl porting team.
379
380If the bug you are reporting has security implications, which make it
381inappropriate to send to a publicly archived mailing list, then please send
ee0887a9 382it to perl5-security-report@perl.org. This points to a closed subscription
4c793fe3
FR
383unarchived mailing list, which includes all the core committers, who be able
384to help assess the impact of issues, figure out a resolution, and help
385co-ordinate the release of patches to mitigate or fix the problem across all
ee0887a9 386platforms on which Perl is supported. Please only use this address for
4c793fe3
FR
387security issues in the Perl core, not for modules independently
388distributed on CPAN.
389
390=head1 SEE ALSO
391
392The F<Changes> file for an explanation of how to view exhaustive details
393on what changed.
394
395The F<INSTALL> file for how to build Perl.
396
397The F<README> file for general stuff.
398
399The F<Artistic> and F<Copying> files for copyright information.
400
401=cut