This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 27c6f44
[perl5.git] / pod / perldelta.pod
index a3ee589..c21c369 100644 (file)
@@ -108,6 +108,12 @@ are always true, and for a file if any of the three execute permission bits
 are set then they report that root can execute the file. Perl's builtin
 C<-x> and C<-X> operators have always been correct.
 
+=item *
+
+L<Tie::StdHandle> has been upgraded from version 4.2 to 4.3.
+
+C<READ> now respects the offset argument to C<read> [perl #112826].
+
 =back
 
 =head2 Removed Modules and Pragmata
@@ -176,7 +182,10 @@ XXX Newly added diagnostic messages go here
 
 =item *
 
-XXX L<message|perldiag/"message">
+L<Group name must start with a non-digit word character in regex; marked by <-- HERE in mE<sol>%sE<sol>|perldiag/"Group name must start with a non-digit word character in regex; marked by <-- HERE in m/%s/">
+
+This error has been added for C<(?&0)>, which is invalid.  It used to
+produce an incomprehensible error message [perl #101666].
 
 =back
 
@@ -186,7 +195,17 @@ XXX L<message|perldiag/"message">
 
 =item *
 
-XXX L<message|perldiag/"message">
+C<chr()> now warns when passed a negative value [perl #83048].
+
+=item *
+
+C<srand()> now warns when passed a value that doesn't fit in a C<UV> (since the
+value will be truncated rather than overflowing) [perl #40605].
+
+=item *
+
+Running perl with the C<-i> flag now warns if no input files are provided on
+the command line [perl #113410].
 
 =back
 
@@ -234,7 +253,44 @@ L</Platform Support> section, instead.
 
 =item *
 
-XXX
+Building perl with some Windows compilers used to fail due to a problem
+with miniperl's C<glob> operator (which uses the C<perlglob> program)
+deleting the PATH environment variable [perl #113798].
+
+=item *
+
+C<delete local> no longer crashes with certain magical arrays and hashes
+[perl #112966].
+
+=item *
+
+C<local> on elements of certain magical arrays and hashes used not to
+arrange to have the element deleted on scope exit, even if the element did
+not exist before C<local>.
+
+=item *
+
+C<scalar(write)> no longer returns multiple items [perl #73690].
+
+=item *
+
+String to floating point conversions no longer misparse certain strings under
+C<use locale> [perl #109318].
+
+=item *
+
+C<@INC> filters that die no longer leak memory [perl #92252].
+
+=item *
+
+The implementations of overloaded operations are now called in the correct
+context. This allows, among other things, being able to properly override
+C<< <> >> [perl #47119].
+
+=item *
+
+Specifying only the C<fallback> key when calling C<use overload> now behaves
+properly [perl #113010].
 
 =back
 
@@ -352,6 +408,44 @@ will now reset the iterator.
 
 This mirrors the behaviour of the hash iterator when the hash is cleared.
 
+=item *
+
+C<< $class->can >>, C<< $class->isa >>, and C<< $class->DOES >> now return
+correct results, regardless of whether that package referred to by C<$class>
+exists [perl #47113].
+
+=item *
+
+Arriving signals no longer clear C<$@> [perl #45173].
+
+=item *
+
+Allow C<my ()> declarations with an empty variable list [perl #113554].
+
+=item *
+
+During parsing, subs declared after errors no longer leave stubs
+[perl #113712].
+
+=item *
+
+Closures containing no string evals no longer hang on to their containing
+subroutines, allowing variables closed over by outer subroutines to be
+freed when the outer sub is freed, even if the inner sub still exists
+[perl #89544].
+
+=item *
+
+Duplication of in-memory filehandles by opening with a "<&=" or ">&=" mode
+stopped working properly in 5.16.0.  It was causing the new handle to
+reference a different scalar variable.  This has been fixed [perl #113764].
+
+=item *
+
+C<qr//> expressions no longer crash with custom regular expression engines
+that do not set C<offs> at regular expression compilation time
+[perl #112962].
+
 =back
 
 =head1 Known Problems