X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/66d813ca37e809ee893f2444cd6319914ce913e0..a5de0aae2a3699e3805d679956f9547c5049ecce:/pod/perldelta.pod
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 24eebb9..e61dd43 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -1,19 +1,27 @@
=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
+c3923c3 reparse compile-time /(?{})/ in right scope
+
=head1 NAME
[ 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.19.2
+perldelta - what is new for perl v5.19.3
=head1 DESCRIPTION
-This document describes differences between the 5.19.1 release and the 5.19.2
+This document describes differences between the 5.19.2 release and the 5.19.3
release.
-If you are upgrading from an earlier release such as 5.19.0, first read
-L, which describes differences between 5.19.0 and 5.19.1.
+If you are upgrading from an earlier release such as 5.19.1, first read
+L, which describes differences between 5.19.1 and 5.19.2.
=head1 Notice
@@ -25,20 +33,15 @@ XXX New core language features go here. Summarize user-visible core language
enhancements. Particularly prominent performance optimisations could go
here, but most should go in the L section.
-=head2 More consistent prototype parsing
+[ List each enhancement as a =head2 entry ]
+
+=head2 B<-F> now implies B<-a> and B<-a> implies B<-n>
-Multiple semicolons in subroutine prototypes have long been tolerated and
-treated as a single semicolon. There was one case where this did not
-happen. A subroutine whose prototype begins with "*" or ";*" can affect
-whether a bareword is considered a method name or sub call. This now
-applies also to ";;;*".
+Previously B<-F> without B<-a> was a no-op, and B<-a> without B<-n> or
+B<-p> was a no-op, with this change, if you supply B<-F> then both
+B<-a> and B<-n> are implied and if you supply B<-a> then B<-n> is implied.
-Whitespace has long been allowed inside subroutine prototypes, so
-C is equivalent to C. But it was stripped when the
-subroutine was parse. Hence, whitespace was I allowed in prototypes
-set by C. Now it is permitted, and the parser
-no longer strips whitespace. This means C returns the
-original prototype, whitespace and all.
+You can still use B<-p> for its extra behaviour. [perl #116190]
=head1 Security
@@ -132,42 +135,107 @@ XXX
=item *
-L has been upgraded from version 1.30 to 1.31
+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 C
flag was ignored. This has
+been fixed [perl #118213].
=item *
-In regular expressions containing multiple code blocks, the values of
-C<$1>, C<$2>, etc., set by nested regular expression calls would leak from
-one block to the next. Now these variables always refer to the outer
-regular expression at the start of an embedded block [perl #117917].
+Starting in v5.18.0, a construct like C[#](?{})/x> would have its C<#>
+incorrectly interpreted as a comment. The code block would be skipped,
+unparsed. This has been corrected.
=item *
-C now treats its first argument the same way that method
-calls do: Typeglobs and glob references with non-empty IO slots are treated
-as handles, and strings are treated as filehandles, rather than packages,
-if a handle with that name exists [perl #113932].
+Starting in Perl 5.001, a regular expression like C[#$a]/x> or
+C[#]$a/x> would have its C<#> incorrectly interpreted as a comment, so
+the variable would not interpolate. This has been corrected [perl #45667].
=item *
-Method calls on typeglobs (e.g., C<< *ARGV->getline >>) used to stringify
-the typeglob and then look it up again. Combined with changes in Perl
-5.18.0, this allowed C<< *foo->bar >> to call methods on the "foo" package
-(like C<< foo->bar >>). In some cases it could cause the method to be
-called on the wrong handle. Now a typeglob argument is treated as a
-handle (just like C<< (\*foo)->bar >>), or, if its IO slot is empty, an
-error is raised.
+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 *
-Under copy-on-write builds (the default as of 5.19.1) C<${'_<-e'}[0]> no
-longer gets mangled. This is the first line of input saved for the
-debugger's use for one-liners [perl #118627].
+Enabling "used once" warnings no longer causes crashes on stash
+circularities created at compile time (C<*Foo::Bar::Foo:: = *Foo::>).
=back
@@ -639,7 +568,7 @@ here.
XXX Generate this with:
- perl Porting/acknowledgements.pl v5.19.1..HEAD
+ perl Porting/acknowledgements.pl v5.19.2..HEAD
=head1 Reporting Bugs