This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta abda9fe0fe75ae824723761c1c98af958f17a41c
[perl5.git] / pod / perldelta.pod
index 9e8b436..f412fbd 100644 (file)
@@ -27,6 +27,11 @@ here, but most should go in the L</Performance Enhancements> section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2  The C<sprintf> C<%j> format size modifier is now available with
+pre-C99 compilers
+
+The actual size used depends on the platform, so remains unportable.
+
 =head1 Security
 
 XXX Any security-related notices go here.  In particular, any security
@@ -136,6 +141,11 @@ L<Locale::Codes> has been upgraded from version 3.54 to 3.55
 B<NOTE>: L<Locale::Codes> is deprecated in core and will be removed
 from Perl 5.30.
 
+=item *
+
+L<Data::Dumper> has been upgraded from version 2.167_02 to 2.168.
+Quoting of glob names now obeys the Useqq option [perl #119831].
+
 =back
 
 =head2 Removed Modules and Pragmata
@@ -173,6 +183,11 @@ section.
 
 Additionally, the following selected changes have been made:
 
+=head3 L<perlapi>
+
+The documentation of C<newGIVENOP()> has been belatedly updated to
+account for the removal of lexical C<$_>.
+
 =head3 L<perluniprops>
 
 For each binary table or property, the documentation now includes which
@@ -207,7 +222,10 @@ and New Warnings
 
 =item *
 
-XXX L<message|perldiag/"message">
+L<Can't "goto" into a "given" block|perldiag/"Can't E<quot>gotoE<quot> into a E<quot>givenE<quot> block">
+
+(F) A "goto" statement was executed to jump into the middle of a C<given>
+block.  You can't get there from here.  See L<perlfunc/goto>.
 
 =back
 
@@ -365,13 +383,25 @@ XXX Changes which affect the interface available to C<XS> code go here.  Other
 significant internal changes for future core maintainers should be noted as
 well.
 
-[ List each change as an =item entry ]
-
 =over 4
 
 =item *
 
-XXX
+XS modules can now automatically get reentrant versions of system
+functions on threaded perls.
+
+By saying
+
+ #define PERL_REENTRANT
+
+near the beginning of an C<XS> file, it will be compiled so that
+whatever reentrant functions perl knows about on that system will
+automatically and invisibly be used instead of the plain, non-reentrant
+versions.  For example, if you write C<getpwnam()> in your code, on a
+system that has C<pwnam_r()> all calls to the former will be translated
+invisibly into the latter.  This does not happen except on threaded
+perls, as they aren't needed otherwise.  Be aware that which functions
+have reentrant versions varies from system to system.
 
 =back
 
@@ -393,6 +423,16 @@ XXX
 Perl's own C<malloc> no longer gets confused by attempts to allocate
 more than a gigabyte on a 64-bit platform.  [perl #119829]
 
+=item *
+
+C<open $$scalarref...> and similar invocations no longer leak the file
+handle.  [perl #115814]
+
+=item *
+
+The default typemap, by avoiding C<newGVgen>, now no longer leaks when
+XSUBs return file handles (C<PerlIO *> or C<FILE *>).  [perl #115814]
+
 =back
 
 =head1 Known Problems