[ List each incompatible change as a =head2 entry ]
+=head2 Over-radix digits in floating point literals
+
+Octal and binary floating point literals used to permit any hexadecimal
+digit to appear after the radix point. The digits are now restricted
+to those appropriate for the radix, as digits before the radix point
+always were.
+
=head1 Deprecations
XXX Any deprecated features, syntax, modules etc. should be listed here.
since Perl 5.12, but was never given a deadline for removal. This has
now been scheduled for Perl 5.30.
+=head2 hostname() won't accept arguments in Perl 5.32
+
+Passing arguments to C<Sys::Hostname::hostname()> was already deprecated,
+but didn't have a removal date. This has now been scheduled for Perl
+5.32. [perl #124349]
+
=head2 Module removals
XXX Remove this section if not applicable.
B<NOTE>: L<Locale::Codes> is deprecated in core and will be removed
from Perl 5.30.
+=item *
+
+L<Data::Dumper> has been upgraded from version 2.167_02 to 2.168.
+Quoting of glob names now obeys the Useqq option [perl #119831].
+
=back
=head2 Removed Modules and Pragmata
Additionally, the following selected changes have been made:
+=head3 L<perlapi>
+
+The documentation of C<newGIVENOP()> has been belatedly updated to
+account for the removal of lexical C<$_>.
+
+The API functions C<newCONSTSUB()> and C<newCONSTSUB_flags()> are
+documented much more comprehensively than before.
+
+=head3 L<perlop>
+
+The general explanation of operator precedence and associativity has
+been corrected and clarified. [perl #127391]
+
+The documentation for the C<\> referencing operator now explains the
+unusual context that it supplies to its operand. [perl #131061]
+
+=head3 L<perlsyn>
+
+The means to disambiguate between code blocks and hash constructors,
+already documented in L<perlref>, are now documented in L<perlsyn> too.
+[perl #130958]
+
+=head3 L<perlfunc>
+
+The documentation for the C<exists> operator no longer says that
+autovivification behaviour "may be fixed in a future release".
+We've determined that we're not going to change the default behaviour.
+[perl #127712]
+
+A couple of small details in the documentation for the C<bless> operator
+have been clarified. [perl #124428]
+
=head3 L<perluniprops>
For each binary table or property, the documentation now includes which
characters in the range C<\x00-\xFF> it matches, as well as a list of
the first few ranges of code points matched above that.
+=head3 L<perldebguts>
+
+The description of the conditions under which C<DB::sub()> will be called
+has been clarified. [perl #131672]
+
+=head3 L<perlintern>
+
+The internal functions C<newXS_len_flags()> and C<newATTRSUB_x()> are
+now documented.
+
=over 4
=item *
...", or that an C<our> variable has been redeclared, have been moved to a
new warnings category "shadow". Previously they were in category "misc".
+=item *
+
+The deprecation warning from C<Sys::Hostname::hostname()> saying that
+it doesn't accept arguments now states the Perl version in which the
+warning will be upgraded to an error. [perl #124349]
+
=back
=head1 Utility Changes
significant internal changes for future core maintainers should be noted as
well.
-[ List each change as an =item entry ]
-
=over 4
=item *
-XXX
+XS modules can now automatically get reentrant versions of system
+functions on threaded perls.
+
+By saying
+
+ #define PERL_REENTRANT
+
+near the beginning of an C<XS> file, it will be compiled so that
+whatever reentrant functions perl knows about on that system will
+automatically and invisibly be used instead of the plain, non-reentrant
+versions. For example, if you write C<getpwnam()> in your code, on a
+system that has C<pwnam_r()> all calls to the former will be translated
+invisibly into the latter. This does not happen except on threaded
+perls, as they aren't needed otherwise. Be aware that which functions
+have reentrant versions varies from system to system.
=back
=item *
+The canonical truth value no longer has a spurious special meaning as
+a callable. It used to be a magic placeholder for a missing C<import>
+or C<unimport> method. It is now treated like any other string C<1>.
+[perl #126042]
+
+=item *
+
Perl's own C<malloc> no longer gets confused by attempts to allocate
more than a gigabyte on a 64-bit platform. [perl #119829]
=item *
+An identity C<tr///> transformation on a reference is no longer mistaken
+for that reference for the purposes of deciding whether it can be
+assigned to. [perl #130578]
+
+=item *
+
+Lengthy hexadecimal, octal, or binary floating point literals no
+longer cause undefined behaviour when parsing digits that are of such
+low significance that they can't affect the floating point value.
+[perl #131894]
+
+=item *
+
C<open $$scalarref...> and similar invocations no longer leak the file
handle. [perl #115814]
The default typemap, by avoiding C<newGVgen>, now no longer leaks when
XSUBs return file handles (C<PerlIO *> or C<FILE *>). [perl #115814]
+=item *
+
+Creating a C<BEGIN> block as an XS subroutine with a prototype no longer
+crashes because of the early freeing of the subroutine.
+
=back
=head1 Known Problems