Commit | Line | Data |
---|---|---|
73a058ad KE |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | perl5353delta - what is new for perl v5.35.3 | |
6 | ||
7 | =head1 DESCRIPTION | |
8 | ||
9 | This document describes differences between the 5.35.2 release and the 5.35.3 | |
10 | release. | |
11 | ||
12 | If you are upgrading from an earlier release such as 5.35.1, first read | |
13 | L<perl5352delta>, which describes differences between 5.35.1 and 5.35.2. | |
14 | ||
15 | =head1 Notice | |
16 | ||
17 | With this release, the experimental C<switch> feature, present in every feature | |
18 | bundle since they were introduced in v5.10, has been removed from the v5.36 | |
19 | bundle. If you want to live dangerously and use it, you'll have to enable it | |
20 | explicitly. | |
21 | ||
22 | =head1 Core Enhancements | |
23 | ||
24 | All warnings are enabled automatically within the scope of | |
25 | a C<L<use v5.35|perlfunc/use VERSION>> (or higher) declaration. | |
26 | ||
27 | =head1 Modules and Pragmata | |
28 | ||
29 | =head2 Updated Modules and Pragmata | |
30 | ||
31 | =over 4 | |
32 | ||
33 | =item * | |
34 | ||
35 | L<Archive::Tar> has been upgraded from version 2.38 to 2.40. | |
36 | ||
37 | =item * | |
38 | ||
39 | L<diagnostics> has been upgraded from version 1.37 to 1.38. | |
40 | ||
41 | =item * | |
42 | ||
43 | L<Encode> has been upgraded from version 3.10 to 3.12. | |
44 | ||
45 | =item * | |
46 | ||
47 | L<feature> has been upgraded from version 1.66 to 1.67. | |
48 | ||
49 | Added a simple API to check which features or feature bundles are | |
50 | enabled. (github L<#18968|https://github.com/Perl/perl5/pull/18968>) | |
51 | ||
52 | =item * | |
53 | ||
54 | L<Module::CoreList> has been upgraded from version 5.20210723 to 5.20210820. | |
55 | ||
56 | =item * | |
57 | ||
58 | L<Opcode> has been upgraded from version 1.52 to 1.53. | |
59 | ||
60 | =item * | |
61 | ||
62 | L<Pod::Html> has been upgraded from version 1.31 to 1.32. | |
63 | ||
64 | =item * | |
65 | ||
66 | L<POSIX> has been upgraded from version 1.98 to 1.99. | |
67 | ||
68 | =item * | |
69 | ||
70 | L<sort> has been upgraded from version 2.04 to 2.05. | |
71 | ||
72 | The C<sort> pragma is now a no-op, and its use is discouraged. | |
73 | C<sort::current> now issues a deprecation warning and always returns I<stable>. | |
74 | ||
75 | =item * | |
76 | ||
77 | L<Storable> has been upgraded from version 3.23 to 3.24. | |
78 | ||
79 | =item * | |
80 | ||
81 | L<Text::Tabs> has been upgraded from version 2021.0717 to 2021.0804. | |
82 | ||
83 | =item * | |
84 | ||
85 | L<Text::Wrap> has been upgraded from version 2021.0717 to 2021.0804. | |
86 | ||
87 | =item * | |
88 | ||
89 | L<threads::shared> has been upgraded from version 1.62 to 1.63. | |
90 | ||
91 | =item * | |
92 | ||
93 | L<Time::HiRes> has been upgraded from version 1.9768 to 1.9769. | |
94 | ||
95 | Makefile.PL now correct handles configuration set in perl hints. | |
96 | (github L<#18953|https://github.com/Perl/perl5/issues/18953>) | |
97 | ||
98 | =item * | |
99 | ||
100 | L<Unicode::Normalize> has been upgraded from version 1.28 to 1.30. | |
101 | ||
102 | =item * | |
103 | ||
104 | L<warnings> has been upgraded from version 1.52 to 1.53. | |
105 | ||
106 | =item * | |
107 | ||
108 | L<XS::APItest> has been upgraded from version 1.17 to 1.18. | |
109 | ||
110 | =back | |
111 | ||
112 | =head1 Documentation | |
113 | ||
114 | =head2 New Documentation | |
115 | ||
116 | =head3 F<Porting/vote_admin_guide.pod> | |
117 | ||
118 | This document provides the process for administering an election or vote | |
119 | within the Perl Core Team. | |
120 | ||
121 | =head2 Changes to Existing Documentation | |
122 | ||
123 | We have attempted to update the documentation to reflect the changes | |
124 | listed in this document. If you find any we have missed, open an issue | |
125 | at L<https://github.com/Perl/perl5/issues>. | |
126 | ||
127 | Additionally, the following selected changes have been made: | |
128 | ||
129 | =head3 L<perlop> | |
130 | ||
131 | =over 4 | |
132 | ||
133 | =item * | |
134 | ||
135 | now notes that an invocant only needs to be an object or class name | |
136 | for method calls, not for subroutine references. | |
137 | ||
138 | =back | |
139 | ||
140 | =head3 L<perlexperiment> | |
141 | ||
142 | =over 4 | |
143 | ||
144 | =item * | |
145 | ||
146 | notes the C<:win32> IO pseudolayer is removed (this happened in 5.35.2). | |
147 | ||
148 | =back | |
149 | ||
150 | =head3 L<perldeprecation> | |
151 | ||
152 | =over 4 | |
153 | ||
154 | =item * | |
155 | ||
156 | notes the new location for functions moved from L<Pod::Html> to | |
157 | L<Pod::Html::Util> that are no longer intended to be used outside of core. | |
158 | ||
159 | =back | |
160 | ||
161 | =head1 Configuration and Compilation | |
162 | ||
163 | =over 4 | |
164 | ||
165 | =item * | |
166 | ||
167 | The makedepend step is now run in parallel by using make | |
168 | ||
169 | This reduces the time for | |
170 | ||
171 | time sh ./makedepend MAKE=make cflags | |
172 | ||
173 | from 5 seconds to 2 seconds with MAKEFLAGS=-j8 | |
174 | ||
175 | =item * | |
176 | ||
177 | F<Configure> now tests whether C<< #include <xlocale.h> >> is required | |
178 | to use the POSIX 1003 thread-safe locale functions or some related | |
179 | extensions. This prevents problems where a non-public F<xlocale.h> is | |
180 | removed in a library update, or F<xlocale.h> isn't intended for public | |
181 | use. (github L<#18936|https://github.com/Perl/perl5/pull/18936>) | |
182 | ||
183 | =back | |
184 | ||
185 | =head1 Internal Changes | |
186 | ||
187 | =over 4 | |
188 | ||
189 | =item * | |
190 | ||
191 | Macros have been added to F<perl.h> to facilitate version comparisons: | |
192 | C<PERL_GCC_VERSION_GE>, C<PERL_GCC_VERSION_GT>, C<PERL_GCC_VERSION_LE> and | |
193 | C<PERL_GCC_VERSION_LT>. | |
194 | ||
195 | Inline functions have been added to F<embed.h> to determine the position of | |
196 | the least significant 1 bit in a word: C<lsbit_pos32> and C<lsbit_pos64>. | |
197 | ||
198 | =back | |
199 | ||
200 | =head1 Selected Bug Fixes | |
201 | ||
202 | =over 4 | |
203 | ||
204 | =item * | |
205 | ||
206 | Use of the C<mktables> debugging facility would cause perl to croak since | |
207 | v5.31.10; this problem has now been fixed. | |
208 | ||
209 | =item * | |
210 | ||
211 | C<makedepend> logic is now compatible with BSD make (fixes | |
212 | L<GH #19046|https://github.com/Perl/perl5/issues/19046>). | |
213 | ||
214 | =back | |
215 | ||
216 | =head1 Errata From Previous Releases | |
217 | ||
218 | =over 4 | |
219 | ||
220 | =item * | |
221 | ||
222 | L<perl5300delta> mistakenly identified a CVE whose correct identification is CVE-2015-1592. | |
223 | ||
224 | =back | |
225 | ||
226 | =head1 Acknowledgements | |
227 | ||
228 | Perl 5.35.3 represents approximately 4 weeks of development since Perl | |
229 | 5.35.2 and contains approximately 16,000 lines of changes across 220 files | |
230 | from 25 authors. | |
231 | ||
232 | Excluding auto-generated files, documentation and release tools, there were | |
233 | approximately 9,200 lines of changes to 140 .pm, .t, .c and .h files. | |
234 | ||
235 | Perl continues to flourish into its fourth decade thanks to a vibrant | |
236 | community of users and developers. The following people are known to have | |
237 | contributed the improvements that became Perl 5.35.3: | |
238 | ||
239 | Aristotle Pagaltzis, Asher Mancinelli, Ben Cornett, Biswapriyo Nath, Chris | |
240 | 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, Dan Book, Dan Jacobson, David | |
241 | Golden, David Mitchell, H.Merijn Brand, James E Keenan, Karen Etheridge, | |
242 | Karl Williamson, Leon Timmermans, Max Maischein, Neil Bowers, Nicholas | |
243 | Clark, Petar-Kaleychev, Ricardo Signes, Richard Leach, Slaven Rezic, TAKAI | |
244 | Kousuke, Thibault Duponchelle, Tony Cook. | |
245 | ||
246 | The list above is almost certainly incomplete as it is automatically | |
247 | generated from version control history. In particular, it does not include | |
248 | the names of the (very much appreciated) contributors who reported issues to | |
249 | the Perl bug tracker. | |
250 | ||
251 | Many of the changes included in this version originated in the CPAN modules | |
252 | included in Perl's core. We're grateful to the entire CPAN community for | |
253 | helping Perl to flourish. | |
254 | ||
255 | For a more complete list of all of Perl's historical contributors, please | |
256 | see the F<AUTHORS> file in the Perl source distribution. | |
257 | ||
258 | =head1 Reporting Bugs | |
259 | ||
260 | If you find what you think is a bug, you might check the perl bug database | |
261 | at L<https://github.com/Perl/perl5/issues>. There may also be information at | |
262 | L<http://www.perl.org/>, the Perl Home Page. | |
263 | ||
264 | If you believe you have an unreported bug, please open an issue at | |
265 | L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a | |
266 | tiny but sufficient test case. | |
267 | ||
268 | If the bug you are reporting has security implications which make it | |
269 | inappropriate to send to a public issue tracker, then see | |
270 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> | |
271 | for details of how to report the issue. | |
272 | ||
273 | =head1 Give Thanks | |
274 | ||
275 | If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, | |
276 | you can do so by running the C<perlthanks> program: | |
277 | ||
278 | perlthanks | |
279 | ||
280 | This will send an email to the Perl 5 Porters list with your show of thanks. | |
281 | ||
282 | =head1 SEE ALSO | |
283 | ||
284 | The F<Changes> file for an explanation of how to view exhaustive details on | |
285 | what changed. | |
286 | ||
287 | The F<INSTALL> file for how to build Perl. | |
288 | ||
289 | The F<README> file for general stuff. | |
290 | ||
291 | The F<Artistic> and F<Copying> files for copyright information. | |
292 | ||
293 | =cut |