perlcdelta - what is new for cperl v5.26.4
This document describes differences between the cperl 5.26.4 and the cperl 5.26.3 release.
If you are upgrading from an earlier release such as v5.26.1c, first read perl5262cdelta, which describes differences between v5.26.1c and v5.26.2c.
- Archive::Tar 2.32
-
Fix absolute path handling on VMS.
Skip white_space test on MSWin32 as Windows will report that both files exist, which is obviously a 'feature'
fix creating file with trailing whitespace on filename - fixes 103279
allow archiving with absolute pathnames - fixes 97748
Speed up extract when archive contains lots of files
CVE-2018-12015 directory traversal vulnerability [RT#125523]
- bignum 0.51c
-
Better way to catch warnings (CPAN RT #126900).
- Compress::Raw::Bzip2 2.081
-
pgcc support
- Compress::Raw::Zlib 2.081
-
keep our pgcc support, keep our zlib-src fixes: deflateParams bug, FALLTHROUGH hints
- Config::Perl::V 0.30_01
-
Add test for 5.26.1-RC1, and some cperl -V's
Fix signature with argument
Ignore ccache and compiler path in signature
Add default_inc_excludes_dot
use vars => our
- Cpanel::JSON::XS 4.06
-
Added json_type support, ...
- Cwd 4.75c
-
Fixed long pathnames test for getcwd() on older systems, like debian-7.11 i386, which still returns ENAMETOOLONG on large enough buffers.
Fix the HAS_GET_CURRENT_DIR_NAME check, and the is_ENAMETOOLONG macro.
For getcwd with
get_current_dir_name()
- i.e. fastcwd - add abs_path. See also http://perl11.org/blog/fastcwd.html - Data::Dumper 2.172
-
Restore deparsing support in the XS dumper, on Perl 5.18 and earlier.
Fix bug when dumping globs with quoting (which now happens for all Unicode glob names)
Behavior change:
$dumper-
Useqq(undef)> is now treated as setting the "useqq" option, not getting it (and similarly for other options) [perl #113090]Quote glob names better; notably, Unicode globs are now handled correctly. [perl #119831]
- DB_File 1.842
-
Document the MacOS build failures & how MacPort can work around the issue. RT #125238, RT #125585, RT #133280
Write all test db files into a directory created by File::Temp Protects against any possible races if running a parallel build.
#96357: DB_File destructor is not thread-safe Added CLONE_SKIP to DB_File.pm and included the test db-threads.t from the patch. Note - This only works with perl >= 5.8.7
RT #124944 allow ppport.h-less builds in core
- Devel::NYTProf 6.06_01
-
Fix sorting of numbers ending ...5s as microsec
Fix tests for Strawberry Perl portable
Fixed broken link in the pod to YAPC::NA 2014 talk video
Add "NYTProf" to buffer overflow error message for easier triage
Fix test failures on Perl 5.27.6+
Fix to prevent memory corruption in incr_sub_inclusive_time
Fix test failures on Perl 5.26 w/ PERL_USE_UNSAFE_INC=0
Fix for the double opening of the web browser with --open
Updated links in docs from old svn repository to Github
- Devel::PPPort 3.43_04
-
Fix test with Visual Studio (space in paths) by quoting $0. Note: This fix is not in the public CPAN release.
- Digest::SHA 6.02
-
Silenced compiler warnings from VS2017 RT #124477
- DynaLoader 2.09c
-
Fix wrong usage of
SvREFCNT_inc_simple_NN
with a function, fixes a memory leak.dl_load_file
: set NULL xs (bootstrap). When we find the bootname viadl_find_symbol
early, we still need to set xs fromdl_install_xsub()
. - Encode 2.98
-
no strict hashpairs in encoding. fixed some -Wsign-compare See https://metacpan.org/changes/distribution/Encode
Skip the flapping test t/Aliases.t on threaded smokers, with random segfaults. This is a long standing core bug, with PMOP aliases or clone. First observed at rurban/perl-compiler#73 (since 5.6)
Stop directory tweaking
$Encode::Encoding{utf8}
Fix gcc warnings for older gcc < 4.0
Where possible do not depend on value of $@, instead use return value of eval
Fix more XS problems in Encode.xs file
Load modules Encode::MIME::Name and Storable normally
Remove no warnings 'redefine'; and correctly loaddependences
Remove PP stubs and reformat predefine_encodings()
Run Encode XS BOOT code at compile time
Use Encode::define_encoding and propagate carp/croak message
cperl fixes: encoding undeprecated, no strict hashpairs
Cleanup code for handling fallback/replacement characters
lib/Encode/MIME/Name.pm t/mime-name.t Pulled: Add "euc-cn" => "EUC-CN" alias to Encode::MIME::Name dankogai/p5-encode#124
lib/Encode/CN/HZ.pm lib/Encode/JP/JIS7.pm lib/Encode/MIME/Header.pm t/decode.t Pulled: Uninitialized value fixes #122 dankogai/p5-encode#122
Makefile.PL Pulled: Fix -Werror=declaration-after-statement for gcc 4.1.2 dankogai/p5-encode#121
Fixed deep recursion in Encode::find_encoding when decoding.
- experimental 0.020_01
-
eval use feature, minor test fix. Add the declared_refs feature. Enable lexical_topic for cperl 5.24, added perl5 compat.
- Exporter 5.73
-
More use vars => our
- ExtUtils::Constant 0.25_01
-
extend stack by one
- ExtUtils::MakeMaker 8.35_06
-
Merge our fixes to upstream 7.35_06 (which has e.g. the dlltool mingw and parallel MSVC fixes). Many fixes were already in, but some new upstream bugs crept in.
Support IO::Scalar handle as $parsefile argument to ExtUtils::MM_Unix::parse_version().
fix Invalid Locale symbol name. Invalid identifier "ENCODING_UTF-8" while "strict names"
fix XSMULTI static with strict linkers, avoid duplicate symbol _boot_XS__Test in: Test.o blib/arch/auto/XS/Test/Test.a(Test.o)
xsstatic: fixup MAKE_APERL_FILE, which was Makefile.aperl.aperl, add xs_static_lib_is_xs
MSVC: seperate dbgoutflag
VMS: add static_lib_pure_cmd
Liblist: support libdirs with spaces
- ExtUtils::Manifest 1.71
-
Only pod formatting
- File::Path 3.16_02c
-
Fix symlink abort crossing mountpoint with CPAN::Distribution previous directory ~/.cpan/build changed before entering tmp-32186, expected dev=47 ino=244719549, actual dev=47 ino=33303, aborting at CPAN/Distribution.pm line 591
Fix method of generating names for dummy users and groups during testing (i.e. under docker) [cpan #121967].
- File::Temp 0.2308
-
- remove File::Temp::Dir from the PAUSE index (it is not in its own .pm file, so it is not 'use'able on its own)
- change EXLOCK default from true to false; addresses RT#123959. Note that this option was always a no-op on non-BSD platforms; changing the default to false makes behaviour more predictable and consistent across platforms.
- switch from 'use vars' to 'our'
- documentation updates for what versions contain what features (thanks, Brian Mowrey! RT#101518)
- fix bad use of skip() in tests (RT#95922)
- Fall back to CSIDL_LOCAL_APPDATA under taint on Windows (RT#60340)
- update distribution tooling
- Filter::Util::Call 1.59
-
XSLoader, our. defer Carp.
Add filter_read_exact tests.
Improve tests using FindBin for filter-util.pl [atoomic]
Add int casts, assert on 2GB limitation.
- HTTP::Tiny 0.076_01
-
Allow 'peer' to be a coderef. Document protocol field, case-sensitive method names.
- if 0.0608
-
Doc how to import when you want to
use MODULE ()
- IO 1.39_01
-
replace use vars with our, run-time load Carp, Bump versions of 3 Socket modules. Remove 5.6 support
Many other changes, see https://metacpan.org/changes/distribution/IO plus some cperl fixes.
IO-Compress
2.081-
lots of whitespace fixes in zipdetails exclude t/999pod.t also
- IPC::Cmd 1.02
-
Fixed can't use IPC::Cmd->run_forked in the first process of a container RT #118424
Fixed run_forked("/usr/bin/echo test") captures no output RT #91784
HPUX test fixes.
- Locale::Codes 3.38
-
new codes
- Math::BigInt 1.999814
-
Add
to_base()
andfrom_base()
to Math::BigInt and corresponding library methods_to_base()
and_from_base()
to Math::BigInt::Lib. This was inspired by CPAN RT #122681.In the documentation for each of the
to_(bin|hex|oct|bytes)
methods, add a reference to the correspondingfrom_(bin|hex|oct|bytes)
method. - Math::BigInt::FastCalc 0.5008
-
No code nor test changes.
- Math::BigRat 0.2614
- Net::Ping 2.70
-
Fix ping_udp for a started udp echo server (PR#5 by Stephan Loyd)
Fix t/400_ping_syn.t phases
Try to handle Windows Socket::getnameinfo errors
Improve some tests on missing network connections
Keep v5.002 - v5.6 support
Removed outdated demo/fping from the documentation (RT #123750 by Steve Morris)
Added t/420_ping_syn_port.t (#4 by Julio Fraire) with fixes.
Added indices and crosslinks to the documentation
use NIx_NOSERV flag for windows.
better icmpv6 support.
Fixes for ldlibpthname from 2.71
- parent 0.237
-
use vars => our.
- perlfaq 5.20180915
- Pod::Man 4.11
-
Various upstream changes, see https://metacpan.org/changes/distribution/podlators
- Scalar::Util 1.50_11
-
fix
find_rundefsvoffset
logicFix t/subname.t and t/exotic_names.t for unstrict names. perl5.26 started defining
$Config{usecperl}
as 'UNKNOWN', hence this check is now unreliable.Merge with 1.50 upstream: Ensure
pairmap
extends its stack correctly (davem) Fix name ofList::Util::unpairs
in its error messagesadded
head
/tail
honorPERL_NO_QUOTE_PKGSEPERATOR
merged%DB::sub
tests merge with upstream%DB::sub
support (main:: or not, utf8) - Socket 2.027_04
-
Reimplement croak_sv (securely) for older perls (RT124063) Recognise %Config key for HAS_GAI_STRERROR (RT124044) Add TCP_USER_TIMEOUT (RT123253)
- Storable 3.12_02
-
Enable >2GB AvFILL check on store_hook (64bit).
Too many references returned by STORABLE_freeze. It wrapped around previously. Fixes Coverity CID #187854. This is a security issue on 64bit cperl and perl5, as both allow SSize_t arrays.
Move __Storable__.pm into Storable_pm.PL [cperl #374]
Merge Makefile recipes from blead.
- Test::Harness 3.42_01
-
Enable rulesfile.t to run in core
Return handle for pipes and sockets #58 (Erik Huelsmann) TAP v13 plan allows trailing whitespace (Steffen Schwigon) prove: add a --statefile=<path> option to customize the .prove file (Ævar Arnfjörð Bjarmason) Avoid non-deterministic source handling, make a SourceHandler tie an error. (Michael Schwern, Leon Timmermans) Fix and simplify MSWin32 colorization (Roy Ivy III) Fix file source handler to accept single extensions option (Tomoki Aonuma) Spelling fixes (Brian Wightman)
- Thread::Queue 3.13
-
[RT #125868] Fix tests for Test::Simple 1.302138
- threads 2.22_01
-
Fix Clang macro backward compatibility per patch by Andy Grundman. Keep the old better doc. Keep our modglobal fix in global destruction from 2.12_01.
Support PL_sv_zero. Don't Copy() null pointer
The documentation now better describes the problems that arise when returning values from threads, and no longer warns about creating threads in
BEGIN
blocks. [perl #96538] -
Fix Clang macro backward compatibility per patch by Andy Grundman. RT #131124 Memory allocation fix.
- Time::HiRes 1.9758_01
-
Updated from upstream since 1.9752:
See https://metacpan.org/changes/distribution/Time-HiRes
Fix MSVC by adding a fake struct timezone.
Add more potential clock constants, like CLOCK_MONOTONIC_FAST (available in FreeBSD), and not all potentially found clock constants were properly exported to be available from Perl, see your system's clock_gettime() documentation for the available ones
Merged with our cperl fixes, esp. no __ANONIO__ See https://github.com/rurban/Time-HiRes/commits/cperl
- Time::Local 1.28
-
Some tests which required support for epoch values larger than 2**32 were not being skipped when the underlying Perl did not support that.
Fixed the tests so they will not break in the year 2020. The tests were passing in 2-digit years on the assumption that a year like "70" would be treated as 1970, but starting in 2020 this would be treated as 2070 instead. Reported by Bernhard M. Wiedemann. RT #124787.
Added timelocal_modern and timegm_modern variants as optional exports. These versions do not munge years at all. They treat the year value that they are given exactly as-is.
- Time::Piece 1.33
-
Switch to XSLoader.
Fix AIX compile
Fix compile errors on MS
Use macro for buf sizes
Remove some compile warnings
SP off by 1 in _crt_localtime
- version 0.9924_02
-
use vars => our. Add updates from 0.9918: Add LAX_DECIMAL_VERSION, LAX_DOTTED_DECIMAL_VERSION, STRICT_DECIMAL_VERSION, STRICT_DOTTED_DECIMAL_VERSION regexes. Add updates from 0.9921: pod, safer C locale switching. Add vpp support for cperl: scmp, c suffix. More test fixes for 5.6
XXX Changes to files in pod/ go here. Consider grouping entries by file and be sure to link to the appropriate page, e.g. perlfunc.
XXX Changes which create new files in pod/ go here.
XXX Description of the purpose of the new file here
We have attempted to update the documentation to reflect the changes listed in this document. If you find any we have missed, send email to [email protected].
XXX Changes which significantly change existing files in pod/ go here. However, any changes to pod/perldiag.pod should go in the "Diagnostics" section.
Additionally, the following selected changes have been made:
XXX Description of the change here
XXX Any significant changes to the testing of a freshly built perl should be listed here. Changes which create new files in t/ go here as do any large changes to the testing harness (e.g. when parallel testing was added). Changes to existing files in t/ aren't worth summarizing, although the bugs that they represent may be covered elsewhere.
XXX If there were no significant test changes, say this:
Tests were added and changed to reflect the other additions and changes in this release.
XXX If instead there were significant changes, say this:
Tests were added and changed to reflect the other additions and changes in this release. Furthermore, these significant changes were made:
[ List each test improvement as an =item entry ]
XXX
XXX List any changes for specific platforms. This could include configuration and compilation changes or changes in portability/compatibility. However, changes within modules for platforms should generally be listed in the "Modules and Pragmata" section.
- XXX-some-platform
-
XXX
XXX Changes which affect the interface available to XS
code go here. Other significant internal changes for future core maintainers should be noted as well.
[ List each change as an =item entry ]
XXX
XXX Important bug fixes in the core language are summarized here. Bug fixes in files in ext/ and lib/ are best summarized in "Modules and Pragmata".
[ List each fix as an =item entry ]
Harmonize skipped
main::
prefix in%DB::sub
. In cperl the debugger uses nomain::
prefixes for global functions. This enables entering debugger breakpoints and c withoutmain::
,newMYSUB
still hadmain::
Backported from 5.28.0c
XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any tests that had to be TODO
ed for the release would be noted here. Unfixed platform specific bugs also go here.
[ List each fix as an =item entry ]
XXX
XXX Add anything here that we forgot to add, or were mistaken about, in the perldelta of a previous release.
XXX If any significant core contributor has died, we've added a short obituary here.
XXX Generate this with:
cperl Porting/acknowledgements.pl cperl-5.26.4..HEAD -c
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 information at http://www.perl.org/ , the Perl Home Page.
If you believe you have an unreported bug, please run the cperlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of perl -V
, will be sent off to [email protected] to be analysed by the Perl porting team.
If you think it's a cperl specific bug or trust the cperl developers more please file an issue at https://github.com/perl11/cperl/issues.
If the bug you are reporting has security implications which make it inappropriate to send to a publicly archived mailing list, then see "SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec For details of how to report the issue.
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.