X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/5c26a17602c4585ca111bd154f6c65c681cd0572..8b998a9011e0f36f0e55ffe885747f59e8528269:/pod/perldelta.pod diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 0af6b40..a01387b 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -5,15 +5,15 @@ [ this is a template for a new perldelta file. Any text flagged as XXX needs to be processed before release. ] -perldelta - what is new for perl v5.17.6 +perldelta - what is new for perl v5.17.7 =head1 DESCRIPTION -This document describes differences between the 5.17.5 release and the 5.17.6 +This document describes differences between the 5.17.6 release and the 5.17.7 release. -If you are upgrading from an earlier release such as 5.17.4, first read -L, which describes differences between 5.17.4 and 5.17.5. +If you are upgrading from an earlier release such as 5.17.5, first read +L, which describes differences between 5.17.5 and 5.17.6. =head1 Notice @@ -37,6 +37,17 @@ L section. =head1 Incompatible Changes +=head2 readline() with C<$/ = \N> now reads N characters, not N bytes + +Previously, when reading from a stream with I/O layers such as +C, the readline() function, otherwise known as the C<< <> >> +operator, would read I bytes from the top-most layer. [perl #79960] + +Now, I characters are read instead. + +There is no change in behaviour when reading from streams with no +extra layers, since bytes map exactly to characters. + XXX For a release on a stable branch, this section aspires to be: There are no changes intentionally incompatible with 5.XXX.XXX @@ -45,15 +56,6 @@ XXX For a release on a stable branch, this section aspires to be: [ List each incompatible change as a =head2 entry ] -=head2 An unknown character name in C<\N{...}> is now a syntax error - -Previously, it warned, and the Unicode REPLACEMENT CHARACTER was -substituted. Unicode now recommends that this situation be a syntax -error. Also, the previous behavior led to some confusing warnings and -behaviors, and since the REPLACEMENT CHARACTER has no use other than as -a stand-in for some unknown character, any code that has this problem is -buggy. - =head1 Deprecations XXX Any deprecated features, syntax, modules etc. should be listed here. In @@ -62,6 +64,41 @@ an updated module in the L section. [ List each deprecation as a =head2 entry ] +=head2 Various XS-callable functions are now deprecated + +The following functions will be removed from a future version of Perl, +and should not be used. With participating C compilers (e.g., gcc), +compiling any file that uses any of these will generate a warning. +These were not intended for public use; there are equivalent, faster, +macros for most of them. See L: +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C, +C. +C, +C, +C, +C, +and +C. + =head1 Performance Enhancements XXX Changes which enhance performance without changing behaviour go here. @@ -105,11 +142,13 @@ XXX =item * -L has been upgraded from version 1.98 to 1.99_51. - -=item * - -L has been upgraded from version 1.16 to 1.17. +L has been upgraded from version 1.14 to 1.15. The undocumented +optional fifth parameter to C has been removed. This was intended +to provide control of the callback used by C functions in case of +fatal errors (such as filesystem problems), but did not work (and could +never have worked). No code on CPAN even attempted to use it. The callback +is now always the previous default, C. Problems on some platforms with +how the C C function is called have also been resolved. =back @@ -142,13 +181,16 @@ XXX Changes which significantly change existing files in F go here. However, any changes to F should go in the L section. -=head3 L +=head3 L =over 4 =item * -XXX Description of the change here +There are quite a few macros callable from XS modules that classify +characters into things like alphabetic, punctuation, etc. More of these +are now documented, including ones which work on characters whose code +points are outside the Latin-1 range. =back @@ -276,13 +318,11 @@ XXX =head2 Discontinued Platforms -XXX List any platforms that this version of perl no longer compiles on. - =over 4 -=item XXX-some-platform +=item BeOS -XXX +Support for BeOS has been removed. =back @@ -313,7 +353,25 @@ well. =item * -XXX +SvUPGRADE() is no longer an expression. Originally this macro (and its +underlying function, sv_upgrade()) were documented as boolean, although +in reality they always croaked on error and never returned false. In 2005 +the documentation was updated to specify a void return value, but +SvUPGRADE() was left always returning 1 for backwards compatibility. This +has now been removed, and SvUPGRADE() is now a statement with no return +value. + +So this is now a syntax error: + + if (!SvUPGRADE(sv)) { croak(...); } + +If you have code like that, simply replace it with + + SvUPGRADE(sv); + +or to to avoid compiler warnings with older perls, possibly + + (void)SvUPGRADE(sv); =back @@ -328,7 +386,8 @@ files in F and F are best summarized in L. =item * -XXX +C under fatal warnings no longer crashes. It started +crashing in Perl 5.16. =back @@ -357,7 +416,7 @@ here. XXX Generate this with: - perl Porting/acknowledgements.pl v5.17.5..HEAD + perl Porting/acknowledgements.pl v5.17.6..HEAD =head1 Reporting Bugs