| 1 | =head1 NAME |
| 2 | |
| 3 | perl5114delta - 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 Incompatible Changes |
| 15 | |
| 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. |
| 36 | |
| 37 | =head1 Core Enhancements |
| 38 | |
| 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 | |
| 46 | =head1 Modules and Pragmata |
| 47 | |
| 48 | =head2 Pragmata Changes |
| 49 | |
| 50 | =over 4 |
| 51 | |
| 52 | =item C<less> |
| 53 | |
| 54 | Upgraded from version 0.02 to 0.03. |
| 55 | |
| 56 | This version introduces the C<stash_name> method to allow subclasses of less to |
| 57 | pick where in %^H to store their stash. |
| 58 | |
| 59 | =item C<version> |
| 60 | |
| 61 | Upgraded from version 0.77 to 0.81. |
| 62 | |
| 63 | This version adds support for L</Version number formats> as described earlier |
| 64 | in this document and in its own documentation. |
| 65 | |
| 66 | =item C<warnings> |
| 67 | |
| 68 | Upgraded from version 1.08 to 1.09. |
| 69 | |
| 70 | This version adds the C<illegalproto> warning category. See also L</New or |
| 71 | Changed Diagnostics> for this change. |
| 72 | |
| 73 | =back |
| 74 | |
| 75 | =head2 Updated Modules |
| 76 | |
| 77 | =over 4 |
| 78 | |
| 79 | =item C<Archive::Extract> |
| 80 | |
| 81 | Upgraded from version 0.36 to 0.38. |
| 82 | |
| 83 | =item C<B::Deparse> |
| 84 | |
| 85 | Upgraded from version 0.93 to 0.94. |
| 86 | |
| 87 | =item C<Compress::Raw::Bzip2> |
| 88 | |
| 89 | Upgraded from version 2.021 to 2.024. |
| 90 | |
| 91 | =item C<Compress::Raw::Zlib> |
| 92 | |
| 93 | Upgraded from version 2.021 to 2.024. |
| 94 | |
| 95 | =item C<CPAN> |
| 96 | |
| 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> |
| 104 | |
| 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. |
| 113 | |
| 114 | =back |
| 115 | |
| 116 | =head2 Removed Modules and Pragmata |
| 117 | |
| 118 | =over 4 |
| 119 | |
| 120 | =item C<Devel::DProf::V> |
| 121 | |
| 122 | Removed from the Perl core. Prior version was 'undef'. |
| 123 | |
| 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. |
| 130 | |
| 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. |
| 134 | |
| 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. |
| 139 | |
| 140 | =head2 Platform Specific Changes |
| 141 | |
| 142 | =over 4 |
| 143 | |
| 144 | =item VMS |
| 145 | |
| 146 | The default pipe buffer size on VMS has been updated to 8192 on 64-bit |
| 147 | systems. |
| 148 | |
| 149 | =back |
| 150 | |
| 151 | =head1 Selected Bug Fixes |
| 152 | |
| 153 | =over 4 |
| 154 | |
| 155 | =item * |
| 156 | |
| 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) |
| 163 | |
| 164 | =back |
| 165 | |
| 166 | =head1 New or Changed Diagnostics |
| 167 | |
| 168 | =over 4 |
| 169 | |
| 170 | =item New warning category C<illegalproto> |
| 171 | |
| 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) |
| 187 | |
| 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 | |
| 193 | =back |
| 194 | |
| 195 | =head1 Changed Internals |
| 196 | |
| 197 | =over 4 |
| 198 | |
| 199 | =item * |
| 200 | |
| 201 | Perl_magic_setmglob now knows about globs, fixing RT #71254. |
| 202 | |
| 203 | =back |
| 204 | |
| 205 | =head1 Known Problems |
| 206 | |
| 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. |
| 210 | |
| 211 | =head1 Deprecations |
| 212 | |
| 213 | The following items are now deprecated. |
| 214 | |
| 215 | =over 4 |
| 216 | |
| 217 | =item C<< UNIVERSAL-E<gt>import() >> |
| 218 | |
| 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.) |
| 223 | |
| 224 | =back |
| 225 | |
| 226 | =head1 Acknowledgements |
| 227 | |
| 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 |
| 239 | |
| 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. |
| 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 |
| 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. |
| 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 |
| 255 | analyzed by the Perl porting team. |
| 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 |