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