This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #79178] STORE/FETCH of tie()d hash get stringified key
[perl5.git] / pod / perldelta.pod
CommitLineData
3a5c9134
CBW
1=encoding utf8
2
3=head1 NAME
4
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
7
8perldelta - what is new for perl v5.13.8
9
10=head1 DESCRIPTION
11
12This document describes differences between the 5.13.8 release and
13the 5.13.7 release.
14
dbbe2d83 15If you are upgrading from an earlier release such as 5.13.6, first read
3a5c9134
CBW
16L<perl5137delta>, which describes differences between 5.13.6 and
175.13.7.
18
19=head1 Notice
20
21XXX Any important notices here
22
23=head1 Core Enhancements
24
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.
28
29[ List each enhancement as a =head2 entry ]
30
b19934fb
NC
31=head2 C<-d:-foo> calls C<Devel::foo::unimport>
32
33The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
34equivalent to C<-Mfoo=bar>, which expands internally to C<use foo 'bar';>.
35F<perl> now allows prefixing the module name with C<->, with the same
36semantics as C<-M>, I<i.e.>
37
38=over 4
39
40=item C<-d:-foo>
41
42Equivalent to C<-M-foo>, expands to C<no foo;>, calls C<< foo->unimport() >>
43if the method exists.
44
45=item C<-d:-foo=bar>
46
47Equivalent to C<-M-foo=bar>, expands to C<no foo 'bar';>, calls
48C<< foo->unimport('bar') >> if the method exists.
49
50=back
51
52This is particularly useful to suppresses the default actions of a
53C<Devel::*> module's C<import> method whilst still loading it for debugging.
54
3a5c9134
CBW
55=head1 Security
56
57XXX Any security-related notices go here. In particular, any security
58vulnerabilities closed should be noted here rather than in the
59L</Selected Bug Fixes> section.
60
61[ List each security issue as a =head2 entry ]
62
63=head1 Incompatible Changes
64
65XXX For a release on a stable branch, this section aspires to be:
66
67 There are no changes intentionally incompatible with 5.XXX.XXX. If any
68 exist, they are bugs and reports are welcome.
69
70[ List each incompatible change as a =head2 entry ]
71
72=head1 Deprecations
73
74XXX Any deprecated features, syntax, modules etc. should be listed here.
75In particular, deprecated modules should be listed here even if they are
76listed as an updated module in the L</Modules and Pragmata> section.
77
78[ List each deprecation as a =head2 entry ]
79
d59a8b3e
NC
80=head2 C<sv_compile_2op> is now deprecated
81
82The C<sv_compile_2op> is now deprecated, and will be removed. Searches suggest
83that nothing on CPAN is using it, so this should have zero impact.
84
85It attempted to provide an API to compile code down to an optree, but failed
86to bind correctly to lexicals in the enclosing scope. It's not possible to
87fix this problem within the constraints of its parameters and return value.
88
3a5c9134
CBW
89=head1 Performance Enhancements
90
91XXX Changes which enhance performance without changing behaviour go here. There
92may well be none in a stable release.
93
94[ List each enhancement as a =item entry ]
95
96=over 4
97
98=item *
99
100XXX
101
102=back
103
104=head1 Modules and Pragmata
105
106XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
107go here. If Module::CoreList is updated, generate an initial draft of the
108following sections using F<Porting/corelist-perldelta.pl>, which prints stub
109entries to STDOUT. Results can be pasted in place of the '=head2' entries
110below. A paragraph summary for important changes should then be added by hand.
111In an ideal world, dual-life modules would have a F<Changes> file that could be
112cribbed.
113
114[ Within each section, list entries as a =item entry ]
115
116=head2 New Modules and Pragmata
117
118=over 4
119
120=item *
121
122XXX
123
124=back
125
126=head2 Updated Modules and Pragmata
127
128=over 4
129
130=item *
131
39b09a1b
CBW
132C<IPC::Cmd> has been upgraded from 0.64 to 0.66
133
134Resolves an issue with splitting Win32 command lines
135and documentation enhancements.
136
137=item *
138
37fa6334 139C<MIME::Base64> has been upgraded from 3.10 to 3.13
2456140e
CBW
140
141Now provides encode_base64url and decode_base64url functions to process
142the base64 scheme for "URL applications".
143
144=item *
145
68adb2b0
CBW
146C<Unicode::Collate> has been upgraded from 0.67 to 0.68
147
148=item *
149
3a5c9134
CBW
150XXX
151
152=back
153
154=head2 Removed Modules and Pragmata
155
156=over 4
157
158=item *
159
160XXX
161
162=back
163
164=head1 Documentation
165
166XXX Changes to files in F<pod/> go here. Consider grouping entries by
167file and be sure to link to the appropriate page, e.g. L<perlfunc>.
168
169=head2 New Documentation
170
171XXX Changes which create B<new> files in F<pod/> go here.
172
173=head3 L<XXX>
174
175XXX Description of the purpose of the new file here
176
177=head2 Changes to Existing Documentation
178
179XXX Changes which significantly change existing files in F<pod/> go here.
180However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
181section.
182
183=head3 L<XXX>
184
185=over 4
186
187=item *
188
189XXX Description of the change here
190
191=back
192
193=head1 Diagnostics
194
195The following additions or changes have been made to diagnostic output,
196including warnings and fatal error messages. For the complete list of
197diagnostic messages, see L<perldiag>.
198
199XXX New or changed warnings emitted by the core's C<C> code go here. Also
200include any changes in L<perldiag> that reconcile it to the C<C> code.
201
202[ Within each section, list entries as a =item entry ]
203
204=head2 New Diagnostics
205
206XXX Newly added diagnostic messages go here
207
208=over 4
209
210=item *
211
212XXX
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
221
222=item *
223
224XXX
225
226=back
227
228=head1 Utility Changes
229
230XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
231here. Most of these are built within the directories F<utils> and F<x2p>.
232
233[ List utility changes as a =head3 entry for each utility and =item
234entries for each change
235Use L<XXX> with program names to get proper documentation linking. ]
236
237=head3 L<XXX>
238
239=over 4
240
241=item *
242
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
257
258=item *
259
260XXX
261
262=back
263
264=head1 Testing
265
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 summarising, although the bugs
270that they represent may be covered elsewhere.
271
272[ List each test improvement as a =item entry ]
273
274=over 4
275
276=item *
277
278XXX
279
280=back
281
282=head1 Platform Support
283
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.
295
296=over 4
297
298=item XXX-some-platform
299
300XXX
301
302=back
303
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
313
314=back
315
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
329=back
330
331=head1 Internal Changes
332
333XXX Changes which affect the interface available to C<XS> code go here.
334Other significant internal changes for future core maintainers should
335be noted as well.
336
337[ List each test improvement as a =item entry ]
338
339=over 4
340
341=item *
342
343XXX
344
345=back
346
347=head1 Selected Bug Fixes
348
349XXX Important bug fixes in the core language are summarised here.
350Bug fixes in files in F<ext/> and F<lib/> are best summarised in
351L</Modules and Pragmata>.
352
353[ List each fix as a =item entry ]
354
355=over 4
356
357=item *
358
88e9444c
NC
359C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
360identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
361was erroneously executing the C<use feature ':5.12.0'> and
362C<use strict; use warnings;> behaviour, which only C<use> was documented to
363provide.
3a5c9134
CBW
364
365=back
366
367=head1 Known Problems
368
369XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
370tests that had to be C<TODO>ed for the release would be noted here, unless
371they were specific to a particular platform (see below).
372
373This is a list of some significant unfixed bugs, which are regressions
374from either 5.XXX.XXX or 5.XXX.XXX.
375
376[ List each fix as a =item entry ]
377
378=over 4
379
380=item *
381
2283d326
KW
382A number of bugs with regular expression bracketed character classes
383have been fixed, mostly having to do with matching characters in the
384non-ASCII Latin-1 range.
3a5c9134
CBW
385
386=back
387
388=head1 Obituary
389
390XXX If any significant core contributor has died, we've added a short obituary
391here.
392
393=head1 Acknowledgements
394
395XXX The list of people to thank goes here.
396
397=head1 Reporting Bugs
398
399If you find what you think is a bug, you might check the articles
400recently posted to the comp.lang.perl.misc newsgroup and the perl
401bug database at http://rt.perl.org/perlbug/ . There may also be
402information at http://www.perl.org/ , the Perl Home Page.
403
404If you believe you have an unreported bug, please run the L<perlbug>
405program included with your release. Be sure to trim your bug down
406to a tiny but sufficient test case. Your bug report, along with the
407output of C<perl -V>, will be sent off to perlbug@perl.org to be
408analysed by the Perl porting team.
409
410If the bug you are reporting has security implications, which make it
411inappropriate to send to a publicly archived mailing list, then please send
412it to perl5-security-report@perl.org. This points to a closed subscription
413unarchived mailing list, which includes all the core committers, who be able
414to help assess the impact of issues, figure out a resolution, and help
415co-ordinate the release of patches to mitigate or fix the problem across all
416platforms on which Perl is supported. Please only use this address for
417security issues in the Perl core, not for modules independently
418distributed on CPAN.
419
420=head1 SEE ALSO
421
422The F<Changes> file for an explanation of how to view exhaustive details
423on what changed.
424
425The F<INSTALL> file for how to build Perl.
426
427The F<README> file for general stuff.
428
429The F<Artistic> and F<Copying> files for copyright information.
430
431=cut