L<IO> has been upgraded from version 1.36 to 1.38.
+The F<t/cachepropagate-unix.t> test now checks C<pack_sockaddr_un()>'s
+return value because C<pack_sockaddr_un()> silently truncates the
+supplied path if it won't fit into the C<sun_path> member of
+C<sockaddr_un>. This may change in the future, but for now check the
+path in theC<sockaddr> matches the desired path, and skip if it
+doesn't.
+L<[perl #128095]|https://rt.perl.org/Public/Bug/Display.html?id=128095>
+
=item *
IO-Compress has been upgraded from version 2.069 to 2.074.
=item *
-Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger
-a warning recommending to fix the C<do> statement:
-
-L<do "%s" failed, '.' is no longer in @INC|perldiag/do "%s" failed, '.' is no longer in @INC; did you mean do ".E<sol>%s"?>
+L<Bareword in require contains "%s"|perldiag/"Bareword in require contains "%s"">
=item *
-Using the empty pattern (which re-executes the last successfully-matched
-pattern) inside a code block in another regex, as in C</(?{ s!!new! })/>, has
-always previously yielded a segfault. It now produces an error:
-L<Infinite recursion in regex|perldiag/"Infinite recursion in regex">.
+L<Bareword in require maps to empty filename|perldiag/"Bareword in require maps to empty filename">
=item *
-L<The experimental declared_refs feature is not enabled|perldiag/"The experimental declared_refs feature is not enabled">
-
-(F) To declare references to variables, as in C<my \%x>, you must first enable
-the feature:
-
- no warnings "experimental::declared_refs";
- use feature "declared_refs";
-
-See L</Declaring a reference to a variable>.
+L<Bareword in require maps to disallowed filename "%s"|perldiag/"Bareword in require maps to disallowed filename "%s"">
=item *
-L<Version control conflict marker|perldiag/"Version control conflict marker">
-
-(F) The parser found a line starting with C<E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>>,
-C<E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>>, or C<=======>. These may be left by a
-version control system to mark conflicts after a failed merge operation.
+L<Bareword in require must not start with a double-colon: "%s"|perldiag/"Bareword in require must not start with a double-colon: "%s"">
=item *
=item *
-L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>
+L<The experimental declared_refs feature is not enabled|perldiag/"The experimental declared_refs feature is not enabled">
-Unescaped left braces are now illegal in some contexts in regular expression
-patterns. In other contexts, they are still just deprecated; they will
-be illegal in Perl 5.30.
+(F) To declare references to variables, as in C<my \%x>, you must first enable
+the feature:
-=item *
+ no warnings "experimental::declared_refs";
+ use feature "declared_refs";
-L<Bareword in require contains "%s"|perldiag/"Bareword in require contains "%s"">
+See L</Declaring a reference to a variable>.
=item *
-L<Bareword in require maps to empty filename|perldiag/"Bareword in require maps to empty filename">
+L<Infinite recursion in regex|perldiag/"Infinite recursion in regex">.
+
+Using the empty pattern (which re-executes the last successfully-matched
+pattern) inside a code block in another regex, as in C</(?{ s!!new! })/>, has
+always previously yielded a segfault. It now produces this error.
=item *
-L<Bareword in require maps to disallowed filename "%s"|perldiag/"Bareword in require maps to disallowed filename "%s"">
+L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>
+
+Unescaped left braces are now illegal in some contexts in regular expression
+patterns. In other contexts, they are still just deprecated; they will
+be illegal in Perl 5.30.
=item *
-L<Bareword in require must not start with a double-colon: "%s"|perldiag/"Bareword in require must not start with a double-colon: "%s"">
+L<Version control conflict marker|perldiag/"Version control conflict marker">
+
+(F) The parser found a line starting with C<E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>>,
+C<E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>>, or C<=======>. These may be left by a
+version control system to mark conflicts after a failed merge operation.
=back
=item *
-L<Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30|perldiag/"Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30">
-
-See L</Deprecations>
-
-=item *
-
L<Declaring references is experimental|perldiag/"Declaring references is experimental">
(S experimental::declared_refs) This warning is emitted if you use a reference
=item *
+L<do "%s" failed, '.' is no longer in @INC|perldiag/do "%s" failed, '.' is no longer in @INC; did you mean do ".E<sol>%s"?>
+
+Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger a warning recommending to fix the C<do> statement.
+
+=item *
+
L<C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 5.28|perldiag/"${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28">
The special variable C<${^ENCODING}>, formerly used to implement
=item *
-Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger
-a warning recommending to fix the C<do> statement:
+L<Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30|perldiag/"Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30">
-L<do "%s" failed, '.' is no longer in @INC|perldiag/do "%s" failed, '.' is no longer in @INC; did you mean do ".E<sol>%s"?>
+See L</Deprecations>
=back
=item *
-Details as to the exact problem have been added to the diagnostics that
-occur when malformed UTF-8 is encountered when trying to convert to a
-code point.
-
-=item *
-
L<Attribute "locked" is deprecated, and will disappear in Perl 5.28
|perldiag/Attribute "locked" is deprecated, and will disappear in Perl 5.28>
L<Experimental %s on scalar is now forbidden This message now is followed by more helpful text.
L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976>
|perldiag/Experimental %s on scalar is now forbidden>.
+
This message now is followed by more helpful text.
L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976>
L<%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30
|perldiag/%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30>.
+
"%s" is one of C<sysread>, C<recv>, C<syswrite>, or C<send>.
+This warning is now enabled by default, as all C<deprecated> category
+warnings should be.
=item *
=item *
+L<Malformed UTF-8 character%s
+|perldiag/Malformed UTF-8 character%s>
+
+Details as to the exact problem have been added at the end of this
+message
+
+=item *
+
L<Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28
|perldiag/Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28>
=item *
-Check C<pack_sockaddr_un()>'s return value because C<pack_sockaddr_un()>
-silently truncates the supplied path if it won't fit into the C<sun_path>
-member of C<sockaddr_un>. This may change in the future, but for now
-check the path in theC<sockaddr> matches the desired path, and skip if
-it doesn't.
-L<[perl #128095]|https://rt.perl.org/Public/Bug/Display.html?id=128095>
-
-=item *
-
Make sure C<PL_oldoldbufptr> is preserved in C<scan_heredoc()>. In some
cases this is used in building error messages.
L<[perl #128988]|https://rt.perl.org/Public/Bug/Display.html?id=128988>