[ List each enhancement as a =head2 entry ]
+=head2 Unicode 7.0 is now supported
+
+For details on what is in this release, see
+L<http://www.unicode.org/versions/Unicode7.0.0/>.
+
=head2 Experimental C Backtrace API
Starting from Perl 5.21.1, on some platforms Perl supports retrieving
If any exist, they are bugs, and we request that you submit a
report. See L</Reporting Bugs> below.
+=head2 S<C<"use encoding">> now is a fatal error
+
+The C<encoding> pragma has been deprecated since v5.18, and its use now
+is a fatal error.
+
=head2 C<\N{}> with a sequence of multiple spaces is now a fatal error.
This has been deprecated since v5.18.
'bytes' pragma causes the UTF-8 flag to not be set, just as in previous
Perl releases. This resolves [perl #112208].
+=head2 MAD build option has been removed
+
+MAD = Misc Attribute Decoration; unmaintained attempt at preserving
+the Perl parse tree more faithfully so that automatic conversion of
+Perl 5 to Perl 6 would have been easier.
+
+This build-time configuration option had been unmaintained for years,
+and had probably seriously diverged on both Perl 5 and Perl 6 sides.
+
+=head2 Support for C<?PATTERN?> without explicit operator has been removed
+
+Starting regular expressions matching only once directly with the
+question mark delimiter is now a syntax error, so that the question mark
+can be available for use in new operators. Write C<m?PATTERN?> instead,
+explicitly using the C<m> operator: the question mark delimiter still
+invokes match-once behaviour.
+
=head1 Deprecations
XXX Any deprecated features, syntax, modules etc. should be listed here.
regular space, and so should not be allowed. See
L<charnames/CUSTOM ALIASES>.
+=head2 A literal C<"{"> should now be escaped in a pattern
+
+If you want a literal left curly bracket (also called a left brace) in a
+regular expression pattern, you should now escape it by either
+preceding it with a backslash (C<"\{">) or enclosing it within square
+brackets C<"[{]">, or by using C<\Q>; otherwise a deprecation warning
+will be raised. This was first announced as forthcoming in the v5.16
+release; it will allow future extensions to the language to happen.
+
=head2 Module removals
XXX Remove this section if inapplicable.
L<[perl #121523]|https://rt.perl.org/Ticket/Display.html?id=121523>
+=item *
+
+Note that C<exec LIST> and C<system LIST> may fall back to the shell on
+Win32. Only C<exec PROGRAM LIST> and C<system PROGRAM LIST> indirect object
+syntax will reliably avoid using the shell.
+
+This has also been noted in L<perlport>.
+
+L<[perl #122046]|https://rt.perl.org/Ticket/Display.html?id=122046>
+
=back
=head3 L<perlapi>
XXX
+=item OpenBSD
+
+On OpenBSD, Perl will now default to using the system C<malloc> due to the
+security features it provides. Perl's own malloc wrapper has been in use
+since v5.14 due to performance reasons, but the OpenBSD project believes
+the tradeoff is worth it and would prefer that users who need the speed
+specifically ask for it.
+
+L<[perl #122000]|https://rt.perl.org/Ticket/Display.html?id=122000>.
+
=back
=head1 Internal Changes
developing v5.21. Send email to L<mailto:perl5-porters@perl.org> for
guidance.
+=item *
+
+A new macro L<C<isUTF8_CHAR>|perlapi/isUTF8_CHAR> has been written which
+efficiently determines if the string given by its parameters begins
+with a well-formed UTF-8 encoded character.
+
=back
=head1 Selected Bug Fixes
Many issues have been detected by L<Coverity|http://www.coverity.com/> and
fixed.
+=item *
+
+system() and friends should now work properly on more Android builds.
+
+Due to an oversight, the value specified through -Dtargetsh to Configure
+would end up being ignored by some of the build process. This caused perls
+cross-compiled for Android to end up with defective versions of system(),
+exec() and backticks: the commands would end up looking for C</bin/sh>
+instead of C</system/bin/sh>, and so would fail for the vast majority
+of devices, leaving C<$!> as C<ENOENT>.
+
+=item *
+
+C<qr(...\(...\)...)>,
+C<qr[...\[...\]...]>,
+and
+C<qr{...\{...\}...}>
+now work. Previously it was impossible to escape these three
+left-characters with a backslash within a regular expression pattern
+where otherwise they would be considered metacharacters, and the pattern
+opening delimiter was the character, and the closing delimiter was its
+mirror character.
+
=back
=head1 Known Problems