Commit | Line | Data |
---|---|---|
e06a4ec4 RGS |
1 | =head1 NAME |
2 | ||
85a8e0aa | 3 | perl5114delta - what is new for perl v5.11.4 |
e06a4ec4 RGS |
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 | ||
e06a4ec4 RGS |
14 | =head1 Incompatible Changes |
15 | ||
91625400 DG |
16 | =head2 Version number formats |
17 | ||
18 | Acceptable version number formats have been formalized into "strict" and | |
19 | "lax" rules. C<package NAME VERSION> takes a strict version number. C<use | |
20 | NAME VERSION> takes a lax version number. C<UNIVERSAL::VERSION> and the | |
21 | L<version> object constructors take lax version numbers. Providing an | |
22 | invalid version will result in a fatal error. | |
23 | ||
24 | These formats will be documented fully in the L<version> module in a | |
25 | subsequent release of Perl 5.11. To a first approximation, a "strict" | |
26 | version number is a positive decimal number (integer or decimal-fraction) | |
27 | without exponentiation or else a dotted-decimal v-string with a leading 'v' | |
28 | character and at least three components. A "lax" version number allows | |
29 | v-strings with fewer than three components or without a leading 'v'. Under | |
30 | "lax" rules, both decimal and dotted-decimal versions may have a trailing | |
31 | "alpha" component separated by an underscore character after a fractional | |
32 | or dotted-decimal component. | |
33 | ||
34 | The L<version> module adds C<version::is_strict> and C<version::is_lax> | |
35 | functions to check a scalar against these rules. | |
e06a4ec4 RGS |
36 | |
37 | =head1 Core Enhancements | |
38 | ||
75080c80 RGS |
39 | =head2 Unicode properties |
40 | ||
41 | C<\p{XDigit}> now matches the same characters as C<\p{Hex_Digit}>. This | |
42 | means that in addition to the characters it currently matches, | |
43 | C<[A-Fa-f0-9]>, it will also match their fullwidth equivalent forms, for | |
44 | example U+FF10: FULLWIDTH DIGIT ZERO. | |
45 | ||
e06a4ec4 RGS |
46 | =head1 Modules and Pragmata |
47 | ||
e06a4ec4 RGS |
48 | =head2 Pragmata Changes |
49 | ||
aac9cb74 | 50 | =over 4 |
e06a4ec4 | 51 | |
aac9cb74 | 52 | =item C<less> |
e06a4ec4 | 53 | |
db63319f | 54 | Upgraded from version 0.02 to 0.03. |
e06a4ec4 | 55 | |
aac9cb74 RS |
56 | This version introduces the C<stash_name> method to allow subclasses of less to |
57 | pick where in %^H to store their stash. | |
e06a4ec4 | 58 | |
aac9cb74 | 59 | =item C<version> |
e06a4ec4 | 60 | |
aac9cb74 | 61 | Upgraded from version 0.77 to 0.81. |
e06a4ec4 | 62 | |
aac9cb74 RS |
63 | This version adds support for L</Version number formats> as described earlier |
64 | in this document and in its own documentation. | |
e06a4ec4 | 65 | |
aac9cb74 RS |
66 | =item C<warnings> |
67 | ||
68 | Upgraded from version 1.08 to 1.09. | |
e06a4ec4 | 69 | |
aac9cb74 RS |
70 | This version adds the C<illegalproto> warning category. See also L</New or |
71 | Changed Diagnostics> for this change. | |
e06a4ec4 | 72 | |
aac9cb74 RS |
73 | =back |
74 | ||
75 | =head2 Updated Modules | |
e06a4ec4 RGS |
76 | |
77 | =over 4 | |
78 | ||
aac9cb74 | 79 | =item C<Archive::Extract> |
e06a4ec4 | 80 | |
aac9cb74 | 81 | Upgraded from version 0.36 to 0.38. |
e06a4ec4 | 82 | |
aac9cb74 | 83 | =item C<B::Deparse> |
e06a4ec4 | 84 | |
aac9cb74 | 85 | Upgraded from version 0.93 to 0.94. |
e06a4ec4 | 86 | |
aac9cb74 | 87 | =item C<Compress::Raw::Bzip2> |
e06a4ec4 | 88 | |
aac9cb74 | 89 | Upgraded from version 2.021 to 2.024. |
e06a4ec4 | 90 | |
aac9cb74 | 91 | =item C<Compress::Raw::Zlib> |
e06a4ec4 | 92 | |
aac9cb74 | 93 | Upgraded from version 2.021 to 2.024. |
e06a4ec4 | 94 | |
aac9cb74 | 95 | =item C<CPAN> |
e06a4ec4 | 96 | |
aac9cb74 RS |
97 | Upgraded from version 1.94_5301 to 1.94_54. |
98 | ||
99 | =item C<File::Fetch> | |
100 | ||
101 | Upgraded from version 0.22 to 0.24. | |
102 | ||
103 | =item C<Module::Build> | |
e06a4ec4 | 104 | |
aac9cb74 RS |
105 | Upgraded from version 0.36 to 0.3603. |
106 | ||
107 | =item C<Safe> | |
108 | ||
109 | Upgraded from version 2.20 to 2.21. | |
110 | ||
111 | Anonymous coderefs created in Safe containers no longer get bogus | |
112 | arguments passed to them, fixing RT #72068. | |
e06a4ec4 RGS |
113 | |
114 | =back | |
115 | ||
aac9cb74 | 116 | =head2 Removed Modules and Pragmata |
e06a4ec4 | 117 | |
aac9cb74 | 118 | =over 4 |
e06a4ec4 | 119 | |
aac9cb74 RS |
120 | =item C<Devel::DProf::V> |
121 | ||
122 | Removed from the Perl core. Prior version was 'undef'. | |
e06a4ec4 | 123 | |
aac9cb74 RS |
124 | =back |
125 | ||
126 | =head1 Changes to Existing Documentation | |
127 | ||
128 | A significant fraction of the core documentation has been updated to clarify | |
129 | the behavior of Perl's Unicode handling. | |
e06a4ec4 | 130 | |
aac9cb74 RS |
131 | Much of the remaining core documentation has been reviewed and edited |
132 | for clarity, consistent use of language, and to fix the spelling of Tom | |
133 | Christiansen's name. | |
e06a4ec4 | 134 | |
aac9cb74 RS |
135 | =head2 Configuration improvements |
136 | ||
137 | USE_ATTRIBUTES_FOR_PERLIO is now reported in the compile-time options | |
138 | listed by the C<-V> switch. | |
e06a4ec4 RGS |
139 | |
140 | =head2 Platform Specific Changes | |
141 | ||
142 | =over 4 | |
143 | ||
aac9cb74 | 144 | =item VMS |
e06a4ec4 | 145 | |
aac9cb74 RS |
146 | The default pipe buffer size on VMS has been updated to 8192 on 64-bit |
147 | systems. | |
e06a4ec4 RGS |
148 | |
149 | =back | |
150 | ||
151 | =head1 Selected Bug Fixes | |
152 | ||
e06a4ec4 RGS |
153 | =over 4 |
154 | ||
155 | =item * | |
156 | ||
aac9cb74 RS |
157 | Tie::Hash::NamedCapture::* shouldn't abort if passed bad input (RT #71828) |
158 | ||
159 | =item * | |
160 | ||
161 | @_ and $_ no longer leak under threads (RT #34342 and #41138, also | |
162 | #70602, #70974) | |
e06a4ec4 RGS |
163 | |
164 | =back | |
165 | ||
166 | =head1 New or Changed Diagnostics | |
167 | ||
e06a4ec4 RGS |
168 | =over 4 |
169 | ||
cabbd591 | 170 | =item New warning category C<illegalproto> |
e06a4ec4 | 171 | |
cabbd591 RGS |
172 | The two warnings : |
173 | ||
174 | Illegal character in prototype for %s : %s | |
175 | Prototype after '%c' for %s : %s | |
176 | ||
177 | have been moved from the C<syntax> top-level warnings category into a new | |
178 | first-level category, C<illegalproto>. These two warnings are currently the | |
179 | only ones emitted during parsing of an invalid/illegal prototype, so one | |
180 | can now do | |
181 | ||
182 | no warnings 'illegalproto'; | |
183 | ||
184 | to suppress only those, but not other syntax-related warnings. Warnings where | |
185 | prototypes are changed, ignored, or not met are still in the C<prototype> | |
186 | category as before. (Matt S. Trout) | |
e06a4ec4 | 187 | |
98adedef RGS |
188 | =item lvalue attribute ignored after the subroutine has been defined |
189 | ||
190 | This new warning is issued when one attempts to mark a subroutine as | |
191 | lvalue after it has been defined. | |
192 | ||
e06a4ec4 RGS |
193 | =back |
194 | ||
195 | =head1 Changed Internals | |
196 | ||
e06a4ec4 RGS |
197 | =over 4 |
198 | ||
199 | =item * | |
200 | ||
aac9cb74 | 201 | Perl_magic_setmglob now knows about globs, fixing RT #71254. |
e06a4ec4 RGS |
202 | |
203 | =back | |
204 | ||
205 | =head1 Known Problems | |
206 | ||
aac9cb74 RS |
207 | Perl 5.11.4 is a development release leading up to Perl 5.12.0. |
208 | Some notable known problems found in 5.11.4 are listed as dependencies | |
209 | of RT #69710, the Perl 5 version 12 meta-ticket. | |
e06a4ec4 RGS |
210 | |
211 | =head1 Deprecations | |
212 | ||
e06a4ec4 RGS |
213 | The following items are now deprecated. |
214 | ||
215 | =over 4 | |
216 | ||
6f7a7d3e | 217 | =item C<< UNIVERSAL-E<gt>import() >> |
e06a4ec4 | 218 | |
aac9cb74 RS |
219 | The method C<< UNIVERSAL-E<gt>import() >> is now deprecated. Attempting to |
220 | pass import arguments to a C<use UNIVERSAL> statement will result in a | |
221 | deprecation warning. (This is a less noisy version of the full deprecation | |
222 | warning added in 5.11.0.) | |
e06a4ec4 RGS |
223 | |
224 | =back | |
225 | ||
e06a4ec4 RGS |
226 | =head1 Acknowledgements |
227 | ||
aac9cb74 RS |
228 | Perl 5.11.4 represents approximately one month of development since |
229 | Perl 5.11.3 and contains 17682 lines of changes across 318 files | |
230 | from 40 authors and committers: | |
231 | ||
232 | Abigail, Andy Dougherty, brian d foy, Chris Williams, Craig A. Berry, | |
233 | David Golden, David Mitchell, Father Chrysostomos, Gerard Goossen, | |
234 | H.Merijn Brand, Jesse Vincent, Jim Cromie, Josh ben Jore, Karl | |
235 | Williamson, kmx, Matt S Trout, Nicholas Clark, Niko Tyni, Paul Marquess, | |
236 | Philip Hazel, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo | |
237 | Signes, Shlomi Fish, Tim Bunce, Todd Rinaldo, Tom Christiansen, Tony | |
238 | Cook, Vincent Pit, and Zefram | |
e06a4ec4 | 239 | |
aac9cb74 RS |
240 | Many of the changes included in this version originated in the CPAN |
241 | modules included in Perl's core. We're grateful to the entire CPAN | |
242 | community for helping Perl to flourish. | |
e06a4ec4 RGS |
243 | |
244 | =head1 Reporting Bugs | |
245 | ||
246 | If you find what you think is a bug, you might check the articles | |
247 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
aac9cb74 RS |
248 | bug database at L<http://rt.perl.org/perlbug/>. There may also be |
249 | information at L<http://www.perl.org/>, the Perl Home Page. | |
e06a4ec4 RGS |
250 | |
251 | If you believe you have an unreported bug, please run the B<perlbug> | |
252 | program included with your release. Be sure to trim your bug down | |
253 | to a tiny but sufficient test case. Your bug report, along with the | |
254 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
7e2aafc2 | 255 | analyzed by the Perl porting team. |
e06a4ec4 RGS |
256 | |
257 | If the bug you are reporting has security implications, which make it | |
258 | inappropriate to send to a publicly archived mailing list, then please send | |
259 | it to perl5-security-report@perl.org. This points to a closed subscription | |
260 | unarchived mailing list, which includes all the core committers, who be able | |
261 | to help assess the impact of issues, figure out a resolution, and help | |
262 | co-ordinate the release of patches to mitigate or fix the problem across all | |
263 | platforms on which Perl is supported. Please only use this address for | |
264 | security issues in the Perl core, not for modules independently | |
265 | distributed on CPAN. | |
266 | ||
267 | =head1 SEE ALSO | |
268 | ||
269 | The F<Changes> file for an explanation of how to view exhaustive details | |
270 | on what changed. | |
271 | ||
272 | The F<INSTALL> file for how to build Perl. | |
273 | ||
274 | The F<README> file for general stuff. | |
275 | ||
276 | The F<Artistic> and F<Copying> files for copyright information. | |
277 | ||
278 | =cut |