This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add perldelta entry for Intel compiler detection fix
[perl5.git] / pod / perldelta.pod
CommitLineData
0382c61d 1=encoding utf8
7b0fb693 2
0382c61d 3=head1 NAME
7b0fb693 4
2c101fc0
S
5[ this is a template for a new perldelta file. Any text flagged as XXX needs
6to be processed before release. ]
7
8perldelta - what is new for perl v5.33.1
7b0fb693 9
0382c61d 10=head1 DESCRIPTION
7b0fb693 11
2c101fc0 12This document describes differences between the 5.33.0 release and the 5.33.1
0382c61d 13release.
7b0fb693 14
2c101fc0
S
15If you are upgrading from an earlier release such as 5.32.0, first read
16L<perl5330delta>, which describes differences between 5.32.0 and 5.33.0.
17
18=head1 Notice
19
20XXX Any important notices here
21
22=head1 Core Enhancements
23
24XXX New core language features go here. Summarize user-visible core language
25enhancements. Particularly prominent performance optimisations could go
26here, but most should go in the L</Performance Enhancements> section.
27
28[ List each enhancement as a =head2 entry ]
29
30=head1 Security
31
32XXX Any security-related notices go here. In particular, any security
33vulnerabilities closed should be noted here rather than in the
34L</Selected Bug Fixes> section.
35
36[ List each security issue as a =head2 entry ]
37
38=head1 Incompatible Changes
39
40XXX For a release on a stable branch, this section aspires to be:
41
42 There are no changes intentionally incompatible with 5.XXX.XXX
43 If any exist, they are bugs, and we request that you submit a
44 report. See L</Reporting Bugs> below.
45
46[ List each incompatible change as a =head2 entry ]
47
48=head1 Deprecations
49
50XXX Any deprecated features, syntax, modules etc. should be listed here.
51
52=head2 Module removals
53
54XXX Remove this section if not applicable.
55
56The following modules will be removed from the core distribution in a
57future release, and will at that time need to be installed from CPAN.
58Distributions on CPAN which require these modules will need to list them as
59prerequisites.
60
61The core versions of these modules will now issue C<"deprecated">-category
62warnings to alert you to this fact. To silence these deprecation warnings,
63install the modules in question from CPAN.
64
65Note that these are (with rare exceptions) fine modules that you are encouraged
66to continue to use. Their disinclusion from core primarily hinges on their
67necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
68not usually on concerns over their design.
69
70=over
71
72=item XXX
73
74XXX Note that deprecated modules should be listed here even if they are listed
75as an updated module in the L</Modules and Pragmata> section.
76
77=back
78
79[ List each other deprecation as a =head2 entry ]
80
81=head1 Performance Enhancements
82
83XXX Changes which enhance performance without changing behaviour go here.
84There may well be none in a stable release.
85
86[ List each enhancement as an =item entry ]
87
88=over 4
89
90=item *
91
92XXX
93
94=back
7b0fb693 95
0382c61d 96=head1 Modules and Pragmata
7b0fb693 97
2c101fc0
S
98XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
99go here. If Module::CoreList is updated, generate an initial draft of the
100following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
101for important changes should then be added by hand. In an ideal world,
102dual-life modules would have a F<Changes> file that could be cribbed.
103
104The list of new and updated modules is modified automatically as part of
105preparing a Perl release, so the only reason to manually add entries here is if
106you're summarising the important changes in the module update. (Also, if the
107manually-added details don't match the automatically-generated ones, the
108release manager will have to investigate the situation carefully.)
109
110[ Within each section, list entries as an =item entry ]
111
112=head2 New Modules and Pragmata
113
114=over 4
115
bd9e3435 116=item * ExtUtils::PL2Bat
2c101fc0 117
bd9e3435
LT
118This module is a generalization of the pl2bat script. It being a script has lead
119to at least two forks of this code, this modules will unify them under one
120implemention with tests.
2c101fc0
S
121
122=back
123
0382c61d 124=head2 Updated Modules and Pragmata
7b0fb693
S
125
126=over 4
127
128=item *
129
a5ecb823 130L<feature> has been upgraded from version 1.58 to 1.60.
2c101fc0 131
a5ecb823
TC
132A new C<multidimensional> feature has been added, which is enabled by
133default but allows turning off L<multi-dimensional array
134emulation|perldata/Multi-dimensional array emulation>.
135
2c101fc0
S
136=back
137
138=head2 Removed Modules and Pragmata
139
140=over 4
141
142=item *
143
144XXX
145
146=back
147
148=head1 Documentation
149
150XXX Changes to files in F<pod/> go here. Consider grouping entries by
151file and be sure to link to the appropriate page, e.g. L<perlfunc>.
152
153=head2 New Documentation
154
155XXX Changes which create B<new> files in F<pod/> go here.
156
157=head3 L<XXX>
158
159XXX Description of the purpose of the new file here
160
161=head2 Changes to Existing Documentation
162
163We have attempted to update the documentation to reflect the changes
164listed in this document. If you find any we have missed, open an issue
165at L<https://github.com/Perl/perl5/issues>.
166
167XXX Changes which significantly change existing files in F<pod/> go here.
168However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
169section.
170
171Additionally, the following selected changes have been made:
172
c7e6f906 173=head3 L<perlpacktut>
2c101fc0
S
174
175=over 4
7b0fb693
S
176
177=item *
178
c7e6f906 179Incorrect variables used in an example have been fixed. Thanks to Deji Adegbite.
7b0fb693 180
0382c61d 181=back
7b0fb693 182
c6a4660e
KW
183=head3 L<perlfunc>
184
185=over 4
186
187=item *
188
189Better explain what happens when C<sleep> is called with a zero or
190negative value
191
192=back
193
194=head3 L<perlop>
195
196=over 4
197
198The C<< <> >> and C<<< <<>> >>> operators are commonly referred to as
199the diamond and double diamond operators respectively, but that wasn't
200mentioned previously in their documentation.
201
202=back
203
2c101fc0
S
204=head1 Diagnostics
205
206The following additions or changes have been made to diagnostic output,
207including warnings and fatal error messages. For the complete list of
208diagnostic messages, see L<perldiag>.
209
210XXX New or changed warnings emitted by the core's C<C> code go here. Also
211include any changes in L<perldiag> that reconcile it to the C<C> code.
212
213=head2 New Diagnostics
214
215XXX Newly added diagnostic messages go under here, separated into New Errors
216and New Warnings
217
218=head3 New Errors
219
220=over 4
221
222=item *
223
224XXX L<message|perldiag/"message">
225
226=back
227
228=head3 New Warnings
229
230=over 4
231
232=item *
233
234XXX L<message|perldiag/"message">
235
236=back
237
238=head2 Changes to Existing Diagnostics
239
240XXX Changes (i.e. rewording) of diagnostic messages go here
241
242=over 4
243
244=item *
245
246XXX Describe change here
247
248=back
249
250=head1 Utility Changes
251
252XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
253Most of these are built within the directory F<utils>.
254
255[ List utility changes as a =head2 entry for each utility and =item
256entries for each change
257Use L<XXX> with program names to get proper documentation linking. ]
258
be8c4594 259=head2 L<perl5db.pl> (the debugger)
2c101fc0
S
260
261=over 4
262
be8c4594 263=item * New option: C<HistItemMinLength>
2c101fc0 264
be8c4594
KE
265This option controls the minimum length a command must be to get stored in
266history. Traditionally, this has been fixed at 2. Changes to the debugger
267are often perilous, and new bugs should be reported so the debugger can be
268debugged.
2c101fc0 269
be8c4594 270=item * Fix to C<i> and C<l> commands
f84c3687 271
be8c4594 272The C<i $var> and C<l $var> commands work again with lexical variables.
f84c3687 273
2c101fc0
S
274=back
275
276=head1 Configuration and Compilation
277
278XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
279go here. Any other changes to the Perl build process should be listed here.
280However, any platform-specific changes should be listed in the
281L</Platform Support> section, instead.
282
283[ List changes as an =item entry ].
284
285=over 4
286
287=item *
288
a9d4ef0f 289The minimum supported Bison version is now 2.4, and the maxiumm is 3.7.
2c101fc0 290
c5a98284
DIM
291=item *
292
293Newer 64-bit versions of the Intel C/C++ compiler are now recognised
294and have the correct flags set.
295
2c101fc0
S
296=back
297
298=head1 Testing
299
300XXX Any significant changes to the testing of a freshly built perl should be
301listed here. Changes which create B<new> files in F<t/> go here as do any
302large changes to the testing harness (e.g. when parallel testing was added).
303Changes to existing files in F<t/> aren't worth summarizing, although the bugs
304that they represent may be covered elsewhere.
305
306XXX If there were no significant test changes, say this:
307
308Tests were added and changed to reflect the other additions and changes
309in this release.
310
311XXX If instead there were significant changes, say this:
312
313Tests were added and changed to reflect the other additions and
314changes in this release. Furthermore, these significant changes were
315made:
316
317[ List each test improvement as an =item entry ]
318
319=over 4
320
321=item *
322
323XXX
324
325=back
326
327=head1 Platform Support
328
62066149 329=head2 New Platforms
2c101fc0 330
62066149 331=over 4
2c101fc0 332
62066149 333=item 9front
2c101fc0 334
62066149
N
335Allow building Perl on i386 9front systems (fork of plan9).
336
337=back
338
339=head2 Updated Platforms
2c101fc0
S
340
341=over 4
342
62066149 343=item Plan9
2c101fc0 344
62066149 345Improve support for Plan9 on i386 platforms.
2c101fc0
S
346
347=back
348
349=head2 Discontinued Platforms
350
2c101fc0
S
351=over 4
352
22d3188b 353=item Symbian
2c101fc0 354
22d3188b
DIM
355Support code relating to Symbian has been removed. Symbian was an
356operating system for mobile devices. The port was last updated in July
3572009, and the platform itself in October 2012.
2c101fc0
S
358
359=back
360
361=head2 Platform-Specific Notes
362
363XXX List any changes for specific platforms. This could include configuration
364and compilation changes or changes in portability/compatibility. However,
365changes within modules for platforms should generally be listed in the
366L</Modules and Pragmata> section.
367
368=over 4
369
8b05af93 370=item z/OS
2c101fc0 371
8b05af93
KW
372The locale categories C<LC_SYNTAX> and C<LC_TOD> are now recognized.
373Perl doesn't do anything with these, except it now allows you to specify
374them. They are included in C<LC_ALL>.
2c101fc0
S
375
376=back
377
378=head1 Internal Changes
379
380XXX Changes which affect the interface available to C<XS> code go here. Other
381significant internal changes for future core maintainers should be noted as
382well.
383
2c101fc0
S
384=over 4
385
386=item *
387
32a40cca
DIM
388The C<PERL_GLOBAL_STRUCT> compilation option has been removed, and
389with it the need or the C<dVAR> macro. C<dVAR> remains defined as a
390no-op outside C<PERL_CORE> for backwards compatiblity with XS modules.
2c101fc0 391
4139540b
PLE
392=item *
393
394A new savestack type C<SAVEt_HINTS_HH> has been added, which neatens the
395previous behaviour of C<SAVEt_HINTS>. On previous versions the types and
396values pushed to the save stack would depend on whether the hints included the
397C<HINT_LOCALIZE_HH> bit, which complicates external code that inspects the
398save stack. The new version uses a different savestack type to indicate the
399difference.
400
87306e06
KW
401=item *
402
403A new API function L<perlapi/av_count> has been added which gives a
404clearly named way to find how many elements are in an array.
405
2c101fc0
S
406=back
407
408=head1 Selected Bug Fixes
409
410XXX Important bug fixes in the core language are summarized here. Bug fixes in
411files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
7b0fb693 412
2c101fc0 413[ List each fix as an =item entry ]
7b0fb693 414
2c101fc0
S
415=over 4
416
417=item *
418
ca316dfc 419IO::Handle: Fix a spurious error reported for regular file handles. GH #18019
2c101fc0
S
420
421=back
422
423=head1 Known Problems
7b0fb693 424
2c101fc0
S
425XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
426tests that had to be C<TODO>ed for the release would be noted here. Unfixed
427platform specific bugs also go here.
7b0fb693 428
2c101fc0 429[ List each fix as an =item entry ]
7b0fb693 430
2c101fc0
S
431=over 4
432
433=item *
434
435XXX
436
437=back
438
439=head1 Errata From Previous Releases
440
441=over 4
442
443=item *
444
445XXX Add anything here that we forgot to add, or were mistaken about, in
446the perldelta of a previous release.
447
448=back
449
450=head1 Obituary
451
452XXX If any significant core contributor or member of the CPAN community has
453died, add a short obituary here.
454
455=head1 Acknowledgements
2852b67a 456
2c101fc0 457XXX Generate this with:
0382c61d 458
2c101fc0 459 perl Porting/acknowledgements.pl v5.33.0..HEAD
8424e368 460
44691e6f
AB
461=head1 Reporting Bugs
462
46a21c0a 463If you find what you think is a bug, you might check the perl bug database
0382c61d 464at L<https://github.com/Perl/perl5/issues>. There may also be information at
46a21c0a 465L<http://www.perl.org/>, the Perl Home Page.
44691e6f 466
8166b4e0 467If you believe you have an unreported bug, please open an issue at
0382c61d 468L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
8166b4e0 469tiny but sufficient test case.
44691e6f 470
87c118b9 471If the bug you are reporting has security implications which make it
8166b4e0 472inappropriate to send to a public issue tracker, then see
46a21c0a
SH
473L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
474for details of how to report the issue.
44691e6f 475
390ae6f9
S
476=head1 Give Thanks
477
46a21c0a
SH
478If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
479you can do so by running the C<perlthanks> program:
390ae6f9
S
480
481 perlthanks
482
483This will send an email to the Perl 5 Porters list with your show of thanks.
484
44691e6f
AB
485=head1 SEE ALSO
486
e08634c5
SH
487The F<Changes> file for an explanation of how to view exhaustive details on
488what changed.
44691e6f
AB
489
490The F<INSTALL> file for how to build Perl.
491
492The F<README> file for general stuff.
493
494The F<Artistic> and F<Copying> files for copyright information.
495
496=cut