This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
dont create *{"_<$filename"} globs for perl lang debugging of XSUBs
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
cf73ceda
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.23.2
eabfc7bc 9
2cfe9b50 10=head1 DESCRIPTION
eabfc7bc 11
cf73ceda 12This document describes differences between the 5.23.1 release and the 5.23.2
2cfe9b50 13release.
eabfc7bc 14
cf73ceda
MH
15If you are upgrading from an earlier release such as 5.23.0, first read
16L<perl5231delta>, which describes differences between 5.23.0 and 5.23.1.
17
18=head1 Notice
19
20XXX Any important notices here
fc4c3cec 21
2cfe9b50 22=head1 Core Enhancements
eabfc7bc 23
cf73ceda
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.
deaaea8c 27
cf73ceda 28[ List each enhancement as a =head2 entry ]
deaaea8c 29
cf73ceda 30=head1 Security
deaaea8c 31
cf73ceda
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.
deaaea8c 35
cf73ceda 36[ List each security issue as a =head2 entry ]
deaaea8c 37
cf73ceda 38=head1 Incompatible Changes
deaaea8c 39
cf73ceda 40XXX For a release on a stable branch, this section aspires to be:
fb7e9cdd 41
cf73ceda
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.
fb7e9cdd 45
cf73ceda 46[ List each incompatible change as a =head2 entry ]
deaaea8c 47
cf73ceda 48=head1 Deprecations
7d380357 49
cf73ceda 50XXX Any deprecated features, syntax, modules etc. should be listed here.
7d380357 51
cf73ceda 52=head2 Module removals
0d610ac1 53
cf73ceda 54XXX Remove this section if inapplicable.
0d610ac1 55
cf73ceda
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.
eabfc7bc 60
cf73ceda
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.
26230909 64
cf73ceda
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.
fc4c3cec 69
cf73ceda
MH
70=over
71
72=item XXX
73
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.
76
77=back
78
79[ List each other deprecation as a =head2 entry ]
80
81=head1 Performance Enhancements
82
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
85
86[ List each enhancement as a =item entry ]
fc4c3cec 87
f282dc56 88=over 4
fc4c3cec 89
f282dc56 90=item *
fc4c3cec 91
9b669ea1
DD
92Creating Perl debugger data structures (see L<perldebguts/"Debugger Internals">)
93for XSUBs and const subs has been removed. This removed one glob/scalar combo
94for each unique C<.c> file that XSUBs and const subs came from. On startup
95(C<perl -e"0">) about half a dozen glob/scalar debugger combos were created.
96Loading XS modules created more glob/scalar combos. These things were created
97regardless if the perl debugger was being used or not, unlike for pure perl
98subs, and ignores that the perl debugger can not debug C code.
fc4c3cec 99
cf73ceda 100=back
fc4c3cec 101
cf73ceda 102=head1 Modules and Pragmata
fc4c3cec 103
cf73ceda
MH
104XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
105go here. If Module::CoreList is updated, generate an initial draft of the
106following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
107for important changes should then be added by hand. In an ideal world,
108dual-life modules would have a F<Changes> file that could be cribbed.
fc4c3cec 109
cf73ceda 110[ Within each section, list entries as a =item entry ]
fc4c3cec 111
cf73ceda 112=head2 New Modules and Pragmata
fc4c3cec 113
cf73ceda 114=over 4
eabfc7bc 115
f282dc56 116=item *
eabfc7bc 117
cf73ceda 118XXX
eabfc7bc 119
cf73ceda 120=back
eabfc7bc 121
cf73ceda
MH
122=head2 Updated Modules and Pragmata
123
124=over 4
eabfc7bc 125
73d6481e 126=item *
eabfc7bc 127
0dd5b0dc
SH
128L<Encode> has been upgraded from version 2.75 to 2.76.
129
130=item *
131
356231b0
SH
132L<Filter::Util::Call> has been upgraded from version 1.54 to 1.55.
133
134=item *
135
a2373b32
TC
136The PathTools module collection has been upgraded from version 3.55 to
1373.56.
138
139Minor optimizations. [perl #125712]
eabfc7bc 140
cf73ceda
MH
141=back
142
143=head2 Removed Modules and Pragmata
eabfc7bc 144
cf73ceda 145=over 4
eabfc7bc
RS
146
147=item *
148
cf73ceda 149XXX
dc013420 150
cf73ceda 151=back
dc013420 152
cf73ceda 153=head1 Documentation
c85f23b2 154
cf73ceda
MH
155XXX Changes to files in F<pod/> go here. Consider grouping entries by
156file and be sure to link to the appropriate page, e.g. L<perlfunc>.
eabfc7bc 157
cf73ceda 158=head2 New Documentation
6962a25d 159
cf73ceda 160XXX Changes which create B<new> files in F<pod/> go here.
f282dc56 161
cf73ceda 162=head3 L<XXX>
f282dc56 163
cf73ceda 164XXX Description of the purpose of the new file here
f282dc56 165
cf73ceda 166=head2 Changes to Existing Documentation
f282dc56 167
cf73ceda
MH
168XXX Changes which significantly change existing files in F<pod/> go here.
169However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
170section.
f282dc56 171
cf73ceda 172=head3 L<XXX>
f282dc56 173
cf73ceda 174=over 4
f282dc56
MH
175
176=item *
177
cf73ceda
MH
178XXX Description of the change here
179
180=back
181
182=head1 Diagnostics
183
184The following additions or changes have been made to diagnostic output,
185including warnings and fatal error messages. For the complete list of
186diagnostic messages, see L<perldiag>.
187
188XXX New or changed warnings emitted by the core's C<C> code go here. Also
189include any changes in L<perldiag> that reconcile it to the C<C> code.
190
191=head2 New Diagnostics
192
193XXX Newly added diagnostic messages go under here, separated into New Errors
194and New Warnings
195
196=head3 New Errors
197
198=over 4
f282dc56
MH
199
200=item *
201
cf73ceda
MH
202XXX L<message|perldiag/"message">
203
204=back
205
206=head3 New Warnings
207
208=over 4
f282dc56
MH
209
210=item *
211
cf73ceda
MH
212XXX L<message|perldiag/"message">
213
214=back
215
216=head2 Changes to Existing Diagnostics
217
218XXX Changes (i.e. rewording) of diagnostic messages go here
219
220=over 4
6962a25d 221
0b8e4842
SH
222=item *
223
cf73ceda
MH
224XXX Describe change here
225
226=back
227
228=head1 Utility Changes
229
230XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
231Most of these are built within the directory F<utils>.
232
233[ List utility changes as a =head2 entry for each utility and =item
234entries for each change
235Use L<XXX> with program names to get proper documentation linking. ]
236
237=head2 L<XXX>
238
239=over 4
0b8e4842 240
f282dc56 241=item *
eabfc7bc 242
cf73ceda
MH
243XXX
244
245=back
246
247=head1 Configuration and Compilation
248
249XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
250go here. Any other changes to the Perl build process should be listed here.
251However, any platform-specific changes should be listed in the
252L</Platform Support> section, instead.
253
254[ List changes as a =item entry ].
255
256=over 4
374c951f
SH
257
258=item *
259
cf73ceda 260XXX
e586de20 261
fc4c3cec 262=back
e586de20 263
cf73ceda 264=head1 Testing
b7b593d8 265
cf73ceda
MH
266XXX Any significant changes to the testing of a freshly built perl should be
267listed here. Changes which create B<new> files in F<t/> go here as do any
268large changes to the testing harness (e.g. when parallel testing was added).
269Changes to existing files in F<t/> aren't worth summarizing, although the bugs
270that they represent may be covered elsewhere.
b7b593d8 271
cf73ceda 272[ List each test improvement as a =item entry ]
fc4c3cec 273
fc4c3cec 274=over 4
4b951711
TC
275
276=item *
277
cf73ceda 278XXX
eabfc7bc 279
fc4c3cec 280=back
eabfc7bc 281
73d6481e 282=head1 Platform Support
eabfc7bc 283
cf73ceda
MH
284XXX Any changes to platform support should be listed in the sections below.
285
286[ Within the sections, list each platform as a =item entry with specific
287changes as paragraphs below it. ]
288
289=head2 New Platforms
290
291XXX List any platforms that this version of perl compiles on, that previous
292versions did not. These will either be enabled by new files in the F<hints/>
293directories, or new subdirectories and F<README> files at the top level of the
294source tree.
9c0328ac 295
fc4c3cec
RS
296=over 4
297
cf73ceda 298=item XXX-some-platform
fc4c3cec 299
cf73ceda 300XXX
7d380357 301
cf73ceda 302=back
7d380357 303
cf73ceda
MH
304=head2 Discontinued Platforms
305
306XXX List any platforms that this version of perl no longer compiles on.
307
308=over 4
309
310=item XXX-some-platform
311
312XXX
7d380357
RS
313
314=back
eabfc7bc 315
cf73ceda
MH
316=head2 Platform-Specific Notes
317
318XXX List any changes for specific platforms. This could include configuration
319and compilation changes or changes in portability/compatibility. However,
320changes within modules for platforms should generally be listed in the
321L</Modules and Pragmata> section.
322
323=over 4
324
325=item XXX-some-platform
326
327XXX
328
2cfe9b50 329=back
eabfc7bc 330
fc4c3cec
RS
331=head1 Internal Changes
332
cf73ceda
MH
333XXX Changes which affect the interface available to C<XS> code go here. Other
334significant internal changes for future core maintainers should be noted as
335well.
336
337[ List each change as a =item entry ]
338
2cfe9b50 339=over 4
eabfc7bc
RS
340
341=item *
342
cf73ceda 343XXX
eabfc7bc 344
fc4c3cec 345=back
302ef3d4 346
fc4c3cec 347=head1 Selected Bug Fixes
302ef3d4 348
cf73ceda
MH
349XXX Important bug fixes in the core language are summarized here. Bug fixes in
350files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
351
352[ List each fix as a =item entry ]
353
fc4c3cec 354=over 4
eabfc7bc 355
73d6481e 356=item *
eabfc7bc 357
912fd711
KW
358Perl can again be compiled with any Unicode version. This used to
359(mostly) work, but was lost in v5.18 through v5.20. The property
360C<Name_Alias> did not exist prior to Unicode 5.0. L<Unicode::UCD>
361incorrectly said it did. This has been fixed.
cf73ceda
MH
362
363=back
364
365=head1 Known Problems
366
367XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
368tests that had to be C<TODO>ed for the release would be noted here. Unfixed
369platform specific bugs also go here.
370
371[ List each fix as a =item entry ]
372
373=over 4
eabfc7bc 374
fc4c3cec 375=item *
2a7a05b4 376
cf73ceda 377XXX
30aa8e3f 378
fc4c3cec 379=back
30aa8e3f 380
cf73ceda 381=head1 Errata From Previous Releases
2a7a05b4 382
cf73ceda 383=over 4
f282dc56 384
cf73ceda 385=item *
f282dc56 386
cf73ceda
MH
387XXX Add anything here that we forgot to add, or were mistaken about, in
388the perldelta of a previous release.
f282dc56 389
cf73ceda 390=back
f282dc56 391
cf73ceda
MH
392=head1 Obituary
393
394XXX If any significant core contributor has died, we've added a short obituary
395here.
396
397=head1 Acknowledgements
f282dc56 398
cf73ceda 399XXX Generate this with:
2cfe9b50 400
cf73ceda 401 perl Porting/acknowledgements.pl v5.23.1..HEAD
f5b73711 402
44691e6f
AB
403=head1 Reporting Bugs
404
e08634c5
SH
405If you find what you think is a bug, you might check the articles recently
406posted to the comp.lang.perl.misc newsgroup and the perl bug database at
fc4c3cec
RS
407L<https://rt.perl.org/> . There may also be information at
408L<http://www.perl.org/> , the Perl Home Page.
44691e6f 409
e08634c5
SH
410If you believe you have an unreported bug, please run the L<perlbug> program
411included with your release. Be sure to trim your bug down to a tiny but
412sufficient test case. Your bug report, along with the output of C<perl -V>,
413will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
414
415If the bug you are reporting has security implications, which make it
e08634c5
SH
416inappropriate to send to a publicly archived mailing list, then please send it
417to perl5-security-report@perl.org. This points to a closed subscription
418unarchived mailing list, which includes all the core committers, who will be
419able to help assess the impact of issues, figure out a resolution, and help
f9001595 420co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
421platforms on which Perl is supported. Please only use this address for
422security issues in the Perl core, not for modules independently distributed on
423CPAN.
44691e6f
AB
424
425=head1 SEE ALSO
426
e08634c5
SH
427The F<Changes> file for an explanation of how to view exhaustive details on
428what changed.
44691e6f
AB
429
430The F<INSTALL> file for how to build Perl.
431
432The F<README> file for general stuff.
433
434The F<Artistic> and F<Copying> files for copyright information.
435
436=cut