Commit | Line | Data |
e06a4ec4 |
1 | =head1 NAME |
2 | |
3 | perldelta - what is new for perl v5.11.4 |
4 | |
5 | =head1 DESCRIPTION |
6 | |
7 | This document describes differences between the 5.11.3 release and |
8 | the 5.11.4 release. |
9 | |
10 | If you are upgrading from an earlier release such as 5.11.2, first read |
11 | L<perl5113delta>, which describes differences between 5.11.2 and |
12 | 5.11.3. |
13 | |
14 | =head1 Notice |
15 | |
16 | XXX Any important notices here |
17 | |
18 | =head1 Incompatible Changes |
19 | |
20 | XXX For a release on a stable branch, this section aspires to be: |
21 | |
22 | There are no changes intentionally incompatible with 5.XXX.XXX. If any |
23 | exist, they are bugs and reports are welcome. |
24 | |
91625400 |
25 | =head2 Version number formats |
26 | |
27 | Acceptable version number formats have been formalized into "strict" and |
28 | "lax" rules. C<package NAME VERSION> takes a strict version number. C<use |
29 | NAME VERSION> takes a lax version number. C<UNIVERSAL::VERSION> and the |
30 | L<version> object constructors take lax version numbers. Providing an |
31 | invalid version will result in a fatal error. |
32 | |
33 | These formats will be documented fully in the L<version> module in a |
34 | subsequent release of Perl 5.11. To a first approximation, a "strict" |
35 | version number is a positive decimal number (integer or decimal-fraction) |
36 | without exponentiation or else a dotted-decimal v-string with a leading 'v' |
37 | character and at least three components. A "lax" version number allows |
38 | v-strings with fewer than three components or without a leading 'v'. Under |
39 | "lax" rules, both decimal and dotted-decimal versions may have a trailing |
40 | "alpha" component separated by an underscore character after a fractional |
41 | or dotted-decimal component. |
42 | |
43 | The L<version> module adds C<version::is_strict> and C<version::is_lax> |
44 | functions to check a scalar against these rules. |
e06a4ec4 |
45 | |
46 | =head1 Core Enhancements |
47 | |
48 | XXX New core language features go here. Summarise user-visible core language |
49 | enhancements. Particularly prominent performance optimisations could go |
50 | here, but most should go in the L</Performance Enhancements> section. |
51 | |
75080c80 |
52 | =head2 Unicode properties |
53 | |
54 | C<\p{XDigit}> now matches the same characters as C<\p{Hex_Digit}>. This |
55 | means that in addition to the characters it currently matches, |
56 | C<[A-Fa-f0-9]>, it will also match their fullwidth equivalent forms, for |
57 | example U+FF10: FULLWIDTH DIGIT ZERO. |
58 | |
e06a4ec4 |
59 | =head1 New Platforms |
60 | |
61 | XXX List any platforms that this version of perl compiles on, that previous |
62 | versions did not. These will either be enabled by new files in the F<hints/> |
63 | directories, or new subdirectories and F<README> files at the top level of the |
64 | source tree. |
65 | |
66 | =head1 Modules and Pragmata |
67 | |
68 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
69 | go here. If Module::CoreList is updated, generate an initial draft of the |
70 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub |
71 | entries to STDOUT. Results can be pasted in place of the '=head2' entries |
72 | below. A paragraph summary for important changes should then be added by hand. |
73 | In an ideal world, dual-life modules would have a F<Changes> file that could be |
74 | cribbed. |
75 | |
76 | =head2 New Modules and Pragmata |
77 | |
78 | =head2 Pragmata Changes |
79 | |
80 | =head2 Updated Modules |
81 | |
82 | =head2 Removed Modules and Pragmata |
83 | |
84 | =head1 Utility Changes |
85 | |
86 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
87 | here. Most of these are built within the directories F<utils> and F<x2p>. |
88 | |
89 | =over 4 |
90 | |
91 | =item F<XXX> |
92 | |
93 | XXX |
94 | |
95 | =back |
96 | |
97 | =head1 New Documentation |
98 | |
99 | XXX Changes which create B<new> files in F<pod/> go here. |
100 | |
101 | =over 4 |
102 | |
103 | =item L<XXX> |
104 | |
105 | XXX |
106 | |
107 | =back |
108 | |
109 | =head1 Changes to Existing Documentation |
110 | |
111 | XXX Changes which significantly change existing files in F<pod/> go here. |
112 | Any changes to F<pod/perldiag.pod> should go in L</New or Changed Diagnostics>. |
113 | |
114 | |
115 | =head1 Performance Enhancements |
116 | |
117 | XXX Changes which enhance performance without changing behaviour go here. There |
118 | may well be none in a stable release. |
119 | |
120 | =over 4 |
121 | |
122 | =item * |
123 | |
124 | XXX |
125 | |
126 | =back |
127 | |
128 | =head1 Installation and Configuration Improvements |
129 | |
130 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
131 | go here. |
132 | |
133 | =head2 Configuration improvements |
134 | |
135 | XXX |
136 | |
137 | =head2 Compilation improvements |
138 | |
139 | XXX |
140 | |
141 | =head2 Platform Specific Changes |
142 | |
143 | =over 4 |
144 | |
145 | =item XXX-some-platform |
146 | |
147 | XXX |
148 | |
149 | =back |
150 | |
151 | =head1 Selected Bug Fixes |
152 | |
153 | XXX Important bug fixes in the core language are summarised here. |
154 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in |
155 | L</Modules and Pragmata>. |
156 | |
157 | =over 4 |
158 | |
159 | =item * |
160 | |
161 | XXX |
162 | |
163 | =back |
164 | |
165 | =head1 New or Changed Diagnostics |
166 | |
e06a4ec4 |
167 | =over 4 |
168 | |
cabbd591 |
169 | =item New warning category C<illegalproto> |
e06a4ec4 |
170 | |
cabbd591 |
171 | The two warnings : |
172 | |
173 | Illegal character in prototype for %s : %s |
174 | Prototype after '%c' for %s : %s |
175 | |
176 | have been moved from the C<syntax> top-level warnings category into a new |
177 | first-level category, C<illegalproto>. These two warnings are currently the |
178 | only ones emitted during parsing of an invalid/illegal prototype, so one |
179 | can now do |
180 | |
181 | no warnings 'illegalproto'; |
182 | |
183 | to suppress only those, but not other syntax-related warnings. Warnings where |
184 | prototypes are changed, ignored, or not met are still in the C<prototype> |
185 | category as before. (Matt S. Trout) |
e06a4ec4 |
186 | |
98adedef |
187 | =item lvalue attribute ignored after the subroutine has been defined |
188 | |
189 | This new warning is issued when one attempts to mark a subroutine as |
190 | lvalue after it has been defined. |
191 | |
e06a4ec4 |
192 | =back |
193 | |
194 | =head1 Changed Internals |
195 | |
196 | XXX Changes which affect the interface available to C<XS> code go here. |
197 | |
198 | =over 4 |
199 | |
200 | =item * |
201 | |
202 | XXX |
203 | |
204 | =back |
205 | |
206 | =head1 New Tests |
207 | |
208 | XXX Changes which create B<new> files in F<t/> go here. Changes to |
209 | existing files in F<t/> aren't worth summarising, although the bugs that |
210 | they represent may be. |
211 | |
212 | =over 4 |
213 | |
214 | =item F<XXX> |
215 | |
216 | XXX |
217 | |
218 | =back |
219 | |
220 | =head1 Known Problems |
221 | |
222 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
223 | tests that had to be C<TODO>ed for the release would be noted here, unless |
224 | they were specific to a particular platform (see below). |
225 | |
226 | This is a list of some significant unfixed bugs, which are regressions |
227 | from either 5.XXX.XXX or 5.XXX.XXX. |
228 | |
229 | =over 4 |
230 | |
231 | =item * |
232 | |
233 | XXX |
234 | |
235 | =back |
236 | |
237 | =head1 Deprecations |
238 | |
e06a4ec4 |
239 | The following items are now deprecated. |
240 | |
241 | =over 4 |
242 | |
6f7a7d3e |
243 | =item C<< UNIVERSAL-E<gt>import() >> |
e06a4ec4 |
244 | |
6f7a7d3e |
245 | The method C<< UNIVERSAL-E<gt>import() >> is now deprecated. |
246 | Attempting to pass import arguments to a C<use UNIVERSAL> |
247 | statement will result in a deprecation warning. (This is |
248 | a less noisy version of the full deprecation warning |
249 | added in 5.11.0.) |
e06a4ec4 |
250 | |
251 | =back |
252 | |
253 | =head1 Platform Specific Notes |
254 | |
255 | XXX Any changes specific to a particular platform. VMS and Win32 are the usual |
256 | stars here. It's probably best to group changes under the same section layout |
257 | as the main perldelta |
258 | |
259 | =head1 Obituary |
260 | |
261 | XXX If any significant core contributor has died, we've added a short obituary |
262 | here. |
263 | |
264 | =head1 Acknowledgements |
265 | |
266 | XXX The list of people to thank goes here. |
267 | |
268 | |
269 | =head1 Reporting Bugs |
270 | |
271 | If you find what you think is a bug, you might check the articles |
272 | recently posted to the comp.lang.perl.misc newsgroup and the perl |
273 | bug database at http://rt.perl.org/perlbug/ . There may also be |
274 | information at http://www.perl.org/ , the Perl Home Page. |
275 | |
276 | If you believe you have an unreported bug, please run the B<perlbug> |
277 | program included with your release. Be sure to trim your bug down |
278 | to a tiny but sufficient test case. Your bug report, along with the |
279 | output of C<perl -V>, will be sent off to perlbug@perl.org to be |
280 | analysed by the Perl porting team. |
281 | |
282 | If the bug you are reporting has security implications, which make it |
283 | inappropriate to send to a publicly archived mailing list, then please send |
284 | it to perl5-security-report@perl.org. This points to a closed subscription |
285 | unarchived mailing list, which includes all the core committers, who be able |
286 | to help assess the impact of issues, figure out a resolution, and help |
287 | co-ordinate the release of patches to mitigate or fix the problem across all |
288 | platforms on which Perl is supported. Please only use this address for |
289 | security issues in the Perl core, not for modules independently |
290 | distributed on CPAN. |
291 | |
292 | =head1 SEE ALSO |
293 | |
294 | The F<Changes> file for an explanation of how to view exhaustive details |
295 | on what changed. |
296 | |
297 | The F<INSTALL> file for how to build Perl. |
298 | |
299 | The F<README> file for general stuff. |
300 | |
301 | The F<Artistic> and F<Copying> files for copyright information. |
302 | |
303 | =cut |