Skip to content

Commit 0b89c82

Browse files
New perldelta for 5.41.7
1 parent a6614ab commit 0b89c82

File tree

10 files changed

+586
-134
lines changed

10 files changed

+586
-134
lines changed

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5739,6 +5739,7 @@ pod/perl5412delta.pod Perl changes in version 5.41.2
57395739
pod/perl5413delta.pod Perl changes in version 5.41.3
57405740
pod/perl5414delta.pod Perl changes in version 5.41.4
57415741
pod/perl5415delta.pod Perl changes in version 5.41.5
5742+
pod/perl5416delta.pod Perl changes in version 5.41.6
57425743
pod/perl561delta.pod Perl changes in version 5.6.1
57435744
pod/perl56delta.pod Perl changes in version 5.6
57445745
pod/perl581delta.pod Perl changes in version 5.8.1

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/perl5416delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
630+
perltoc_pod_prereqs = extra.pods pod/perl5417delta.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/perl5416delta.pod: pod/perldelta.pod
1140-
$(RMS) pod/perl5416delta.pod
1141-
$(LNS) perldelta.pod pod/perl5416delta.pod
1139+
pod/perl5417delta.pod: pod/perldelta.pod
1140+
$(RMS) pod/perl5417delta.pod
1141+
$(LNS) perldelta.pod pod/perl5417delta.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-
/perl5416delta.pod
50+
/perl5417delta.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+
perl5416delta Perl changes in version 5.41.6
184185
perl5415delta Perl changes in version 5.41.5
185186
perl5414delta Perl changes in version 5.41.4
186187
perl5413delta Perl changes in version 5.41.3

pod/perl5416delta.pod

