-=over 4
-
-=item *
-
-The error "Can't localize through a reference" had disappeared in 5.16.0
-when C<local %$ref> appeared on the last line of an lvalue subroutine.
-This error disappeared for C<\local %$ref> in perl 5.8.1. It has now
-been restored.
-
-=item *
-
-The parsing of here-docs has been improved significantly, fixing several
-parsing bugs and crashes and one memory leak, and correcting wrong
-subsequent line numbers under certain conditions.
-
-=item *
-
-Inside an eval, the error message for an unterminated here-doc no longer
-has a newline in the middle of it [perl #70836].
-
-=item *
-
-A substitution inside a substitution pattern (C<s/${s|||}//>) no longer
-confuses the parser.
-
-=item *
-
-It may be an odd place to allow comments, but C<s//"" # hello/e> has
-always worked, I<unless> there happens to be a null character before the
-first #. Now it works even in the presence of nulls.
-
-=item *
-
-An invalid range in C<tr///> or C<y///> no longer results in a memory leak.
-
-=item *
-
-String eval no longer treats a semicolon-delimited quote-like operator at
-the very end (C<eval 'q;;'>) as a syntax error.
-
-=item *
-
-C<< warn {$_ => 1} + 1 >> is no longer a syntax error. The parser used to
-get confused with certain list operators followed by an anonymous hash and
-then an infix operator that shares its form with a unary operator.
-
-=item *
-
-C<(caller $n)[6]> (which gives the text of the eval) used to return the
-actual parser buffer. Modifying it could result in crashes. Now it always
-returns a copy. The string returned no longer has "\n;" tacked on to the
-end. The returned text also includes here-doc bodies, which used to be
-omitted.
-
-=item *
-
-Reset the utf8 position cache when accessing magical variables to avoid the
-string buffer and the utf8 position cache to get out of sync
-[perl #114410].
-
-=item *
-
-Various cases of get magic being called twice for magical utf8 strings have been
-fixed.
-
-=item *
-
-This code (when not in the presence of C<$&> etc)
-
- $_ = 'x' x 1_000_000;
- 1 while /(.)/;
-
-used to skip the buffer copy for performance reasons, but suffered from C<$1>
-etc changing if the original string changed. That's now been fixed.
-
-=item *
-
-Perl doesn't use PerlIO anymore to report out of memory messages, as PerlIO
-might attempt to allocate more memory.
-
-=item *
-
-In a regular expression, if something is quantified with C<{n,m}>
-where C<S<n E<gt> m>>, it can't possibly match. Previously this was a fatal error,
-but now is merely a warning (and that something won't match). [perl #82954].
-
-=item *
-
-It used to be possible for formats defined in subroutines that have
-subquently been undefined and redefined to close over variables in the
-wrong pad (the newly-defined enclosing sub), resulting in crashes or
-"Bizarre copy" errors.
-
-=item *
-
-Redefinition of XSUBs at run time could produce warnings with the wrong
-line number.
-
-=item *
-
-The %vd sprintf format does not support version objects for alpha versions.
-It used to output the format itself (%vd) when passed an alpha version, and
-also emit an "Invalid conversion in printf" warning. It no longer does,
-but produces the empty string in the output. It also no longer leaks
-memory in this case.
-
-=item *
-
-A bug fix in an earlier 5.17.x release caused C<no a a 3> (a syntax error)
-to result in a bad read or assertion failure, because an op was being freed
-twice.
-
-=item *
-
-C<< $obj->SUPER::method >> calls in the main package could fail if the
-SUPER package had already been accessed by other means.
-
-=item *