[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 =head1 NAME 2 3 perl587delta - what is new for perl v5.8.7 4 5 =head1 DESCRIPTION 6 7 This document describes differences between the 5.8.6 release and 8 the 5.8.7 release. 9 10 =head1 Incompatible Changes 11 12 There are no changes incompatible with 5.8.6. 13 14 =head1 Core Enhancements 15 16 =head2 Unicode Character Database 4.1.0 17 18 The copy of the Unicode Character Database included in Perl 5.8 has 19 been updated to 4.1.0 from 4.0.1. See 20 L<http://www.unicode.org/versions/Unicode4.1.0/#NotableChanges> for the 21 notable changes. 22 23 =head2 suidperl less insecure 24 25 A pair of exploits in C<suidperl> involving debugging code have been closed. 26 27 For new projects the core perl team strongly recommends that you use 28 dedicated, single purpose security tools such as C<sudo> in preference to 29 C<suidperl>. 30 31 =head2 Optional site customization script 32 33 The perl interpreter can be built to allow the use of a site customization 34 script. By default this is not enabled, to be consistent with previous perl 35 releases. To use this, add C<-Dusesitecustomize> to the command line flags 36 when running the C<Configure> script. See also L<perlrun/-f>. 37 38 =head2 C<Config.pm> is now much smaller. 39 40 C<Config.pm> is now about 3K rather than 32K, with the infrequently used 41 code and C<%Config> values loaded on demand. This is transparent to the 42 programmer, but means that most code will save parsing and loading 29K of 43 script (for example, code that uses C<File::Find>). 44 45 =head1 Modules and Pragmata 46 47 =over 4 48 49 =item * 50 51 B upgraded to version 1.09 52 53 =item * 54 55 base upgraded to version 2.07 56 57 =item * 58 59 bignum upgraded to version 0.17 60 61 =item * 62 63 bytes upgraded to version 1.02 64 65 =item * 66 67 Carp upgraded to version 1.04 68 69 =item * 70 71 CGI upgraded to version 3.10 72 73 =item * 74 75 Class::ISA upgraded to version 0.33 76 77 =item * 78 79 Data::Dumper upgraded to version 2.121_02 80 81 =item * 82 83 DB_File upgraded to version 1.811 84 85 =item * 86 87 Devel::PPPort upgraded to version 3.06 88 89 =item * 90 91 Digest upgraded to version 1.10 92 93 =item * 94 95 Encode upgraded to version 2.10 96 97 =item * 98 99 FileCache upgraded to version 1.05 100 101 =item * 102 103 File::Path upgraded to version 1.07 104 105 =item * 106 107 File::Temp upgraded to version 0.16 108 109 =item * 110 111 IO::File upgraded to version 1.11 112 113 =item * 114 115 IO::Socket upgraded to version 1.28 116 117 =item * 118 119 Math::BigInt upgraded to version 1.77 120 121 =item * 122 123 Math::BigRat upgraded to version 0.15 124 125 =item * 126 127 overload upgraded to version 1.03 128 129 =item * 130 131 PathTools upgraded to version 3.05 132 133 =item * 134 135 Pod::HTML upgraded to version 1.0503 136 137 =item * 138 139 Pod::Perldoc upgraded to version 3.14 140 141 =item * 142 143 Pod::LaTeX upgraded to version 0.58 144 145 =item * 146 147 Pod::Parser upgraded to version 1.30 148 149 =item * 150 151 Symbol upgraded to version 1.06 152 153 =item * 154 155 Term::ANSIColor upgraded to version 1.09 156 157 =item * 158 159 Test::Harness upgraded to version 2.48 160 161 =item * 162 163 Test::Simple upgraded to version 0.54 164 165 =item * 166 167 Text::Wrap upgraded to version 2001.09293, to fix a bug when wrap() was 168 called with a non-space separator. 169 170 =item * 171 172 threads::shared upgraded to version 0.93 173 174 =item * 175 176 Time::HiRes upgraded to version 1.66 177 178 =item * 179 180 Time::Local upgraded to version 1.11 181 182 =item * 183 184 Unicode::Normalize upgraded to version 0.32 185 186 =item * 187 188 utf8 upgraded to version 1.05 189 190 =item * 191 192 Win32 upgraded to version 0.24, which provides Win32::GetFileVersion 193 194 =back 195 196 =head1 Utility Changes 197 198 =head2 find2perl enhancements 199 200 C<find2perl> has new options C<-iname>, C<-path> and C<-ipath>. 201 202 =head1 Performance Enhancements 203 204 The internal pointer mapping hash used during ithreads cloning now uses an 205 arena for memory allocation. In tests this reduced ithreads cloning time by 206 about 10%. 207 208 =head1 Installation and Configuration Improvements 209 210 =over 4 211 212 =item * 213 214 The Win32 "dmake" makefile.mk has been updated to make it compatible 215 with the latest versions of dmake. 216 217 =item * 218 219 C<PERL_MALLOC>, C<DEBUG_MSTATS>, C<PERL_HASH_SEED_EXPLICIT> and C<NO_HASH_SEED> 220 should now work in Win32 makefiles. 221 222 =back 223 224 =head1 Selected Bug Fixes 225 226 =over 4 227 228 =item * 229 230 The socket() function on Win32 has been fixed so that it is able to use 231 transport providers which specify a protocol of 0 (meaning any protocol 232 is allowed) once more. (This was broken in 5.8.6, and typically caused 233 the use of ICMP sockets to fail.) 234 235 =item * 236 237 Another obscure bug involving C<substr> and UTF-8 caused by bad internal 238 offset caching has been identified and fixed. 239 240 =item * 241 242 A bug involving the loading of UTF-8 tables by the regexp engine has been 243 fixed - code such as C<"\x{100}" =~ /[[:print:]]/> will no longer give 244 corrupt results. 245 246 =item * 247 248 Case conversion operations such as C<uc> on a long Unicode string could 249 exhaust memory. This has been fixed. 250 251 =item * 252 253 C<index>/C<rindex> were buggy for some combinations of Unicode and 254 non-Unicode data. This has been fixed. 255 256 =item * 257 258 C<read> (and presumably C<sysread>) would expose the UTF-8 internals when 259 reading from a byte oriented file handle into a UTF-8 scalar. This has 260 been fixed. 261 262 =item * 263 264 Several C<pack>/C<unpack> bug fixes: 265 266 =over 4 267 268 =item * 269 270 Checksums with C<b> or C<B> formats were broken. 271 272 =item * 273 274 C<unpack> checksums could overflow with the C<C> format. 275 276 =item * 277 278 C<U0> and C<C0> are now scoped to C<()> C<pack> sub-templates. 279 280 =item * 281 282 Counted length prefixes now don't change C<C0>/C<U0> mode. 283 284 =item * 285 286 C<pack> C<Z0> used to destroy the preceding character. 287 288 =item * 289 290 C<P>/C<p> C<pack> formats used to only recognise literal C<undef> 291 292 =back 293 294 =item * 295 296 Using closures with ithreads could cause perl to crash. This was due to 297 failure to correctly lock internal OP structures, and has been fixed. 298 299 =item * 300 301 The return value of C<close> now correctly reflects any file errors that 302 occur while flushing the handle's data, instead of just giving failure if 303 the actual underlying file close operation failed. 304 305 =item * 306 307 C<not() || 1> used to segfault. C<not()> now behaves like C<not(0)>, which was 308 the pre 5.6.0 behaviour. 309 310 =item * 311 312 C<h2ph> has various enhancements to cope with constructs in header files that 313 used to result in incorrect or invalid output. 314 315 =back 316 317 =head1 New or Changed Diagnostics 318 319 There is a new taint error, "%ENV is aliased to %s". This error is thrown 320 when taint checks are enabled and when C<*ENV> has been aliased, so that 321 C<%ENV> has no env-magic anymore and hence the environment cannot be verified 322 as taint-free. 323 324 The internals of C<pack> and C<unpack> have been updated. All legitimate 325 templates should work as before, but there may be some changes in the error 326 reported for complex failure cases. Any behaviour changes for non-error cases 327 are bugs, and should be reported. 328 329 =head1 Changed Internals 330 331 There has been a fair amount of refactoring of the C<C> source code, partly to 332 make it tidier and more maintainable. The resulting object code and the 333 C<perl> binary may well be smaller than 5.8.6, and hopefully faster in some 334 cases, but apart from this there should be no user-detectable changes. 335 336 C<${^UTF8LOCALE}> has been added to give perl space access to C<PL_utf8locale>. 337 338 The size of the arenas used to allocate SV heads and most SV bodies can now 339 be changed at compile time. The old size was 1008 bytes, the new default size 340 is 4080 bytes. 341 342 =head1 Known Problems 343 344 Unicode strings returned from overloaded operators can be buggy. This is a 345 long standing bug reported since 5.8.6 was released, but we do not yet have 346 a suitable fix for it. 347 348 =head1 Platform Specific Problems 349 350 On UNICOS, lib/Math/BigInt/t/bigintc.t hangs burning CPU. 351 ext/B/t/bytecode.t and ext/Socket/t/socketpair.t both fail tests. 352 These are unlikely to be resolved, as our valiant UNICOS porter's last 353 Cray is being decommissioned. 354 355 =head1 Reporting Bugs 356 357 If you find what you think is a bug, you might check the articles 358 recently posted to the comp.lang.perl.misc newsgroup and the perl 359 bug database at http://bugs.perl.org. There may also be 360 information at http://www.perl.org, the Perl Home Page. 361 362 If you believe you have an unreported bug, please run the B<perlbug> 363 program included with your release. Be sure to trim your bug down 364 to a tiny but sufficient test case. Your bug report, along with the 365 output of C<perl -V>, will be sent off to perlbug@perl.org to be 366 analysed by the Perl porting team. You can browse and search 367 the Perl 5 bugs at http://bugs.perl.org/ 368 369 =head1 SEE ALSO 370 371 The F<Changes> file for exhaustive details on what changed. 372 373 The F<INSTALL> file for how to build Perl. 374 375 The F<README> file for general stuff. 376 377 The F<Artistic> and F<Copying> files for copyright information. 378 379 =cut
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |