Skip to content

Commit 2f74070

Browse files
committed
New perldelta for 5.41.14
1 parent c892466 commit 2f74070

File tree

10 files changed

+543
-91
lines changed

10 files changed

+543
-91
lines changed

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5753,6 +5753,7 @@ pod/perl5410delta.pod Perl changes in version 5.41.0
57535753
pod/perl54110delta.pod Perl changes in version 5.41.10
57545754
pod/perl54111delta.pod Perl changes in version 5.41.11
57555755
pod/perl54112delta.pod Perl changes in version 5.41.12
5756+
pod/perl54113delta.pod Perl changes in version 5.41.13
57565757
pod/perl5411delta.pod Perl changes in version 5.41.1
57575758
pod/perl5412delta.pod Perl changes in version 5.41.2
57585759
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
@@ -635,7 +635,7 @@ esac
635635

636636
$spitshell >>$Makefile <<'!NO!SUBS!'
637637
638-
perltoc_pod_prereqs = extra.pods pod/perl54113delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
638+
perltoc_pod_prereqs = extra.pods pod/perl54114delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
639639
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
640640
generated_headers = uudmap.h bitcount.h mg_data.h
641641
@@ -1144,9 +1144,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
11441144
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
11451145
$(MINIPERL) pod/perlmodlib.PL -q
11461146
1147-
pod/perl54113delta.pod: pod/perldelta.pod
1148-
$(RMS) pod/perl54113delta.pod
1149-
$(LNS) perldelta.pod pod/perl54113delta.pod
1147+
pod/perl54114delta.pod: pod/perldelta.pod
1148+
$(RMS) pod/perl54114delta.pod
1149+
$(LNS) perldelta.pod pod/perl54114delta.pod
11501150
11511151
extra.pods: $(MINIPERL_EXE)
11521152
-@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-
/perl54113delta.pod
50+
/perl54114delta.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+
perl54113delta Perl changes in version 5.41.13
184185
perl54112delta Perl changes in version 5.41.12
185186
perl54111delta Perl changes in version 5.41.11
186187
perl54110delta Perl changes in version 5.41.10

