Further, every hash has its own iteration order, which should make it much
more difficult to determine what the current hash seed is.
-=head3 New hash function: Murmurhash-32
+=head3 New hash functions
-We have switched Perl's hash function to use Murmurhash-32, and added build
-support for several other hash functions. This new function is expected to
-perform equivalently to the old one for shorter strings and is faster for
-hashing longer strings.
+Perl 5.18 includes support for multiple hash functions, and changed
+the default (to ONE_AT_A_TIME_HARD), you can choose a different
+algorithm by defining a symbol at compile time. For a current list,
+consult the F<INSTALL> document. Note that as of Perl 5.18 we can
+only recommend use of the default or SIPHASH. All the others are
+known to have security issues and are for research purposes only.
=head3 PERL_HASH_SEED environment variable now takes a hex value
=back
+We also think it likely that current versions of Perl will no longer
+build AmigaOS, DJGPP, NetWare (natively), OS/2 and Plan 9. If you
+are using Perl on such a platform and have an interest in ensuring
+Perl's future on them, please contact us.
+
+We believe that Perl has long been unable to build on mixed endian
+architectures (such as PDP-11s), and intend to remove any remain
+support code. Similarly, code supporting the long umaintained GNU
+dld will be removed soon if no-one makes themselves known as an
+active user.
+
=item *
Swapping of $< and $>
C<sv_len> now always returns a byte count and C<sv_len_utf8> a character
count. Previously, C<sv_len> and C<sv_len_utf8> were both buggy and would
sometimes returns bytes and sometimes characters. C<sv_len_utf8> no longer
-assumes that its argument is in UTF8. Neither of these creates UTF8 caches
+assumes that its argument is in UTF-8. Neither of these creates UTF-8 caches
for tied or overloaded values or for non-PVs any more.
=item *
=item *
-A new function C<alloccoptash> has been added to the API, but is considered
+A new function C<alloccopstash> has been added to the API, but is considered
experimental. See L<perlapi>.
=item *
C<length>, C<pos>, C<substr> and C<sprintf> could be confused by ties,
overloading, references and typeglobs if the stringification of such
-changed the internal representation to or from UTF8. [perl #114410]
+changed the internal representation to or from UTF-8. [perl #114410]
=item *
=item *
-Reset the utf8 position cache when accessing magical variables to avoid the
-string buffer and the utf8 position cache getting out of sync
+Reset the UTF-8 position cache when accessing magical variables to avoid the
+string buffer and the UTF-8 position cache getting out of sync
[perl #114410].
=item *
-Various cases of get magic being called twice for magical utf8 strings have been
-fixed.
+Various cases of get magic being called twice for magical UTF-8
+strings have been fixed.
=item *
=item *
-C<$byte_overload .= $utf8> no longer results in doubly-encoded UTF8 if the
-left-hand scalar happened to have produced a UTF8 string the last time
+C<$byte_overload .= $utf8> no longer results in doubly-encoded UTF-8 if the
+left-hand scalar happened to have produced a UTF-8 string the last time
overloading was invoked.
=item *
=item *
-XXX: the imperfect behavior of the ** deprecation
+There are no known regressions. Please report any bugs you find!
=back