=encoding utf8
=for comment
-This has been completed up to 7c7df81, except for:
-d9a4b459f94297889956ac3adc42707365f274c2
+This has been completed up to 91fad77.
=head1 NAME
possibility that your code will process Unicode strings, you are
B<strongly> encouraged to use this subpragma to avoid nasty surprises.
+This availability of this should strongly affect the whole tone of
+various documents, such as L<perlunicode> and L<perluniintro>, but this
+work has not been done yet.
+
+=head2 Exception Handling Backcompat Hack
+
+When an exception is thrown in an C<eval BLOCK>, C<$@> is now set before
+unwinding, as well as being set after unwinding as the eval block exits. This
+early setting supports code that has historically treated C<$@> during unwinding
+as an indicator of whether the unwinding was due to an exception. These modules
+had been broken by 5.13.1's change from setting C<$@> early to setting it late.
+This double setting arrangement is a stopgap until the reason for unwinding can
+be made properly introspectable. C<$@> has never been a reliable indicator of
+this.
+
+=head2 printf-like functions understand size modifiers "hh", "z", "t", and sometimes "j"
+
+Perl's printf and sprintf operators, and Perl's internal printf replacement
+function, now understand the C90 size modifiers "hh" (C<char>), "z"
+(C<size_t>), and "t" (C<ptrdiff_t>). Also, when compiled with a C99
+compiler, Perl now understands the size modifier "j" (C<intmax_t>).
+
+So, for example, on any modern machine, C<sprintf('%hhd', 257)> returns '1'.
+
+=head2 DTrace probes now include package name
+
+The DTrace probes now include an additional argument (C<arg3>) which contains
+the package the subroutine being entered or left was compiled in.
+
+For example using the following DTrace script:
+
+ perl$target:::sub-entry
+ {
+ printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
+ }
+
+and then running:
+
+ perl -e'sub test { }; test'
+
+DTrace will print:
+
+ main::test
+
+=head2 Stacked labels
+
+Multiple statement labels can now appear before a single statement.
+
=head1 Security
XXX Any security-related notices go here. In particular, any security
because of a code generator) then avoid the error by adding a space before
the C<=>.
+=head2 Run-time code block in regular expressions
+
+Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) used not
+to inherit any pragmata (strict, warnings, etc.) if the regular expression
+was compiled at run time as happens in cases like these two:
+
+ use re 'eval';
+ $foo =~ $bar; # when $bar contains (?{...})
+ $foo =~ /$bar(?{ $finished = 1 })/;
+
+This was a bug, which has now been fixed. But it has the potential to break
+any code that was relying on this bug.
+
=head1 Deprecations
XXX Any deprecated features, syntax, modules etc. should be listed here.
=item *
+C<Archive::Tar> has been upgraded from version 1.72 to 1.74
+
+=item *
+
+C<B::Concise> has been upgraded from version 0.81 to 0.82.
+
+It no longer produces mangled output with the C<-tree> option
+L<[perl #80632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80632>.
+
+=item *
+
+C<Devel::SelfStubber> has been upgraded from version 1.04 to 1.05.
+
+=item *
+
+C<Digest::SHA> has been upgraded from 5.48 to 5.50
+
+shasum now more closely mimics sha1sum/md5sum and Addfile
+accepts all POSIX filenames.
+
+=item *
+
+C<Dumpvalue> has been upgraded from version 1.14 to 1.15.
+
+=item *
+
+C<Env> has been upgraded from version 1.01 to 1.02.
+
+=item *
+
+C<ExtUtils::CBuilder> has been upgraded from 0.2703 to 0.2802
+
+=item *
+
+C<ExtUtils::Embed> has been upgraded from 1.29 to 1.30.
+
+=item *
+
C<if> has been upgraded from 0.06 to 0.0601.
=item *
+C<Devel::SelfStubber> has been upgraded from version 1.03 to 1.04.
+
+=item *
+
C<IPC::Cmd> has been upgraded from 0.64 to 0.66
Resolves an issue with splitting Win32 command lines
=item *
+C<IPC::Open3> has been upgraded from 1.07 to 1.08.
+
+=item *
+
C<Locale::Codes> has been upgraded from version 3.14 to 3.15
=item *
=item *
+C<Net::Ping> has been upgraded from 2.36 to 2.37.
+
+=item *
+
C<overload> has been upgraded from 1.11 to 1.12.
=item *
+C<PerlIO::encoding> has been upgraded from 0.13 to 0.14.
+
+=item *
+
C<PerlIO::scalar> has been upgraded from 0.10 to 0.11.
A C<read> after a C<seek> beyond the end of the string no longer thinks it
Storable users that set C<$Storable::accept_future_minor> to a C<FALSE> value
will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
+Freezing no longer gets confused if the Perl stack gets reallocated
+during freezing
+L<[perl #80074]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80074>.
+
=item *
C<Time::HiRes> has been upgraded from 1.9721 to 1.9721_01.
C<version> has been upgraded from 0.82 to 0.86.
+=item *
+
+C<Win32> has been upgraded from 0.039 to 0.040.
+
=back
=head2 Removed Modules and Pragmata
=item *
+The C<Encode> module can now (once again) be included in a static Perl
+build. The special-case handling for this situation got broken in Perl
+5.11.0, and has now been repaired.
+
+=item *
+
XXX
=back
The NetBSD hints file has been changed to make the system's malloc the
default.
+=item Windows
+
+The option to use an externally-supplied C<crypt()>, or to build with no
+C<crypt()> at all, has been removed. Perl supplies its own C<crypt()>
+implementation for Windows, and the political situation that required
+this part of the distribution to sometimes be omitted is long gone.
+
=back
=head1 Internal Changes
to a scalar. This eliminates the need for extensions to walk the list of
C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
+=item *
+
+The C<parse_fullexpr()>, C<parse_listexpr(), C<parse_termexpr()> and
+C<parse_arithexpr()> functions have been added.
+
+These are for parsing expressions at various precedence levels.
+
=back
=head1 Selected Bug Fixes
=item *
Calling a closure prototype (what is passed to an attribute handler for a
-closure) now results in a "Closure prototype called" error message
+closure) now results in a "Closure prototype called" error message instead
+of a crash
L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
=item *
problematical in Perl.
L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
+=item *
+
+Mentioning a read-only lexical variable from the enclosing scope in a
+string C<eval> would cause the variable to become writable
+L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
+
+=item *
+
+C<state> can now be used with attributes. It used to mean the same thing as
+C<my> if attributes were present
+L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
+
+=item *
+
+Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
+the "Use of uninitialized value in numeric gt" warning when C<$a> is
+undefined (since it is not part of the C<E<gt>> expression, but the operand
+of the C<@>)
+L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
+
+=item *
+
+C<require> no longer causes C<caller> to return the wrong file name for
+the scope that called C<require> and other scopes higher up that had the
+same file name
+L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
+
+=item *
+
+The ref types in the typemap for XS bindings now support magical variables
+L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
+
+=item *
+
+Match variables (e.g., C<$1>) no longer persist between calls to a sort
+subroutine
+L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
+
+=item *
+
+The C<B> module was returning B::OPs instead of B::LOGOPs for C<entertry>
+L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
+
+This was due to a bug in the perl core, not in C<B> itself.
+
+=item *
+
+Some numeric operators were converting integers to floating point,
+resulting in loss of precision on 64-bit platforms
+L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
+
+=item *
+
+The fallback behaviour of overloading on binary operators was asymmetric
+L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
+
=back
=head1 Known Problems