This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta.pod - correct broken links
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 perldelta - what is new for perl v5.33.6
6
7 =head1 DESCRIPTION
8
9 This document describes differences between the 5.33.5 release and the
10 5.33.6 release.
11
12 If you are upgrading from an earlier release such as 5.33.4, first read
13 L<perl5335delta>, which describes differences between 5.33.4 and 5.33.5.
14
15 =head1 Modules and Pragmata
16
17 =head2 Updated Modules and Pragmata
18
19 =over 4
20
21 =item *
22
23 L<feature> has been upgraded from version 1.61 to 1.62.
24
25 Added the default enabled C<bareword_filehandles> feature.
26
27 =back
28
29 =head1 Documentation
30
31 =head2 New Documentation
32
33 =head3 L<perlgov>
34
35 This document describes the goals, scope, system, and rules for Perl's new
36 governance model.
37
38 Other pod files, most notably L<perlpolicy>, were amended to reflect
39 its adoption.
40
41 =head2 Changes to Existing Documentation
42
43 We have attempted to update the documentation to reflect the changes
44 listed in this document.  If you find any we have missed, open an issue
45 at L<https://github.com/Perl/perl5/issues>.
46
47 Additionally, the following selected changes have been made:
48
49 =head3 L<perlcommunity>
50
51 =over 4
52
53 =item *
54
55 The freenode IRC URL has been updated.
56
57 =back
58
59 =head3 L<perlfunc>
60
61 =over 4
62
63 =item *
64
65 The L<localtime|perlfunc/localtime> entry has been improved and now
66 also states that the result of the function is always in English.
67
68 =back
69
70 =head3 L<perlsyn>
71
72 =over 4
73
74 =item *
75
76 A new example shows how a lexical 'my' variable can be declared
77 during the initialization of a 'for' loop.
78
79 =back
80
81 =head1 Diagnostics
82
83 The following additions or changes have been made to diagnostic output,
84 including warnings and fatal error messages.  For the complete list of
85 diagnostic messages, see L<perldiag>.
86
87 =head2 New Diagnostics
88
89 =head3 New Errors
90
91 =over 4
92
93 =item *
94
95 L<Bareword filehandle "%s" not allowed under 'no feature|perldiag/"Bareword filehandle "%s" not allowed under 'no feature "bareword_filehandles"'">
96
97 This accompanies the new L<bareword_filehandles|feature/"The 'bareword_filehandles' feature."> feature.
98
99 =back
100
101 =head2 Changes to Existing Diagnostics
102
103 =over 4
104
105 =item *
106
107 L<Too few arguments for subroutine '%s' (got %d; expected %d)|perldiag/"Too few arguments for subroutine '%s' (got %d; expected %d)">
108
109 Subroutine argument-count mismatch errors now include the number of
110 given and expected arguments.
111
112 =item *
113
114 L<Too many arguments for subroutine '%s' (got %d; expected %d)|perldiag/"Too many arguments for subroutine '%s' (got %d; expected %d)">
115
116 Subroutine argument-count mismatch errors now include the number of
117 given and expected arguments.
118
119 =item *
120
121 L<Lost precision when %s %f by 1|perldiag/"Lost precision when %s %f by 1">
122
123 This warning was only issued for positive too-large values when 
124 incrementing, and only for negative ones when decrementing.
125 It is now issued for both of positive or negative too-large values.
126 [L<GH #18333|https://github.com/Perl/perl5/issues/18333>]
127
128 =back
129
130 =head1 Configuration and Compilation
131
132 =over 4
133
134 =item * Configure
135
136 A new probe tests for buggy implementations of the gcvt/qgcvt functions.
137 [L<GH #18170|https://github.com/Perl/perl5/issues/18170>]
138
139 =back
140
141 =head1 Testing
142
143 Tests were added and changed to reflect the other additions and
144 changes in this release.  Furthermore, these significant changes were
145 made:
146
147 =over 4
148
149 =item *
150
151 t/re/opt.t was added, providing a test harness for regexp optimization.
152 [L<GH #18213|https://github.com/Perl/perl5/pull/18213>]
153
154 =item *
155
156 A workaround for CPAN distributions needing dot in @INC has been removed
157 [L<GH #18394|https://github.com/Perl/perl5/pull/18394>].
158 All distributions that previously required the workaround have now been
159 adapted.
160
161 =back
162
163 =head1 Platform Support
164
165 =head2 Platform-Specific Notes
166
167 =over 4
168
169 =item Mac OS X
170
171 A number of system libraries no longer exist as actual files on Big Sur,
172 even though dlopen will pretend they do, so now we fall back to dlopen
173 if a library file can not be found.
174 [L<GH #18407|https://github.com/Perl/perl5/issues/18407>]
175
176 =item MS Windows
177
178 perl can now be built with  USE_QUADMATH on MS Windows using
179 (32-bit and 64-bit) mingw-w64 ports of gcc.
180 [L<GH #18465|https://github.com/Perl/perl5/pull/18465>]
181
182 THe pl2bat.pl utility now needs access to ExtUtils::PL2Bat. This could
183 cause failures in parallel builds.
184
185 =back
186
187 =head1 Selected Bug Fixes
188
189 =over 4
190
191 =item *
192
193 Skip trying to constant fold an incomplete op tree
194 [L<GH #18380|https://github.com/Perl/perl5/issues/18380>]
195
196 Constant folding of chained comparison op trees could fail under certain
197 conditions, causing perl to crash. As a quick fix, constant folding is
198 now skipped for such op trees. This also addresses
199 [L<GH #17917|https://github.com/Perl/perl5/issues/17917>].
200
201 =item *
202
203 %g formatting broken on Ubuntu-18.04, NVSIZE == 8
204 [L<GH #18170|https://github.com/Perl/perl5/issues/18170>]
205
206 Buggy libc implementations of the C<gcvt> and C<qgcvt> functions
207 caused (s)printf to incorrectly truncated %g formatted numbers. A new
208 Configure probe now checks for this, with the result that the libc
209 C<sprintf> will be used in place of C<gcvt> and C<qgcvt>.
210
211 Tests added as part of this fix also revealed related problems in
212 some Windows builds. The makefiles for MINGW builds on Windows have
213 thus been adjusted to use USE_MINGW_ANSI_STDIO  by default, ensuring
214 that such builds also provide correct (s)printf formatting of numbers.
215
216 =item *
217
218 op.c: croak on "my $_" when "use utf8" is in effect
219 [L<GH #18449|https://github.com/Perl/perl5/issues/18449>]
220
221 The lexical topic () feature experiment was removed in Perl v5.24 and
222 declaring C<my $_> became a compile time error. However, it was still
223 possible to make this declaration if utf8 was in effect.
224
225 =item *
226
227 regexec.c: Fix assertion failure
228 [L<GH #18451|https://github.com/Perl/perl5/issues/18451>]
229
230 Fuzzing triggered an assertion failure when too many characters were
231 copied into a buffer.
232
233 =back
234
235 =head1 Acknowledgements
236
237 XXX Generate this with:
238
239   perl Porting/acknowledgements.pl v5.33.5..HEAD
240
241 =head1 Reporting Bugs
242
243 If you find what you think is a bug, you might check the perl bug database
244 at L<https://github.com/Perl/perl5/issues>.  There may also be information at
245 L<http://www.perl.org/>, the Perl Home Page.
246
247 If you believe you have an unreported bug, please open an issue at
248 L<https://github.com/Perl/perl5/issues>.  Be sure to trim your bug down to a
249 tiny but sufficient test case.
250
251 If the bug you are reporting has security implications which make it
252 inappropriate to send to a public issue tracker, then see
253 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
254 for details of how to report the issue.
255
256 =head1 Give Thanks
257
258 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
259 you can do so by running the C<perlthanks> program:
260
261     perlthanks
262
263 This will send an email to the Perl 5 Porters list with your show of thanks.
264
265 =head1 SEE ALSO
266
267 The F<Changes> file for an explanation of how to view exhaustive details on
268 what changed.
269
270 The F<INSTALL> file for how to build Perl.
271
272 The F<README> file for general stuff.
273
274 The F<Artistic> and F<Copying> files for copyright information.
275
276 =cut