5 perl5331delta - what is new for perl v5.33.1
9 This document describes differences between the 5.33.0 release and the 5.33.1
12 If you are upgrading from an earlier release such as 5.32.0, first read
13 L<perl5330delta>, which describes differences between 5.32.0 and 5.33.0.
15 =head1 Modules and Pragmata
17 =head2 New Modules and Pragmata
23 L<ExtUtils::PL2Bat> 0.002 has been added to the Perl core.
25 This module is a generalization of the C<pl2bat> script. It being a script has led
26 to at least two forks of this code, this modules will unify them under one
27 implementation with tests.
31 =head2 Updated Modules and Pragmata
37 L<B> has been upgraded from version 1.80 to 1.81.
41 L<B::Deparse> has been upgraded from version 1.54 to 1.55.
45 L<Data::Dumper> has been upgraded from version 2.174 to 2.175.
49 L<Devel::Peek> has been upgraded from version 1.28 to 1.29.
53 L<Devel::PPPort> has been upgraded from version 3.57 to 3.60.
55 New C<PERL_VERSION_*> comparison macros are now available.
57 C<ppport.h --api-info> no longer includes non-API info unless that is the only match
61 L<DynaLoader> has been upgraded from version 1.47 to 1.48.
65 L<Errno> has been upgraded from version 1.30 to 1.31.
69 L<Exporter> has been upgraded from version 5.74 to 5.75.
73 L<ExtUtils::Miniperl> has been upgraded from version 1.09 to 1.10.
77 L<ExtUtils::ParseXS> has been upgraded from version 3.40 to 3.41.
81 L<Fcntl> has been upgraded from version 1.13 to 1.14.
85 L<feature> has been upgraded from version 1.59 to 1.60.
87 A new L<multidimensional|feature/"The 'multidimensional' feature">
88 feature has been added, which is enabled by
89 default but allows turning off L<multi-dimensional array
90 emulation|perldata/Multi-dimensional array emulation>.
94 L<File::Path> has been upgraded from version 2.16 to 2.17.
98 L<Hash::Util> has been upgraded from version 0.23 to 0.24.
102 L<Hash::Util::FieldHash> has been upgraded from version 1.20 to 1.21.
106 L<IO> has been upgraded from version 1.43 to 1.44.
108 The C<error> method now reports the error state for both the input and
109 output streams for sockets and character devices. Similarly
110 C<clearerr> now clears the error state for both streams.
112 A spurious error reported for regular file handles has been
113 fixed in L<IO::Handle>. L<GH #18019|https://github.com/Perl/perl5/issues/18019>
117 L<IPC::SysV> has been upgraded from version 2.07 to 2.08.
121 L<JSON::PP> has been upgraded from version 4.04 to 4.05.
125 L<Math::Complex> has been upgraded from version 1.5901 to 1.5902.
129 L<Module::CoreList> has been upgraded from version 5.20200717 to 5.20200820.
133 L<mro> has been upgraded from version 1.23 to 1.24.
137 L<Net::Ping> has been upgraded from version 2.72 to 2.73_01.
141 L<PerlIO::mmap> has been upgraded from version 0.016 to 0.017.
145 L<Pod::Usage> has been upgraded from version 1.69 to 1.70.
149 L<POSIX> has been upgraded from version 1.94 to 1.95.
153 L<Safe> has been upgraded from version 2.41 to 2.42.
157 L<Socket> has been upgraded from version 2.029 to 2.030.
161 L<Storable> has been upgraded from version 3.21 to 3.22.
165 L<strict> has been upgraded from version 1.11 to 1.12.
169 L<threads> has been upgraded from version 2.25 to 2.26.
173 L<threads::shared> has been upgraded from version 1.61 to 1.62.
177 L<Time::HiRes> has been upgraded from version 1.9764 to 1.9765.
181 L<Unicode::Normalize> has been upgraded from version 1.27 to 1.28.
185 L<warnings> has been upgraded from version 1.47 to 1.48.
189 L<XS::APItest> has been upgraded from version 1.09 to 1.11.
193 L<XS::Typemap> has been upgraded from version 0.17 to 0.18.
199 =head2 Changes to Existing Documentation
201 We have attempted to update the documentation to reflect the changes
202 listed in this document. If you find any we have missed, open an issue
203 at L<https://github.com/Perl/perl5/issues>.
205 Additionally, the following selected changes have been made:
207 =head3 L<perldebguts>
213 Corrected the description of the scalar C<< ${"_<$filename"} >>
224 Better explanation of what happens when C<sleep> is called with a zero or
235 Corrected C<my_rpeep> example in perlguts.
239 A section has been added on the formatted printing of special sizes.
249 The C<< <> >> and C<<< <<>> >>> operators are commonly referred to as
250 the diamond and double diamond operators respectively, but that wasn't
251 mentioned previously in their documentation.
255 Document range op behavior change.
259 =head3 L<perlpacktut>
265 Incorrect variables used in an example have been fixed.
271 The following additions or changes have been made to diagnostic output,
272 including warnings and fatal error messages. For the complete list of
273 diagnostic messages, see L<perldiag>.
275 =head2 New Diagnostics
283 L<Multidimensional hash lookup is disabled|perldiag/"Multidimensional hash lookup is disabled">
285 This accompanies the new L<multidimensional|feature/"The 'multidimensional' feature"> feature.
289 =head2 Changes to Existing Diagnostics
295 L<Use of uninitialized value%s|perldiag/"Use of uninitialized value%s">
297 This warning may now include the array or hash index when the
298 uninitialized value is the result of an element not found. This will
299 only happen if the index is a simple non-magical variable.
303 =head1 Utility Changes
305 =head2 L<perl5db.pl> (the debugger)
309 =item * New option: C<HistItemMinLength>
311 This option controls the minimum length a command must be to get stored in
312 history. Traditionally, this has been fixed at 2. Changes to the debugger
313 are often perilous, and new bugs should be reported so the debugger can be
316 =item * Fix to C<i> and C<l> commands
318 The C<i $var> and C<l $var> commands work again with lexical variables.
322 =head1 Configuration and Compilation
328 The minimum supported Bison version is now 2.4, and the maxiumm is 3.7.
332 Newer 64-bit versions of the Intel C/C++ compiler are now recognised
333 and have the correct flags set.
339 Tests were added and changed to reflect the other additions and changes
342 =head1 Platform Support
350 Allow building Perl on i386 9front systems (fork of plan9).
354 =head2 Updated Platforms
360 Improve support for Plan9 on i386 platforms.
364 The hints file for darwin has been updated to handle future MacOS versions
365 beyond 10. L<GH #17946|https://github.com/Perl/perl5/issues/17946>
369 =head2 Discontinued Platforms
375 Support code relating to Symbian has been removed. Symbian was an
376 operating system for mobile devices. The port was last updated in July
377 2009, and the platform itself in October 2012.
381 =head2 Platform-Specific Notes
387 The locale categories C<LC_SYNTAX> and C<LC_TOD> are now recognized.
388 Perl doesn't do anything with these, except it now allows you to specify
389 them. They are included in C<LC_ALL>.
393 =head1 Internal Changes
399 The C<PERL_GLOBAL_STRUCT> compilation option has been removed, and
400 with it the need or the C<dVAR> macro. C<dVAR> remains defined as a
401 no-op outside C<PERL_CORE> for backwards compatiblity with XS modules.
405 A new savestack type C<SAVEt_HINTS_HH> has been added, which neatens the
406 previous behaviour of C<SAVEt_HINTS>. On previous versions the types and
407 values pushed to the save stack would depend on whether the hints included the
408 C<HINT_LOCALIZE_HH> bit, which complicates external code that inspects the
409 save stack. The new version uses a different savestack type to indicate the
414 A new API function L<perlapi/av_count> has been added which gives a
415 clearly named way to find how many elements are in an array.
419 =head1 Selected Bug Fixes
425 On Win32, C<waitpid(-1, WNOHANG)> could sometimes have a very large
426 timeout. L<GH #16529|https://github.com/Perl/perl5/issues/16529>
430 C<MARK> and hence C<items> are now correctly initialized in BOOT XSUBs.
434 Some list assignments involving C<undef> on the left-hand side were
435 over-optimized and produced incorrect results. L<GH #16685|https://github.com/Perl/perl5/issues/16685>, L<GH #17816|https://github.com/Perl/perl5/issues/17816>
439 =head1 Acknowledgements
441 Perl 5.33.1 represents approximately 5 weeks of development since Perl
442 5.33.0 and contains approximately 37,000 lines of changes across 740 files
445 Excluding auto-generated files, documentation and release tools, there were
446 approximately 11,000 lines of changes to 290 .pm, .t, .c and .h files.
448 Perl continues to flourish into its fourth decade thanks to a vibrant
449 community of users and developers. The following people are known to have
450 contributed the improvements that became Perl 5.33.1:
452 Adam Hartley, Christian Walde (Mithaldu), Dagfinn Ilmari Mannsåker, Dan
453 Book, David Mitchell, E. Choroba, Graham Knop, Graham Ollis, Hauke D, Ivan
454 Baidakou, James E Keenan, John Lightsey, Karen Etheridge, Karl Williamson,
455 Leon Timmermans, Nicolas R., Paul Evans, Petr Písař, raiph, Renee Baecker,
456 Ricardo Signes, Richard Leach, Romano, Ryan Voots, Samuel Thibault, Sawyer
457 X, Scott Baker, Sizhe Zhao, Thibault Duponchelle, Todd Rinaldo, Tomasz
458 Konojacki, Tom Stellard, Tony Cook, vividsnow.
460 The list above is almost certainly incomplete as it is automatically
461 generated from version control history. In particular, it does not include
462 the names of the (very much appreciated) contributors who reported issues to
463 the Perl bug tracker.
465 Many of the changes included in this version originated in the CPAN modules
466 included in Perl's core. We're grateful to the entire CPAN community for
467 helping Perl to flourish.
469 For a more complete list of all of Perl's historical contributors, please
470 see the F<AUTHORS> file in the Perl source distribution.
472 =head1 Reporting Bugs
474 If you find what you think is a bug, you might check the perl bug database
475 at L<https://github.com/Perl/perl5/issues>. There may also be information at
476 L<http://www.perl.org/>, the Perl Home Page.
478 If you believe you have an unreported bug, please open an issue at
479 L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
480 tiny but sufficient test case.
482 If the bug you are reporting has security implications which make it
483 inappropriate to send to a public issue tracker, then see
484 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
485 for details of how to report the issue.
489 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
490 you can do so by running the C<perlthanks> program:
494 This will send an email to the Perl 5 Porters list with your show of thanks.
498 The F<Changes> file for an explanation of how to view exhaustive details on
501 The F<INSTALL> file for how to build Perl.
503 The F<README> file for general stuff.
505 The F<Artistic> and F<Copying> files for copyright information.