perldelta: alphabetize module upgrades
authorRicardo Signes <rjbs@cpan.org>
Thu, 28 May 2015 23:02:43 +0000 (19:02 -0400)
committerRicardo Signes <rjbs@cpan.org>
Thu, 28 May 2015 23:02:43 +0000 (19:02 -0400)
pod/perldelta.pod

index f0220c5..0427b94 100644 (file)
@@ -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 *
 
@@ -962,27 +954,18 @@ references to C<ST(0)>.  [perl #123278]
 Broaden and document the C</OBJ$/> to C</REF$/> typemap optimization
 for the C<DESTROY> method.  [perl #123418]
 
-=item *
-
-L<B> has been upgraded to version 1.55.
+=item *
 
-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