pod/perl54113delta.pod

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
=encoding utf8
2+
3+
=head1 NAME
4+
5+
perl54113delta - what is new for perl v5.41.13
6+
7+
=head1 DESCRIPTION
8+
9+
This document describes differences between the 5.41.12 release and the 5.41.13
10+
release.
11+
12+
If you are upgrading from an earlier release such as 5.41.11, first read
13+
L<perl54112delta>, which describes differences between 5.41.11 and 5.41.12.
14+
15+
=head1 Core Enhancements
16+
17+
=head2 Assigning logical xor C<^^=> operator
18+
19+
Perl 5.40.0 introduced the logical medium-precedence exclusive-or operator
20+
C<^^>. It was not noticed at the time that the assigning variant C<^^=> was
21+
also missing. This is now added.
22+
23+
=head1 Modules and Pragmata
24+
25+
=head2 Updated Modules and Pragmata
26+
27+
=over 4
28+
29+
=item *
30+
31+
L<B::Deparse> has been upgraded from version 1.83 to 1.85.
32+
33+
=item *
34+
35+
L<builtin> has been upgraded from version 0.018 to 0.019.
36+
37+
=item *
38+
39+
L<experimental> has been upgraded from version 0.034 to 0.035.
40+
41+
=item *
42+
43+
L<ExtUtils::CBuilder> has been upgraded from version 0.280240 to 0.280241.
44+
45+
=item *
46+
47+
L<ExtUtils::MakeMaker> has been upgraded from version 7.74 to 7.76.
48+
49+
=item *
50+
51+
L<feature> has been upgraded from version 1.95 to 1.96.
52+
53+
=item *
54+
55+
L<Module::CoreList> has been upgraded from version 5.20250420 to 5.20250528.
56+
57+
=item *
58+
59+
L<re> has been upgraded from version 0.47 to 0.48.
60+
61+
=item *
62+
63+
L<SelfLoader> has been upgraded from version 1.27 to 1.28.
64+
65+
=item *
66+
67+
L<strict> has been upgraded from version 1.13 to 1.14.
68+
69+
=item *
70+
71+
L<Thread> has been upgraded from version 3.05 to 3.06.
72+
73+
=item *
74+
75+
L<Tie::File> has been upgraded from version 1.09 to 1.10.
76+
77+
=item *
78+
79+
L<Unicode::UCD> has been upgraded from version 0.80 to 0.81.
80+
81+
=back
82+
83+
=head1 Platform Support
84+
85+
=head2 Platform-Specific Notes
86+
87+
=over 4
88+
89+
=item Cygwin
90+
91+
Supply an explicit base address for C<cygperl*.dll> that cannot
92+
conflict with those generated by C<--enable-auto-image-base>. [L<GH #22695|https://github.com/Perl/perl5/issues/22695>][L<GH #22104|https://github.com/Perl/perl5/issues/22104>]
93+
94+
=back
95+
96+
=head1 Selected Bug Fixes
97+
98+
=over 4
99+
100+
=item *
101+
102+
Exceptions thrown and caught entirely within a C<defer {}> or C<finally {}>
103+
block no longer stop the outer run-loop.
104+
105+
Code such as the following would stop running the contents of the C<defer>
106+
block once the inner exception in the inner C<try>/C<catch> block was caught.
107+
This has now been fixed, and runs as expected. ([L<GH #23064|https://github.com/Perl/perl5/issues/23064>]).
108+
109+
defer {
110+
try { die "It breaks\n"; }
111+
catch ($e) { warn $e }
112+
113+
say "This line would never run";
114+
}
115+
116+
=item *
117+
118+
L<perlfunc/readline> now clears the error flag if an error occurs when
119+
reading and that error is C<EAGAIN> or C<EWOULDBLOCK>. This allows
120+
old code that depended on C<readline> to clear all errors to ignore
121+
these relatively harmless errors. [L<GH #22883|https://github.com/Perl/perl5/issues/22883>]
122+
123+
=item *
124+
125+
L<C<open>|perlfunc/open> automatically creates an anonymous temporary file
126+
when passed C<undef> as a filename:
127+
128+
open(my $fh, "+>", undef) or die ...
129+
130+
This is supposed to work only when the undefined value is the one returned by
131+
the C<undef> function.
132+
133+
In perls before 5.41.3, this caused a problem due to the fact that the same
134+
undefined value can be generated by lookups of non-existent hash keys or array
135+
elements, which can lead to bugs in user-level code (reported as [L<GH #22385|https://github.com/Perl/perl5/issues/22385>]).
136+
137+
In 5.41.3, additional checks based on the syntax tree of the call site were
138+
added, which fixed this issue for some number of common cases, though not all
139+
of them, at the cost of breaking the ability of APIs that wrap C<open> to
140+
expose its anonymous file mode. A notable example of such an API is autodie.
141+
142+
This release reverts to the old problem in preference to the new one for the
143+
time being.
144+
145+
=back
146+
147+
=head1 Acknowledgements
148+
149+
Perl 5.41.13 represents approximately 5 weeks of development since Perl
150+
5.41.12 and contains approximately 5,200 lines of changes across 180 files
151+
from 20 authors.
152+
153+
Excluding auto-generated files, documentation and release tools, there were
154+
approximately 1,200 lines of changes to 92 .pm, .t, .c and .h files.
155+
156+
Perl continues to flourish into its fourth decade thanks to a vibrant
157+
community of users and developers. The following people are known to have
158+
contributed the improvements that became Perl 5.41.13:
159+
160+
Aristotle Pagaltzis, Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Dan
161+
Book, David Mitchell, Graham Knop, H.Merijn Brand, James E Keenan, Karen
162+
Etheridge, Karl Williamson, Leon Timmermans, Lukas Mai, Paul Evans, Paul
163+
Johnson, Philippe Bruhat (BooK), Richard Leach, Sisyphus, Thibault
164+
Duponchelle, Todd Rinaldo, Tony Cook.
165+
166+
The list above is almost certainly incomplete as it is automatically
167+
generated from version control history. In particular, it does not include
168+
the names of the (very much appreciated) contributors who reported issues to
169+
the Perl bug tracker.
170+
171+
Many of the changes included in this version originated in the CPAN modules
172+
included in Perl's core. We're grateful to the entire CPAN community for
173+
helping Perl to flourish.
174+
175+
For a more complete list of all of Perl's historical contributors, please
176+
see the F<AUTHORS> file in the Perl source distribution.
177+
178+
=head1 Reporting Bugs
179+
180+
If you find what you think is a bug, you might check the perl bug database
181+
at L<https://github.com/Perl/perl5/issues>. There may also be information at
182+
L<https://www.perl.org/>, the Perl Home Page.
183+
184+
If you believe you have an unreported bug, please open an issue at
185+
L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
186+
tiny but sufficient test case.
187+
188+
If the bug you are reporting has security implications which make it
189+
inappropriate to send to a public issue tracker, then see
190+
L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
191+
for details of how to report the issue.
192+
193+
=head1 Give Thanks
194+
195+
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
196+
you can do so by running the C<perlthanks> program:
197+
198+
perlthanks
199+
200+
This will send an email to the Perl 5 Porters list with your show of thanks.
201+
202+
=head1 SEE ALSO
203+
204+
The F<Changes> file for an explanation of how to view exhaustive details on
205+
what changed.
206+
207+
The F<INSTALL> file for how to build Perl.
208+
209+
The F<README> file for general stuff.
210+
211+
The F<Artistic> and F<Copying> files for copyright information.
212+
213+
=cut

0 commit comments

Comments
 (0)