Commit | Line | Data |
f83c51e5 |
1 | =encoding utf8 |
2 | |
3 | =head1 NAME |
4 | |
5 | perldelta - what is new for perl v5.13.2 |
6 | |
7 | =head1 DESCRIPTION |
8 | |
9 | This document describes differences between the 5.13.2 release and |
10 | the 5.13.1 release. |
11 | |
12 | If you are upgrading from an earlier release such as 5.10, first read |
13 | L<perl5120delta>, which describes differences between 5.10 and |
14 | 5.12. |
15 | |
16 | =head1 Notice |
17 | |
18 | XXX Any important notices here |
19 | |
20 | =head1 Incompatible Changes |
21 | |
5f3e44b6 |
22 | =head2 localised tied scalars are tied again. |
f83c51e5 |
23 | |
5f3e44b6 |
24 | The change in behaviour in 5.13.1 of localising tied scalar values has |
25 | been reverted to the existing 5.12.0 and earlier behaviour (the change for |
26 | arrays and hashes remains). |
f83c51e5 |
27 | |
28 | =head1 Core Enhancements |
29 | |
30 | XXX New core language features go here. Summarise user-visible core language |
31 | enhancements. Particularly prominent performance optimisations could go |
32 | here, but most should go in the L</Performance Enhancements> section. |
33 | |
c4a65341 |
34 | =head2 Non-destructive substitution |
35 | |
36 | The substitution operator now supports a C</r> option that |
37 | copies the input variable, carries out the substitution on |
38 | the copy and returns the result. The original remains unmodified. |
39 | |
40 | my $old = 'cat'; |
41 | my $new = $old =~ s/cat/dog/r; |
42 | # $old is 'cat' and $new is 'dog' |
43 | |
44 | This is particularly useful with C<map>. See L<perlop> for more examples. |
45 | |
f5d8aca1 |
46 | =head2 package block syntax |
47 | |
48 | A package declaration can now contain a code block, in which case the |
49 | declaration is in scope only inside that block. So C<package Foo { ... }> |
50 | is precisely equivalent to C<{ package Foo; ... }>. It also works with |
51 | a version number in the declaration, as in C<package Foo 1.2 { ... }>. |
52 | See L<perlfunc>. |
53 | |
f83c51e5 |
54 | =head1 New Platforms |
55 | |
56 | XXX List any platforms that this version of perl compiles on, that previous |
57 | versions did not. These will either be enabled by new files in the F<hints/> |
58 | directories, or new subdirectories and F<README> files at the top level of the |
59 | source tree. |
60 | |
61 | =head1 Modules and Pragmata |
62 | |
63 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
64 | go here. If Module::CoreList is updated, generate an initial draft of the |
65 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub |
66 | entries to STDOUT. Results can be pasted in place of the '=head2' entries |
67 | below. A paragraph summary for important changes should then be added by hand. |
68 | In an ideal world, dual-life modules would have a F<Changes> file that could be |
69 | cribbed. |
70 | |
71 | =head2 New Modules and Pragmata |
72 | |
73 | =head2 Pragmata Changes |
74 | |
75 | =head2 Updated Modules |
76 | |
77 | =head2 Removed Modules and Pragmata |
78 | |
79 | =head1 Utility Changes |
80 | |
81 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
82 | here. Most of these are built within the directories F<utils> and F<x2p>. |
83 | |
84 | =over 4 |
85 | |
86 | =item F<XXX> |
87 | |
88 | XXX |
89 | |
90 | =back |
91 | |
92 | =head1 New Documentation |
93 | |
94 | XXX Changes which create B<new> files in F<pod/> go here. |
95 | |
96 | =over 4 |
97 | |
98 | =item L<XXX> |
99 | |
100 | XXX |
101 | |
102 | =back |
103 | |
104 | =head1 Changes to Existing Documentation |
105 | |
106 | XXX Changes which significantly change existing files in F<pod/> go here. |
107 | Any changes to F<pod/perldiag.pod> should go in L</New or Changed Diagnostics>. |
108 | |
109 | |
110 | =head1 Performance Enhancements |
111 | |
112 | XXX Changes which enhance performance without changing behaviour go here. There |
113 | may well be none in a stable release. |
114 | |
115 | =over 4 |
116 | |
117 | =item * |
118 | |
119 | XXX |
120 | |
121 | =back |
122 | |
123 | =head1 Installation and Configuration Improvements |
124 | |
125 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
126 | go here. |
127 | |
128 | =head2 Configuration improvements |
129 | |
130 | XXX |
131 | |
132 | =head2 Compilation improvements |
133 | |
134 | XXX |
135 | |
136 | =head2 Platform Specific Changes |
137 | |
138 | =over 4 |
139 | |
140 | =item XXX-some-platform |
141 | |
142 | XXX |
143 | |
144 | =back |
145 | |
146 | =head1 Selected Bug Fixes |
147 | |
148 | XXX Important bug fixes in the core language are summarised here. |
149 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in |
150 | L</Modules and Pragmata>. |
151 | |
152 | =over 4 |
153 | |
154 | =item * |
155 | |
ebe8e111 |
156 | Overloading now works properly in conjunction with tied variables. What |
157 | formerly happened was that most ops checked their arguments for overloading |
158 | I<before> checking for magic, so for example an overloaded object returned |
159 | by a tied array access would usually be treated as not overloaded |
160 | (RT #57012). |
f83c51e5 |
161 | |
162 | =back |
163 | |
164 | =head1 New or Changed Diagnostics |
165 | |
166 | XXX New or changed warnings emitted by the core's C<C> code go here. |
167 | |
168 | =over 4 |
169 | |
170 | =item C<XXX> |
171 | |
172 | XXX |
173 | |
174 | =back |
175 | |
176 | =head1 Changed Internals |
177 | |
178 | XXX Changes which affect the interface available to C<XS> code go here. |
179 | |
180 | =over 4 |
181 | |
182 | =item * |
183 | |
03d5bcf8 |
184 | The C<fund_rundefsvoffset> function has been deprecated. It appeared that |
185 | its design was insufficient to reliably get the lexical C<$_> at run-time. |
186 | |
187 | Use the new C<find_rundefsv> function or the C<UNDERBAR> macro instead. |
188 | They directly return the right SV representing C<$_>, whether it's lexical |
189 | or dynamic. |
190 | |
191 | =item * |
192 | |
ebe8e111 |
193 | The following new functions or macros have been added to the public API: |
789bd863 |
194 | C<SvNV_nomg>, C<sv_2nv_flags>, C<find_rundefsv>. |
f83c51e5 |
195 | |
483ce06a |
196 | =item * |
197 | |
198 | The C<UNDERBAR> macro now calls C<find_rundefsv>. C<dUNDERBAR> is now a |
199 | noop but should still be used to ensure past and future compatibility. |
200 | |
f83c51e5 |
201 | =back |
202 | |
203 | =head1 New Tests |
204 | |
205 | XXX Changes which create B<new> files in F<t/> go here. Changes to |
206 | existing files in F<t/> aren't worth summarising, although the bugs that |
207 | they represent may be. |
208 | |
209 | =over 4 |
210 | |
211 | =item F<XXX> |
212 | |
213 | XXX |
214 | |
215 | =back |
216 | |
217 | =head1 Known Problems |
218 | |
219 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
220 | tests that had to be C<TODO>ed for the release would be noted here, unless |
221 | they were specific to a particular platform (see below). |
222 | |
223 | This is a list of some significant unfixed bugs, which are regressions |
224 | from either 5.XXX.XXX or 5.XXX.XXX. |
225 | |
226 | =over 4 |
227 | |
228 | =item * |
229 | |
230 | XXX |
231 | |
232 | =back |
233 | |
234 | =head1 Deprecations |
235 | |
236 | XXX Add any new known deprecations here. |
237 | |
238 | The following items are now deprecated. |
239 | |
240 | =over 4 |
241 | |
242 | =item * |
243 | |
244 | XXX |
245 | |
246 | =back |
247 | |
248 | =head1 Platform Specific Notes |
249 | |
250 | XXX Any changes specific to a particular platform. VMS and Win32 are the usual |
251 | stars here. It's probably best to group changes under the same section layout |
252 | as the main perldelta |
253 | |
254 | =head1 Obituary |
255 | |
256 | XXX If any significant core contributor has died, we've added a short obituary |
257 | here. |
258 | |
259 | =head1 Acknowledgements |
260 | |
261 | XXX The list of people to thank goes here. |
262 | |
263 | |
264 | =head1 Reporting Bugs |
265 | |
266 | If you find what you think is a bug, you might check the articles |
267 | recently posted to the comp.lang.perl.misc newsgroup and the perl |
268 | bug database at http://rt.perl.org/perlbug/ . There may also be |
269 | information at http://www.perl.org/ , the Perl Home Page. |
270 | |
271 | If you believe you have an unreported bug, please run the B<perlbug> |
272 | program included with your release. Be sure to trim your bug down |
273 | to a tiny but sufficient test case. Your bug report, along with the |
274 | output of C<perl -V>, will be sent off to perlbug@perl.org to be |
275 | analysed by the Perl porting team. |
276 | |
277 | If the bug you are reporting has security implications, which make it |
278 | inappropriate to send to a publicly archived mailing list, then please send |
279 | it to perl5-security-report@perl.org. This points to a closed subscription |
280 | unarchived mailing list, which includes all the core committers, who be able |
281 | to help assess the impact of issues, figure out a resolution, and help |
282 | co-ordinate the release of patches to mitigate or fix the problem across all |
283 | platforms on which Perl is supported. Please only use this address for |
284 | security issues in the Perl core, not for modules independently |
285 | distributed on CPAN. |
286 | |
287 | =head1 SEE ALSO |
288 | |
289 | The F<Changes> file for an explanation of how to view exhaustive details |
290 | on what changed. |
291 | |
292 | The F<INSTALL> file for how to build Perl. |
293 | |
294 | The F<README> file for general stuff. |
295 | |
296 | The F<Artistic> and F<Copying> files for copyright information. |
297 | |
298 | =cut |