Skip to content

Commit e512a4c

Browse files
New perldelta for 5.41.11
1 parent 4444220 commit e512a4c

File tree

10 files changed

+559
-107
lines changed

10 files changed

+559
-107
lines changed

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5751,6 +5751,7 @@ pod/perl5401delta.pod Perl changes in version 5.40.1
57515751
pod/perl5402delta.pod Perl changes in version 5.40.2
57525752
pod/perl5410delta.pod Perl changes in version 5.41.0
57535753
pod/perl54110delta.pod Perl changes in version 5.41.10
5754+
pod/perl54111delta.pod Perl changes in version 5.41.11
57545755
pod/perl5411delta.pod Perl changes in version 5.41.1
57555756
pod/perl5412delta.pod Perl changes in version 5.41.2
57565757
pod/perl5413delta.pod Perl changes in version 5.41.3

Makefile.SH

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@ esac
627627

628628
$spitshell >>$Makefile <<'!NO!SUBS!'
629629
630-
perltoc_pod_prereqs = extra.pods pod/perl54111delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
630+
perltoc_pod_prereqs = extra.pods pod/perl54112delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
631631
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
632632
generated_headers = uudmap.h bitcount.h mg_data.h
633633
@@ -1136,9 +1136,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
11361136
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
11371137
$(MINIPERL) pod/perlmodlib.PL -q
11381138
1139-
pod/perl54111delta.pod: pod/perldelta.pod
1140-
$(RMS) pod/perl54111delta.pod
1141-
$(LNS) perldelta.pod pod/perl54111delta.pod
1139+
pod/perl54112delta.pod: pod/perldelta.pod
1140+
$(RMS) pod/perl54112delta.pod
1141+
$(LNS) perldelta.pod pod/perl54112delta.pod
11421142
11431143
extra.pods: $(MINIPERL_EXE)
11441144
-@test ! -f extra.pods || rm -f `cat extra.pods`

pod/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
/roffitall
4848

4949
# generated
50-
/perl54111delta.pod
50+
/perl54112delta.pod
5151
/perlapi.pod
5252
/perlintern.pod
5353
/perlmodlib.pod

pod/perl.pod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ aux h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
181181

182182
perlhist Perl history records
183183
perldelta Perl changes since previous version
184+
perl54111delta Perl changes in version 5.41.11
184185
perl54110delta Perl changes in version 5.41.10
185186
perl5419delta Perl changes in version 5.41.9
186187
perl5418delta Perl changes in version 5.41.8

