This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for f0af002c73 (-DPERL_GLOBAL_STRUCT)
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
19718730
AC
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.17.9
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
19718730 12This document describes differences between the 5.17.8 release and the 5.17.9
e08634c5 13release.
6db9054f 14
19718730
AC
15If you are upgrading from an earlier release such as 5.17.7, first read
16L<perl5178delta>, which describes differences between 5.17.7 and 5.17.8.
17
18=head1 Notice
19
20XXX Any important notices here
bde9e88d 21
6253ee75 22=head1 Core Enhancements
dd271d7a 23
19718730
AC
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.
27
28[ List each enhancement as a =head2 entry ]
29
30=head1 Security
31
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.
35
36[ List each security issue as a =head2 entry ]
9d1a5160 37
19718730
AC
38=head1 Incompatible Changes
39
40XXX For a release on a stable branch, this section aspires to be:
41
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.
45
46[ List each incompatible change as a =head2 entry ]
9d1a5160 47
0e55f0d7 48=head1 Deprecations
3ef6ec90 49
19718730
AC
50XXX Any deprecated features, syntax, modules etc. should be listed here. In
51particular, deprecated modules should be listed here even if they are listed as
52an updated module in the L</Modules and Pragmata> section.
4d68ffa0 53
19718730
AC
54[ List each deprecation as a =head2 entry ]
55
ff56e4f1
KW
56=head2 Five additional characters should be escaped in patterns with C</x>
57
58When a regular expression pattern is compiled with C</x>, Perl treats 6
59characters as white space to ignore, such as SPACE and TAB. However,
60Unicode recommends 11 characters be treated thusly. In preparation to
61conforming with this in a future Perl version, in the meantime, use of
62any of the missing characters will raise a deprecation warning, unless
63turned off. The five characters are:
64U+0085 NEXT LINE,
65U+200E LEFT-TO-RIGHT MARK,
66U+200F RIGHT-TO-LEFT MARK,
67U+2028 LINE SEPARATOR,
68and
69U+2029 PARAGRAPH SEPARATOR.
70
19718730
AC
71=head1 Performance Enhancements
72
73XXX Changes which enhance performance without changing behaviour go here.
74There may well be none in a stable release.
751611d4 75
19718730 76[ List each enhancement as a =item entry ]
751611d4 77
6253ee75 78=over 4
751611d4
FC
79
80=item *
81
19718730
AC
82XXX
83
84=back
85
86=head1 Modules and Pragmata
87
88XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
89go here. If Module::CoreList is updated, generate an initial draft of the
90following sections using F<Porting/corelist-perldelta.pl>, which prints stub
91entries to STDOUT. Results can be pasted in place of the '=head2' entries
92below. A paragraph summary for important changes should then be added by hand.
93In an ideal world, dual-life modules would have a F<Changes> file that could be
94cribbed.
95
96[ Within each section, list entries as a =item entry ]
97
98=head2 New Modules and Pragmata
751611d4 99
6253ee75 100=over 4
751611d4
FC
101
102=item *
103
19718730 104XXX
751611d4 105
19718730 106=back
86148eee 107
19718730
AC
108=head2 Updated Modules and Pragmata
109
110=over 4
7a7a10c7 111
e14ac59b 112=item *
7a7a10c7 113
e58c5aaf
TC
114L<PerlIO::scalar> has been upgraded from version 0.15 to 0.16.
115
116The buffer scalar supplied may now only contain code pounts 0xFF or
117lower. [perl #109828]
7a7a10c7 118
19718730
AC
119=back
120
121=head2 Removed Modules and Pragmata
c387386a 122
19718730 123=over 4
32209f41 124
e14ac59b 125=item *
5faa50e9 126
19718730 127XXX
b7c7d786 128
6253ee75 129=back
b7c7d786 130
19718730 131=head1 Documentation
11e375e0 132
19718730
AC
133XXX Changes to files in F<pod/> go here. Consider grouping entries by
134file and be sure to link to the appropriate page, e.g. L<perlfunc>.
e498bd59 135
19718730
AC
136=head2 New Documentation
137
138XXX Changes which create B<new> files in F<pod/> go here.
e498bd59 139
19718730
AC
140=head3 L<XXX>
141
142XXX Description of the purpose of the new file here
143
144=head2 Changes to Existing Documentation
145
146XXX Changes which significantly change existing files in F<pod/> go here.
147However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
148section.
149
150=head3 L<XXX>
151
152=over 4
dd4b1c75
AC
153
154=item *
155
19718730 156XXX Description of the change here
cb077ed2 157
5d8c8c8a 158=back
5f877a7f 159
e14ac59b
RS
160=head1 Diagnostics
161
162The following additions or changes have been made to diagnostic output,
163including warnings and fatal error messages. For the complete list of
164diagnostic messages, see L<perldiag>.
1ea91bbe 165
19718730
AC
166XXX New or changed warnings emitted by the core's C<C> code go here. Also
167include any changes in L<perldiag> that reconcile it to the C<C> code.
168
6253ee75
DR
169=head2 New Diagnostics
170
19718730
AC
171XXX Newly added diagnostic messages go under here, separated into New Errors
172and New Warnings
173
174=head3 New Errors
11e375e0 175
e14ac59b 176=over 4
11e375e0
FC
177
178=item *
179
19718730
AC
180XXX L<message|perldiag/"message">
181
182=back
183
184=head3 New Warnings
185
186=over 4
5e0a247b
KW
187
188=item *
189
19718730
AC
190XXX L<message|perldiag/"message">
191
192=back
193
194=head2 Changes to Existing Diagnostics
195
196XXX Changes (i.e. rewording) of diagnostic messages go here
197
198=over 4
e14ac59b 199
6253ee75 200=item *
8b877d20 201
19718730
AC
202XXX Describe change here
203
204=back
205
206=head1 Utility Changes
207
208XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
209Most of these are built within the directories F<utils> and F<x2p>.
210
211[ List utility changes as a =head3 entry for each utility and =item
212entries for each change
213Use L<XXX> with program names to get proper documentation linking. ]
214
215=head3 L<XXX>
216
217=over 4
e078d89d
FC
218
219=item *
220
19718730 221XXX
e078d89d 222
6253ee75 223=back
e078d89d 224
19718730
AC
225=head1 Configuration and Compilation
226
227XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
228go here. Any other changes to the Perl build process should be listed here.
229However, any platform-specific changes should be listed in the
230L</Platform Support> section, instead.
231
232[ List changes as a =item entry ].
e078d89d 233
6253ee75 234=over 4
e078d89d 235
b7c7d786
FC
236=item *
237
19718730
AC
238XXX
239
240=back
241
242=head1 Testing
243
244XXX Any significant changes to the testing of a freshly built perl should be
245listed here. Changes which create B<new> files in F<t/> go here as do any
246large changes to the testing harness (e.g. when parallel testing was added).
247Changes to existing files in F<t/> aren't worth summarizing, although the bugs
248that they represent may be covered elsewhere.
249
250[ List each test improvement as a =item entry ]
251
252=over 4
e14ac59b 253
fdea6f98
FC
254=item *
255
19718730 256XXX
fdea6f98 257
6253ee75 258=back
7cf3104f 259
6253ee75 260=head1 Platform Support
7cf3104f 261
19718730
AC
262XXX Any changes to platform support should be listed in the sections below.
263
264[ Within the sections, list each platform as a =item entry with specific
265changes as paragraphs below it. ]
266
267=head2 New Platforms
268
269XXX List any platforms that this version of perl compiles on, that previous
270versions did not. These will either be enabled by new files in the F<hints/>
271directories, or new subdirectories and F<README> files at the top level of the
272source tree.
a0e45bac 273
6253ee75 274=over 4
139353f8 275
19718730 276=item XXX-some-platform
139353f8 277
19718730 278XXX
ba535ffe 279
6253ee75 280=back
ba535ffe 281
19718730
AC
282=head2 Discontinued Platforms
283
284XXX List any platforms that this version of perl no longer compiles on.
52c09c59 285
6253ee75 286=over 4
12b847a2 287
19718730
AC
288=item XXX-some-platform
289
290XXX
12b847a2 291
19718730
AC
292=back
293
294=head2 Platform-Specific Notes
295
296XXX List any changes for specific platforms. This could include configuration
297and compilation changes or changes in portability/compatibility. However,
298changes within modules for platforms should generally be listed in the
299L</Modules and Pragmata> section.
300
301=over 4
6e50262c 302
19718730 303=item XXX-some-platform
6e50262c 304
19718730 305XXX
785fb813 306
0e55f0d7 307=back
785fb813 308
0e55f0d7 309=head1 Internal Changes
f5778209 310
19718730
AC
311XXX Changes which affect the interface available to C<XS> code go here. Other
312significant internal changes for future core maintainers should be noted as
313well.
314
315[ List each change as a =item entry ]
316
6253ee75 317=over 4
f5778209 318
216cf7fc
DR
319=item *
320
19718730 321XXX
216cf7fc 322
6253ee75 323=back
216cf7fc 324
6253ee75 325=head1 Selected Bug Fixes
216cf7fc 326
19718730
AC
327XXX Important bug fixes in the core language are summarized here. Bug fixes in
328files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
216cf7fc 329
19718730 330[ List each fix as a =item entry ]
216cf7fc 331
19718730 332=over 4
216cf7fc 333
d76c0f4b
RS
334=item *
335
58cbf594
TC
336-DPERL_GLOBAL_STRUCT builds now free the global struct B<after>
337they've finished using it.
d76c0f4b 338
6253ee75 339=back
6c042f06 340
6253ee75 341=head1 Known Problems
6c042f06 342
19718730
AC
343XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
344tests that had to be C<TODO>ed for the release would be noted here. Unfixed
345platform specific bugs also go here.
3cf48cac 346
19718730 347[ List each fix as a =item entry ]
3cf48cac 348
19718730 349=over 4
05bee12a 350
100e3bc8
AC
351=item *
352
19718730 353XXX
100e3bc8 354
6253ee75 355=back
f5b73711 356
19718730 357=head1 Obituary
f5b73711 358
19718730
AC
359XXX If any significant core contributor has died, we've added a short obituary
360here.
0e55f0d7 361
19718730 362=head1 Acknowledgements
f5b73711 363
19718730 364XXX Generate this with:
f5b73711 365
19718730 366 perl Porting/acknowledgements.pl v5.17.8..HEAD
f5b73711 367
44691e6f
AB
368=head1 Reporting Bugs
369
e08634c5
SH
370If you find what you think is a bug, you might check the articles recently
371posted to the comp.lang.perl.misc newsgroup and the perl bug database at
372http://rt.perl.org/perlbug/ . There may also be information at
373http://www.perl.org/ , the Perl Home Page.
44691e6f 374
e08634c5
SH
375If you believe you have an unreported bug, please run the L<perlbug> program
376included with your release. Be sure to trim your bug down to a tiny but
377sufficient test case. Your bug report, along with the output of C<perl -V>,
378will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
379
380If the bug you are reporting has security implications, which make it
e08634c5
SH
381inappropriate to send to a publicly archived mailing list, then please send it
382to perl5-security-report@perl.org. This points to a closed subscription
383unarchived mailing list, which includes all the core committers, who will be
384able to help assess the impact of issues, figure out a resolution, and help
f9001595 385co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
386platforms on which Perl is supported. Please only use this address for
387security issues in the Perl core, not for modules independently distributed on
388CPAN.
44691e6f
AB
389
390=head1 SEE ALSO
391
e08634c5
SH
392The F<Changes> file for an explanation of how to view exhaustive details on
393what changed.
44691e6f
AB
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