=encoding utf8 =head1 NAME perldelta - what is new for perl v5.43.2 =head1 DESCRIPTION This document describes differences between the 5.43.1 release and the 5.43.2 release. If you are upgrading from an earlier release such as 5.43.0, first read L, which describes differences between 5.43.0 and 5.43.1. =head1 Notice =over =item * The ibm-clang/ibm-clang_r IBM Open XL C/C++ compiler is now supported for AIX 7.2 and 7.3. This is the recommended compiler to use when compiling Perl on these versions of AIX. =back =head1 Core Enhancements =head2 Reported argument counts in C signatures now account for C<$self> In previous versions of Perl, the exception message thrown by a C subroutine with a signature when it does not receive an appropriate number of arguments to match its declared parameters failed to account for the implied C<$self> parameter, causing the numbers in the message to be 1 fewer than intended. This has now been fixed, so messages report the correct number of arguments including the object invocant. =head1 Performance Enhancements =over 4 =item * Simple (non-overflowing) addition (C<+>), subtraction (C<->) and multiplication (C<*>) of IVs are slightly sped up, as long as sufficient underlying C compiler support is available. =back =head1 Modules and Pragmata =head2 Updated Modules and Pragmata =over 4 =item * L has been upgraded from version 1.85 to 1.86. =item * L has been upgraded from version 1.14 to 1.15. =item * L has been upgraded from version 3.58 to 3.59. =item * L has been upgraded from version 3.58 to 3.59. =item * L has been upgraded from version 1.98 to 1.99. =item * L has been upgraded from version 2.41 to 2.42. =item * L has been upgraded from version 1.14 to 1.15. =over 4 =item * The overridden C and C functions now always return a scalar value, even in list context. Previously a failed stat in list context would return an empty list; now it returns C. =item * C and C can now be called without an argument, in which case they will use C<$_>, just like the built-in C/C functions. =item * It is now safe to pass path objects (e.g. instances of L) to C/C. Previously a failed stat operation on such an object would die with a cryptic C error. [L] =back =item * L has been upgraded from version 0.96 to 0.97. =item * L has been upgraded from version 5.20250720 to 5.20250820. =item * L has been upgraded from version 1.29 to 1.30. =item * L has been upgraded from version 2.23 to 2.24. =item * L has been upgraded from version 1.69 to 1.70. =item * L has been upgraded from version 3.37 to 3.38. =item * L has been upgraded from version 2.06 to 2.07. =item * L has been upgraded from version 1.70 to 1.71. =item * L has been upgraded from version 0.82 to 0.83. =item * L has been upgraded from version 1.43 to 1.44. =back =head1 Documentation =head2 Changes to Existing Documentation We have attempted to update the documentation to reflect the changes listed in this document. If you find any we have missed, open an issue at L. Additionally, the following selected changes have been made: =head3 L =over 4 =item * Auto-generation of this document now includes the line number of the source code, as well as its documentation. =back =head3 L =over 4 =item * New entry for "New object system and C syntax". =back =head1 Diagnostics The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see L. =head2 New Diagnostics =head3 New Errors =over 4 =item * L (F) A C, C or C keyword was used with the exception variable in a C block: try { ... } catch (my $e) { ... } # or catch (our $e) { ... } # or catch (state $e) { ... } This is not valid syntax. C takes a bare variable name, which is automatically lexically declared. [L] =back =head3 New Warnings =over 4 =item * L (W qw) qw() lists contain items separated by whitespace; contrary to what some might expect, backslash characters cannot be used to "protect" whitespace from being split, but are instead treated as literal data. Note that this warnings is I emitted when the backslash is followed by actual whitespace (that C splits on). =back =head1 Testing Tests were added and changed to reflect the other additions and changes in this release. Furthermore, these changes were made: =over 4 =item * Karl Williamson gave a talk at PTS 2025 asking people to contribute tests to find old issues that are no longer a problem, and todo tests to reflect reproduction cases for known outstanding bugs. (L