=encoding utf8 =head1 NAME perldelta - what is new for perl v5.41.2 =head1 DESCRIPTION This document describes differences between the 5.41.1 release and the 5.41.2 release. If you are upgrading from an earlier release such as 5.41.0, first read L, which describes differences between 5.41.0 and 5.41.1. =head1 Core Enhancements =head2 New pragma C> This allows you to declare that the portion of a program for the remainder of the lexical scope of this pragma is encoded either entirely in ASCII (for S>) or if UTF-8 is allowed as well (for S>). No other encodings are accepted. The second form is entirely equivalent to S>, and may be used interchangeably with that. The purpose of this pragma is to catch cases early where you forgot to specify S>. S> is automatically enabled within the lexical scope of a S> or higher. S> turns off all this checking for the remainder of its lexical scope. The meaning of non-ASCII characters is then undefined. =head1 Modules and Pragmata =head2 Updated Modules and Pragmata =over 4 =item * L has been upgraded from version 1.76 to 1.77. Now understands the new C<^^> operator (high-precedence xor). =item * L has been upgraded from version 1.25 to 1.26. =item * L has been upgraded from version 3.72 to 3.73. =item * L has been upgraded from version 3.90 to 3.92. =item * L has been upgraded from version 1.12 to 1.13. =item * L has been upgraded from version 5.20240620 to 5.20240720. =item * C has been upgraded from version 5.01_02 to v6.0.2. This distribution provides the L and L modules and the L and L command-line utilities. The distribution now uses semantic versioning for the package and module versions, with a C prefix to work with Perl's packaging system. L, in particular, has received a variety of improvements. =item * L has been upgraded from version 2.21 to 2.22. =item * L has been upgraded from version 3.32 to 3.33. =item * L has been upgraded from version 2.40 to 2.41. =item * L has been upgraded from version 1.25 to 1.27. =item * L has been upgraded from version 0.59 to 0.59_01. Imported an upstream PR that fixes symbolic link support detection on 32-bit Windows. [L] =item * L has been upgraded from version 1.36 to 1.37. =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 * All forms of C are now documented together. =item * C is now documented with C and additional notes added. =back =head3 L =over 4 =item * The list of Steering Council and Core Team members have been updated, following the conclusion of the latest election on 2024-07-17. =back =head3 L =over 4 =item * Entries for C<$#> and C<$*> have been amended to note that use of them result in a compilation error, not a warning. =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) This pragma forbids non-ASCII characters within its scope. =back =head3 New Warnings =over 4 =item * L<__CLASS__ is experimental|perldiag/"__CLASS__ is experimental"> (S experimental::class) This warning is emitted if you use the C<__CLASS__> keyword of C. This keyword is currently experimental and its behaviour may change in future releases of Perl. =back =head1 Utility Changes =head2 F =over 4 =item * Separate installation (without overwriting installed modules) is now the default =item * Documentation is significantly enhanced =back =head1 Testing Tests were added and changed to reflect the other additions and changes in this release. =head1 Internal Changes =over 4 =item * Calls to L with the C flag set also ensure the SV parameters constructed from the C parameter are released before C returns. Previously they were released on the next L. [L] =back =head1 Selected Bug Fixes =over 4 =item * C now returns real booleans (as its documentation describes), not integers. This means the result of a failed C now stringifies to C<''>, not C<'0'>. [L] =back =head1 Acknowledgements Perl 5.41.2 represents approximately 3 weeks of development since Perl 5.41.1 and contains approximately 4,100 lines of changes across 180 files from 13 authors. Excluding auto-generated files, documentation and release tools, there were approximately 1,900 lines of changes to 95 .pm, .t, .c and .h files. Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.41.2: Aaron Dill, Dagfinn Ilmari Mannsåker, Elvin Aslanov, Erik Huelsmann, Graham Knop, H.Merijn Brand, James E Keenan, Karen Etheridge, Karl Williamson, Lukas Mai, Philippe Bruhat (BooK), Russ Allbery, Tony Cook. The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish. For a more complete list of all of Perl's historical contributors, please see the F file in the Perl source distribution. =head1 Reporting Bugs If you find what you think is a bug, you might check the perl bug database at L. There may also be information at L, the Perl Home Page. If you believe you have an unreported bug, please open an issue at L. Be sure to trim your bug down to a tiny but sufficient test case. If the bug you are reporting has security implications which make it inappropriate to send to a public issue tracker, then see L for details of how to report the issue. =head1 Give Thanks If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you can do so by running the C program: perlthanks This will send an email to the Perl 5 Porters list with your show of thanks. =head1 SEE ALSO The F file for an explanation of how to view exhaustive details on what changed. The F file for how to build Perl. The F file for general stuff. The F and F files for copyright information. =cut