This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "Strengthen weak refs when sorting in-place"
[perl5.git] / pod / perl52710delta.pod
CommitLineData
bdd8ae1c
TR
1=encoding utf8
2
3=head1 NAME
4
5perl52710delta - what is new for perl v5.27.10
6
7=head1 DESCRIPTION
8
9This document describes differences between the 5.27.9 release and the 5.27.10
10release.
11
12If you are upgrading from an earlier release such as 5.27.8, first read
13L<perl5279delta>, which describes differences between 5.27.8 and 5.27.9.
14
15=head1 Modules and Pragmata
16
17=head2 Updated Modules and Pragmata
18
19=over 4
20
21=item *
22
23L<attributes> has been upgraded from version 0.32 to 0.33
24
25=item *
26
27L<B::Deparse> has been upgraded from version 1.47 to 1.48.
28
29=item *
30
31L<Carp> has been upgraded from version 1.46 to 1.49.
32
33L<Carp>, when generating stack traces, now attempts to work around
34longstanding bugs resulting from Perl's non-reference-counted stack.
35[perl #52610]
36
37Carp has been modified to avoid assuming that objects cannot be
38overloaded without the L<overload> module loaded (this can happen with
39objects created by XS modules). Previously, infinite recursion would
40result if an XS-defined overload method itself called Carp. [perl #132828]
41
42Carp now avoids using C<overload::StrVal>, partly because older versions
43of L<overload> (included with perl 5.14 and earlier) load L<Scalar::Util>
44at run time, which will fail if Carp has been invoked after a syntax error.
45
46L<I18N::Langinfo> has been upgraded from version 0.15 to 0.16.
47
48This module is now available on all platforms, emulating the system
49L<nl_langinfo(3)> on systems that lack it. Some caveats apply, as
50L<detailed in its documentation|I18N::Langinfo>, the most severe being
51that, except for MS Windows, the C<CODESET> item is not implemented on
52those systems, always returning C<"">.
53
54It now sets the UTF-8 flag in its returned scalar if the string contains
55legal non-ASCII UTF-8, and the locale is UTF-8 ([perl #127288].
56
57=item *
58
59L<Encode> has been upgraded from version 2.96 to 2.97.
60
61=item *
62
63L<ExtUtils::MakeMaker> has been upgraded from version 7.32 to 7.34.
64
65=item *
66
67L<ExtUtils::ParseXS> has been upgraded from version 3.38 to 3.39
68
69=item *
70
71L<File::Glob> has been upgraded from version 1.30 to 1.31.
72
73=item *
74
75L<I18N::Langinfo> has been upgraded from version 0.15 to 0.16.
76
77=item *
78
79L<Locale::Codes> has been upgraded from version 3.55 to 3.56.
80
81=item *
82
83L<Module::CoreList> has been upgraded from version 5.20180220 to 5.20180221.
84
85=item *
86
87L<POSIX> has been upgraded from version 1.82 to 1.83.
88
89=item *
90
91L<Scalar::Util> has been upgraded from version 1.49 to 1.50.
92
93=item *
94
95L<Test::Harness> has been upgraded from version 3.39 to 3.42.
96
97=item *
98
99L<Test::Simple> has been upgraded from version 1.302122 to 1.302133.
100
101=item *
102
103L<Time::HiRes> has been upgraded from version 1.9753 to 1.9757.
104
105=item *
106
107L<Time::Piece> has been upgraded from version 1.3203 to 1.3204.
108
109=item *
110
111L<warnings> has been upgraded from version 1.41 to 1.42.
112
113=back
114
115=head1 Documentation
116
117=head2 Changes to Existing Documentation
118
119We have attempted to update the documentation to reflect the changes
120listed in this document. If you find any we have missed, send email
121to L<perlbug@perl.org|mailto:perlbug@perl.org>.
122
123Additionally, the following selected changes have been made:
124
125=head3 L<perlfunc>
126
127=over 4
128
129=item *
130
131Clarification to require was added to show that
132
133 require "Foo/Bar.pm";
134
135is equivalent to:
136
137 eval "require Foo::Bar";
138
139=back
140
141=head3 L<perlguts>
142
143=over 4
144
145=item *
146
147Improve documentation related to UTF-8 multibytes.
148
149=back
150
151=head3 L<perlrequick>
152
153=over 4
154
155=item *
156
157Clarifications on metacharacters and character classes
158
159=back
160
161=head3 L<perlretut>
162
163=over 4
164
165=item *
166
167Clarify metacharacters.
168
169=back
170
171=head1 Diagnostics
172
173=head2 Changes to Existing Diagnostics
174
175=over 4
176
177=item *
178
179The new (as of 5.27.8) restriction forbidding use of C<goto> to enter the
180argument of a binary or list expression (see L<perldiag/"Can't
181E<quot>gotoE<quot> into a binary or list expression">) has been relaxed to
182allow entering the I<first> argument of an operator that takes a fixed
183number of arguments, since this is a case that will not cause stack
184corruption. [perl #132854]
185
186=item *
187
188The warning added in 5.27.8 concerning UTF-8 locale compatibility was
189misleading. The new wording and explanation are at
190L<perldiag/Locale '%s' contains (at least) the following characters which
191have unexpected meanings: %s The Perl program will use the expected
192meanings>
193
194=back
195
196=head1 Configuration and Compilation
197
198=over 4
199
200=item *
201
202F<lib/unicore/mktables> now correctly canonicalizes the names of the
203dependencies stored in the files it generates.
204
205F<regen/mk_invlists.pl>, unlike the other F<regen/*.pl> scripts, used
206C<$0> to name itself in the dependencies stored in the files it
207generates. It now uses a literal so that the path stored in the
208generated files doesn't depend on how F<regen/mk_invlists.pl> is
209invoked.
210
211This lack of canonical names could cause test failures in
212F<t/porting/regen.t>. [perl #132925]
213
214=back
215
216=head1 Testing
217
218Tests were added and changed to reflect the other additions and
219changes in this release.
220
221=head1 Internal Changes
222
223=over 4
224
225=item *
226
227The item names passed to the function L<perlapi/Perl_langinfo>,
228introduced in 5.27.4, may no longer be prefixed with C<PERL_>. For
229example, if you want the current floating point radix character, you
230must call it like C<Perl_langinfo(RADIXCHAR)>.
231
232=back
233
234=head1 Selected Bug Fixes
235
236=over 4
237
238=item *
239
240Blead Breaks CPAN: FELIPE/Crypt-Perl [perl #132900]
241
242=item *
243
244Prevent duplicate Config.pm vars [perl #132834]
245
246=item *
247
248Regex assertion failure [perl #132163]
249
250=item *
251
252fix line numbers in multi-line s///
253
254=item *
255
256add an empty file (to be removed next commit)
257
258=item *
259
260warnings.pm: sprintf is faster than concat
261
262=back
263
264=head1 Acknowledgements
265
266Perl 5.27.10 represents approximately 4 weeks of development since Perl
2675.27.9 and contains approximately 80,000 lines of changes across 380 files
268from 18 authors.
269
270Excluding auto-generated files, documentation and release tools, there were
271approximately 75,000 lines of changes to 270 .pm, .t, .c and .h files.
272
273Perl continues to flourish into its third decade thanks to a vibrant
274community of users and developers. The following people are known to have
275contributed the improvements that became Perl 5.27.10:
276
277Aaron Crane, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David
278Mitchell, Father Chrysostomos, H.Merijn Brand, James E Keenan, Karl
279Williamson, Pali, Renee Baecker, Sawyer X, Shoichi Kaji, Steve Hay, Todd
280Rinaldo, Tony Cook, Yves Orton, Zefram.
281
282The list above is almost certainly incomplete as it is automatically
283generated from version control history. In particular, it does not include
284the names of the (very much appreciated) contributors who reported issues to
285the Perl bug tracker.
286
287Many of the changes included in this version originated in the CPAN modules
288included in Perl's core. We're grateful to the entire CPAN community for
289helping Perl to flourish.
290
291For a more complete list of all of Perl's historical contributors, please
292see the F<AUTHORS> file in the Perl source distribution.
293
294=head1 Reporting Bugs
295
296If you find what you think is a bug, you might check the perl bug database
297at L<https://rt.perl.org/> . There may also be information at
298L<http://www.perl.org/> , the Perl Home Page.
299
300If you believe you have an unreported bug, please run the L<perlbug> program
301included with your release. Be sure to trim your bug down to a tiny but
302sufficient test case. Your bug report, along with the output of C<perl -V>,
303will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
304
305If the bug you are reporting has security implications which make it
306inappropriate to send to a publicly archived mailing list, then see
307L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
308for details of how to report the issue.
309
310=head1 Give Thanks
311
312If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
313you can do so by running the C<perlthanks> program:
314
315 perlthanks
316
317This will send an email to the Perl 5 Porters list with your show of thanks.
318
319=head1 SEE ALSO
320
321The F<Changes> file for an explanation of how to view exhaustive details on
322what changed.
323
324The F<INSTALL> file for how to build Perl.
325
326The F<README> file for general stuff.
327
328The F<Artistic> and F<Copying> files for copyright information.
329
330=cut