Lines changed: 295 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
=encoding utf8
2+
3+
=head1 NAME
4+
5+
perl5416delta - what is new for perl v5.41.6
6+
7+
=head1 DESCRIPTION
8+
9+
This document describes differences between the 5.41.5 release and the 5.41.6
10+
release.
11+
12+
If you are upgrading from an earlier release such as 5.41.4, first read
13+
L<perl5415delta>, which describes differences between 5.41.4 and 5.41.5.
14+
15+
=head1 Performance Enhancements
16+
17+
=over 4
18+
19+
=item *
20+
21+
Code that uses the C<indexed> function from the L<builtin> module to generate
22+
a list of index/value pairs out of array which is then passed into a
23+
two-variable C<foreach> list to unpack those again is now optimised to be more
24+
efficient.
25+
26+
my @array = (...);
27+
28+
foreach my ($idx, $val) (builtin::indexed @array) {
29+
...
30+
}
31+
32+
In particular, a temporary list twice the size of the original
33+
array is no longer generated. Instead, the list iterates down the array
34+
in-place directly, in the same way that C<foreach (@array)> would do.
35+
36+
=back
37+
38+
=head1 Modules and Pragmata
39+
40+
=head2 Updated Modules and Pragmata
41+
42+
=over 4
43+
44+
=item *
45+
46+
L<B::Deparse> has been upgraded from version 1.78 to 1.80.
47+
48+
It now retains parens around logical negations on the left-hand side of
49+
comparisons (such as C<(!$x) == $y>) because omitting them would trigger a
50+
C<Possible precedence problem> warning since perl v5.41.4. [L<GH #22661|https://github.com/Perl/perl5/issues/22661>]
51+
52+
=item *
53+
54+
L<builtin> has been upgraded from version 0.015 to 0.016.
55+
56+
=item *
57+
58+
L<CPAN> has been upgraded from version 2.37 to 2.38.
59+
60+
=item *
61+
62+
L<DB> has been upgraded from version 1.08 to 1.09.
63+
64+
=item *
65+
66+
L<ExtUtils::ParseXS> has been upgraded from version 3.55 to 3.56.
67+
68+
=item *
69+
70+
L<ExtUtils::Typemaps> has been upgraded from version 3.55 to 3.56.
71+
72+
=item *
73+
74+
L<feature> has been upgraded from version 1.91 to 1.92.
75+
76+
=item *
77+
78+
L<fields> has been upgraded from version 2.25 to 2.26.
79+
80+
=item *
81+
82+
L<HTTP::Tiny> has been upgraded from version 0.088 to 0.090.
83+
84+
=item *
85+
86+
L<IPC::Open3> has been upgraded from version 1.23 to 1.24.
87+
L<IPC::Open2> has been upgraded from version 1.07 to 1.08.
88+
89+
There is now a way to pass lexical filehandles to child processes directly
90+
(instead of having the module create a pipe internally). Previously, only
91+
bareword filehandles could be used in "dup mode".
92+
93+
=item *
94+
95+
L<Math::Complex> has been upgraded from version 1.62 to 1.63.
96+
97+
The complex number parser for string inputs has been improved. In particular,
98+
C<1+i>, C<123i>, C<inf>, C<-inf>, C<infi>, and C<-infi> are now handled
99+
correctly.
100+
101+
=item *
102+
103+
L<Memoize> has been upgraded from version 1.16 to 1.17.
104+
105+
=item *
106+
107+
L<Module::CoreList> has been upgraded from version 5.20241020 to 5.20241120.
108+
109+
=item *
110+
111+
L<NDBM_File> has been upgraded from version 1.17 to 1.18.
112+
113+
=item *
114+
115+
L<ODBM_File> has been upgraded from version 1.18 to 1.19.
116+
117+
=item *
118+
119+
L<parent> has been upgraded from version 0.242 to 0.242_001.
120+
121+
=item *
122+
123+
L<POSIX> has been upgraded from version 2.22 to 2.23.
124+
125+
=item *
126+
127+
L<Scalar::Util> has been upgraded from version 1.68 to 1.68_01.
128+
129+
=item *
130+
131+
L<Term::Table> has been upgraded from version 0.022 to 0.023.
132+
133+
=item *
134+
135+
L<warnings> has been upgraded from version 1.70 to 1.71.
136+
137+
=back
138+
139+
=head1 Platform Support
140+
141+
=head2 Platform-Specific Notes
142+
143+
=over 4
144+
145+
=item arm64 DARWIN
146+
147+
Fix arm64 darwin hints when using use64bitall with Configure [L<GH #22672|https://github.com/Perl/perl5/issues/22672>]
148+
149+
=item Android
150+
151+
Changes to perl_langinfo.h for Android [L<GH #22650|https://github.com/Perl/perl5/issues/22650>] related to [L<GH #22627|https://github.com/Perl/perl5/issues/22627>]
152+
153+
=item Cygwin
154+
155+
cygwin.c: fix several silly/terrible C errors [L<GH #22724|https://github.com/Perl/perl5/issues/22724>]
156+
157+
workaround DLL load address conflict [L<GH #22696|https://github.com/Perl/perl5/issues/22696>]
158+
159+
=back
160+
161+
=head1 Internal Changes
162+
163+
=over 4
164+
165+
=item *
166+
167+
Enable removing most of mathoms.c and stub functions [L<GH #22691|https://github.com/Perl/perl5/issues/22691>] and [L<GH #22714|https://github.com/Perl/perl5/issues/22714>]
168+
169+
=item *
170+
171+
reinstate apostrophe as package separator behind a default enabled feature,
172+
which is disabled from feature bundle 5.41.
173+
174+
=item *
175+
176+
pp_reverse: don't COW buffer just to then un-COW it [L<GH #22729|https://github.com/Perl/perl5/issues/22729>]
177+
178+
=back
179+
180+
=head1 Selected Bug Fixes
181+
182+
=over 4
183+
184+
=item *
185+
186+
The perl parser would erroneously parse like C<=cut> some other POD directives
187+
whose names start with I<cut>, prematurely terminating an embedded POD section.
188+
The following cases were affected: I<cut> followed by a digit (e.g.
189+
C<=cut2studio>), I<cut> followed by an underscore (e.g. C<=cut_grass>), and in
190+
string C<eval>, any identifier starting with I<cut> (e.g. C<=cute>).
191+
[L<GH #22759|https://github.com/Perl/perl5/issues/22759>]
192+
193+
=item *
194+
195+
Builds with C<-msse> and quadmath on 32-bit x86 systems would crash
196+
with a misaligned access early in the build. [L<GH #22577|https://github.com/Perl/perl5/issues/22577>]
197+
198+
=item *
199+
200+
On threaded builds on POSIX-like systems, if the perl signal handler
201+
receives we now resend the signal to the main perl thread. Previously
202+
this would crash. [GH #22487]
203+
204+
=back
205+
206+
=head1 Known Problems
207+
208+
=over 4
209+
210+
=item *
211+
212+
C<cygwin> builds may fail during testing due to a conflict between the
213+
load addresses of F<cygperl5_41_6.dll> and
214+
F<olib/auto/I18N/Langinfo/Langinfo.dll>. This will also be visible
215+
for anything that attempts to fork() with C<I18N::LangInfo> loaded.
216+
217+
This is known to fail for builds with options that increase the size
218+
of the binary, such as C<-DDEBUGGING>, C<-Doptimize="-O0 -g"> or
219+
C<-Doptimize="-O2 -g -march=x86-64-v2">.
220+
221+
This can be avoided by building perl with
222+
C<-Astatic_ext=I18N/Langinfo>.
223+
224+
The base addresses are generated by the linker based on the names of
225+
the DLLs, so this is expected to clear up for 5.41.7.
226+
227+
[L<GH #22695|https://github.com/Perl/perl5/issues/22695>]
228+
229+
=back
230+
231+
=head1 Acknowledgements
232+
233+
Perl 5.41.6 represents approximately 4 weeks of development since Perl
234+
5.41.5 and contains approximately 8,400 lines of changes across 180 files
235+
from 14 authors.
236+
237+
Excluding auto-generated files, documentation and release tools, there were
238+
approximately 6,700 lines of changes to 120 .pm, .t, .c and .h files.
239+
240+
Perl continues to flourish into its fourth decade thanks to a vibrant
241+
community of users and developers. The following people are known to have
242+
contributed the improvements that became Perl 5.41.6:
243+
244+
Chad Granum, Chris 'BinGOs' Williams, Daniel Dragan, David Mitchell, Graham
245+
Knop, James E Keenan, Karl Williamson, Lukas Mai, Marin Tsanov, Paul Evans,
246+
pyrrhlin, Richard Leach, Thibault Duponchelle, Tony Cook.
247+
248+
The list above is almost certainly incomplete as it is automatically
249+
generated from version control history. In particular, it does not include
250+
the names of the (very much appreciated) contributors who reported issues to
251+
the Perl bug tracker.
252+
253+
Many of the changes included in this version originated in the CPAN modules
254+
included in Perl's core. We're grateful to the entire CPAN community for
255+
helping Perl to flourish.
256+
257+
For a more complete list of all of Perl's historical contributors, please
258+
see the F<AUTHORS> file in the Perl source distribution.
259+
260+
=head1 Reporting Bugs
261+
262+
If you find what you think is a bug, you might check the perl bug database
263+
at L<https://github.com/Perl/perl5/issues>. There may also be information at
264+
L<https://www.perl.org/>, the Perl Home Page.
265+
266+
If you believe you have an unreported bug, please open an issue at
267+
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
268+
tiny but sufficient test case.
269+
270+
If the bug you are reporting has security implications which make it
271+
inappropriate to send to a public issue tracker, then see
272+
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
273+
for details of how to report the issue.
274+
275+
=head1 Give Thanks
276+
277+
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
278+
you can do so by running the C<perlthanks> program:
279+
280+
perlthanks
281+
282+
This will send an email to the Perl 5 Porters list with your show of thanks.
283+
284+
=head1 SEE ALSO
285+
286+
The F<Changes> file for an explanation of how to view exhaustive details on
287+
what changed.
288+
289+
The F<INSTALL> file for how to build Perl.
290+
291+
The F<README> file for general stuff.
292+
293+
The F<Artistic> and F<Copying> files for copyright information.
294+
295+
=cut

0 commit comments

Comments
 (0)