+=encoding utf8
+
=head1 NAME
perl5110delta - what is new for perl v5.11.0
=head1 Incompatible Changes
+=head2 Unicode interpretation of \w, \d, \s, and the POSIX character classes redefined.
+
+Previous versions of Perl tried to map POSIX style character class definitions onto
+Unicode property names so that patterns would "dwim" when matches were made against latin-1 or
+unicode strings. This proved to be a mistake, breaking character class negation, causing
+forward compatibility problems (as Unicode keeps updating their property definitions and adding
+new characters), and other problems.
+
+Therefore we have now defined a new set of artificial "unicode" property names which will be
+used to do unicode matching of patterns using POSIX style character classes and perl short-form
+escape character classes like \w and \d.
+
+The key change here is that \d will no longer match every digit in the unicode standard
+(there are thousands) nor will \w match every word character in the standard, instead they
+will match precisely their POSIX or Perl definition.
+
+Those needing to match based on Unicode properties can continue to do so by using the \p{} syntax
+to match whichever property they like, including the new artificial definitions.
+
+B<NOTE:> This is a backwards incompatible no-warning change in behaviour. If you are upgrading
+and you process large volumes of text look for POSIX and Perl style character classes and
+change them to the relevent property name (by removing the word 'Posix' from the current name).
+
+The following table maps the POSIX character class names, the escapes and the old and new
+Unicode property mappings:
+
+ POSIX Esc Class New-Property ! Old-Property
+ ----------------------------------------------+-------------
+ alnum [0-9A-Za-z] IsPosixAlnum ! IsAlnum
+ alpha [A-Za-z] IsPosixAlpha ! IsAlpha
+ ascii [\000-\177] IsASCII = IsASCII
+ blank [\011 ] IsPosixBlank !
+ cntrl [\0-\37\177] IsPosixCntrl ! IsCntrl
+ digit \d [0-9] IsPosixDigit ! IsDigit
+ graph [!-~] IsPosixGraph ! IsGraph
+ lower [a-z] IsPosixLower ! IsLower
+ print [ -~] IsPosixPrint ! IsPrint
+ punct [!-/:-@[-`{-~] IsPosixPunct ! IsPunct
+ space [\11-\15 ] IsPosixSpace ! IsSpace
+ \s [\11\12\14\15 ] IsPerlSpace ! IsSpacePerl
+ upper [A-Z] IsPosixUpper ! IsUpper
+ word \w [0-9A-Z_a-z] IsPerlWord ! IsWord
+ xdigit [0-9A-Fa-f] IsXDigit = IsXDigit
+
+If you wish to build perl with the old mapping you may do so by setting
+
+ #define PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS 1
+
+in regcomp.h, and then setting
+
+ PERL_TEST_LEGACY_POSIX_CC
+
+to true your enviornment when testing.
+
+
=head2 In @INC, move ARCHLIB and PRIVLIB after the current version's site_perl and vendor_perl.
=head2 Switch statement changes
=head2 Support for C<configure_requires> in CPAN module metadata
Both C<CPAN> and C<CPANPLUS> now support the C<configure_requires> keyword
-in the C<META.yml> metadata file included in most recent CPAN distributions.
+in the F<META.yml> metadata file included in most recent CPAN distributions.
This allows distribution authors to specify configuration prerequisites that
must be installed before running F<Makefile.PL> or F<Build.PL>.
=item C<Socket>
-Upgraded from 1.80 to 1.82.
+Upgraded from 1.80 to 1.84.
+
+As of 1.84, C<Socket> can now handle abstract namespace sockets on Linux.
+(see unix(7)).
=item C<Storable>
=item F<perlbug>
-F<perlbug> now uses %Module::CoreList::bug_tracker to print out upstream bug
+F<perlbug> now uses C<%Module::CoreList::bug_tracker> to print out upstream bug
tracker URLs.
Where the user names a module that their bug report is about, and we know the
=head2 Documented that when() treats specially most of the filetest operators
-=head2 Documented that DESTROY is subject to AUTOLOAD, and the related optimisations.
-
=head2 Documented when as a syntax modifier
=head2 Eliminated "Old Perl threads tutorial", which describes 5005 threads.
pod/perlthrtut.pod is the same material reworked for ithreads.
-=head2 Removed a link to the attrs pragma, which has now been removed.
-
-=head2 update PERL_MEM_LOG in perlhack.pod
-
=head2 Correct previous documentation: v-strings are not deprecated
With version objects, we need them to use MODULE VERSION syntax. This
behaviour in the cygwin.com build for years. The hints files have been
updated.
+=item DomainOS
+
+Support for Apollo DomainOS was removed in Perl 5.11.0
+
=item FreeBSD
The hints files now identify the correct threading libraries on FreeBSD 7
Patches from the Haiku maintainers have been merged in. Perl should now
build on Haiku.
+=item MiNT
+
+Support for Atari MiNT was removed in Perl 5.11.0.
+
=item MirOS BSD
Perl should now build on MirOS BSD.
=over 4
-=item
+=item *
-=item C<-I> on shebang line now adds directories in front of @INC.
+C<-I> on shebang line now adds directories in front of @INC.
as documented, and as does C<-I> when specified on the command-line.
(Renée Bäcker)
=item *
-The C<-i.suffix> command-line switch now recreates the file using
+The C<-i>I<.suffix> command-line switch now recreates the file using
restricted permissions, before changing its mode to match the original
file. This eliminates a potential race condition [RT #60904].
=item *
-Under some circumstances, $^R could incorrectly become undefined
+Under some circumstances, C<$^R> could incorrectly become undefined
[RT #57042].
=item *
-(XS) In various hash functions, passing a pre-computed hash to when the
-key is UTF-8 might result in an incorrect lookup.
+In the XS API, various hash functions, when passed a pre-computed hash where
+the key is UTF-8, might result in an incorrect lookup.
=item *
-(XS) Including F<XSUB.h> before F<perl.h> gave a compile-time error
+XS code including F<XSUB.h> before F<perl.h> gave a compile-time error
[RT #57176].
=item *
=head2 Add a pluggable hook in op_free()
+
+
+