This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta - acknowledgements
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
9064626f 5perldelta - what is new for perl v5.31.3
d407e309 6
862f380b 7=head1 DESCRIPTION
261e14b0 8
9064626f 9This document describes differences between the 5.31.2 release and the 5.31.3
862f380b 10release.
261e14b0 11
9064626f
SH
12If you are upgrading from an earlier release such as 5.31.1, first read
13L<perl5312delta>, which describes differences between 5.31.1 and 5.31.2.
8424e368 14
9064626f
SH
15=head1 Incompatible Changes
16
e6132dc0
TC
17=head2 Plain "0" string now treated as a number for range operator
18
19Previously a range C< "0" .. "-1" > would produce a range of numeric
20strings from "0" through "99", this now produces an empty list, just
21as C< 0 .. -1 > does.
22
23This was due to a special case that treated strings starting with "0"
24as strings so ranges like C< "00" .. "03" > produced C< "00", "01",
25"02", "03" >, but didn't specially handle the string C<"0">.
26
27[perl #133695]
28
befef368
TC
29=head2 C<\K> now disallowed in look-ahead and look-behind assertions
30
31This was disallowed because it causes unexpected behaviour, and no-one
32could define what the desired behaviour was.
33
34[perl #124256]
35
9064626f 36=head1 Modules and Pragmata
a0348300 37
9064626f
SH
38=head2 Updated Modules and Pragmata
39
40=over 4
a0348300 41
9c600b76 42=item *
a0348300 43
03b7d279
TC
44L<Devel::PPPort> has been upgraded from version 3.54 to 3.55.
45
46The test files generated on Win32 are now identical to when they are
47generated on POSIX-like systems.
48
49=item *
50
51L<File::Find> has been upgraded from version 1.36 to 1.37.
52
53On Win32, the tests no longer require either a file in the drive root
54directory, or a writable root directory.
55
56=item *
57
36bb8f68
JK
58L<Thread> has been upgraded from version 3.04 to 3.05.
59
60=item *
61
8639f158
JK
62L<Getopt::Long> has been upgraded from version 2.50 to 2.51.
63
64=item *
65
029f24d3 66L<Time::HiRes> has been upgraded from version 1.9761 to 1.9762.
f0f66070
TC
67
68Removed obsolete code such as support for pre-5.6 perl and classic
69MacOS. [perl #134288]
70
71=item *
72
a4635286
KW
73L<I18N::LangTags> has been upgraded from version 1.07 to 1.08.
74
75Document the C<IGNORE_WIN32_LOCALE> environment variable.
76
77=item *
78
589e04a1
JK
79L<Test::Simple> has been upgraded from version 1.302164 to 1.302166.
80
8424e368
S
81=back
82
dad02c36 83=head1 Platform Support
8424e368 84
9064626f 85=head2 Platform-Specific Notes
ed0cf058 86
9064626f 87=over 4
f7faf2ad 88
efb1f9ac 89=item Windows
f7faf2ad 90
efb1f9ac
TC
91F<t/op/magic.t> could fail if environment varables starting with
92C<FOO> already existed.
f7faf2ad 93
4ec3954c
TC
94=back
95
9064626f 96=head1 Internal Changes
4ec3954c 97
9064626f 98=over 4
5b2f1ba6 99
b870557c
TC
100=item *
101
996b0cb8
PLE
102A new parser function L<parse_subsignature()|perlapi/parse_subsignature>
103allows a keyword plugin to parse a subroutine signature while C<use feature
104'signatures'> is in effect. This allows custom keywords to implement
105semantics similar to regular C<sub> declarations that include signatures.
106[perl #132474]
b870557c 107
061637ca
HS
108=item *
109
110Since on some platforms we need to hold a mutex when temporarily
111switching locales, new macros (C<STORE_LC_NUMERIC_SET_TO_NEEDED_IN>,
112C<WITH_LC_NUMERIC_SET_TO_NEEDED> and C<WITH_LC_NUMERIC_SET_TO_NEEDED_IN>)
113have been added to make it easier to do this safely and efficiently
114as part of [perl #134172].
115
285db695
DM
116=item *
117
118The memory bookkeeping overhead for allocating an OP structure has been
119reduced by 8 bytes per OP on 64-bit systems.
120
9064626f 121=back
ed0cf058 122
9064626f 123=head1 Selected Bug Fixes
ed0cf058 124
9064626f 125=over 4
973ae088 126
f7faf2ad
SH
127=item *
128
052ce2b8
TC
129C<< $@ = 100; die; >> now correctly propagates the 100 as an exception
130instead of ignoring it. [perl #134291]
f7faf2ad 131
a3c77565
TC
132=item *
133
134C<< 0 0x@ >> no longer asserts in S_no_op(). [perl #134310]
135
6e23836a
TC
136=item *
137
138Exceptions thrown while C<$@> is read-only could result in infinite
139recursion as perl tried to update C<$@>, which throws another
140exception, resulting in a stack overflow. Perl now replaces C<$@>
141with a copy if it's not a simple writable SV. [perl #134266]
142
dad02c36 143=back
5b2f1ba6 144
9064626f 145=head1 Acknowledgements
a01eaaa1 146
bd833cba
TH
147Perl 5.31.3 represents approximately 4 weeks of development since Perl
1485.31.2 and contains approximately 9,900 lines of changes across 230 files
149from 23 authors.
150
151Excluding auto-generated files, documentation and release tools, there were
152approximately 2,800 lines of changes to 160 .pm, .t, .c and .h files.
153
154Perl continues to flourish into its fourth decade thanks to a vibrant
155community of users and developers. The following people are known to have
156contributed the improvements that became Perl 5.31.3:
157
158Alexandr Savca, Andrew Fresh, Chad Granum, Chris 'BinGOs' Williams, Dagfinn
159Ilmari Mannsåker, Dan Book, David Cantrell, David Mitchell, E. Choroba,
160Graham Knop, Hauke D, H.Merijn Brand, Hugo van der Sanden, James E Keenan,
161Johan Vromans, Karen Etheridge, Karl Williamson, Paul Evans, Sawyer X, Steve
162Hay, Tomasz Konojacki, Tom Hukins, Tony Cook.
163
164The list above is almost certainly incomplete as it is automatically
165generated from version control history. In particular, it does not include
166the names of the (very much appreciated) contributors who reported issues to
167the Perl bug tracker.
168
169Many of the changes included in this version originated in the CPAN modules
170included in Perl's core. We're grateful to the entire CPAN community for
171helping Perl to flourish.
172
173For a more complete list of all of Perl's historical contributors, please
174see the F<AUTHORS> file in the Perl source distribution.
8424e368 175
44691e6f
AB
176=head1 Reporting Bugs
177
9064626f
SH
178If you find what you think is a bug, you might check the perl bug database
179at L<https://rt.perl.org/>. There may also be information at
15f62f05 180L<http://www.perl.org/>, the Perl Home Page.
44691e6f 181
e08634c5
SH
182If you believe you have an unreported bug, please run the L<perlbug> program
183included with your release. Be sure to trim your bug down to a tiny but
184sufficient test case. Your bug report, along with the output of C<perl -V>,
0e18d1c4 185will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 186
87c118b9
DM
187If the bug you are reporting has security implications which make it
188inappropriate to send to a publicly archived mailing list, then see
9064626f
SH
189L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
190for details of how to report the issue.
44691e6f 191
390ae6f9
S
192=head1 Give Thanks
193
9064626f
SH
194If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
195you can do so by running the C<perlthanks> program:
390ae6f9
S
196
197 perlthanks
198
199This will send an email to the Perl 5 Porters list with your show of thanks.
200
44691e6f
AB
201=head1 SEE ALSO
202
e08634c5
SH
203The F<Changes> file for an explanation of how to view exhaustive details on
204what changed.
44691e6f
AB
205
206The F<INSTALL> file for how to build Perl.
207
208The F<README> file for general stuff.
209
210The F<Artistic> and F<Copying> files for copyright information.
211
212=cut