Skip to content

Commit cc81c3e

Browse files
committed
New perldelta for 5.41.9
1 parent 33d067d commit cc81c3e

File tree

10 files changed

+547
-95
lines changed

10 files changed

+547
-95
lines changed

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5749,6 +5749,7 @@ pod/perl5414delta.pod Perl changes in version 5.41.4
57495749
pod/perl5415delta.pod Perl changes in version 5.41.5
57505750
pod/perl5416delta.pod Perl changes in version 5.41.6
57515751
pod/perl5417delta.pod Perl changes in version 5.41.7
5752+
pod/perl5418delta.pod Perl changes in version 5.41.8
57525753
pod/perl561delta.pod Perl changes in version 5.6.1
57535754
pod/perl56delta.pod Perl changes in version 5.6
57545755
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/perl5418delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
630+
perltoc_pod_prereqs = extra.pods pod/perl5419delta.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/perl5418delta.pod: pod/perldelta.pod
1140-
$(RMS) pod/perl5418delta.pod
1141-
$(LNS) perldelta.pod pod/perl5418delta.pod
1139+
pod/perl5419delta.pod: pod/perldelta.pod
1140+
$(RMS) pod/perl5419delta.pod
1141+
$(LNS) perldelta.pod pod/perl5419delta.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-
/perl5418delta.pod
50+
/perl5419delta.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+
perl5418delta Perl changes in version 5.41.8
184185
perl5417delta Perl changes in version 5.41.7
185186
perl5416delta Perl changes in version 5.41.6
186187
perl5415delta Perl changes in version 5.41.5

