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