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