diff options
author | Ricardo Signes <rjbs@cpan.org> | 2015-05-28 19:02:43 -0400 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2015-05-28 19:02:43 -0400 |
commit | 53ce1dd5d30fab6ee4dadef91284bd7825162257 (patch) | |
tree | 83b09335b6412c5366731d2f6288275c4a8f0608 /pod | |
parent | 9189be1b870957204f8b6061443ed599ce6e8345 (diff) | |
download | perl-53ce1dd5d30fab6ee4dadef91284bd7825162257.tar.gz |
perldelta: alphabetize module upgrades
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldelta.pod | 584 |
1 files changed, 292 insertions, 292 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index f0220c5589..0427b9410e 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -666,235 +666,238 @@ Some notable changes include: =item * -L<CPAN> has been upgraded to version 2.10. - -Add support for C<Cwd::getdcwd()> and introduce workaround for a misbehaviour -seen on Strawberry Perl 5.20.1. - -Fix C<chdir()> after building dependencies bug. - -Introduce experimental support for plugins/hooks. - -Integrate the App::Cpan sources. - -Do not check recursion on optional dependencies. +L<Archive::Tar> has been upgraded to version 2.02. -Sanity check F<META.yml> to contain a hash. -L<[cpan #95271]|https://rt.cpan.org/Ticket/Display.html?id=95271> +Tests can now be run in parallel. =item * -L<utf8> has been upgraded to version 1.17 - -A mismatch between the documentation and the code in utf8::downgrade() -was fixed in favour of the documentation. The optional second argument -is now correctly treated as a perl boolean (true/false semantics) and -not as an integer. - -=item * +L<attributes> has been upgraded to version 0.24. -L<Module::Metadata> has been upgraded to version 1.000024. +The usage of C<memEQs> in the XS has been corrected. +L<[perl #122701]|https://rt.perl.org/Ticket/Display.html?id=122701> -Support installations on older perls with an L<ExtUtils::MakeMaker> earlier -than 6.63_03 +Avoid reading beyond the end of a buffer. [perl #122629] =item * -L<perl5db.pl> has been upgraded to version 1.49. - -The debugger would cause an assertion failure. -L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> +L<B> has been upgraded to version 1.55. -C<fork()> in the debugger under C<tmux> will now create a new window for -the forked process. L<[perl -#121333]|https://rt.perl.org/Ticket/Display.html?id=121333> +It provides a new C<B::safename> function, based on the existing +C<< B::GV->SAFENAME >>, that converts "\cOPEN" to "^OPEN". -The debugger now saves the current working directory on startup and -restores it when you restart your program with C<R> or C<rerun>. L<[perl -#121509]|https://rt.perl.org/Ticket/Display.html?id=121509> +Nulled COPs are now of class C<B::COP>, rather than C<B::OP>. -=item * +C<B::REGEXP> objects now provide a C<qr_anoncv> method for accessing the +implicit CV associated with C<qr//> things containing code blocks, and a +C<compflags> method that returns the pertinent flags originating from the +C<qr//blahblah> op. -L<Unicode::Collate> has been upgraded to version 1.07. +C<B::PMOP> now provides a C<pmregexp> method returning a C<B::REGEXP> object. +Two new classes, C<B::PADNAME> and C<B::PADNAMELIST>, have been introduced. -Version 0.67's improved discontiguous contractions is invalidated by default -and is supported as a parameter 'long_contraction'. +A bug where, after an ithread creation or psuedofork, special/immortal SVs in +the child ithread/psuedoprocess did not have the correct class of +C<B::SPECIAL>, has been fixed. +The C<id> and C<outid> PADLIST methods have been added. =item * -L<Unicode::Normalize> has been upgraded to version 1.18. +L<B::Concise> has been upgraded to version 0.994. -The XSUB implementation has been removed in favour of pure Perl. +Null ops that are part of the execution chain are now given sequence +numbers. + +Private flags for nulled ops are now dumped with mnemonics as they would be +for the non-nulled counterparts. =item * -L<Math::BigInt> has been upgraded to version 1.9996. +L<B::Deparse> has been upgraded to version 1.35. -Synchronize POD changes from the CPAN release. -C<< Math::BigFloat->blog(x) >> would sometimes return blog(2*x) when -the accuracy was greater than 70 digits. -The result of C<< Math::BigFloat->bdiv() >> in list context now -satisfies C<< x = quotient * divisor + remainder >>. +It now deparses C<+sub : attr { ... }> correctly at the start of a +statement. Without the initial C<+>, C<sub> would be a statement label. -Correct handling of subclasses. -L<[cpan #96254]|https://rt.cpan.org/Ticket/Display.html?id=96254> -L<[cpan #96329]|https://rt.cpan.org/Ticket/Display.html?id=96329> +C<BEGIN> blocks are now emitted in the right place most of the time, but +the change unfortunately introduced a regression, in that C<BEGIN> blocks +occurring just before the end of the enclosing block may appear below it +instead. XXX So this change may need to be reverted if it cannot be fixed +before Perl 5.22. [perl #77452] -=item * +C<B::Deparse> no longer puts erroneous C<local> here and there, such as for +C<LIST = tr/a//d>. [perl #119815] -L<UNIVERSAL> has been upgraded to version 1.12. +Adjacent C<use> statements are no longer accidentally nested if one +contains a C<do> block. [perl #115066] -L<B::Op_private> provides detailed information about the flags used in the -C<op_private> field of perl opcodes. +Parenthesised arrays in lists passed to C<\> are now correctly deparsed +with parentheses (e.g., C<\(@a, (@b), @c)> now retains the parentheses +around @b), this preserving the flattening behaviour of referenced +parenthesised arrays. Formerly, it only worked for one array: C<\(@a)>. -=item * +C<local our> is now deparsed correctly, with the C<our> included. -L<Archive::Tar> has been upgraded to version 2.02. +C<for($foo; !$bar; $baz) {...}> was deparsed without the C<!> (or C<not>). +This has been fixed. -Tests can now be run in parallel. +Core keywords that conflict with lexical subroutines are now deparsed with +the C<CORE::> prefix. -=item * +C<foreach state $x (...) {...}> now deparses correctly with C<state> and +not C<my>. -L<constant> has been upgraded to version 1.32. +C<our @array = split(...)> now deparses correctly with C<our> in those +cases where the assignment is optimized away. -It now accepts fully-qualified constant names, allowing constants to be defined -in packages other than the caller. +It now deparses C<our(I<LIST>)> and typed lexical (C<my Dog $spot>) correctly. -=item * +Deparse C<$#_> as that instead of as C<$#{_}>. +L<[perl #123947]|https://rt.perl.org/Ticket/Display.html?id=123947> -L<CPAN::Meta::Requirements> has been upgraded to version 2.128. +C<< <<>> >> is now correctly deparsed. -Works around limitations in version::vpp detecting v-string magic and adds -support for forthcoming L<ExtUtils::MakeMaker> bootstrap F<version.pm> for -Perls older than 5.10.0. +BEGIN blocks at the end of the enclosing scope are now deparsed in the +right place. [perl #77452] -=item * +BEGIN blocks were sometimes deparsed as __ANON__, but are now always called +BEGIN. -L<Data::Dumper> has been upgraded to version 2.154. +Lexical subroutines are now fully deparsed. [perl #116553] -Fixes CVE-2014-4330 by adding a configuration variable/option to limit -recursion when dumping deep data structures. +Deparsing of C<$lexical =~ //> was accidentally broken in 1.30 (perl +5.21.6), omitting the C<$lexical =~>, but has now been fixed. -Changes to resolve Coverity issues. -XS dumps incorrectly stored the name of code references stored in a -GLOB. -L<[perl #122070]|https://rt.perl.org/Ticket/Display.html?id=122070> +C<Anything =~ y///r> with C</r> no longer omits the left-hand operand. -=item * +The op trees that make up regexp code blocks are now deparsed for real. +Formerly, the original string that made up the regular expression was used. +That caused problems with C<qr/(?{E<lt>E<lt>heredoc})/> and multiline code blocks, +which were deparsed incorrectly. [perl #123217] [perl #115256] -L<experimental> has been upgraded to version 0.010. +C<$;> at the end of a statement no longer loses its semicolon. +[perl #123357] -Hardcodes features for Perls older than 5.15.7. +Some cases of subroutine declarations stored in the stash in shorthand form +were being omitted. -=item * +Non-ASCII characters are now consistently escaped in strings, instead of +some of the time. (There are still outstanding problems with regular +expressions and identifiers that have not been fixed.) -L<ExtUtils::CBuilder> has been upgraded to version 0.280219. +When prototype sub calls are deparsed with C<&> (e.g., under the B<-P> +option), C<scalar> is now added where appropriate, to force the scalar +context implied by the prototype. -Fixes a regression on Android. -L<[perl #122675]|https://rt.perl.org/Ticket/Display.html?id=122675> +C<require(foo())>, C<do(foo())>, C<goto(foo())> and similar constructs with +loop controls are now deparsed correctly. The outer parentheses are not +optional. -=item * +Whitespace is no longer escaped in regular expressions, because it was +getting erroneously escaped within C<(?x:...)> sections. -L<ExtUtils::Manifest> has been upgraded to version 1.68. +C<sub foo { foo() }> is now deparsed with those mandatory parentheses. -Fixes a bug with C<maniread()>'s handling of quoted filenames and improves -C<manifind()> to follow symlinks. -L<[perl #122415]|https://rt.perl.org/Ticket/Display.html?id=122415> +C</@array/> is now deparsed as a regular expression, and not just +C<@array>. -=item * +C</@{-}/>, C</@{+}/> and C<$#{1}> are now deparsed with the braces, which +are mandatory in these cases. -L<File::Find> has been upgraded to version 1.28. +In deparsing feature bundles, B::Deparse was emitting C<no feature;> first +instead of C<no feature ':all';>. This has been fixed. -C<find()> and C<finddepth()> will now warn if passed inappropriate or -misspelled options. +C<chdir FH> is now deparsed without quotation marks. -=item * +C<\my @a> is now deparsed without parentheses. (Parenthese would flatten +the array.) -L<HTTP::Tiny> has been upgraded to version 0.049. +C<system> and C<exec> followed by a block are now deparsed correctly. +Formerly there was an erroneous C<do> before the block. -C<keep_alive> is now fork-safe and thread-safe. +C<< use constant QR =E<gt> qr/.../flags >> followed by C<"" =~ QR> is no longer +without the flags. -=item * +Deparsing C<BEGIN { undef &foo }> with the B<-w> switch enabled started to +emit 'uninitialized' warnings in Perl 5.14. This has been fixed. -L<IO> has been upgraded to version 1.34. +Deparsing calls to subs with a C<(;+)> prototype resulted in an infinite +loop. The C<(;$>) C<(_)> and C<(;_)> prototypes were given the wrong +precedence, causing C<foo($aE<lt>$b)> to be deparsed without the parentheses. -The XS implementation has been fixed for the sake of older Perls. +Deparse now provides a defined state sub in inner subs. +Since version Perl 5.21.6, Deparse would croak on special constants, but +this has now been fixed. =item * -L<IO::Socket::IP> has been upgraded to version 0.32. - -A better fix for subclassing C<connect()>. -L<[cpan #95983]|https://rt.cpan.org/Ticket/Display.html?id=95983> -L<[cpan #97050]|https://rt.cpan.org/Ticket/Display.html?id=97050> +L<B::Op_private> has been upgraded to version 5.021006. -Implements Timeout for C<connect()>. -L<[cpan #92075]|https://rt.cpan.org/Ticket/Display.html?id=92075> +It now includes a hash named C<%ops_using>, list all op types that use a +particular private flag. =item * -L<Locale::Codes> has been upgraded to version 3.32. - -Fixed a bug in the scripts used to extract data from spreadsheets that -prevented the SHP currency code from being found. -L<[cpan #94229]|https://rt.cpan.org/Ticket/Display.html?id=94229> +L<bigint>, L<bignum>, L<bigrat> have been upgraded to version 0.39. -New codes have been added. +Document in CAVEATS that using strings as numbers won't always invoke +the big number overloading, and how to invoke it. [rt.perl.org #123064] =item * -L<overload> has been upgraded to version 1.23. +L<Carp> has been upgraded to version 1.35. -A redundant C<ref $sub> check has been removed. +Carp::Heavy now ignores version mismatches with Carp if Carp is newer +than 1.12, since Carp::Heavy's guts were merged into Carp at that +point. +L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574> + +Carp now handles non-ASCII platforms better. +Off-by-one error fix for Perl E<lt> 5.14. =item * -L<Pod::Perldoc> has been upgraded to version 3.24. +L<constant> has been upgraded to version 1.32. -Filehandles opened for reading or writing now have C<:encoding(UTF-8)> set. -L<[cpan #98019]|https://rt.cpan.org/Ticket/Display.html?id=98019> +It now accepts fully-qualified constant names, allowing constants to be defined +in packages other than the caller. =item * -The Scalar List Utils has been upgraded to version 1.41. - -A new module, L<Sub::Util>, has been added, containing functions related to -CODE refs, including C<subname> (inspired by Sub::Identity) and C<set_subname> -(copied and renamed from Sub::Name). -The use of C<GetMagic> in C<List::Util::reduce()> has also been fixed. -L<[cpan #63211]|https://rt.cpan.org/Ticket/Display.html?id=63211> +L<CPAN> has been upgraded to version 2.10. -=item * +Add support for C<Cwd::getdcwd()> and introduce workaround for a misbehaviour +seen on Strawberry Perl 5.20.1. -L<Time::Piece> has been upgraded to version 1.29. +Fix C<chdir()> after building dependencies bug. -When pretty printing negative Time::Seconds, the "minus" is no longer lost. +Introduce experimental support for plugins/hooks. -=item * +Integrate the App::Cpan sources. -L<version> has been upgraded to version 0.9909. +Do not check recursion on optional dependencies. -Numerous changes. See the F<Changes> file in the CPAN distribution for -details. +Sanity check F<META.yml> to contain a hash. +L<[cpan #95271]|https://rt.cpan.org/Ticket/Display.html?id=95271> =item * -L<attributes> has been upgraded to version 0.24. - -The usage of C<memEQs> in the XS has been corrected. -L<[perl #122701]|https://rt.perl.org/Ticket/Display.html?id=122701> +L<CPAN::Meta::Requirements> has been upgraded to version 2.128. -Avoid reading beyond the end of a buffer. [perl #122629] +Works around limitations in version::vpp detecting v-string magic and adds +support for forthcoming L<ExtUtils::MakeMaker> bootstrap F<version.pm> for +Perls older than 5.10.0. =item * -L<B::Concise> has been upgraded to version 0.994. +L<Data::Dumper> has been upgraded to version 2.154. -Null ops that are part of the execution chain are now given sequence -numbers. +Fixes CVE-2014-4330 by adding a configuration variable/option to limit +recursion when dumping deep data structures. -Private flags for nulled ops are now dumped with mnemonics as they would be -for the non-nulled counterparts. +Changes to resolve Coverity issues. +XS dumps incorrectly stored the name of code references stored in a +GLOB. +L<[perl #122070]|https://rt.perl.org/Ticket/Display.html?id=122070> =item * @@ -904,53 +907,42 @@ Remove C<dl_nonlazy> global if unused in Dynaloader. [perl #122926] =item * -L<Fcntl> has been upgraded to version 1.13. - -Add support for the Linux pipe buffer size fcntl() commands. - -=item * - -The libnet collection of modules has been upgraded to version 3.02. - -Support for IPv6 and SSL to Net::FTP, Net::NNTP, Net::POP3 and Net::SMTP. -Improvements in Net::SMTP authentication. - -=item * - -L<POSIX> has been upgraded to version 1.45. +L<Encode> has been upgraded to version 2.70. -The C99 math functions and constants (for example C<acosh>, C<isinf>, C<isnan>, C<round>, -C<trunc>; C<M_E>, C<M_SQRT2>, C<M_PI>) have been added. +C<piconv> now has better error handling when the encoding name is nonexistent, +and a build breakage when upgrading L<Encode> in perl-5.8.2 and earlier has +been fixed. -POSIX::tmpnam() now produces a deprecation warning. [perl #122005] +Building in C++ mode on Windows now works. =item * -L<XSLoader> has been upgraded to version 0.18. +L<Errno> has been upgraded to version 1.23. -Allow XSLoader to load modules from a different namespace. -[perl #122455] +Add C<-P> to the preprocessor command-line on GCC 5. GCC added extra +line directives, breaking parsing of error code definitions. [rt.perl.org +#123784] =item * -L<B::Op_private> has been upgraded to version 5.021006. +L<experimental> has been upgraded to version 0.010. -It now includes a hash named C<%ops_using>, list all op types that use a -particular private flag. +Hardcodes features for Perls older than 5.15.7. =item * -L<IO::Socket> has been upgraded to version 1.38. +L<ExtUtils::CBuilder> has been upgraded to version 0.280219. -Document the limitations of the connected() method. [perl #123096] +Fixes a regression on Android. +L<[perl #122675]|https://rt.perl.org/Ticket/Display.html?id=122675> =item * -The PathTools module collection has been upgraded to version 3.53. - -A warning from the B<gcc> compiler is now avoided when building the XS. +L<ExtUtils::Manifest> has been upgraded to version 1.68. -Don't turn leading C<//> into C</> on Cygwin. [perl #122635] +Fixes a bug with C<maniread()>'s handling of quoted filenames and improves +C<manifind()> to follow symlinks. +L<[perl #122415]|https://rt.perl.org/Ticket/Display.html?id=122415> =item * @@ -964,25 +956,16 @@ for the C<DESTROY> method. [perl #123418] =item * -L<B> has been upgraded to version 1.55. - -It provides a new C<B::safename> function, based on the existing -C<< B::GV->SAFENAME >>, that converts "\cOPEN" to "^OPEN". +L<Fcntl> has been upgraded to version 1.13. -Nulled COPs are now of class C<B::COP>, rather than C<B::OP>. +Add support for the Linux pipe buffer size fcntl() commands. -C<B::REGEXP> objects now provide a C<qr_anoncv> method for accessing the -implicit CV associated with C<qr//> things containing code blocks, and a -C<compflags> method that returns the pertinent flags originating from the -C<qr//blahblah> op. +=item * -C<B::PMOP> now provides a C<pmregexp> method returning a C<B::REGEXP> object. -Two new classes, C<B::PADNAME> and C<B::PADNAMELIST>, have been introduced. +L<File::Find> has been upgraded to version 1.28. -A bug where, after an ithread creation or psuedofork, special/immortal SVs in -the child ithread/psuedoprocess did not have the correct class of -C<B::SPECIAL>, has been fixed. -The C<id> and C<outid> PADLIST methods have been added. +C<find()> and C<finddepth()> will now warn if passed inappropriate or +misspelled options. =item * @@ -993,185 +976,172 @@ places. [perl #123606] =item * -L<Safe> has been upgraded to version 2.39. +L<HTTP::Tiny> has been upgraded to version 0.049. -C<reval> was not propagating void context properly. +C<keep_alive> is now fork-safe and thread-safe. =item * -L<SDBM_File> has been upgraded to version 1.13. +L<IO> has been upgraded to version 1.34. -Simplified the build process. [perl #123413] +The XS implementation has been fixed for the sake of older Perls. =item * -L<B::Deparse> has been upgraded to version 1.35. +L<IO::Socket> has been upgraded to version 1.38. -It now deparses C<+sub : attr { ... }> correctly at the start of a -statement. Without the initial C<+>, C<sub> would be a statement label. +Document the limitations of the connected() method. [perl #123096] -C<BEGIN> blocks are now emitted in the right place most of the time, but -the change unfortunately introduced a regression, in that C<BEGIN> blocks -occurring just before the end of the enclosing block may appear below it -instead. XXX So this change may need to be reverted if it cannot be fixed -before Perl 5.22. [perl #77452] +=item * -C<B::Deparse> no longer puts erroneous C<local> here and there, such as for -C<LIST = tr/a//d>. [perl #119815] +L<IO::Socket::IP> has been upgraded to version 0.32. -Adjacent C<use> statements are no longer accidentally nested if one -contains a C<do> block. [perl #115066] +A better fix for subclassing C<connect()>. +L<[cpan #95983]|https://rt.cpan.org/Ticket/Display.html?id=95983> +L<[cpan #97050]|https://rt.cpan.org/Ticket/Display.html?id=97050> -Parenthesised arrays in lists passed to C<\> are now correctly deparsed -with parentheses (e.g., C<\(@a, (@b), @c)> now retains the parentheses -around @b), this preserving the flattening behaviour of referenced -parenthesised arrays. Formerly, it only worked for one array: C<\(@a)>. +Implements Timeout for C<connect()>. +L<[cpan #92075]|https://rt.cpan.org/Ticket/Display.html?id=92075> -C<local our> is now deparsed correctly, with the C<our> included. +=item * -C<for($foo; !$bar; $baz) {...}> was deparsed without the C<!> (or C<not>). -This has been fixed. +The libnet collection of modules has been upgraded to version 3.02. -Core keywords that conflict with lexical subroutines are now deparsed with -the C<CORE::> prefix. +Support for IPv6 and SSL to Net::FTP, Net::NNTP, Net::POP3 and Net::SMTP. +Improvements in Net::SMTP authentication. -C<foreach state $x (...) {...}> now deparses correctly with C<state> and -not C<my>. +=item * -C<our @array = split(...)> now deparses correctly with C<our> in those -cases where the assignment is optimized away. +L<Locale::Codes> has been upgraded to version 3.32. -It now deparses C<our(I<LIST>)> and typed lexical (C<my Dog $spot>) correctly. +Fixed a bug in the scripts used to extract data from spreadsheets that +prevented the SHP currency code from being found. +L<[cpan #94229]|https://rt.cpan.org/Ticket/Display.html?id=94229> -Deparse C<$#_> as that instead of as C<$#{_}>. -L<[perl #123947]|https://rt.perl.org/Ticket/Display.html?id=123947> +New codes have been added. -C<< <<>> >> is now correctly deparsed. +=item * -BEGIN blocks at the end of the enclosing scope are now deparsed in the -right place. [perl #77452] +L<Math::BigInt> has been upgraded to version 1.9996. -BEGIN blocks were sometimes deparsed as __ANON__, but are now always called -BEGIN. +Synchronize POD changes from the CPAN release. +C<< Math::BigFloat->blog(x) >> would sometimes return blog(2*x) when +the accuracy was greater than 70 digits. +The result of C<< Math::BigFloat->bdiv() >> in list context now +satisfies C<< x = quotient * divisor + remainder >>. -Lexical subroutines are now fully deparsed. [perl #116553] +Correct handling of subclasses. +L<[cpan #96254]|https://rt.cpan.org/Ticket/Display.html?id=96254> +L<[cpan #96329]|https://rt.cpan.org/Ticket/Display.html?id=96329> -Deparsing of C<$lexical =~ //> was accidentally broken in 1.30 (perl -5.21.6), omitting the C<$lexical =~>, but has now been fixed. +=item * -C<Anything =~ y///r> with C</r> no longer omits the left-hand operand. +L<Module::Metadata> has been upgraded to version 1.000024. -The op trees that make up regexp code blocks are now deparsed for real. -Formerly, the original string that made up the regular expression was used. -That caused problems with C<qr/(?{E<lt>E<lt>heredoc})/> and multiline code blocks, -which were deparsed incorrectly. [perl #123217] [perl #115256] +Support installations on older perls with an L<ExtUtils::MakeMaker> earlier +than 6.63_03 -C<$;> at the end of a statement no longer loses its semicolon. -[perl #123357] +=item * -Some cases of subroutine declarations stored in the stash in shorthand form -were being omitted. +L<overload> has been upgraded to version 1.23. -Non-ASCII characters are now consistently escaped in strings, instead of -some of the time. (There are still outstanding problems with regular -expressions and identifiers that have not been fixed.) +A redundant C<ref $sub> check has been removed. -When prototype sub calls are deparsed with C<&> (e.g., under the B<-P> -option), C<scalar> is now added where appropriate, to force the scalar -context implied by the prototype. +=item * -C<require(foo())>, C<do(foo())>, C<goto(foo())> and similar constructs with -loop controls are now deparsed correctly. The outer parentheses are not -optional. +The PathTools module collection has been upgraded to version 3.53. -Whitespace is no longer escaped in regular expressions, because it was -getting erroneously escaped within C<(?x:...)> sections. +A warning from the B<gcc> compiler is now avoided when building the XS. -C<sub foo { foo() }> is now deparsed with those mandatory parentheses. +Don't turn leading C<//> into C</> on Cygwin. [perl #122635] -C</@array/> is now deparsed as a regular expression, and not just -C<@array>. +=item * -C</@{-}/>, C</@{+}/> and C<$#{1}> are now deparsed with the braces, which -are mandatory in these cases. +L<perl5db.pl> has been upgraded to version 1.49. -In deparsing feature bundles, B::Deparse was emitting C<no feature;> first -instead of C<no feature ':all';>. This has been fixed. +The debugger would cause an assertion failure. +L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> -C<chdir FH> is now deparsed without quotation marks. +C<fork()> in the debugger under C<tmux> will now create a new window for +the forked process. L<[perl +#121333]|https://rt.perl.org/Ticket/Display.html?id=121333> -C<\my @a> is now deparsed without parentheses. (Parenthese would flatten -the array.) +The debugger now saves the current working directory on startup and +restores it when you restart your program with C<R> or C<rerun>. L<[perl +#121509]|https://rt.perl.org/Ticket/Display.html?id=121509> -C<system> and C<exec> followed by a block are now deparsed correctly. -Formerly there was an erroneous C<do> before the block. +=item * -C<< use constant QR =E<gt> qr/.../flags >> followed by C<"" =~ QR> is no longer -without the flags. +L<PerlIO::scalar> has been upgraded to version 0.22. -Deparsing C<BEGIN { undef &foo }> with the B<-w> switch enabled started to -emit 'uninitialized' warnings in Perl 5.14. This has been fixed. +Reading from a position well past the end of the scalar now correctly +returns end of file. [perl #123443] -Deparsing calls to subs with a C<(;+)> prototype resulted in an infinite -loop. The C<(;$>) C<(_)> and C<(;_)> prototypes were given the wrong -precedence, causing C<foo($aE<lt>$b)> to be deparsed without the parentheses. +Seeking to a negative position still fails, but no longer leaves the +file position set to a negation location. -Deparse now provides a defined state sub in inner subs. -Since version Perl 5.21.6, Deparse would croak on special constants, but -this has now been fixed. +C<eof()> on a C<PerlIO::scalar> handle now properly returns true when +the file position is past the 2GB mark on 32-bit systems. + +Attempting to write at file positions impossible for the platform now +fail early rather than wrapping at 4GB. =item * -L<bigint>, L<bignum>, L<bigrat> have been upgraded to version 0.39. +L<Pod::Perldoc> has been upgraded to version 3.24. -Document in CAVEATS that using strings as numbers won't always invoke -the big number overloading, and how to invoke it. [rt.perl.org #123064] +Filehandles opened for reading or writing now have C<:encoding(UTF-8)> set. +L<[cpan #98019]|https://rt.cpan.org/Ticket/Display.html?id=98019> =item * -L<Carp> has been upgraded to version 1.35. +L<POSIX> has been upgraded to version 1.45. -Carp::Heavy now ignores version mismatches with Carp if Carp is newer -than 1.12, since Carp::Heavy's guts were merged into Carp at that -point. -L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574> +The C99 math functions and constants (for example C<acosh>, C<isinf>, C<isnan>, C<round>, +C<trunc>; C<M_E>, C<M_SQRT2>, C<M_PI>) have been added. -Carp now handles non-ASCII platforms better. -Off-by-one error fix for Perl E<lt> 5.14. +POSIX::tmpnam() now produces a deprecation warning. [perl #122005] =item * -L<Encode> has been upgraded to version 2.70. +L<Safe> has been upgraded to version 2.39. -C<piconv> now has better error handling when the encoding name is nonexistent, -and a build breakage when upgrading L<Encode> in perl-5.8.2 and earlier has -been fixed. +C<reval> was not propagating void context properly. -Building in C++ mode on Windows now works. +=item * + +Scalar-List-Utils has been upgraded to version 1.41. + +A new module, L<Sub::Util>, has been added, containing functions related to +CODE refs, including C<subname> (inspired by Sub::Identity) and C<set_subname> +(copied and renamed from Sub::Name). +The use of C<GetMagic> in C<List::Util::reduce()> has also been fixed. +L<[cpan #63211]|https://rt.cpan.org/Ticket/Display.html?id=63211> =item * -L<Errno> has been upgraded to version 1.23. +L<SDBM_File> has been upgraded to version 1.13. -Add C<-P> to the preprocessor command-line on GCC 5. GCC added extra -line directives, breaking parsing of error code definitions. [rt.perl.org -#123784] +Simplified the build process. [perl #123413] =item * -L<PerlIO::scalar> has been upgraded to version 0.22. +L<Time::Piece> has been upgraded to version 1.29. -Reading from a position well past the end of the scalar now correctly -returns end of file. [perl #123443] +When pretty printing negative Time::Seconds, the "minus" is no longer lost. -Seeking to a negative position still fails, but no longer leaves the -file position set to a negation location. +=item * -C<eof()> on a C<PerlIO::scalar> handle now properly returns true when -the file position is past the 2GB mark on 32-bit systems. +L<Unicode::Collate> has been upgraded to version 1.07. -Attempting to write at file positions impossible for the platform now -fail early rather than wrapping at 4GB. +Version 0.67's improved discontiguous contractions is invalidated by default +and is supported as a parameter 'long_contraction'. + +=item * + +L<Unicode::Normalize> has been upgraded to version 1.18. + +The XSUB implementation has been removed in favour of pure Perl. =item * @@ -1201,6 +1171,29 @@ This module now works on EBCDIC platforms. =item * +L<UNIVERSAL> has been upgraded to version 1.12. + +L<B::Op_private> provides detailed information about the flags used in the +C<op_private> field of perl opcodes. + +=item * + +L<utf8> has been upgraded to version 1.17 + +A mismatch between the documentation and the code in utf8::downgrade() +was fixed in favour of the documentation. The optional second argument +is now correctly treated as a perl boolean (true/false semantics) and +not as an integer. + +=item * + +L<version> has been upgraded to version 0.9909. + +Numerous changes. See the F<Changes> file in the CPAN distribution for +details. + +=item * + L<Win32> has been upgraded to version 0.51. GetOSName() now supports Windows 8.1, and building in C++ mode now works. @@ -1211,6 +1204,13 @@ L<Win32API::File> has been upgraded to version 0.1202 Building in C++ mode now works. +=item * + +L<XSLoader> has been upgraded to version 0.18. + +Allow XSLoader to load modules from a different namespace. +[perl #122455] + =back =head2 Removed Modules and Pragmata |