Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / lib / perl5 / 5.8.8 / pod / perl588delta.pod
CommitLineData
920dae64
AT
1=head1 NAME
2
3perldelta - what is new for perl v5.8.8
4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.8.7 release and
8the 5.8.8 release.
9
10=head1 Incompatible Changes
11
12There are no changes intentionally incompatible with 5.8.7. If any exist,
13they are bugs and reports are welcome.
14
15=head1 Core Enhancements
16
17=over
18
19=item *
20
21C<chdir>, C<chmod> and C<chown> can now work on filehandles as well as
22filenames, if the system supports respectively C<fchdir>, C<fchmod> and
23C<fchown>, thanks to a patch provided by Gisle Aas.
24
25=back
26
27=head1 Modules and Pragmata
28
29=over
30
31=item *
32
33C<Attribute::Handlers> upgraded to version 0.78_02
34
35=over
36
37=item *
38
39Documentation typo fix
40
41=back
42
43=item *
44
45C<attrs> upgraded to version 1.02
46
47=over
48
49=item *
50
51Internal cleanup only
52
53=back
54
55=item *
56
57C<autouse> upgraded to version 1.05
58
59=over
60
61=item *
62
63Simplified implementation
64
65=back
66
67=item *
68
69C<B> upgraded to version 1.09_01
70
71=over
72
73=item *
74
75The inheritance hierarchy of the C<B::> modules has been corrected;
76C<B::NV> now inherits from C<B::SV> (instead of C<B::IV>).
77
78=back
79
80=item *
81
82C<blib> upgraded to version 1.03
83
84=over
85
86=item *
87
88Documentation typo fix
89
90=back
91
92=item *
93
94C<ByteLoader> upgraded to version 0.06
95
96=over
97
98=item *
99
100Internal cleanup
101
102=back
103
104=item *
105
106C<CGI> upgraded to version 3.15
107
108=over
109
110=item *
111
112Extraneous "?" from C<self_url()> removed
113
114=item *
115
116C<scrolling_list()> select attribute fixed
117
118=item *
119
120C<virtual_port> now works properly with the https protocol
121
122=item *
123
124C<upload_hook()> and C<append()> now works in function-oriented mode
125
126=item *
127
128C<POST_MAX> doesn't cause the client to hang any more
129
130=item *
131
132Automatic tab indexes are now disabled and new C<-tabindex> pragma has
133been added to turn automatic indexes back on
134
135=item *
136
137C<end_form()> doesn't emit empty (and non-validating) C<< <div> >>
138
139=item *
140
141C<CGI::Carp> works better in certain mod_perl configurations
142
143=item *
144
145Setting C<$CGI::TMPDIRECTORY> is now effective
146
147=item *
148
149Enhanced documentation
150
151=back
152
153=item *
154
155C<charnames> upgraded to version 1.05
156
157=over
158
159=item *
160
161C<viacode()> now accept hex strings and has been optimized.
162
163=back
164
165=item *
166
167C<CPAN> upgraded to version 1.76_02
168
169=over
170
171=item *
172
1731 minor bug fix for Win32
174
175=back
176
177=item *
178
179C<Cwd> upgraded to version 3.12
180
181=over
182
183=item *
184
185C<canonpath()> on Win32 now collapses F<foo\..> sections correctly.
186
187=item *
188
189Improved behaviour on Symbian OS.
190
191=item *
192
193Enhanced documentation and typo fixes
194
195=item *
196
197Internal cleanup
198
199=back
200
201=item *
202
203C<Data::Dumper> upgraded to version 2.121_08
204
205=over
206
207=item *
208
209A problem where C<Data::Dumper> would sometimes update the iterator state
210of hashes has been fixed
211
212=item *
213
214Numeric labels now work
215
216=item *
217
218Internal cleanup
219
220=back
221
222=item *
223
224C<DB> upgraded to version 1.01
225
226=over
227
228=item *
229
230A problem where the state of the regexp engine would sometimes get clobbered when running
231under the debugger has been fixed.
232
233=back
234
235=item *
236
237C<DB_File> upgraded to version 1.814
238
239=over
240
241=item *
242
243Adds support for Berkeley DB 4.4.
244
245=back
246
247=item *
248
249C<Devel::DProf> upgraded to version 20050603.00
250
251=over
252
253=item *
254
255Internal cleanup
256
257=back
258
259=item *
260
261C<Devel::Peek> upgraded to version 1.03
262
263=over
264
265=item *
266
267Internal cleanup
268
269=back
270
271=item *
272
273C<Devel::PPPort> upgraded to version 3.06_01
274
275=over
276
277=item *
278
279C<--compat-version> argument checking has been improved
280
281=item *
282
283Files passed on the command line are filtered by default
284
285=item *
286
287C<--nofilter> option to override the filtering has been added
288
289=item *
290
291Enhanced documentation
292
293=back
294
295=item *
296
297C<diagnostics> upgraded to version 1.15
298
299=over
300
301=item *
302
303Documentation typo fix
304
305=back
306
307=item *
308
309C<Digest> upgraded to version 1.14
310
311=over
312
313=item *
314
315The constructor now knows which module implements SHA-224
316
317=item *
318
319Documentation tweaks and typo fixes
320
321=back
322
323=item *
324
325C<Digest::MD5> upgraded to version 2.36
326
327=over
328
329=item *
330
331C<XSLoader> is now used for faster loading
332
333=item *
334
335Enhanced documentation including MD5 weaknesses discovered lately
336
337=back
338
339=item *
340
341C<Dumpvalue> upgraded to version 1.12
342
343=over
344
345=item *
346
347Documentation fix
348
349=back
350
351=item *
352
353C<DynaLoader> upgraded but unfortunately we're not able to increment its version number :-(
354
355=over
356
357=item *
358
359Implements C<dl_unload_file> on Win32
360
361=item *
362
363Internal cleanup
364
365=item *
366
367C<XSLoader> 0.06 incorporated; small optimisation for calling
368C<bootstrap_inherit()> and documentation enhancements.
369
370=back
371
372=item *
373
374C<Encode> upgraded to version 2.12
375
376=over
377
378=item *
379
380A coderef is now acceptable for C<CHECK>!
381
382=item *
383
3843 new characters added to the ISO-8859-7 encoding
385
386=item *
387
388New encoding C<MIME-Header-ISO_2022_JP> added
389
390=item *
391
392Problem with partial characters and C<< encoding(utf-8-strict) >> fixed.
393
394=item *
395
396Documentation enhancements and typo fixes
397
398=back
399
400=item *
401
402C<English> upgraded to version 1.02
403
404=over
405
406=item *
407
408the C<< $COMPILING >> variable has been added
409
410=back
411
412=item *
413
414C<ExtUtils::Constant> upgraded to version 0.17
415
416=over
417
418=item *
419
420Improved compatibility with older versions of perl
421
422=back
423
424=item *
425
426C<ExtUtils::MakeMaker> upgraded to version 6.30 (was 6.17)
427
428=over
429
430=item *
431
432Too much to list here; see L<http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes>
433
434=back
435
436=item *
437
438C<File::Basename> upgraded to version 2.74, with changes contributed by Michael Schwern.
439
440=over
441
442=item *
443
444Documentation clarified and errors corrected.
445
446=item *
447
448C<basename> now strips trailing path separators before processing the name.
449
450=item *
451
452C<basename> now returns C</> for parameter C</>, to make C<basename>
453consistent with the shell utility of the same name.
454
455=item *
456
457The suffix is no longer stripped if it is identical to the remaining characters
458in the name, again for consistency with the shell utility.
459
460=item *
461
462Some internal code cleanup.
463
464=back
465
466=item *
467
468C<File::Copy> upgraded to version 2.09
469
470=over
471
472=item *
473
474Copying a file onto itself used to fail.
475
476=item *
477
478Moving a file between file systems now preserves the access and
479modification time stamps
480
481=back
482
483=item *
484
485C<File::Find> upgraded to version 1.10
486
487=over
488
489=item *
490
491Win32 portability fixes
492
493=item *
494
495Enhanced documentation
496
497=back
498
499=item *
500
501C<File::Glob> upgraded to version 1.05
502
503=over
504
505=item *
506
507Internal cleanup
508
509=back
510
511=item *
512
513C<File::Path> upgraded to version 1.08
514
515=over
516
517=item *
518
519C<mkpath> now preserves C<errno> when C<mkdir> fails
520
521=back
522
523=item *
524
525C<File::Spec> upgraded to version 3.12
526
527=over
528
529=item *
530
531C<File::Spec->rootdir()> now returns C<\> on Win32, instead of C</>
532
533=item *
534
535C<$^O> could sometimes become tainted. This has been fixed.
536
537=item *
538
539C<canonpath> on Win32 now collapses C<foo/..> (or C<foo\..>) sections
540correctly, rather than doing the "misguided" work it was previously doing.
541Note that C<canonpath> on Unix still does B<not> collapse these sections, as
542doing so would be incorrect.
543
544=item *
545
546Some documentation improvements
547
548=item *
549
550Some internal code cleanup
551
552=back
553
554=item *
555
556C<FileCache> upgraded to version 1.06
557
558=over
559
560=item *
561
562POD formatting errors in the documentation fixed
563
564=back
565
566=item *
567
568C<Filter::Simple> upgraded to version 0.82
569
570=item *
571
572C<FindBin> upgraded to version 1.47
573
574=over
575
576=item *
577
578Now works better with directories where access rights are more
579restrictive than usual.
580
581=back
582
583=item *
584
585C<GDBM_File> upgraded to version 1.08
586
587=over
588
589=item *
590
591Internal cleanup
592
593=back
594
595=item *
596
597C<Getopt::Long> upgraded to version 2.35
598
599=over
600
601=item *
602
603C<prefix_pattern> has now been complemented by a new configuration
604option C<long_prefix_pattern> that allows the user to specify what
605prefix patterns should have long option style semantics applied.
606
607=item *
608
609Options can now take multiple values at once (experimental)
610
611=item *
612
613Various bug fixes
614
615=back
616
617=item *
618
619C<if> upgraded to version 0.05
620
621=over
622
623=item *
624
625Give more meaningful error messages from C<if> when invoked with a
626condition in list context.
627
628=item *
629
630Restore backwards compatibility with earlier versions of perl
631
632=back
633
634=item *
635
636C<IO> upgraded to version 1.22
637
638=over
639
640=item *
641
642Enhanced documentation
643
644=item *
645
646Internal cleanup
647
648=back
649
650=item *
651
652C<IPC::Open2> upgraded to version 1.02
653
654=over
655
656=item *
657
658Enhanced documentation
659
660=back
661
662=item *
663
664C<IPC::Open3> upgraded to version 1.02
665
666=over
667
668=item *
669
670Enhanced documentation
671
672=back
673
674=item *
675
676C<List::Util> upgraded to version 1.18 (was 1.14)
677
678=over
679
680=item *
681
682Fix pure-perl version of C<refaddr> to avoid blessing an un-blessed reference
683
684=item *
685
686Use C<XSLoader> for faster loading
687
688=item *
689
690Fixed various memory leaks
691
692=item *
693
694Internal cleanup and portability fixes
695
696=back
697
698=item *
699
700C<Math::Complex> upgraded to version 1.35
701
702=over
703
704=item *
705
706C<atan2(0, i)> now works, as do all the (computable) complex argument cases
707
708=item *
709
710Fixes for certain bugs in C<make> and C<emake>
711
712=item *
713
714Support returning the I<k>th root directly
715
716=item *
717
718Support C<[2,-3pi/8]> in C<emake>
719
720=item *
721
722Support C<inf> for C<make>/C<emake>
723
724=item *
725
726Document C<make>/C<emake> more visibly
727
728=back
729
730=item *
731
732C<Math::Trig> upgraded to version 1.03
733
734=over
735
736=item *
737
738Add more great circle routines: C<great_circle_waypoint> and
739C<great_circle_destination>
740
741=back
742
743=item *
744
745C<MIME::Base64> upgraded to version 3.07
746
747=over
748
749=item *
750
751Use C<XSLoader> for faster loading
752
753=item *
754
755Enhanced documentation
756
757=item *
758
759Internal cleanup
760
761=back
762
763=item *
764
765C<NDBM_File> upgraded to version 1.06
766
767=over
768
769=item *
770
771Enhanced documentation
772
773=back
774
775=item *
776
777C<ODBM_File> upgraded to version 1.06
778
779=over
780
781=item *
782
783Documentation typo fixed
784
785=item *
786
787Internal cleanup
788
789=back
790
791=item *
792
793C<Opcode> upgraded to version 1.06
794
795=over
796
797=item *
798
799Enhanced documentation
800
801=item *
802
803Internal cleanup
804
805=back
806
807=item *
808
809C<open> upgraded to version 1.05
810
811=over
812
813=item *
814
815Enhanced documentation
816
817=back
818
819=item *
820
821C<overload> upgraded to version 1.04
822
823=over
824
825=item *
826
827Enhanced documentation
828
829=back
830
831=item *
832
833C<PerlIO> upgraded to version 1.04
834
835=over
836
837=item *
838
839C<PerlIO::via> iterate over layers properly now
840
841=item *
842
843C<PerlIO::scalar> understands C<< $/ = "" >> now
844
845=item *
846
847C<encoding(utf-8-strict)> with partial characters now works
848
849=item *
850
851Enhanced documentation
852
853=item *
854
855Internal cleanup
856
857=back
858
859=item *
860
861C<Pod::Functions> upgraded to version 1.03
862
863=over
864
865=item *
866
867Documentation typos fixed
868
869=back
870
871=item *
872
873C<Pod::Html> upgraded to version 1.0504
874
875=over
876
877=item *
878
879HTML output will now correctly link
880to C<=item>s on the same page, and should be valid XHTML.
881
882=item *
883
884Variable names are recognized as intended
885
886=item *
887
888Documentation typos fixed
889
890=back
891
892=item *
893
894C<Pod::Parser> upgraded to version 1.32
895
896=over
897
898=item *
899
900Allow files that start with C<=head> on the first line
901
902=item *
903
904Win32 portability fix
905
906=item *
907
908Exit status of C<pod2usage> fixed
909
910=item *
911
912New C<-noperldoc> switch for C<pod2usage>
913
914=item *
915
916Arbitrary URL schemes now allowed
917
918=item *
919
920Documentation typos fixed
921
922=back
923
924=item *
925
926C<POSIX> upgraded to version 1.09
927
928=over
929
930=item *
931
932Documentation typos fixed
933
934=item *
935
936Internal cleanup
937
938=back
939
940=item *
941
942C<re> upgraded to version 0.05
943
944=over
945
946=item *
947
948Documentation typo fixed
949
950=back
951
952=item *
953
954C<Safe> upgraded to version 2.12
955
956=over
957
958=item *
959
960Minor documentation enhancement
961
962=back
963
964=item *
965
966C<SDBM_File> upgraded to version 1.05
967
968=over
969
970=item *
971
972Documentation typo fixed
973
974=item *
975
976Internal cleanup
977
978=back
979
980=item *
981
982C<Socket> upgraded to version 1.78
983
984=over
985
986=item *
987
988Internal cleanup
989
990=back
991
992=item *
993
994C<Storable> upgraded to version 2.15
995
996=over
997
998=item *
999
1000This includes the C<STORABLE_attach> hook functionality added by
1001Adam Kennedy, and more frugal memory requirements when storing under C<ithreads>, by
1002using the C<ithreads> cloning tracking code.
1003
1004=back
1005
1006=item *
1007
1008C<Switch> upgraded to version 2.10_01
1009
1010=over
1011
1012=item *
1013
1014Documentation typos fixed
1015
1016=back
1017
1018=item *
1019
1020C<Sys::Syslog> upgraded to version 0.13
1021
1022=over
1023
1024=item *
1025
1026Now provides numeric macros and meaningful C<Exporter> tags.
1027
1028=item *
1029
1030No longer uses C<Sys::Hostname> as it may provide useless values in
1031unconfigured network environments, so instead uses C<INADDR_LOOPBACK> directly.
1032
1033=item *
1034
1035C<syslog()> now uses local timestamp.
1036
1037=item *
1038
1039C<setlogmask()> now behaves like its C counterpart.
1040
1041=item *
1042
1043C<setlogsock()> will now C<croak()> as documented.
1044
1045=item *
1046
1047Improved error and warnings messages.
1048
1049=item *
1050
1051Improved documentation.
1052
1053=back
1054
1055=item *
1056
1057C<Term::ANSIColor> upgraded to version 1.10
1058
1059=over
1060
1061=item *
1062
1063Fixes a bug in C<colored> when C<$EACHLINE> is set that caused it to not color
1064lines consisting solely of 0 (literal zero).
1065
1066=item *
1067
1068Improved tests.
1069
1070=back
1071
1072=item *
1073
1074C<Term::ReadLine> upgraded to version 1.02
1075
1076=over
1077
1078=item *
1079
1080Documentation tweaks
1081
1082=back
1083
1084=item *
1085
1086C<Test::Harness> upgraded to version 2.56 (was 2.48)
1087
1088=over
1089
1090=item *
1091
1092The C<Test::Harness> timer is now off by default.
1093
1094=item *
1095
1096Now shows elapsed time in milliseconds.
1097
1098=item *
1099
1100Various bug fixes
1101
1102=back
1103
1104=item *
1105
1106C<Test::Simple> upgraded to version 0.62 (was 0.54)
1107
1108=over
1109
1110=item *
1111
1112C<is_deeply()> no longer fails to work for many cases
1113
1114=item *
1115
1116Various minor bug fixes
1117
1118=item *
1119
1120Documentation enhancements
1121
1122=back
1123
1124=item *
1125
1126C<Text::Tabs> upgraded to version 2005.0824
1127
1128=over
1129
1130=item *
1131
1132Provides a faster implementation of C<expand>
1133
1134=back
1135
1136=item *
1137
1138C<Text::Wrap> upgraded to version 2005.082401
1139
1140=over
1141
1142=item *
1143
1144Adds C<$Text::Wrap::separator2>, which allows you to preserve existing newlines
1145but add line-breaks with some other string.
1146
1147=back
1148
1149=item *
1150
1151C<threads> upgraded to version 1.07
1152
1153=over
1154
1155=item *
1156
1157C<threads> will now honour C<no warnings 'threads'>
1158
1159=item *
1160
1161A thread's interpreter is now freed after C<< $t->join() >> rather than after
1162C<undef $t>, which should fix some C<ithreads> memory leaks. (Fixed by Dave
1163Mitchell)
1164
1165=item *
1166
1167Some documentation typo fixes.
1168
1169=back
1170
1171=item *
1172
1173C<threads::shared> upgraded to version 0.94
1174
1175=over
1176
1177=item *
1178
1179Documentation changes only
1180
1181=item *
1182
1183Note: An improved implementation of C<threads::shared> is available on
1184CPAN - this will be merged into 5.8.9 if it proves stable.
1185
1186=back
1187
1188=item *
1189
1190C<Tie::Hash> upgraded to version 1.02
1191
1192=over
1193
1194=item *
1195
1196Documentation typo fixed
1197
1198=back
1199
1200=item *
1201
1202C<Time::HiRes> upgraded to version 1.86 (was 1.66)
1203
1204=over
1205
1206=item *
1207
1208C<clock_nanosleep()> and C<clock()> functions added
1209
1210=item *
1211
1212Support for the POSIX C<clock_gettime()> and C<clock_getres()> has been added
1213
1214=item *
1215
1216Return C<undef> or an empty list if the C C<gettimeofday()> function fails
1217
1218=item *
1219
1220Improved C<nanosleep> detection
1221
1222=item *
1223
1224Internal cleanup
1225
1226=item *
1227
1228Enhanced documentation
1229
1230=back
1231
1232=item *
1233
1234C<Unicode::Collate> upgraded to version 0.52
1235
1236=over
1237
1238=item *
1239
1240Now implements UCA Revision 14 (based on Unicode 4.1.0).
1241
1242=item *
1243
1244C<Unicode::Collate->new> method no longer overwrites user's C<$_>
1245
1246=item *
1247
1248Enhanced documentation
1249
1250=back
1251
1252=item *
1253
1254C<Unicode::UCD> upgraded to version 0.24
1255
1256=over
1257
1258=item *
1259
1260Documentation typos fixed
1261
1262=back
1263
1264=item *
1265
1266C<User::grent> upgraded to version 1.01
1267
1268=over
1269
1270=item *
1271
1272Documentation typo fixed
1273
1274=back
1275
1276=item *
1277
1278C<utf8> upgraded to version 1.06
1279
1280=over
1281
1282=item *
1283
1284Documentation typos fixed
1285
1286=back
1287
1288=item *
1289
1290C<vmsish> upgraded to version 1.02
1291
1292=over
1293
1294=item *
1295
1296Documentation typos fixed
1297
1298=back
1299
1300=item *
1301
1302C<warnings> upgraded to version 1.05
1303
1304=over
1305
1306=item *
1307
1308Gentler messing with C<Carp::> internals
1309
1310=item *
1311
1312Internal cleanup
1313
1314=item *
1315
1316Documentation update
1317
1318=back
1319
1320=item *
1321
1322C<Win32> upgraded to version 0.2601
1323
1324=for cynics And how many perl 5.8.x versions can I release ahead of Vista?
1325
1326=over
1327
1328=item *
1329
1330Provides Windows Vista support to C<Win32::GetOSName>
1331
1332=item *
1333
1334Documentation enhancements
1335
1336=back
1337
1338=item *
1339
1340C<XS::Typemap> upgraded to version 0.02
1341
1342=over
1343
1344=item *
1345
1346Internal cleanup
1347
1348=back
1349
1350=back
1351
1352=head1 Utility Changes
1353
1354=head2 C<h2xs> enhancements
1355
1356C<h2xs> implements new option C<--use-xsloader> to force use of
1357C<XSLoader> even in backwards compatible modules.
1358
1359The handling of authors' names that had apostrophes has been fixed.
1360
1361Any enums with negative values are now skipped.
1362
1363=head2 C<perlivp> enhancements
1364
1365C<perlivp> implements new option C<-a> and will not check for F<*.ph>
1366files by default any more. Use the C<-a> option to run I<all> tests.
1367
1368=head1 New Documentation
1369
1370The L<perlglossary> manpage is a glossary of terms used in the Perl
1371documentation, technical and otherwise, kindly provided by O'Reilly Media,
1372inc.
1373
1374=head1 Performance Enhancements
1375
1376=over 4
1377
1378=item *
1379
1380Weak reference creation is now I<O(1)> rather than I<O(n)>, courtesy of
1381Nicholas Clark. Weak reference deletion remains I<O(n)>, but if deletion only
1382happens at program exit, it may be skipped completely.
1383
1384=item *
1385
1386