NAME¶
perl5114delta - what is new for perl v5.11.4
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
perl5113delta, which describes differences between 5.11.2 and 5.11.3.
Incompatible Changes¶
Acceptable version number formats have been formalized into "strict"
and "lax" rules. "package NAME VERSION" takes a strict
version number. "use NAME VERSION" takes a lax version number.
"UNIVERSAL::VERSION" and the 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 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 version module adds "version::is_strict" and
"version::is_lax" functions to check a scalar against these rules.
Core Enhancements¶
Unicode properties¶
"\p{XDigit}" now matches the same characters as
"\p{Hex_Digit}". This means that in addition to the characters it
currently matches, "[A-Fa-f0-9]", it will also match their fullwidth
equivalent forms, for example U+FF10: FULLWIDTH DIGIT ZERO.
Modules and Pragmata¶
Pragmata Changes¶
- "less"
- Upgraded from version 0.02 to 0.03.
This version introduces the "stash_name" method to allow
subclasses of less to pick where in %^H to store their stash.
- "version"
- Upgraded from version 0.77 to 0.81.
This version adds support for "Version number formats" as
described earlier in this document and in its own documentation.
- "warnings"
- Upgraded from version 1.08 to 1.09.
This version adds the "illegalproto" warning category. See also
"New or Changed Diagnostics" for this change.
Updated Modules¶
- "Archive::Extract"
- Upgraded from version 0.36 to 0.38.
- "B::Deparse"
- Upgraded from version 0.93 to 0.94.
- "Compress::Raw::Bzip2"
- Upgraded from version 2.021 to 2.024.
- "Compress::Raw::Zlib"
- Upgraded from version 2.021 to 2.024.
- "CPAN"
- Upgraded from version 1.94_5301 to 1.94_54.
- "File::Fetch"
- Upgraded from version 0.22 to 0.24.
- "Module::Build"
- Upgraded from version 0.36 to 0.3603.
- "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.
Removed Modules and Pragmata¶
- "Devel::DProf::V"
- Removed from the Perl core. Prior version was 'undef'.
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.
Configuration improvements¶
USE_ATTRIBUTES_FOR_PERLIO is now reported in the compile-time options listed by
the "-V" switch.
- VMS
- The default pipe buffer size on VMS has been updated to
8192 on 64-bit systems.
Selected Bug Fixes¶
- •
- Tie::Hash::NamedCapture::* shouldn't abort if passed bad
input (RT #71828)
- •
- @_ and $_ no longer leak under threads (RT #34342 and
#41138, also #70602, #70974)
New or Changed Diagnostics¶
- New warning category "illegalproto"
- The two warnings :
Illegal character in prototype for %s : %s
Prototype after '%c' for %s : %s
have been moved from the "syntax" top-level warnings category into
a new first-level category, "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
"prototype" category as before. (Matt S. Trout)
- 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.
Changed Internals¶
- •
- Perl_magic_setmglob now knows about globs, fixing RT
#71254.
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.
Deprecations¶
The following items are now deprecated.
- "UNIVERSAL->import()"
- The method "UNIVERSAL->import()" is now
deprecated. Attempting to pass import arguments to a "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.)
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.
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
<
http://rt.perl.org/perlbug/>. There may also be information at
<
http://www.perl.org/>, the Perl Home Page.
If you believe you have an unreported bug, please run the
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 "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 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.
SEE ALSO¶
The
Changes file for an explanation of how to view exhaustive details on
what changed.
The
INSTALL file for how to build Perl.
The
README file for general stuff.
The
Artistic and
Copying files for copyright information.