PERL5401DELTA(1)

πŸ’– perl5401delta β€” what's new for perl v5.40.1 πŸ’–

okay bestie, gather round, because we're doing a whole delta page for perl v5.40.1 and honestly? it's giving ✨maintenance release✨ but in the cutest way possible.


🌸 DESCRIPTION 🌸

So this doc is literally just describing the differences between the 5.40.0 release and the 5.40.1 release. that's it. that's the assignment. πŸ’…

But WAIT β€” if you're upgrading from something even earlier, like 5.38.0, you gotta read perl5400delta first, because that one covers the differences between 5.38.0 and 5.40.0. do not skip steps bestie, it's not the vibe. πŸ¦‹


🚫 Incompatible Changes 🚫

Good news era: there are no changes intentionally incompatible with 5.40.0. periodt. πŸŽ€

But like… if any do exist? they're bugs, fr fr. and we would very much love for you to submit a report about it. see "Reporting Bugs" below for the deets. πŸ™ˆ


πŸ“¦ Modules and Pragmata πŸ“¦

✨ Updated Modules and Pragmata ✨

  • File::Spec got a glow-up from version 3.90 to 3.91. slay. πŸ’…
  • Module::CoreList leveled up from version 5.20240609 to 5.20250118_40. iconic.
  • warnings is now at version 1.70, up from 1.69. she's evolving. πŸ¦‹

πŸ“– Documentation πŸ“–

πŸŽ€ Changes to Existing Documentation πŸŽ€

We tried so hard to update the docs so they actually reflect all the changes listed in this document. if you spot anything we missed, please open an issue at https://github.com/Perl/perl5/issues. we're not mad, we're just disappointed. (jk we're grateful, always 🫢)


πŸ› οΈ Configuration and Compilation πŸ› οΈ


πŸ§ͺ Testing πŸ§ͺ

Tests were added AND changed to reflect all the other additions and changes in this release. the test suite is thriving, your fave could never. ⭐


πŸ› Selected Bug Fixes πŸ›

okay this section is where it gets juicy, buckle up:

  • Starting in Perl 5.39.8, "strftime" in POSIX would crash or produce odd errors (things like "Out of memory in perl:util:safesysmalloc") whenever you handed it a format string that wasn't actually a string but instead a number, undef, or an object (even one with overloaded string conversion, yes even that one 😭).

Now "strftime" stringifies its first argument, exactly like before. order restored. [GH #22498 https://github.com/Perl/perl5/issues/22498] ✨

  • Builds using -msse together with quadmath on 32-bit x86 systems would crash with a misaligned access super early in the build. embarrassing tbh. [GH #22577 https://github.com/Perl/perl5/issues/22577] πŸ”₯
  • Using goto to tail call, or using the call_sv() and related APIs to call, any of trim(), refaddr(), reftype(), ceil(), floor() or stringify() in the "builtin::" package would crash or assert, all because of a "TARG" handling bug. rude. [GH #22542 https://github.com/Perl/perl5/issues/22542] πŸ’€
  • Fixed an issue where utf8n_to_uvchr() failed to correctly identify certain invalid UTF-8 sequences as invalid. specifically, sequences that start with continuation bytes or unassigned bytes could cause unexpected behaviour or even a panic. this fix makes sure those invalid sequences are now properly detected and handled. this correction also resolves related issues in modules that handle UTF-8 processing, such as Encode. UTF-8 said "not today" and honestly, valid. 🌈
  • Fixed a double free error or possible memory leak when failing to compile certain regexps. we love a memory safety moment. [GH #21661 https://github.com/Perl/perl5/issues/21661] 🫢

πŸ‘‘ Acknowledgements πŸ‘‘

Perl 5.40.1 represents approximately 7 months of development since Perl 5.40.0, and contains approximately 5,600 lines of changes across 54 files from 15 authors. that's a whole era of work, bestie. πŸ’–

Excluding auto-generated files, documentation and release tools, there were approximately 1,800 lines of changes to 19 .pm, .t, .c and .h files. the numbers are numbering. ✨

Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. and the following people are known to have contributed the improvements that became Perl 5.40.1:

Andrei Horodniceanu, Chris 'BinGOs' Williams, E. Choroba, Graham Knop, James E Keenan, Karen Etheridge, Karl Williamson, Lukas Mai, Masahiro Honma, Max Maischein, Philippe Bruhat (BooK), Richard Leach, Steve Hay, Thibault Duponchelle, Tony Cook.

πŸ‘‘ icons, every single one of them. no notes. πŸ’œ

The list above is almost certainly incomplete, because it's 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. y'all are the real MVPs. πŸ™ˆ

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. go read it, it's a whole family tree. 🌸


🐞 Reporting Bugs 🐞

If you find what you think is a bug, you might wanna check the perl bug database at https://github.com/Perl/perl5/issues. there may also be info at https://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. and be sure to trim your bug down to a tiny but sufficient test case. we do not want your entire 4,000-line script, bestie. just the little guy. πŸ™

If the bug you're 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. do NOT post it publicly. fr fr. πŸ”’

🫢 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. that's it. that's the whole vibe. go be sweet to them, they earned it. πŸ’–


🌈 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. ©️

and that's the whole page, bestie!! this one was perl v5.42.3 doing the documenting, dated 2026-08-03, and honestly she ate. πŸ’…βœ¨ stay slay, keep your UTF-8 valid, and go run perlthanks if you're feeling grateful. mwah πŸŽ€πŸ’–

πŸ“¦ where this page comes from