This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for e45636ee0875
[perl5.git] / pod / perldelta.pod
index fdf7181..854ec68 100644 (file)
@@ -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.21.1
+perldelta - what is new for perl v5.21.2
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.21.0 release and the 5.21.1
+This document describes differences between the 5.21.1 release and the 5.21.2
 release.
 
-If you are upgrading from an earlier release such as 5.20.0, first read
-L<perl5210delta>, which describes differences between 5.20.0 and 5.21.0.
+If you are upgrading from an earlier release such as 5.21.0, first read
+L<perl5211delta>, which describes differences between 5.21.0 and 5.21.1.
 
 =head1 Notice
 
@@ -35,6 +35,16 @@ L</Selected Bug Fixes> section.
 
 [ List each security issue as a =head2 entry ]
 
+=head2 Perl is now always compiled with -D_FORTIFY_SOURCE=2 if available
+
+The 'code hardening' option called C<_FORTIFY_SOURCE>, available in
+gcc 4.*, is now always used for compiling Perl, if available.
+
+Note that this isn't necessarily a huge step since in many platforms
+the step had already been taken several years ago: many Linux
+distributions (like Fedora) have been using this option for Perl,
+and OS X has enforced the same for many years.
+
 =head1 Incompatible Changes
 
 XXX For a release on a stable branch, this section aspires to be:
@@ -43,9 +53,7 @@ XXX For a release on a stable branch, this section aspires to be:
     If any exist, they are bugs, and we request that you submit a
     report.  See L</Reporting Bugs> below.
 
-=head2 In double-quotish C<\cI<X>>, I<X> must now be a printable ASCII character
-
-In prior releases, failure to do this raised a deprecation warning.
+[ List each incompatible change as a =head2 entry ]
 
 =head1 Deprecations
 
@@ -121,53 +129,19 @@ XXX
 
 =item *
 
-L<Carp> has been upgraded from version 1.3301 to 1.34.
-
-Carp::Heavy now ignores version mismatches with Carp if Carp is newer
-than 1.12, since Carp::Heavy's guts were merged into Carp at that
-point.
-L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574>
-
-=item *
-
-L<Math::BigInt> has been upgraded from version 1.9993 to 1.9994.
-
-Synchronize POD changes from the CPAN release.
+L<Math::BigInt> has been upgraded from version 1.9995 to 1.9996.
 
-C<< Math::BigFloat->blog(x) >> would sometimes return blog(2*x) when
-the accuracy was greater than 70 digits.
-
-The result of C<< Math::BigFloat->bdiv() >> in list context now
-satisfies C<< x = quotient * divisor + remainder >>.
+Correct handling of subclasses.
+L<[cpan #96254]|https://rt.cpan.org/Ticket/Display.html?id=96254>
+L<[cpan #96329]|https://rt.cpan.org/Ticket/Display.html?id=96329>
 
 =item *
 
-L<Math::BigRat> has been upgraded from version 0.2606 to 0.2607.
-
-Synchronize POD changes from the CPAN release.
+L<Module::CoreList> has been upgraded from version 5.021001_1 to 5.021002.
 
 =item *
 
-L<perl5db.pl> has been upgraded from version 1.44 to 1.45.
-
-fork() in the debugger under C<tmux> will now create a new window for
-the forked process. L<[perl
-#121333]|https://rt.perl.org/Ticket/Display.html?id=121333>
-
-The debugger now saves the current working directory on startup and
-restores it when you restart your program with C<R> or <rerun>. L<[perl
-#121509]|https://rt.perl.org/Ticket/Display.html?id=121509>
-
-L<Unicode::Collate> has been upgraded from version 1.04 to 1.07.
-
-Version 0.67's improved discontiguous contractions is invalidated by default
-and is supported as a parameter 'long_contraction'.
-
-=item *
-
-L<Unicode::Normalize> has been upgraded from version 1.17 to 1.18.
-
-The XSUB implementation has been removed in favour of pure Perl.
+L<threads> has been upgraded from version 1.94 to 1.95.
 
 =back
 
@@ -240,7 +214,12 @@ XXX L<message|perldiag/"message">
 
 =item *
 
-XXX L<message|perldiag/"message">
+L<Argument "%s" treated as 0 in increment (++)|perldiag/"Argument "%s" treated
+as 0 in increment (++)">
+
+(W numeric) The indicated string was fed as an argument to the C<++> operator
+which expects either a number or a string matching C</^[a-zA-Z]*[0-9]*\z/>.
+See L<perlop/Auto-increment and Auto-decrement> for details.
 
 =back
 
@@ -252,17 +231,14 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
 
 =item *
 
-L<Unsuccessful %s on filename containing newline|perldiag/"Unsuccessful %s on filename containing newline">
-
-This warning is now only produced when the newline is at the end of
-the filename.
+XXX Describe change here
 
 =back
 
 =head1 Utility Changes
 
 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
-Most of these are built within the directories F<utils> and F<x2p>.
+Most of these are built within the directory F<utils>.
 
 [ List utility changes as a =head2 entry for each utility and =item
 entries for each change
@@ -356,9 +332,12 @@ L</Modules and Pragmata> section.
 
 =over 4
 
-=item XXX-some-platform
+=item Solaris
 
-XXX
+Builds on Solaris 10 with C<-Dusedtrace> would fail early since make
+didn't follow implied dependencies to build C<perldtrace.h>.  Added an
+explicit dependency to C<depend>.
+L<[perl #120120]|https://rt.perl.org/Ticket/Display.html?id=120120>
 
 =back
 
@@ -368,11 +347,18 @@ 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 a =item entry ]
+
 =over 4
 
 =item *
 
-The deprecated variable C<PL_sv_objcount> has been removed.
+The following private API functions had their context parameter removed,
+C<Perl_cast_ulong>,  C<Perl_cast_i32>, C<Perl_cast_iv>,    C<Perl_cast_uv>,
+C<Perl_cv_const_sv>, C<Perl_mg_find>,  C<Perl_mg_findext>, C<Perl_mg_magical>,
+C<Perl_mini_mktime>, C<Perl_my_dirfd>, C<Perl_sv_backoff>, C<Perl_utf8_hop>.
+
+Users of the public API prefix-less calls remain unaffected.
 
 =back
 
@@ -387,9 +373,7 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =item *
 
-index() and rindex() no longer crash when used on strings over 2GB in
-size.
-L<[perl #121562]|https://rt.perl.org/Ticket/Display.html?id=121562>.
+XXX
 
 =back