summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/perl5222delta.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/perl5222delta.1')
-rw-r--r--upstream/mageia-cauldron/man1/perl5222delta.1354
1 files changed, 354 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perl5222delta.1 b/upstream/mageia-cauldron/man1/perl5222delta.1
new file mode 100644
index 00000000..f45dc4ff
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/perl5222delta.1
@@ -0,0 +1,354 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERL5222DELTA 1"
+.TH PERL5222DELTA 1 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+perl5222delta \- what is new for perl v5.22.2
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This document describes differences between the 5.22.1 release and the 5.22.2
+release.
+.PP
+If you are upgrading from an earlier release such as 5.22.0, first read
+perl5221delta, which describes differences between 5.22.0 and 5.22.1.
+.SH Security
+.IX Header "Security"
+.SS "Fix out of boundary access in Win32 path handling"
+.IX Subsection "Fix out of boundary access in Win32 path handling"
+This is CVE\-2015\-8608. For more information see
+[GH #15067] <https://github.com/Perl/perl5/issues/15067>.
+.ie n .SS "Fix loss of taint in canonpath()"
+.el .SS "Fix loss of taint in \f(CWcanonpath()\fP"
+.IX Subsection "Fix loss of taint in canonpath()"
+This is CVE\-2015\-8607. For more information see
+[GH #15084] <https://github.com/Perl/perl5/issues/15084>.
+.ie n .SS "Set proper umask before calling mkstemp(3)"
+.el .SS "Set proper umask before calling \f(CWmkstemp(3)\fP"
+.IX Subsection "Set proper umask before calling mkstemp(3)"
+In 5.22.0 perl started setting umask to \f(CW0600\fR before calling \f(CWmkstemp(3)\fR
+and restoring it afterwards. This wrongfully tells \f(CWopen(2)\fR to strip the
+owner read and write bits from the given mode before applying it, rather than
+the intended negation of leaving only those bits in place.
+.PP
+Systems that use mode \f(CW0666\fR in \f(CWmkstemp(3)\fR (like old versions of glibc)
+create a file with permissions \f(CW0066\fR, leaving world read and write permissions
+regardless of current umask.
+.PP
+This has been fixed by using umask \f(CW0177\fR instead.
+.PP
+[GH #15135] <https://github.com/Perl/perl5/issues/15135>
+.ie n .SS "Avoid accessing uninitialized memory in Win32 crypt()"
+.el .SS "Avoid accessing uninitialized memory in Win32 \f(CWcrypt()\fP"
+.IX Subsection "Avoid accessing uninitialized memory in Win32 crypt()"
+Validation that will detect both a short salt and invalid characters in the
+salt has been added.
+.PP
+[GH #15091] <https://github.com/Perl/perl5/issues/15091>
+.ie n .SS "Remove duplicate environment variables from ""environ"""
+.el .SS "Remove duplicate environment variables from \f(CWenviron\fP"
+.IX Subsection "Remove duplicate environment variables from environ"
+Previously, if an environment variable appeared more than once in \f(CW\*(C`environ[]\*(C'\fR,
+\&\f(CW%ENV\fR would contain the last entry for that name, while a
+typical \f(CWgetenv()\fR would return the first entry. We now make sure \f(CW%ENV\fR
+contains the same as what \f(CWgetenv()\fR returns.
+.PP
+Secondly, we now remove duplicates from \f(CW\*(C`environ[]\*(C'\fR, so if a setting with that
+name is set in \f(CW%ENV\fR we won't pass an unsafe value to a child process.
+.PP
+This is CVE\-2016\-2381.
+.SH "Incompatible Changes"
+.IX Header "Incompatible Changes"
+There are no changes intentionally incompatible with Perl 5.22.1. If any
+exist, they are bugs, and we request that you submit a report. See
+"Reporting Bugs" below.
+.SH "Modules and Pragmata"
+.IX Header "Modules and Pragmata"
+.SS "Updated Modules and Pragmata"
+.IX Subsection "Updated Modules and Pragmata"
+.IP \(bu 4
+File::Spec has been upgraded from version 3.56 to 3.56_01.
+.Sp
+\&\f(CWcanonpath()\fR now preserves taint. See "Fix loss of taint in
+\&\f(CWcanonpath()\fR".
+.IP \(bu 4
+Module::CoreList has been upgraded from version 5.20151213 to 5.20160429.
+.Sp
+The version number of Digest::SHA listed for Perl 5.18.4 was wrong and has
+been corrected. Likewise for the version number of Config in 5.18.3 and
+5.18.4.
+[GH #15202] <https://github.com/Perl/perl5/issues/15202>
+.SH Documentation
+.IX Header "Documentation"
+.SS "Changes to Existing Documentation"
+.IX Subsection "Changes to Existing Documentation"
+\fIperldiag\fR
+.IX Subsection "perldiag"
+.IP \(bu 4
+The explanation of the warning "unable to close filehandle \f(CW%s\fR properly: \f(CW%s\fR"
+which can occur when doing an implicit close of a filehandle has been expanded
+and improved.
+.PP
+\fIperlfunc\fR
+.IX Subsection "perlfunc"
+.IP \(bu 4
+The documentation of \f(CWhex()\fR has been revised to clarify valid
+inputs.
+.SH "Configuration and Compilation"
+.IX Header "Configuration and Compilation"
+.IP \(bu 4
+Dtrace builds now build successfully on systems with a newer dtrace that
+require an input object file that uses the probes in the \fI.d\fR file.
+.Sp
+Previously the probe would fail and cause a build failure.
+.Sp
+[GH #13985] <https://github.com/Perl/perl5/issues/13985>
+.IP \(bu 4
+\&\fIConfigure\fR no longer probes for \fIlibnm\fR by default. Originally this was the
+"New Math" library, but the name has been re-used by the GNOME NetworkManager.
+.Sp
+[GH #15115] <https://github.com/Perl/perl5/issues/15115>
+.IP \(bu 4
+\&\fIConfigure\fR now knows about gcc 5.
+.IP \(bu 4
+Compiling perl with \fB\-DPERL_MEM_LOG\fR now works again.
+.SH "Platform Support"
+.IX Header "Platform Support"
+.SS "Platform-Specific Notes"
+.IX Subsection "Platform-Specific Notes"
+.IP Darwin 4
+.IX Item "Darwin"
+Compiling perl with \fB\-Dusecbacktrace\fR on Darwin now works again.
+.Sp
+[GH #15245] <https://github.com/Perl/perl5/issues/15245>
+.IP "OS X/Darwin" 4
+.IX Item "OS X/Darwin"
+Builds with both \fB\-DDEBUGGING\fR and threading enabled would fail with a "panic:
+free from wrong pool" error when built or tested from Terminal on OS X. This
+was caused by perl's internal management of the environment conflicting with an
+atfork handler using the libc \f(CWsetenv()\fR function to update the environment.
+.Sp
+Perl now uses \f(CWsetenv()\fR/\f(CWunsetenv()\fR to update the environment on OS X.
+.Sp
+[GH #14955] <https://github.com/Perl/perl5/issues/14955>
+.IP ppc64el 4
+.IX Item "ppc64el"
+The floating point format of ppc64el (Debian naming for little-endian PowerPC)
+is now detected correctly.
+.IP Tru64 4
+.IX Item "Tru64"
+A test failure in \fIt/porting/extrefs.t\fR has been fixed.
+.SH "Internal Changes"
+.IX Header "Internal Changes"
+.IP \(bu 4
+An unwarranted assertion in \f(CWPerl_newATTRSUB_x()\fR has been removed. If a stub
+subroutine definition with a prototype has been seen, then any subsequent stub
+(or definition) of the same subroutine with an attribute was causing an
+assertion failure because of a null pointer.
+.Sp
+[GH #15081] <https://github.com/Perl/perl5/issues/15081>
+.SH "Selected Bug Fixes"
+.IX Header "Selected Bug Fixes"
+.IP \(bu 4
+Calls to the placeholder \f(CW&PL_sv_yes\fR used internally when an \f(CWimport()\fR or
+\&\f(CWunimport()\fR method isn't found now correctly handle scalar context.
+[GH #14902] <https://github.com/Perl/perl5/issues/14902>
+.IP \(bu 4
+The \f(CWpipe()\fR operator would assert for \f(CW\*(C`DEBUGGING\*(C'\fR builds
+instead of producing the correct error message. The condition asserted on is
+detected and reported on correctly without the assertions, so the assertions
+were removed.
+[GH #15015] <https://github.com/Perl/perl5/issues/15015>
+.IP \(bu 4
+In some cases, failing to parse a here-doc would attempt to use freed memory.
+This was caused by a pointer not being restored correctly.
+[GH #15009] <https://github.com/Perl/perl5/issues/15009>
+.IP \(bu 4
+Perl now reports more context when it sees an array where it expects to see an
+operator, and avoids an assertion failure.
+[GH #14472] <https://github.com/Perl/perl5/issues/14472>
+.IP \(bu 4
+If a here-doc was found while parsing another operator, the parser had already
+read end of file, and the here-doc was not terminated, perl could produce an
+assertion or a segmentation fault. This now reliably complains about the
+unterminated here-doc.
+[GH #14789] <https://github.com/Perl/perl5/issues/14789>
+.IP \(bu 4
+Parsing beyond the end of the buffer when processing a \f(CW\*(C`#line\*(C'\fR directive with
+no filename is now avoided.
+[GH #15139] <https://github.com/Perl/perl5/issues/15139>
+.IP \(bu 4
+Perl 5.22.0 added support for the C99 hexadecimal floating point notation, but
+sometimes misparsed hex floats. This has been fixed.
+[GH #15120] <https://github.com/Perl/perl5/issues/15120>
+.IP \(bu 4
+Certain regex patterns involving a complemented posix class in an inverted
+bracketed character class, and matching something else optionally would
+improperly fail to match. An example of one that could fail is
+\&\f(CW\*(C`qr/_?[^\eWbar]\ex{100}/\*(C'\fR. This has been fixed.
+[GH #15181] <https://github.com/Perl/perl5/issues/15181>
+.IP \(bu 4
+Fixed an issue with \f(CWpack()\fR where \f(CW\*(C`pack "H"\*(C'\fR (and
+\&\f(CW\*(C`pack "h"\*(C'\fR) could read past the source when given a non\-utf8 source and a
+utf8 target.
+[GH #14977] <https://github.com/Perl/perl5/issues/14977>
+.IP \(bu 4
+Fixed some cases where perl would abort due to a segmentation fault, or a
+C\-level assert.
+[GH #14941] <https://github.com/Perl/perl5/issues/14941>
+[GH #14962] <https://github.com/Perl/perl5/issues/14962>
+[GH #14963] <https://github.com/Perl/perl5/issues/14963>
+[GH #14997] <https://github.com/Perl/perl5/issues/14997>
+[GH #15039] <https://github.com/Perl/perl5/issues/15039>
+[GH #15247] <https://github.com/Perl/perl5/issues/15247>
+[GH #15251] <https://github.com/Perl/perl5/issues/15251>
+.IP \(bu 4
+A memory leak when setting \f(CW$ENV{foo}\fR on Darwin has been fixed.
+[GH #14955] <https://github.com/Perl/perl5/issues/14955>
+.IP \(bu 4
+Perl now correctly raises an error when trying to compile patterns with
+unterminated character classes while there are trailing backslashes.
+[GH #14919] <https://github.com/Perl/perl5/issues/14919>
+.IP \(bu 4
+\&\f(CW\*(C`NOTHING\*(C'\fR regops and \f(CW\*(C`EXACTFU_SS\*(C'\fR regops in \f(CWmake_trie()\fR are now handled
+properly.
+[GH #14945] <https://github.com/Perl/perl5/issues/14945>
+.IP \(bu 4
+Perl now only tests \f(CWsemctl()\fR if we have everything needed to use it. In
+FreeBSD the \f(CWsemctl()\fR entry point may exist, but it can be disabled by
+policy.
+[GH #15180] <https://github.com/Perl/perl5/issues/15180>
+.IP \(bu 4
+A regression that allowed undeclared barewords as hash keys to work despite
+strictures has been fixed.
+[GH #15099] <https://github.com/Perl/perl5/issues/15099>
+.IP \(bu 4
+As an optimization (introduced in Perl 5.20.0), \f(CWuc()\fR,
+\&\f(CWlc()\fR, \f(CWucfirst()\fR and
+\&\f(CWlcfirst()\fR sometimes modify their argument in-place
+rather than returning a modified copy. The criteria for this optimization has
+been made stricter to avoid these functions accidentally modifying in-place
+when they should not, which has been happening in some cases, e.g. in
+List::Util.
+.IP \(bu 4
+Excessive memory usage in the compilation of some regular expressions involving
+non-ASCII characters has been reduced. A more complete fix is forthcoming in
+Perl 5.24.0.
+.SH Acknowledgements
+.IX Header "Acknowledgements"
+Perl 5.22.2 represents approximately 5 months of development since Perl 5.22.1
+and contains approximately 3,000 lines of changes across 110 files from 24
+authors.
+.PP
+Excluding auto-generated files, documentation and release tools, there were
+approximately 1,500 lines of changes to 52 .pm, .t, .c and .h files.
+.PP
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed
+the improvements that became Perl 5.22.2:
+.PP
+Aaron Crane, Abigail, Andreas König, Aristotle Pagaltzis, Chris 'BinGOs'
+Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, David Golden, David
+Mitchell, H.Merijn Brand, James E Keenan, Jarkko Hietaniemi, Karen Etheridge,
+Karl Williamson, Matthew Horsfall, Niko Tyni, Ricardo Signes, Sawyer X, Stevan
+Little, Steve Hay, Todd Rinaldo, Tony Cook, Vladimir Timofeev, Yves Orton.
+.PP
+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.
+.PP
+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.
+.PP
+For a more complete list of all of Perl's historical contributors, please see
+the \fIAUTHORS\fR file in the Perl source distribution.
+.SH "Reporting Bugs"
+.IX Header "Reporting Bugs"
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+https://rt.perl.org/ . There may also be information at http://www.perl.org/ ,
+the Perl Home Page.
+.PP
+If you believe you have an unreported bug, please run the perlbug 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 \f(CW\*(C`perl \-V\*(C'\fR,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+.PP
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5\-security\-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who will be
+able to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+The \fIChanges\fR file for an explanation of how to view exhaustive details on
+what changed.
+.PP
+The \fIINSTALL\fR file for how to build Perl.
+.PP
+The \fIREADME\fR file for general stuff.
+.PP
+The \fIArtistic\fR and \fICopying\fR files for copyright information.