PERL5281DELTA(1)

🌸 NAME 🌸

okay bestie, pull up a chair πŸ’– this is perl5281delta β€” the ✨tea✨ on what's new for perl v5.28.1. it's a page from the Perl Programmers Reference Guide, aka section 1 of your man pages (PERL5281DELTA(1)), which is where all the user-command goodness lives πŸ’…


πŸ’– DESCRIPTION πŸ’–

so this doc spills all the differences between the 5.28.0 release and the 5.28.1 release. that's it, that's the whole assignment 🫢

but like β€” if you're upgrading from something way older, say 5.26.0, do yourself a favor and read perl5280delta first, because that one describes the differences between 5.26.0 and 5.28.0. no skipping steps, bestie, we do NOT raw-dog a version jump 😭


πŸ”₯ SECURITY πŸ”₯

okay these two are the main character energy of this release, and not in a cute way πŸ’€

🚨 [CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault 🚨

so like, the integer arithmetic in Perl_my_setenv() could wrap when the combined length of the environment variable name and its value went over around 0x7fffffff. and when that happens? writing beyond the end of an allocated buffer with attacker-supplied data. yes fr fr. that's the bad kind of overflow πŸ™ˆ

[GH #16560] <https://github.com/Perl/perl5/issues/16560>

🚨 [CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c) 🚨

a crafted regular expression could cause a heap-buffer-overflow write while it was being compiled, which could potentially let someone run arbitrary code. so yeah. regexes are powerful, and sometimes that's the problem 😭

[GH #16649] <https://github.com/Perl/perl5/issues/16649>

πŸ’” INCOMPATIBLE CHANGES πŸ’”

good news bestie: there are no changes intentionally incompatible with 5.28.0. none. zero. periodt ✨

and if any do exist? they're bugs, and the perl people literally ask you to submit a report β€” go see "Reporting Bugs" below πŸ‘‘


πŸ“¦ MODULES AND PRAGMATA πŸ“¦

πŸŽ€ Updated Modules and Pragmata πŸŽ€

  • Module::CoreList got a glow-up, upgrading from version 5.20180622 to 5.20181129_28. slay πŸ’…

πŸ› SELECTED BUG FIXES πŸ›

  • okay so Perl 5.28 introduced an index() optimization for when you compare against -1 (or indirectly, like >= 0). but when that optimization got triggered inside a when clause, it threw a warning: "Argument %s isn't numeric in smart match". that's now fixed, bestie πŸ’– [GH #16626] <https://github.com/Perl/perl5/issues/16626>
  • the matching of decimal digits in script runs β€” which, fun fact, was introduced in Perl 5.28 β€” had a bug that made "1\N{THAI DIGIT FIVE}" match /^(*sr:\d+)$/ when it absolutely should not have. fixed now ✨
  • the new in-place editing code no longer leaks directory handles. we love a leak-free era 🌈 [GH #16602] <https://github.com/Perl/perl5/issues/16602>

πŸ‘‘ ACKNOWLEDGEMENTS πŸ‘‘

Perl 5.28.1 represents approximately 5 months of development since Perl 5.28.0, and it contains approximately 6,100 lines of changes across 44 files from 12 authors. the way that's a whole community working together πŸ˜­πŸ’–

and if you exclude auto-generated files, documentation and release tools, there were approximately 700 lines of changes to 12 .pm, .t, .c and .h files.

Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. so here's the roll call of the people known to have contributed the improvements that became Perl 5.28.1:

Aaron Crane, Abigail, Chris 'BinGOs' Williams, Dagfinn Ilmari MannsΓ₯ker, David Mitchell, James E Keenan, John SJ Anderson, Karen Etheridge, Karl Williamson, Sawyer X, Steve Hay, Tony Cook.

that list above is almost certainly incomplete, because it's automatically generated from version control history. specifically, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. so if you reported something and you're not here β€” you're still iconic 🫢

many of the changes in this version originated in the CPAN modules included in Perl's core, and the perl folks are grateful to the entire CPAN community for helping Perl 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://rt.perl.org/> . there may also be info at <http://www.perl.org/> , the Perl Home Page.

if you believe you've got an unreported bug, please run the perlbug program that comes with your release. and bestie β€” trim your bug down to a tiny but sufficient test case, no cap. your bug report, along with the output of perl -V, gets sent off to perlbug@perl.org to be analysed by the Perl porting team πŸ’Œ

and if the bug you're reporting has security implications that make it inappropriate to send to a publicly archived mailing list, then see "SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for the details on how to report the issue. do not just yeet it into the public timeline, okay? πŸ™ˆ


🎁 GIVE THANKS 🎁

if you wanna thank the Perl 5 Porters for the work they did in Perl 5, you can literally just run the perlthanks program:

perlthanks

and that sends an email to the Perl 5 Porters list with your show of thanks. wholesome behavior, honestly πŸ₯ΉπŸ’–


🌈 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 was perl v5.42.3, dated 2026-08-03, and it's the PERL5281DELTA(1) man page β€” now go forth and upgrade responsibly πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from