Commit | Line | Data |
---|---|---|
9d30331d N |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | perl5358delta - what is new for perl v5.35.8 | |
6 | ||
7 | =head1 DESCRIPTION | |
8 | ||
9 | This document describes differences between the 5.35.7 release and the 5.35.8 | |
10 | release. | |
11 | ||
12 | If you are upgrading from an earlier release such as 5.35.6, first read | |
13 | L<perl5357delta>, which describes differences between 5.35.6 and 5.35.7. | |
14 | ||
15 | =head1 Core Enhancements | |
16 | ||
17 | =head2 Try/Catch Syntax Now Recognises C<finally> Blocks | |
18 | ||
19 | The experimental C<try>/C<catch> syntax has been extended to support an | |
20 | optional third block introduced by the C<finally> keyword. | |
21 | ||
22 | try { | |
23 | attempt(); | |
24 | print "Success\n"; | |
25 | } | |
26 | catch ($e) { | |
27 | print "Failure\n"; | |
28 | } | |
29 | finally { | |
30 | print "This happens regardless\n"; | |
31 | } | |
32 | ||
33 | This provides code which runs at the end of the C<try>/C<catch> construct, | |
34 | even if aborted by an exception or control-flow keyword. They are similar | |
35 | to C<defer> blocks. | |
36 | ||
37 | For more information, see L<perlsyn/"Try Catch Exception Handling">. | |
38 | ||
39 | =head1 Incompatible Changes | |
40 | ||
41 | =head2 A physically empty sort is now a compile-time error | |
42 | ||
43 | @a = sort @empty; # unaffected | |
44 | @a = sort; # now a compile-time error | |
45 | ||
46 | A bare sort used to be a weird way to create an empty list; now it croaks | |
47 | at compile time. This is change is intended to free up some of the syntax | |
48 | space for possible future enhancements to C<sort>. | |
49 | ||
50 | =head1 Performance Enhancements | |
51 | ||
52 | =over 4 | |
53 | ||
54 | =item * | |
55 | ||
56 | Try / Catch optimization: make sure to rpeep() the body of catch {} blocks | |
57 | ||
58 | =back | |
59 | ||
60 | =head1 Modules and Pragmata | |
61 | ||
62 | =head2 Updated Modules and Pragmata | |
63 | ||
64 | =over 4 | |
65 | ||
66 | =item * | |
67 | ||
68 | L<Module::CoreList> has been upgraded from version 5.20211220 to 5.20220120. | |
69 | ||
70 | =item * | |
71 | ||
72 | L<bignum> has been upgraded from version 0.63 to 0.64. | |
73 | ||
74 | =item * | |
75 | ||
76 | L<Data::Dumper> has been upgraded from version 2.183 to 2.184. | |
77 | ||
78 | Fixes for EBCDIC. | |
79 | ||
80 | =item * | |
81 | ||
82 | L<File::Fetch> has been upgraded from version 1.00 to 1.04. | |
83 | ||
84 | =item * | |
85 | ||
86 | L<File::Find> has been upgraded from version 1.39_01 to 1.40. | |
87 | ||
88 | Replace bareword filehandle with a lexical scalar. | |
89 | ||
90 | =item * | |
91 | ||
92 | L<Locale::Maketext> has been upgraded from version 1.29 to 1.30. | |
93 | ||
94 | Provide inclusive names allowlist and denylist | |
95 | ||
96 | =item * | |
97 | ||
98 | L<Math::BigInt> has been upgraded from version 1.999828 to 1.999829. | |
99 | ||
100 | =item * | |
101 | ||
102 | L<NEXT> has been upgraded from version 0.68 to 0.69. | |
103 | ||
104 | =item * | |
105 | ||
106 | L<POSIX> has been upgraded from version 2.02 to 2.03. | |
107 | ||
108 | FLT_ROUNDS now emulates (more) standard behavior that reflects | |
109 | the current rounding mode set by fesetround. | |
110 | ||
111 | =item * | |
112 | ||
113 | L<Win32> has been upgraded from version 0.57 to 0.58. | |
114 | ||
115 | =back | |
116 | ||
117 | =head1 Documentation | |
118 | ||
119 | =head2 Changes to Existing Documentation | |
120 | ||
121 | We have attempted to update the documentation to reflect the changes | |
122 | listed in this document. If you find any we have missed, open an issue | |
123 | at L<https://github.com/Perl/perl5/issues>. | |
124 | ||
125 | Additionally, the following selected changes have been made: | |
126 | ||
127 | =head3 L<perlrun> | |
128 | ||
129 | =over 4 | |
130 | ||
131 | =item * | |
132 | ||
133 | B<-?> is now a synonym for B<-h> | |
134 | ||
135 | =back | |
136 | ||
137 | =head1 Testing | |
138 | ||
139 | Tests were added and changed to reflect the other additions and changes | |
140 | in this release. | |
141 | ||
142 | Tests were added and changed to reflect the other additions and | |
143 | changes in this release. Furthermore, these significant changes were | |
144 | made: | |
145 | ||
146 | =over 4 | |
147 | ||
148 | =item * | |
149 | ||
150 | ExtUtils-ParseXS test suite improvement | |
151 | ||
152 | =item * | |
153 | ||
154 | Hash::Util::FieldHash test suite improvement | |
155 | ||
156 | =item * | |
157 | ||
158 | Pod::Html test suite improvement | |
159 | ||
160 | =item * | |
161 | ||
162 | Tie::SubstrHash test suite improvement | |
163 | ||
164 | =item * | |
165 | ||
166 | Time-HiRes test suite improvement | |
167 | ||
168 | =item * | |
169 | ||
170 | Fix several test failures on CygWin and MSWin32. | |
171 | ||
172 | =back | |
173 | ||
174 | =head1 Platform Support | |
175 | ||
176 | =head2 Platform-Specific Notes | |
177 | ||
178 | =over 4 | |
179 | ||
180 | =item z/OS | |
181 | ||
182 | =over 4 | |
183 | ||
184 | =item * | |
185 | ||
186 | Update z/OS (previously called OS/390) README to describe ASCII and EBCDIC builds | |
187 | z/OS ASCII Enablement: Manage untagged header errno.h by copy & tag | |
188 | ||
189 | =back | |
190 | ||
191 | =back | |
192 | ||
193 | =over 4 | |
194 | ||
195 | =item Windows | |
196 | ||
197 | =over 4 | |
198 | ||
199 | =item * | |
200 | ||
201 | Support for compiling perl on Windows using Microsoft Visual Studio 2022 | |
202 | (containing Visual C++ 14.3) has been added. | |
203 | ||
204 | =back | |
205 | ||
206 | =back | |
207 | ||
208 | =head1 Internal Changes | |
209 | ||
210 | =over 4 | |
211 | ||
212 | =item * | |
213 | ||
214 | Add missing aliases for \p{Present_In} | |
215 | ||
216 | =item * | |
217 | ||
218 | Change C<pack> U behavior for EBCDIC | |
219 | ||
220 | =item * | |
221 | ||
222 | sv_upgrade: use c99 compound literals to initialize xpvav/xpvhv | |
223 | ||
224 | =back | |
225 | ||
226 | =head1 Acknowledgements | |
227 | ||
228 | Perl 5.35.8 represents approximately 4 weeks of development since Perl | |
229 | 5.35.7 and contains approximately 29,000 lines of changes across 190 files | |
230 | from 19 authors. | |
231 | ||
232 | Excluding auto-generated files, documentation and release tools, there were | |
233 | approximately 23,000 lines of changes to 120 .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.8: | |
238 | ||
239 | Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, E. Choroba, | |
240 | François Perrad, Graham Knop, Ivan Panchenko, James E Keenan, Karl | |
241 | Williamson, Michiel Beijen, Mike Fulton, Neil Bowers, Nicholas Clark, | |
242 | Nicolas R., Paul Evans, Richard Leach, Sawyer X, TAKAI Kousuke, Tomasz | |
243 | Konojacki. | |
244 | ||
245 | The list above is almost certainly incomplete as it is automatically | |
246 | generated from version control history. In particular, it does not include | |
247 | the names of the (very much appreciated) contributors who reported issues to | |
248 | the Perl bug tracker. | |
249 | ||
250 | Many of the changes included in this version originated in the CPAN modules | |
251 | included in Perl's core. We're grateful to the entire CPAN community for | |
252 | helping Perl to flourish. | |
253 | ||
254 | For a more complete list of all of Perl's historical contributors, please | |
255 | see the F<AUTHORS> file in the Perl source distribution. | |
256 | ||
257 | =head1 Reporting Bugs | |
258 | ||
259 | If you find what you think is a bug, you might check the perl bug database | |
260 | at L<https://github.com/Perl/perl5/issues>. There may also be information at | |
261 | L<http://www.perl.org/>, the Perl Home Page. | |
262 | ||
263 | If you believe you have an unreported bug, please open an issue at | |
264 | L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a | |
265 | tiny but sufficient test case. | |
266 | ||
267 | If the bug you are reporting has security implications which make it | |
268 | inappropriate to send to a public issue tracker, then see | |
269 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> | |
270 | for details of how to report the issue. | |
271 | ||
272 | =head1 Give Thanks | |
273 | ||
274 | If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, | |
275 | you can do so by running the C<perlthanks> program: | |
276 | ||
277 | perlthanks | |
278 | ||
279 | This will send an email to the Perl 5 Porters list with your show of thanks. | |
280 | ||
281 | =head1 SEE ALSO | |
282 | ||
283 | The F<Changes> file for an explanation of how to view exhaustive details on | |
284 | what changed. | |
285 | ||
286 | The F<INSTALL> file for how to build Perl. | |
287 | ||
288 | The F<README> file for general stuff. | |
289 | ||
290 | The F<Artistic> and F<Copying> files for copyright information. | |
291 | ||
292 | =cut |