pod/perl54111delta.pod

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
=encoding utf8
2+
3+
=head1 NAME
4+
5+
perl54111delta - what is new for perl v5.41.11
6+
7+
=head1 DESCRIPTION
8+
9+
This document describes differences between the 5.41.10 release and the 5.41.11
10+
release.
11+
12+
If you are upgrading from an earlier release such as 5.41.9, first read
13+
L<perl54110delta>, which describes differences between 5.41.9 and 5.41.10.
14+
15+
=head1 Core Enhancements
16+
17+
=head2 Unicode 16.0 supported
18+
19+
Perl now supports Unicode 16.0
20+
L<https://www.unicode.org/versions/Unicode16.0.0/> including the changes
21+
introduced in 15.1 L<https://www.unicode.org/versions/Unicode15.1.0/>.
22+
23+
=head1 Security
24+
25+
=head2 [CVE-2024-56406] Heap buffer overflow vulnerability with tr//
26+
27+
A heap buffer overflow vulnerability was discovered in Perl.
28+
29+
When there are non-ASCII bytes in the left-hand-side of the C<tr> operator,
30+
C<S_do_trans_invmap()> can overflow the destination pointer C<d>.
31+
32+
$ perl -e '$_ = "\x{FF}" x 1000000; tr/\xFF/\x{100}/;'
33+
Segmentation fault (core dumped)
34+
35+
It is believed that this vulnerability can enable Denial of Service or
36+
Arbitrary Code Execution attacks on platforms that lack sufficient defenses.
37+
38+
Discovered by: Nathan Mills.
39+
40+
=head1 Modules and Pragmata
41+
42+
=head2 Updated Modules and Pragmata
43+
44+
=over 4
45+
46+
=item *
47+
48+
L<Data::Dumper> has been upgraded from version 2.191 to 2.192.
49+
50+
=item *
51+
52+
L<ExtUtils::MakeMaker> has been upgraded from version 7.72 to 7.74.
53+
54+
=item *
55+
56+
L<Fcntl> has been upgraded from version 1.19 to 1.20.
57+
58+
=item *
59+
60+
L<File::Spec> has been upgraded from version 3.92 to 3.94.
61+
62+
=item *
63+
64+
L<Math::BigInt> has been upgraded from version 2.004001 to 2.005002.
65+
66+
=item *
67+
68+
L<Math::BigInt::FastCalc> has been upgraded from version 0.5019 to 0.5020.
69+
70+
=item *
71+
72+
L<Module::CoreList> has been upgraded from version 5.20250321 to 5.20250420.
73+
74+
=item *
75+
76+
L<Pod::Usage> has been upgraded from version 2.03 to 2.05.
77+
78+
=item *
79+
80+
L<Storable> has been upgraded from version 3.36 to 3.37.
81+
82+
=item *
83+
84+
L<Test::Simple> has been upgraded from version 1.302209 to 1.302210.
85+
86+
=item *
87+
88+
L<Time::HiRes> has been upgraded from version 1.9777 to 1.9778.
89+
90+
=item *
91+
92+
L<Time::Piece> has been upgraded from version 1.35 to 1.36.
93+
94+
=item *
95+
96+
L<Unicode::UCD> has been upgraded from version 0.79 to 0.80.
97+
98+
=item *
99+
100+
L<XS::APItest> has been upgraded from version 1.41 to 1.42.
101+
102+
This fixes [L<GH #16654|https://github.com/Perl/perl5/issues/16654>].
103+
104+
=back
105+
106+
=head1 Documentation
107+
108+
=head2 perlop
109+
110+
=over 4
111+
112+
=item *
113+
114+
Normalized alignment of verbatim sections, fixing how they are displayed by
115+
some Pod viewers that strip indentation.
116+
117+
=back
118+
119+
=head2 Changes to Existing Documentation
120+
121+
We have attempted to update the documentation to reflect the changes
122+
listed in this document. If you find any we have missed, open an issue
123+
at L<https://github.com/Perl/perl5/issues>.
124+
125+
Additionally, the following selected changes have been made:
126+
127+
=head3 L<perlguts>
128+
129+
=over 4
130+
131+
=item *
132+
133+
Additional caveats have been added to the description of C<TARG>.
134+
135+
=back
136+
137+
=head2 Platform-Specific Notes
138+
139+
=over 4
140+
141+
=item MacOS (Darwin)
142+
143+
Collation of strings using locales on MacOS 15 (Darwin 24) and up has
144+
been turned off due to a failed assertion in its libc.
145+
146+
=back
147+
148+
=head1 Selected Bug Fixes
149+
150+
=over 4
151+
152+
=item *
153+
154+
In some cases an C<eval> would not add integer parts to the source
155+
lines saved by the debugger. [L<GH #23151|https://github.com/Perl/perl5/issues/23151>]
156+
157+
=item *
158+
159+
Save debugger lines as C<PVIV> SVs rather than as C<PVMG> SVs as they
160+
don't need magic, aren't blessed and don't need to store a floating
161+
point part. This should save 24 bytes per stored line for 64-bit
162+
systems, more for C<-Duselongdouble> or C<-Dusequadmath> builds.
163+
Discussed in [L<GH #23171|https://github.com/Perl/perl5/issues/23171>].
164+
165+
=item *
166+
167+
Ensure cloning the save stack for fork emulation doesn't duplicate
168+
freeing the RExC state. [L<GH #23022|https://github.com/Perl/perl5/issues/23022>]
169+
170+
=item *
171+
172+
Smartmatch against a code reference that uses a loop exit such as
173+
C<last> would crash perl. [L<GH #16608|https://github.com/Perl/perl5/issues/16608>]
174+
175+
=item *
176+
177+
Class initializers and C<ADJUST> blocks, per L<perlclass>, that
178+
called C<last> or other loop exits would crash perl. Same cause as
179+
for [L<GH #16608|https://github.com/Perl/perl5/issues/16608>].
180+
181+
=item *
182+
183+
Prevent a signature parameter of the form C<$ => from leaking an OP at
184+
compile-time. [L<GH #23187|https://github.com/Perl/perl5/issues/23187>]
185+
186+
=back
187+
188+
=head1 Acknowledgements
189+
190+
Perl 5.41.11 represents approximately 4 weeks of development since Perl
191+
5.41.10 and contains approximately 250,000 lines of changes across 460 files
192+
from 22 authors.
193+
194+
Excluding auto-generated files, documentation and release tools, there were
195+
approximately 39,000 lines of changes to 320 .pm, .t, .c and .h files.
196+
197+
Perl continues to flourish into its fourth decade thanks to a vibrant
198+
community of users and developers. The following people are known to have
199+
contributed the improvements that became Perl 5.41.11:
200+
201+
Chad Granum, Chris 'BinGOs' Williams, Dan Book, Daniel Dragan, Graham Knop,
202+
James E Keenan, Karen Etheridge, Karl Williamson, Leon Timmermans, Lukas
203+
Mai, Marek Rouchal, Paul Evans, Peter Eisentraut, Peter John Acklam,
204+
Philippe Bruhat (BooK), Richard Leach, Steve Hay, TAKAI Kousuke, Thibault
205+
Duponchelle, Tony Cook, Unicode Consortium, Vladimír Marek.
206+
207+
The list above is almost certainly incomplete as it is automatically
208+
generated from version control history. In particular, it does not include
209+
the names of the (very much appreciated) contributors who reported issues to
210+
the Perl bug tracker.
211+
212+
Many of the changes included in this version originated in the CPAN modules
213+
included in Perl's core. We're grateful to the entire CPAN community for
214+
helping Perl to flourish.
215+
216+
For a more complete list of all of Perl's historical contributors, please
217+
see the F<AUTHORS> file in the Perl source distribution.
218+
219+
=head1 Reporting Bugs
220+
221+
If you find what you think is a bug, you might check the perl bug database
222+
at L<https://github.com/Perl/perl5/issues>. There may also be information at
223+
L<https://www.perl.org/>, the Perl Home Page.
224+
225+
If you believe you have an unreported bug, please open an issue at
226+
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
227+
tiny but sufficient test case.
228+
229+
If the bug you are reporting has security implications which make it
230+
inappropriate to send to a public issue tracker, then see
231+
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
232+
for details of how to report the issue.
233+
234+
=head1 Give Thanks
235+
236+
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
237+
you can do so by running the C<perlthanks> program:
238+
239+
perlthanks
240+
241+
This will send an email to the Perl 5 Porters list with your show of thanks.
242+
243+
=head1 SEE ALSO
244+
245+
The F<Changes> file for an explanation of how to view exhaustive details on
246+
what changed.
247+
248+
The F<INSTALL> file for how to build Perl.
249+
250+
The F<README> file for general stuff.
251+
252+
The F<Artistic> and F<Copying> files for copyright information.
253+
254+
=cut

0 commit comments

Comments
 (0)