=encoding utf8
+=for comment
+This has been completed up to 7be5bd17, except for:
+bb789b09de07edfb74477eb1603949c96d60927d (Dave Mitchell)
+
=head1 NAME
[ this is a template for a new perldelta file. Any text flagged as
for limiting your instrumentation to one or more of: compile time,
run time, destruct time.
+=head2 New Pad API
+
+Many new functions have been added to the API for manipulating lexical
+pads. See L<perlapi/Pad Data Structures> for more information.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
=item *
-XXX
+The logic for parsing, merging, and dumping XS typemaps has been extracted
+from C<ExtUtils::ParseXS> into a module of its own, L<ExtUtils::Typemaps>.
+C<ExtUtils::Typemaps> offers an interface to typemap handling outside of
+the scope of the XS compiler itself.
+
+As a first use case of the improved API and extensibility, typemaps can now
+be included inline in XS code with a HEREDOC-like syntax:
+
+ TYPEMAP: <<END_TYPEMAP
+ MyType T_IV
+ END_TYPEMAP
=back
=item *
-L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to version 3.00_01.
-
-Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
-was rewritten and cleaned up. It has been made somewhat more extensible
-and now finally uses strictures.
-
-The logic for parsing, merging, and dumping XS typemaps was extracted
-from C<ExtUtils::ParseXS> into a module of its own, L<ExtUtils::Typemaps>.
-C<ExtUtils::Typemaps> offers an interface to typemap handling outside of
-the scope of the XS compiler itself.
+L<B::Deparse> has been upgrade from version 1.05 to 1.06.
-As a first use case of the improved API an extensibility, typemaps can now
-be included inline into XS code with a HEREDOC-like syntax:
-
- TYPEMAP: <<END_TYPEMAP
- MyType T_IV
- END_TYPEMAP
+It now correctly deparses interpolation of punctuation variables (like
+C<@*>) that do not interpolate without braces [perl #93990].
=item *
=item *
+L<Cwd> has been upgraded from version 3.36 to 3.37, to address an
+incompatibility with the EPIC debugger.
+
+=item *
+
+L<diagnostics> has been upgraded from version 1.22 to 1.23.
+
+It now knows how to find descriptions for diagnostic messages ending with a
+dot, instead getting confused by it.
+
+=item *
+
L<ExtUtils::MakeMaker> has been upgraded from version 6.57_05 to version 6.58
=item *
+L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to 3.00_01.
+
+Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
+was rewritten and cleaned up. It has been made somewhat more extensible
+and now finally uses strictures.
+
+The typemap logic has been moved into a separate module,
+L<ExtUtils::Typemaps>. See L</New Modules and Pragmata>, above.
+
+=item *
+
L<IPC::Cmd> has been upgraded from version 0.70 to version 0.72
Capturing of command output (both C<STDOUT> and C<STDERR>) is now supported
=item *
+XXX This will probably be 2.53 for 5.15.1, as there has been a CPAN
+release of 2.52.
+
+L<Module::CoreList> has been upgraded from version 2.51 to 2.52.
+
+Some extraneous (and erroneous) entries have been removed
+[rt.cpan.org #69108].
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.15_05 to 3.15_06.
+
+The B<-v> option now fetches the right section for C<$0>.
+
+=item *
+
L<Pod::Simple> has been upgraded from version 3.16 to version 3.17
=item *
L<perldtrace> describes Perl's DTrace support, listing the provided probes
and gives examples of their use.
+=head3 L<perl5141delta>
+
+The delta file for Perl 5.14.1 has been copied to blead.
+
=head2 Changes to Existing Documentation
XXX Changes which significantly change existing files in F<pod/> go here.
L<perlxs> was extended with documentation on inline typemaps.
+=item *
+
+L<perlref> has a new L<Circular References|perlref/Circular References>
+section explaining how circularities may not be freed and how to solve that
+with weak references.
+
+=item *
+
+The documentation for smart match in L<perlsyn> has been corrected for the
+case of C<undef> on the left-hand side. The list of different smart match
+behaviours had an item in the wrong place.
+
=back
=head1 Diagnostics
=item *
-XXX Describe change here
+The L<Invalid version format|perldiag/"Invalid version format (%s)">
+error message now says "negative version number" within the parentheses,
+rather than "non-numeric data", for negative numbers.
+
+=item *
+
+The two warnings
+L<Possible attempt to put comments in qw() list|perldiag/"Possible attempt to put comments in qw() list">
+and
+L<Possible attempt to separate words with commas|perldiag/"Possible attempt to separate words with commas">
+are no longer mutually exclusive: the same C<qw> construct may produce
+both.
+
+=item *
+
+Warnings that mention the names of lexical (C<my>) variables with Unicode
+characters in them now respect the presence or absence of the C<:utf8>
+layer on the output handle, instead of outputting UTF8 regardless. Also,
+the correct names are included in the strings passed to C<$SIG{__WARN__}>
+handlers, rather than the raw UTF8 bytes.
=back
=item *
+C<when> blocks are now capable of returning variables declared inside the
+enclosing C<given> block [perl #93548].
+
+=item *
+
+A problem with context propagation when a C<do> block is an argument to
+C<return> has been fixed. It used to cause undefined to be returned in
+some cases of a C<return> inside an C<if> block which itself is followed by
+another C<return>.
+
+=item *
+
+Calling C<index> with a tainted constant no longer causes constants in
+subsequently compiled code to become tainted [perl #64804].
+
+=item *
+
The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs,
such as those created by: