summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-40/man1/perl5241delta.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/fedora-40/man1/perl5241delta.1')
-rw-r--r--upstream/fedora-40/man1/perl5241delta.1285
1 files changed, 285 insertions, 0 deletions
diff --git a/upstream/fedora-40/man1/perl5241delta.1 b/upstream/fedora-40/man1/perl5241delta.1
new file mode 100644
index 00000000..b43ac03e
--- /dev/null
+++ b/upstream/fedora-40/man1/perl5241delta.1
@@ -0,0 +1,285 @@
+.\" -*- 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 "PERL5241DELTA 1"
+.TH PERL5241DELTA 1 2024-01-25 "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
+perl5241delta \- what is new for perl v5.24.1
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This document describes differences between the 5.24.0 release and the 5.24.1
+release.
+.PP
+If you are upgrading from an earlier release such as 5.22.0, first read
+perl5240delta, which describes differences between 5.22.0 and 5.24.0.
+.SH Security
+.IX Header "Security"
+.SS "\fB\-Di\fP switch is now required for PerlIO debugging output"
+.IX Subsection "-Di switch is now required for PerlIO debugging output"
+Previously PerlIO debugging output would be sent to the file specified by the
+\&\f(CW\*(C`PERLIO_DEBUG\*(C'\fR environment variable if perl wasn't running setuid and the
+\&\fB\-T\fR or \fB\-t\fR switches hadn't been parsed yet.
+.PP
+If perl performed output at a point where it hadn't yet parsed its switches
+this could result in perl creating or overwriting the file named by
+\&\f(CW\*(C`PERLIO_DEBUG\*(C'\fR even when the \fB\-T\fR switch had been supplied.
+.PP
+Perl now requires the \fB\-Di\fR switch to produce PerlIO debugging output. By
+default this is written to \f(CW\*(C`stderr\*(C'\fR, but can optionally be redirected to a
+file by setting the \f(CW\*(C`PERLIO_DEBUG\*(C'\fR environment variable.
+.PP
+If perl is running setuid or the \fB\-T\fR switch was supplied \f(CW\*(C`PERLIO_DEBUG\*(C'\fR is
+ignored and the debugging output is sent to \f(CW\*(C`stderr\*(C'\fR as for any other \fB\-D\fR
+switch.
+.SS "Core modules and tools no longer search \fI"".""\fP for optional modules"
+.IX Subsection "Core modules and tools no longer search ""."" for optional modules"
+The tools and many modules supplied in core no longer search the default
+current directory entry in \f(CW@INC\fR for optional modules. For
+example, Storable will remove the final \fI"."\fR from \f(CW@INC\fR before trying to
+load Log::Agent.
+.PP
+This prevents an attacker injecting an optional module into a process run by
+another user where the current directory is writable by the attacker, e.g. the
+\&\fI/tmp\fR directory.
+.PP
+In most cases this removal should not cause problems, but difficulties were
+encountered with base, which treats every module name supplied as optional.
+These difficulties have not yet been resolved, so for this release there are no
+changes to base. We hope to have a fix for base in Perl 5.24.2.
+.PP
+To protect your own code from this attack, either remove the default \fI"."\fR
+entry from \f(CW@INC\fR at the start of your script, so:
+.PP
+.Vb 3
+\& #!/usr/bin/perl
+\& use strict;
+\& ...
+.Ve
+.PP
+becomes:
+.PP
+.Vb 4
+\& #!/usr/bin/perl
+\& BEGIN { pop @INC if $INC[\-1] eq \*(Aq.\*(Aq }
+\& use strict;
+\& ...
+.Ve
+.PP
+or for modules, remove \fI"."\fR from a localized \f(CW@INC\fR, so:
+.PP
+.Vb 1
+\& my $can_foo = eval { require Foo; }
+.Ve
+.PP
+becomes:
+.PP
+.Vb 5
+\& my $can_foo = eval {
+\& local @INC = @INC;
+\& pop @INC if $INC[\-1] eq \*(Aq.\*(Aq;
+\& require Foo;
+\& };
+.Ve
+.SH "Incompatible Changes"
+.IX Header "Incompatible Changes"
+Other than the security changes above there are no changes intentionally
+incompatible with Perl 5.24.0. 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
+Archive::Tar has been upgraded from version 2.04 to 2.04_01.
+.IP \(bu 4
+bignum has been upgraded from version 0.42 to 0.42_01.
+.IP \(bu 4
+CPAN has been upgraded from version 2.11 to 2.11_01.
+.IP \(bu 4
+Digest has been upgraded from version 1.17 to 1.17_01.
+.IP \(bu 4
+Digest::SHA has been upgraded from version 5.95 to 5.95_01.
+.IP \(bu 4
+Encode has been upgraded from version 2.80 to 2.80_01.
+.IP \(bu 4
+ExtUtils::MakeMaker has been upgraded from version 7.10_01 to 7.10_02.
+.IP \(bu 4
+File::Fetch has been upgraded from version 0.48 to 0.48_01.
+.IP \(bu 4
+File::Spec has been upgraded from version 3.63 to 3.63_01.
+.IP \(bu 4
+HTTP::Tiny has been upgraded from version 0.056 to 0.056_001.
+.IP \(bu 4
+IO has been upgraded from version 1.36 to 1.36_01.
+.IP \(bu 4
+The IO-Compress modules have been upgraded from version 2.069 to 2.069_001.
+.IP \(bu 4
+IPC::Cmd has been upgraded from version 0.92 to 0.92_01.
+.IP \(bu 4
+JSON::PP has been upgraded from version 2.27300 to 2.27300_01.
+.IP \(bu 4
+Locale::Maketext has been upgraded from version 1.26 to 1.26_01.
+.IP \(bu 4
+Locale::Maketext::Simple has been upgraded from version 0.21 to 0.21_01.
+.IP \(bu 4
+Memoize has been upgraded from version 1.03 to 1.03_01.
+.IP \(bu 4
+Module::CoreList has been upgraded from version 5.20160506 to 5.20170114_24.
+.IP \(bu 4
+Net::Ping has been upgraded from version 2.43 to 2.43_01.
+.IP \(bu 4
+Parse::CPAN::Meta has been upgraded from version 1.4417 to 1.4417_001.
+.IP \(bu 4
+Pod::Html has been upgraded from version 1.22 to 1.2201.
+.IP \(bu 4
+Pod::Perldoc has been upgraded from version 3.25_02 to 3.25_03.
+.IP \(bu 4
+Storable has been upgraded from version 2.56 to 2.56_01.
+.IP \(bu 4
+Sys::Syslog has been upgraded from version 0.33 to 0.33_01.
+.IP \(bu 4
+Test has been upgraded from version 1.28 to 1.28_01.
+.IP \(bu 4
+Test::Harness has been upgraded from version 3.36 to 3.36_01.
+.IP \(bu 4
+XSLoader has been upgraded from version 0.21 to 0.22, fixing a security hole
+in which binary files could be loaded from a path outside of \f(CW@INC\fR.
+[GH #15418] <https://github.com/Perl/perl5/issues/15418>
+.SH Documentation
+.IX Header "Documentation"
+.SS "Changes to Existing Documentation"
+.IX Subsection "Changes to Existing Documentation"
+\fIperlapio\fR
+.IX Subsection "perlapio"
+.IP \(bu 4
+The documentation of \f(CW\*(C`PERLIO_DEBUG\*(C'\fR has been updated.
+.PP
+\fIperlrun\fR
+.IX Subsection "perlrun"
+.IP \(bu 4
+The new \fB\-Di\fR switch has been documented, and the documentation of
+\&\f(CW\*(C`PERLIO_DEBUG\*(C'\fR has been updated.
+.SH Testing
+.IX Header "Testing"
+.IP \(bu 4
+A new test script, \fIt/run/switchDx.t\fR, has been added to test that the new
+\&\fB\-Di\fR switch is working correctly.
+.SH "Selected Bug Fixes"
+.IX Header "Selected Bug Fixes"
+.IP \(bu 4
+The change to hashbang redirection introduced in Perl 5.24.0, whereby perl
+would redirect to another interpreter (Perl 6) if it found a hashbang path
+which contains "perl" followed by "6", has been reverted because it broke in
+cases such as \f(CW\*(C`#!/opt/perl64/bin/perl\*(C'\fR.
+.SH Acknowledgements
+.IX Header "Acknowledgements"
+Perl 5.24.1 represents approximately 8 months of development since Perl 5.24.0
+and contains approximately 8,100 lines of changes across 240 files from 18
+authors.
+.PP
+Excluding auto-generated files, documentation and release tools, there were
+approximately 2,200 lines of changes to 170 .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.24.1:
+.PP
+Aaron Crane, Alex Vandiver, Aristotle Pagaltzis, Chad Granum, Chris 'BinGOs'
+Williams, Craig A. Berry, Father Chrysostomos, James E Keenan, Jarkko
+Hietaniemi, Karen Etheridge, Leon Timmermans, Matthew Horsfall, Ricardo Signes,
+Sawyer X, Sébastien Aperghis-Tramoni, Stevan Little, Steve Hay, Tony Cook.
+.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 see
+"SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for details of how to
+report the issue.
+.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.