diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perl5122delta.pod')
-rw-r--r-- | Master/tlpkg/tlperl/lib/pods/perl5122delta.pod | 346 |
1 files changed, 346 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod new file mode 100644 index 00000000000..9a150cc0100 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod @@ -0,0 +1,346 @@ +=encoding utf8 + +=head1 NAME + +perl5122delta - what is new for perl v5.12.2 + +=head1 DESCRIPTION + +This document describes differences between the 5.12.1 release and +the 5.12.2 release. + +If you are upgrading from an earlier major version, such as 5.10.1, +first read L<perl5120delta>, which describes differences between 5.10.1 +and 5.12.0, as well as L<perl5121delta>, which describes earlier changes +in the 5.12 stable release series. + +=head1 Incompatible Changes + +There are no changes intentionally incompatible with 5.12.1. If any exist, they +are bugs and reports are welcome. + +=head1 Core Enhancements + +Other than the bug fixes listed below, there should be no user-visible +changes to the core language in this release. + +=head1 Modules and Pragmata + +=head2 New Modules and Pragmata + +This release does not introduce any new modules or pragmata. + +=head2 Pragmata Changes + +In the previous release, C<no I<VERSION>;> statements triggered a bug +which could cause L<feature> bundles to be loaded and L<strict> mode to +be enabled unintentionally. + +=head2 Updated Modules + +=over 4 + +=item C<Carp> + +Upgraded from version 1.16 to 1.17. + +L<Carp> now detects incomplete L<caller()|perlfunc/"caller EXPR"> +overrides and avoids using bogus C<@DB::args>. To provide backtraces, Carp +relies on particular behaviour of the caller built-in. Carp now detects +if other code has overridden this with an incomplete implementation, and +modifies its backtrace accordingly. Previously incomplete overrides would +cause incorrect values in backtraces (best case), or obscure fatal errors +(worst case) + +This fixes certain cases of C<Bizarre copy of ARRAY> caused by modules +overriding C<caller()> incorrectly. + +=item C<CPANPLUS> + +A patch to F<cpanp-run-perl> has been backported from CPANPLUS C<0.9004>. This +resolves L<[perl #55964]|http://rt.perl.org/rt3/Ticket/Display.html?id=55964> +and L<[perl #57106]|http://rt.perl.org/rt3/Ticket/Display.html?id=57106>, both +of which related to failures to install distributions that use +C<Module::Install::DSL>. + +=item C<File::Glob> + +A regression which caused a failure to find C<CORE::GLOBAL::glob> after +loading C<File::Glob> to crash has been fixed. Now, it correctly falls back +to external globbing via C<pp_glob>. + +=item C<File::Copy> + +C<File::Copy::copy(FILE, DIR)> is now documented. + +=item C<File::Spec> + +Upgraded from version 3.31 to 3.31_01. + +Several portability fixes were made in C<File::Spec::VMS>: a colon is now +recognized as a delimiter in native filespecs; caret-escaped delimiters are +recognized for better handling of extended filespecs; C<catpath()> returns +an empty directory rather than the current directory if the input directory +name is empty; C<abs2rel()> properly handles Unix-style input. + +=back + +=head1 Utility Changes + +=over + +=item * + +F<perlbug> now always gives the reporter a chance to change the email address it +guesses for them. + +=item * + +F<perlbug> should no longer warn about uninitialized values when using the C<-d> +and C<-v> options. + +=back + +=head1 Changes to Existing Documentation + +=over + +=item * + +The existing policy on backward-compatibility and deprecation has +been added to L<perlpolicy>, along with definitions of terms like +I<deprecation>. + +=item * + +L<perlfunc/srand>'s usage has been clarified. + +=item * + +The entry for L<perlfunc/die> was reorganized to emphasize its +role in the exception mechanism. + +=item * + +Perl's L<INSTALL> file has been clarified to explicitly state that Perl +requires a C89 compliant ANSI C Compiler. + +=item * + +L<IO::Socket>'s C<getsockopt()> and C<setsockopt()> have been documented. + +=item * + +F<alarm()>'s inability to interrupt blocking IO on Windows has been documented. + +=item * + +L<Math::TrulyRandom> hasn't been updated since 1996 and has been removed +as a recommended solution for random number generation. + +=item * + +L<perlrun> has been updated to clarify the behaviour of octal flags to F<perl>. + +=item * + +To ease user confusion, C<$#> and C<$*>, two special variables that were +removed in earlier versions of Perl have been documented. + +=item * + +The version of L<perlfaq> shipped with the Perl core has been updated from the +official FAQ version, which is now maintained in the C<briandfoy/perlfaq> +branch of the Perl repository at L<git://perl5.git.perl.org/perl.git>. + +=back + +=head1 Installation and Configuration Improvements + +=head2 Configuration improvements + +=over + +=item * + +The C<d_u32align> configuration probe on ARM has been fixed. + +=back + +=head2 Compilation improvements + +=over + +=item * + +An "C<incompatible operand types>" error in ternary expressions when building +with C<clang> has been fixed. + +=item * + +Perl now skips setuid C<File::Copy> tests on partitions it detects to be mounted +as C<nosuid>. + +=back + +=head1 Selected Bug Fixes + +=over 4 + +=item * + +A possible segfault in the C<T_PRTOBJ> default typemap has been fixed. + +=item * + +A possible memory leak when using L<caller()|perlfunc/"caller EXPR"> to set +C<@DB::args> has been fixed. + +=item * + +Several memory leaks when loading XS modules were fixed. + +=item * + +C<unpack()> now handles scalar context correctly for C<%32H> and C<%32u>, +fixing a potential crash. C<split()> would crash because the third item +on the stack wasn't the regular expression it expected. C<unpack("%2H", +...)> would return both the unpacked result and the checksum on the stack, +as would C<unpack("%2u", ...)>. +L<[perl #73814]|http://rt.perl.org/rt3/Ticket/Display.html?id=73814> + +=item * + +Perl now avoids using memory after calling C<free()> in F<pp_require> +when there are CODEREFs in C<@INC>. + +=item * + +A bug that could cause "C<Unknown error>" messages when +"C<call_sv(code, G_EVAL)>" is called from an XS destructor has been fixed. + +=item * + +The implementation of the C<open $fh, 'E<gt>' \$buffer> feature +now supports get/set magic and thus tied buffers correctly. + +=item * + +The C<pp_getc>, C<pp_tell>, and C<pp_eof> opcodes now make room on the +stack for their return values in cases where no argument was passed in. + +=item * + +When matching unicode strings under some conditions inappropriate backtracking would +result in a C<Malformed UTF-8 character (fatal)> error. This should no longer occur. +See L<[perl #75680]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75680> + +=back + +=head1 Platform Specific Notes + +=head2 AIX + +=over + +=item * + +F<README.aix> has been updated with information about the XL C/C++ V11 compiler +suite. + +=back + +=head2 Windows + +=over + +=item * + +When building Perl with the mingw64 x64 cross-compiler C<incpath>, +C<libpth>, C<ldflags>, C<lddlflags> and C<ldflags_nolargefiles> values +in F<Config.pm> and F<Config_heavy.pl> were not previously not being set +correctly because, with that compiler, the include and lib directories +are not immediately below C<$(CCHOME)>. + +=back + +=head2 VMS + +=over + +=item * + +F<git_version.h> is now installed on VMS. This was an oversight in v5.12.0 which +caused some extensions to fail to build. + +=item * + +Several memory leaks in L<stat()|perlfunc/"stat FILEHANDLE"> have been fixed. + +=item * + +A memory leak in C<Perl_rename()> due to a double allocation has been +fixed. + +=item * + +A memory leak in C<vms_fid_to_name()> (used by C<realpath()> and +C<realname()>) has been fixed. + +=back + +=head1 Acknowledgements + +Perl 5.12.2 represents approximately three months of development since +Perl 5.12.1 and contains approximately 2,000 lines of changes across +100 files from 36 authors. + +Perl continues to flourish into its third decade thanks to a vibrant +community of users and developers. The following people are known to +have contributed the improvements that became Perl 5.12.2: + +Abigail, Ævar Arnfjörð Bjarmason, Ben Morrow, brian d foy, Brian +Phillips, Chas. Owens, Chris 'BinGOs' Williams, Chris Williams, +Craig A. Berry, Curtis Jewell, Dan Dascalescu, David Golden, David +Mitchell, Father Chrysostomos, Florian Ragwitz, George Greer, H.Merijn +Brand, Jan Dubois, Jesse Vincent, Jim Cromie, Karl Williamson, Lars +Dɪᴇᴄᴋᴏᴡ 迪拉斯, Leon Brocard, Maik Hentsche, Matt S Trout, +Nicholas Clark, Rafael Garcia-Suarez, Rainer Tammer, Ricardo Signes, +Salvador Ortiz Garcia, Sisyphus, Slaven Rezic, Steffen Mueller, Tony Cook, +Vincent Pit and Yves Orton. + +=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 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 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 +analysed 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. + +=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 |