pod/perl5418delta.pod

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
=encoding utf8
2+
3+
=head1 NAME
4+
5+
perl5418delta - what is new for perl v5.41.8
6+
7+
=head1 DESCRIPTION
8+
9+
This document describes differences between the 5.41.7 release and the 5.41.8
10+
release.
11+
12+
If you are upgrading from an earlier release such as 5.41.6, first read
13+
L<perl5417delta>, which describes differences between 5.41.6 and 5.41.7.
14+
15+
=head1 Incompatible Changes
16+
17+
=head2 Removed containing function references for functions without eval
18+
19+
Perl 5.40 reintroduced unconditional references from functions to their
20+
containing functions to fix a bug introduced in Perl 5.18 that broke the
21+
special behaviour of C<eval EXPR> in package C<DB> which is used by the
22+
debugger.
23+
24+
In some cases this change led to circular reference chains between closures and
25+
other existing references, resulting in memory leaks.
26+
27+
This change has been reverted, fixing
28+
[L<GH #22547|https://github.com/Perl/perl5/issues/22547>] but re-breaking
29+
[L<GH #19370|https://github.com/Perl/perl5/issues/19370>].
30+
31+
This means the reference loops won't occur, and that lexical variables and
32+
functions from enclosing functions may not be visible in the debugger.
33+
34+
Note that calling C<eval EXPR> in a function unconditionally causes a function
35+
to reference its enclosing functions as it always has.
36+
37+
=head1 Performance Enhancements
38+
39+
=over 4
40+
41+
=item *
42+
43+
The peephole optimizer recognises the following zero-offset C<substr> patterns
44+
and swaps in a new dedicated operator (C<OP_SUBSTR_LEFT>).
45+
[L<GH #22785|https://github.com/Perl/perl5/issues/22785>]
46+
47+
substr($x, 0, ...)
48+
substr($x, 0, ..., '')
49+
50+
=back
51+
52+
=head1 Modules and Pragmata
53+
54+
=head2 Updated Modules and Pragmata
55+
56+
=over 4
57+
58+
=item *
59+
60+
L<B::Deparse> has been upgraded from version 1.81 to 1.82.
61+
62+
=item *
63+
64+
L<Config::Perl::V> has been upgraded from version 0.36 to 0.38.
65+
66+
=item *
67+
68+
L<Data::Dumper> has been upgraded from version 2.190 to 2.191.
69+
70+
=item *
71+
72+
L<DBM_Filter> has been upgraded from version 0.06 to 0.07.
73+
74+
=item *
75+
76+
L<experimental> has been upgraded from version 0.032 to 0.034.
77+
78+
=item *
79+
80+
L<ExtUtils::ParseXS> has been upgraded from version 3.56 to 3.57.
81+
82+
=item *
83+
84+
L<ExtUtils::Typemaps> has been upgraded from version 3.56 to 3.57.
85+
86+
=item *
87+
88+
L<Module::CoreList> has been upgraded from version 5.20241220 to 5.20250120.
89+
90+
=item *
91+
92+
L<Opcode> has been upgraded from version 1.67 to 1.68.
93+
94+
=item *
95+
96+
L<Term::Table> has been upgraded from version 0.023 to 0.024.
97+
98+
=item *
99+
100+
L<Test::Simple> has been upgraded from version 1.302204 to 1.302207.
101+
102+
=item *
103+
104+
L<Time::Piece> has been upgraded from version 1.3401_01 to 1.35.
105+
106+
=back
107+
108+
=head1 Documentation
109+
110+
=head2 Changes to Existing Documentation
111+
112+
We have attempted to update the documentation to reflect the changes listed in
113+
this document. If you find any we have missed, open an issue at
114+
L<https://github.com/Perl/perl5/issues>.
115+
116+
=head1 Testing
117+
118+
Tests were added and changed to reflect the other additions and changes in this
119+
release.
120+
121+
=head1 Selected Bug Fixes
122+
123+
=over 4
124+
125+
=item *
126+
127+
L<perlfunc/shmread> and L<perlfunc/shmwrite> are no longer limited to 31-bit
128+
values for their POS and SIZE arguments.
129+
[L<GH #22895|https://github.com/Perl/perl5/issues/22895>]
130+
131+
=item *
132+
133+
L<perlfunc/shmread> is now better behaved if VAR is not a plain string. If VAR
134+
is a tied variable, it calls C<STORE> once; previously, it would also call
135+
C<FETCH>, but without using the result. If VAR is a reference, the referenced
136+
entity has its refcount properly decremented when VAR is turned into a string;
137+
previously, it would leak memory.
138+
[L<GH #22898|https://github.com/Perl/perl5/issues/22898>]
139+
140+
=back
141+
142+
=head1 Acknowledgements
143+
144+
Perl 5.41.8 represents approximately 4 weeks of development since Perl 5.41.7
145+
and contains approximately 8,800 lines of changes across 370 files from 17
146+
authors.
147+
148+
Excluding auto-generated files, documentation and release tools, there were
149+
approximately 6,800 lines of changes to 320 .pm, .t, .c and .h files.
150+
151+
Perl continues to flourish into its fourth decade thanks to a vibrant community
152+
of users and developers. The following people are known to have contributed
153+
the improvements that became Perl 5.41.8:
154+
155+
Branislav Zahradník, Chad Granum, Dan Book, David Mitchell, Graham Knop,
156+
H.Merijn Brand, James E Keenan, Karl Williamson, Lukas Mai, Max Maischein, Paul
157+
Evans, Philippe Bruhat (BooK), Richard Leach, Sergei Zhmylev, Steve Hay, TAKAI
158+
Kousuke, Tony Cook.
159+
160+
The list above is almost certainly incomplete as it is automatically generated
161+
from version control history. In particular, it does not include the names of
162+
the (very much appreciated) contributors who reported issues to the Perl bug
163+
tracker.
164+
165+
Many of the changes included in this version originated in the CPAN modules
166+
included in Perl's core. We're grateful to the entire CPAN community for
167+
helping Perl to flourish.
168+
169+
For a more complete list of all of Perl's historical contributors, please see
170+
the F<AUTHORS> file in the Perl source distribution.
171+
172+
=head1 Reporting Bugs
173+
174+
If you find what you think is a bug, you might check the perl bug database at
175+
L<https://github.com/Perl/perl5/issues>. There may also be information at
176+
L<https://www.perl.org/>, the Perl Home Page.
177+
178+
If you believe you have an unreported bug, please open an issue at
179+
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
180+
tiny but sufficient test case.
181+
182+
If the bug you are reporting has security implications which make it
183+
inappropriate to send to a public issue tracker, then see
184+
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to
185+
report the issue.
186+
187+
=head1 Give Thanks
188+
189+
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you
190+
can do so by running the C<perlthanks> program:
191+
192+
perlthanks
193+
194+
This will send an email to the Perl 5 Porters list with your show of thanks.
195+
196+
=head1 SEE ALSO
197+
198+
The F<Changes> file for an explanation of how to view exhaustive details on
199+
what changed.
200+
201+
The F<INSTALL> file for how to build Perl.
202+
203+
The F<README> file for general stuff.
204+
205+
The F<Artistic> and F<Copying> files for copyright information.
206+
207+
=cut

0 commit comments

Comments
 (0)