X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/3031ec7a1ba26325e256e4b080517b833e15d3e2..4e5b563d150c229524e2eb98278e154f4f38ada6:/pod/perldelta.pod diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 0b61239..54d2487 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -1,5 +1,12 @@ =encoding utf8 +=for comment +Stuff that needs to be done still: +e82485c [MERGE] refactor pp_match(), pp_subst(), regexec() +6136213 [perl #52000] Warn/abort on attempted perl exit +cccbbce Reap child in case where exception has been thrown +70502ce [perl #119101] Extraneous warnings in Parse::ErrorString::Perl + =head1 NAME [ this is a template for a new perldelta file. Any text flagged as XXX needs @@ -127,11 +134,108 @@ XXX =item * +L has been upgraded from version 1.44 to 1.45. + +Calling the C method on C objects created from a lexical +sub would return nonsense, possibly crashing perl. C now returns +C for lexical subs. [perl #118525] + +Added the C method to return the name of a lexical sub. + +=item * + +L has been upgraded from version 0.35 to 0.36. + +L wasn't correctly updating an internal variable when Cd +with a C option. + +=item * + +L has been upgraded from 1.30 to 1.31 + +L now handles objects with string overloads. It also allows objects +to specify how they appear in the stack dump with a C method, +and also allows the user to specify their own formatter for objects without +C as well as other references. [perl #92446] + +=item * + +L has been upgraded from 2.061 to 2.062. + +=item * + +L has been upgraded from 2.061 to 2.062. + +=item * + +L has been upgraded from version 0.18 to 0.19. + +=item * + L has been upgraded from version 2.147 to 2.148. The compatbility of the XS implementation with the pure perl version under C has been improved. [perl #118933] +=item * + +L has been upgraded from version 1.12 to 1.13. + +The C and C functions have been +removed and C will now work on non-scalars. [perl #117793] + +=item * + +L has been upgraded from version 5.68 to 5.69. + +L would ignore custom C<$SIG{__WARN__}> handlers in +C. [perl #39739] + +=item * + +The IO-Compress module collection has been upgraded from 2.061 to 2.062. + +=item * + +L has been upgraded from version 0.82 to 0.84. + +C has various fixes/improvements, L is only used where +needed and a regression introduced in 0.78 has been fixed. + +=item * + +The libnet module collection has been upgraded from version 1.22 to 1.23. + +=item * + +L has been upgraded from version 1.27 to 1.30 + +L now includes C, C, C, C, +C and C functions that operate on even-sized lists of +pairs. + +=item * + +L has been upgraded from version 0.225 to 0.226. + +=item * + +L has been upgraded from version 2.010 to 2.011. + +Handle FreeBSD (or other platforms) returning shorter AF_UNIX sockaddr +structures due to embedded sun_len. [cpan #86613] + +=item * + +L has been upgraded from version 2.45 to 2.46. + +Avoid creating temporary objects for STORABLE_attach when they aren't +required. [perl #118907] + +=item * + +L has been upgraded from version 1.21 to 1.22. + =back =head2 Removed Modules and Pragmata @@ -340,7 +444,8 @@ well. =item * -XXX +C has been added to the API. It is similar to +C, but supports long strings on 64-bit platforms. =back @@ -355,7 +460,85 @@ files in F and F are best summarized in L. =item * -XXX +Autovivifying a subroutine stub via C<\&$glob> started causing crashes in +Perl 5.18.0 if the $glob was merely a copy of a real glob, i.e., a scalar +that had had a glob assigned to it. This has been fixed [perl #119051]. + +=item * + +On 64-bit platforms C can now be set to a value higher than 2**31-1 +[perl #72766]. + +=item * + +Perl used to leak an implementation detail when it came to referencing the +return values of certain operators. C +used to display two different memory addresses, because the C<\> operator +was copying the variable. Under threaded builds, it would also happen for +constants (C). This has been fixed [perl #21979, #78194, +#89188, #109746, #114838, #115388]. + +=item * + +The range operator C<..> was returning the same modifiable scalars with +each call, unless it was the only thing in a C loop header. This +meant that changes to values within the list returned would be visible the +next time the operator was executed [perl #3105]. + +=item * + +Constant folding and subroutine inlining no longer cause operations that +would normally return new modifiable scalars to return read-only values +instead. + +=item * + +Closures of the form C are no longer inlined, +causing changes to the variable to be ignored by callers of the subroutine +[perl #79908]. + +=item * + +Return values of certain operators such as C would sometimes be shared +between recursive calls to the same subroutine, causing the inner call to +modify the value returned by C in the outer call. This has been +fixed. + +=item * + +C<__PACKAGE__> and constants returning a package name or hash key are now +consistently read-only. In various previous Perl releases, they have +become mutable under certain circumstances. + +=item * + +C was broken in Perl 5.18.0; the C

flag was ignored. This has +been fixed [perl #118213]. + +=item * + +Starting in v5.18.0, a construct like C would have its C<#> +incorrectly interpreted as a comment. The code block would be skipped, +unparsed. This has been corrected. + +=item * + +Starting in Perl 5.001, a regular expression like C or +C would have its C<#> incorrectly interpreted as a comment, so +the variable would not interpolate. This has been corrected [perl #45667]. + +=item * + +On non-threaded builds, setting C<${"_ to a reference or +typeglob no longer causes C<__FILE__> and some error messages to produce a +corrupt string, and no longer prevents C<#line> directives in string evals +from providing the source lines to the debugger. Threaded builds were +unaffected. + +=item * + +Enabling "used once" warnings no longer causes crashes on stash +circularities created at compile time (C<*Foo::Bar::Foo:: = *Foo::>). =back