The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

perldelta - what is new for perl v5.35.1

DESCRIPTION

This document describes differences between the 5.35.0 release and the 5.35.1 release.

If you are upgrading from an earlier release such as 5.34.0, first read perl5350delta, which describes differences between 5.34.0 and 5.35.0.

Modules and Pragmata

Updated Modules and Pragmata

  • B::Deparse has been upgraded from version 1.56 to 1.57.

  • Data::Dumper has been upgraded from version 2.179 to 2.181.

  • feature has been upgraded from version 1.65 to 1.66.

  • File::Copy has been upgraded from version 2.35 to 2.36.

    Inode numbers are now compared as strings, so that large inode numbers are correctly distinguished. (GH #18788)

  • File::Glob has been upgraded from version 1.33 to 1.35.

  • File::Spec has been upgraded from version 3.80 to 3.81.

  • File::stat has been upgraded from version 1.09 to 1.10.

  • IO has been upgraded from version 1.46 to 1.47.

    Implement sync() for win32.

  • Module::CoreList has been upgraded from version 5.20210521 to 5.20210620.

  • Opcode has been upgraded from version 1.50 to 1.51.

  • open has been upgraded from version 1.12 to 1.13.

  • PathTools has been upgraded from version 3.80 to 3.81.

    Inodes numbers are now compared as strings, so that large inode numbers are correctly distinguished. (GH #18788)

  • perlfaq has been upgraded from version 5.20210411 to 5.20210520.

  • POSIX has been upgraded from version 1.97 to 1.98.

  • Scalar::Util has been upgraded from version 1.55 to 1.56.

  • Socket has been upgraded from version 2.031 to 2.032.

  • Test::Simple has been upgraded from version 1.302183 to 1.302185.

  • Unicode::Collate has been upgraded from version 1.29 to 1.30.

    One warning in mkheader averted (rt.cpan.org #133952).

  • Unicode::UCD has been upgraded from version 0.75 to 0.76.

  • version has been upgraded from version 0.9928 to 0.9929.

  • XS::APItest has been upgraded from version 1.16 to 1.17.

Changes to Existing Diagnostics

  • Can't modify %s in %s (for scalar assignment to undef)

    Attempting to perform a scalar assignment to undef, for example via undef = $foo;, previously triggered a fatal runtime error with the message "Modification of a read-only value attempted." It is more helpful to detect such attempted assignments prior to runtime, so they are now compile time errors, resulting in the message "Can't modify undef operator in scalar assignment".

Internal Changes

  • Since the removal of PERL_OBJECT in Perl 5.8, PERL_IMPLICIT_CONTEXT and MULTIPLICITY have been synonymous and they were being used interchangeably. To simplify the code, all instances of PERL_IMPLICIT_CONTEXT have been replaced with MULTIPLICITY.

    PERL_IMPLICIT_CONTEXT will remain defined for compatibility with XS modules.

Selected Bug Fixes

  • utime() now correctly sets errno/$! when called on a closed handle.

  • B::Deparse now correctly handles try/catch blocks with more complex scopes. [GH #18874]

Obituary

Raun "Spider" Boardman (SPIDB on CPAN), author of at least 66 commits to the Perl 5 core distribution between 1996 and 2002, passed away May 24 2021 from complications of COVID. He will be missed.

Acknowledgements

Perl 5.35.1 represents approximately 4 weeks of development since Perl 5.35.0 and contains approximately 57,000 lines of changes across 410 files from 28 authors.

Excluding auto-generated files, documentation and release tools, there were approximately 53,000 lines of changes to 220 .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.35.1:

Alyssa Ross, Chris 'BinGOs' Williams, Dan Book, Dan Jacobson, Dave Cross, Dave Lambley, E. Choroba, Felipe Gasper, H.Merijn Brand, Hugo van der Sanden, James E Keenan, Karen Etheridge, Karl Williamson, Leon Timmermans, Matthew Horsfall, Max Maischein, Michael G Schwern, Nicholas Clark, Paul Evans, Ricardo Signes, Richard Leach, Scott Baker, Thibault Duponchelle, Todd Rinaldo, Tomasz Konojacki, Tomoyuki Sadahiro, 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 AUTHORS file in the Perl source distribution.

Reporting Bugs

If you find what you think is a bug, you might check the perl bug database at https://github.com/Perl/perl5/issues. There may also be information at http://www.perl.org/, the Perl Home Page.

If you believe you have an unreported bug, please open an issue at https://github.com/Perl/perl5/issues. 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 "SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for details of how to report the issue.

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 perlthanks program:

    perlthanks

This will send an email to the Perl 5 Porters list with your show of thanks.

SEE ALSO

The Changes file for an explanation of how to view exhaustive details on what changed.

The INSTALL file for how to build Perl.

The README file for general stuff.

The Artistic and Copying files for copyright information.