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 | ||
9d30331d N |
139 | Tests were added and changed to reflect the other additions and |
140 | changes in this release. Furthermore, these significant changes were | |
141 | made: | |
142 | ||
143 | =over 4 | |
144 | ||
145 | =item * | |
146 | ||
147 | ExtUtils-ParseXS test suite improvement | |
148 | ||
149 | =item * | |
150 | ||
151 | Hash::Util::FieldHash test suite improvement | |
152 | ||
153 | =item * | |
154 | ||
155 | Pod::Html test suite improvement | |
156 | ||
157 | =item * | |
158 | ||
159 | Tie::SubstrHash test suite improvement | |
160 | ||
161 | =item * | |
162 | ||
163 | Time-HiRes test suite improvement | |
164 | ||
165 | =item * | |
166 | ||
167 | Fix several test failures on CygWin and MSWin32. | |
168 | ||
169 | =back | |
170 | ||
171 | =head1 Platform Support | |
172 | ||
173 | =head2 Platform-Specific Notes | |
174 | ||
175 | =over 4 | |
176 | ||
177 | =item z/OS | |
178 | ||
179 | =over 4 | |
180 | ||
181 | =item * | |
182 | ||
183 | Update z/OS (previously called OS/390) README to describe ASCII and EBCDIC builds | |
184 | z/OS ASCII Enablement: Manage untagged header errno.h by copy & tag | |
185 | ||
186 | =back | |
187 | ||
188 | =back | |
189 | ||
190 | =over 4 | |
191 | ||
192 | =item Windows | |
193 | ||
194 | =over 4 | |
195 | ||
196 | =item * | |
197 | ||
198 | Support for compiling perl on Windows using Microsoft Visual Studio 2022 | |
199 | (containing Visual C++ 14.3) has been added. | |
200 | ||
201 | =back | |
202 | ||
203 | =back | |
204 | ||
205 | =head1 Internal Changes | |
206 | ||
207 | =over 4 | |
208 | ||
209 | =item * | |
210 | ||
211 | Add missing aliases for \p{Present_In} | |
212 | ||
213 | =item * | |
214 | ||
215 | Change C<pack> U behavior for EBCDIC | |
216 | ||
217 | =item * | |
218 | ||
219 | sv_upgrade: use c99 compound literals to initialize xpvav/xpvhv | |
220 | ||
221 | =back | |
222 | ||
223 | =head1 Acknowledgements | |
224 | ||
225 | Perl 5.35.8 represents approximately 4 weeks of development since Perl | |
226 | 5.35.7 and contains approximately 29,000 lines of changes across 190 files | |
227 | from 19 authors. | |
228 | ||
229 | Excluding auto-generated files, documentation and release tools, there were | |
230 | approximately 23,000 lines of changes to 120 .pm, .t, .c and .h files. | |
231 | ||
232 | Perl continues to flourish into its fourth decade thanks to a vibrant | |
233 | community of users and developers. The following people are known to have | |
234 | contributed the improvements that became Perl 5.35.8: | |
235 | ||
236 | Chris 'BinGOs' Williams, Craig A. Berry, David Mitchell, E. Choroba, | |
237 | François Perrad, Graham Knop, Ivan Panchenko, James E Keenan, Karl | |
238 | Williamson, Michiel Beijen, Mike Fulton, Neil Bowers, Nicholas Clark, | |
239 | Nicolas R., Paul Evans, Richard Leach, Sawyer X, TAKAI Kousuke, Tomasz | |
240 | Konojacki. | |
241 | ||
242 | The list above is almost certainly incomplete as it is automatically | |
243 | generated from version control history. In particular, it does not include | |
244 | the names of the (very much appreciated) contributors who reported issues to | |
245 | the Perl bug tracker. | |
246 | ||
247 | Many of the changes included in this version originated in the CPAN modules | |
248 | included in Perl's core. We're grateful to the entire CPAN community for | |
249 | helping Perl to flourish. | |
250 | ||
251 | For a more complete list of all of Perl's historical contributors, please | |
252 | see the F<AUTHORS> file in the Perl source distribution. | |
253 | ||
254 | =head1 Reporting Bugs | |
255 | ||
256 | If you find what you think is a bug, you might check the perl bug database | |
257 | at L<https://github.com/Perl/perl5/issues>. There may also be information at | |
258 | L<http://www.perl.org/>, the Perl Home Page. | |
259 | ||
260 | If you believe you have an unreported bug, please open an issue at | |
261 | L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a | |
262 | tiny but sufficient test case. | |
263 | ||
264 | If the bug you are reporting has security implications which make it | |
265 | inappropriate to send to a public issue tracker, then see | |
266 | L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> | |
267 | for details of how to report the issue. | |
268 | ||
269 | =head1 Give Thanks | |
270 | ||
271 | If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, | |
272 | you can do so by running the C<perlthanks> program: | |
273 | ||
274 | perlthanks | |
275 | ||
276 | This will send an email to the Perl 5 Porters list with your show of thanks. | |
277 | ||
278 | =head1 SEE ALSO | |
279 | ||
280 | The F<Changes> file for an explanation of how to view exhaustive details on | |
281 | what changed. | |
282 | ||
283 | The F<INSTALL> file for how to build Perl. | |
284 | ||
285 | The F<README> file for general stuff. | |
286 | ||
287 | The F<Artistic> and F<Copying> files for copyright information. | |
288 | ||
289 | =cut |