This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
hide private functions with __attribute__((visibility("hidden")))
[perl5.git] / pod / perldelta.pod
CommitLineData
0382c61d 1=encoding utf8
7b0fb693 2
0382c61d 3=head1 NAME
7b0fb693 4
60fa4bd4
RS
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.37.1
aae76867 9
9f2eb154 10=head1 DESCRIPTION
aae76867 11
60fa4bd4 12This document describes differences between the 5.37.0 release and the 5.37.1
9f2eb154 13release.
aae76867 14
60fa4bd4
RS
15If you are upgrading from an earlier release such as 5.36.0, first read
16L<perl5370delta>, which describes differences between 5.36.0 and 5.37.0.
8404d64a 17
60fa4bd4 18=head1 Notice
6acd8d81 19
60fa4bd4
RS
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
95
96=head1 Modules and Pragmata
97
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
116=item *
117
118XXX Remove this section if not applicable.
119
120=back
121
122=head2 Updated Modules and Pragmata
123
124=over 4
125
126=item *
127
cc98b54e 128L<GDBM_File> has been upgraded from version 1.23 to 1.24.
60fa4bd4 129
cc98b54e 130The mmapsize() method now correctly fetches the value.
60fa4bd4 131
0bad81da
TC
132=item *
133
134L<SDBM_File> has been upgraded from 1.15 to 1.16.
135
136SDBM_File now supports files over 2GB on Win32. [github #6841]
137
60fa4bd4
RS
138=back
139
140=head2 Removed Modules and Pragmata
141
142=over 4
143
144=item *
145
146XXX
147
148=back
149
150=head1 Documentation
151
152XXX Changes to files in F<pod/> go here. Consider grouping entries by
153file and be sure to link to the appropriate page, e.g. L<perlfunc>.
154
155=head2 New Documentation
156
157XXX Changes which create B<new> files in F<pod/> go here.
158
159=head3 L<XXX>
160
161XXX Description of the purpose of the new file here
162
163=head2 Changes to Existing Documentation
164
165We have attempted to update the documentation to reflect the changes
166listed in this document. If you find any we have missed, open an issue
167at L<https://github.com/Perl/perl5/issues>.
168
169XXX Changes which significantly change existing files in F<pod/> go here.
170However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
171section.
172
173Additionally, the following selected changes have been made:
174
175=head3 L<XXX>
176
177=over 4
178
179=item *
180
181XXX Description of the change here
182
183=back
184
185=head1 Diagnostics
186
187The following additions or changes have been made to diagnostic output,
188including warnings and fatal error messages. For the complete list of
189diagnostic messages, see L<perldiag>.
190
191XXX New or changed warnings emitted by the core's C<C> code go here. Also
192include any changes in L<perldiag> that reconcile it to the C<C> code.
193
194=head2 New Diagnostics
195
196XXX Newly added diagnostic messages go under here, separated into New Errors
197and New Warnings
198
199=head3 New Errors
200
201=over 4
202
203=item *
204
205XXX L<message|perldiag/"message">
206
207=back
208
209=head3 New Warnings
210
211=over 4
212
213=item *
214
fef64ad9
KW
215L<Unknown locale category %d|perldiag/"Unknown locale category %d">
216
217This is a shortened form of an already existing diagnostic, for use when
218there is no new locale being switched to. The previous diagnostic was
219misleading in such circumstances.
07b02967 220
60fa4bd4 221=back
6acd8d81 222
60fa4bd4 223=head2 Changes to Existing Diagnostics
07b02967 224
60fa4bd4 225XXX Changes (i.e. rewording) of diagnostic messages go here
d2941388 226
60fa4bd4
RS
227=over 4
228
229=item *
230
231XXX Describe change here
232
233=back
234
235=head1 Utility Changes
236
237XXX Changes to installed programs such as F<perldoc> and F<xsubpp> go here.
238Most of these are built within the directory F<utils>.
239
240[ List utility changes as a =head2 entry for each utility and =item
241entries for each change
242Use L<XXX> with program names to get proper documentation linking. ]
243
244=head2 L<XXX>
245
246=over 4
247
248=item *
249
250XXX
251
252=back
253
254=head1 Configuration and Compilation
255
256XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
257go here. Any other changes to the Perl build process should be listed here.
258However, any platform-specific changes should be listed in the
259L</Platform Support> section, instead.
260
261[ List changes as an =item entry ].
262
263=over 4
264
265=item *
266
b69fafb3
TC
267C<make -j6 minitest> could fail due to a build conflict in building
268C<$(MINIPERL_EXE)> between the main make process and a child process.
269[github #19829]
60fa4bd4
RS
270
271=back
272
273=head1 Testing
274
275XXX Any significant changes to the testing of a freshly built perl should be
276listed here. Changes which create B<new> files in F<t/> go here as do any
277large changes to the testing harness (e.g. when parallel testing was added).
278Changes to existing files in F<t/> aren't worth summarizing, although the bugs
279that they represent may be covered elsewhere.
280
281XXX If there were no significant test changes, say this:
282
283Tests were added and changed to reflect the other additions and changes
284in this release.
285
286XXX If instead there were significant changes, say this:
287
288Tests were added and changed to reflect the other additions and
289changes in this release. Furthermore, these significant changes were
290made:
291
292[ List each test improvement as an =item entry ]
293
294=over 4
295
296=item *
297
298XXX
299
300=back
301
302=head1 Platform Support
303
304XXX Any changes to platform support should be listed in the sections below.
305
306[ Within the sections, list each platform as an =item entry with specific
307changes as paragraphs below it. ]
308
309=head2 New Platforms
310
311XXX List any platforms that this version of perl compiles on, that previous
312versions did not. These will either be enabled by new files in the F<hints/>
313directories, or new subdirectories and F<README> files at the top level of the
314source tree.
315
316=over 4
317
318=item XXX-some-platform
319
320XXX
321
322=back
323
324=head2 Discontinued Platforms
325
60fa4bd4
RS
326=over 4
327
1aa8e6dd 328=item Ultrix
60fa4bd4 329
1aa8e6dd
KW
330Support code for DEC Ultrix has been removed. Ultrix was the native
331Unix-like operating system for various Digital Equipment Corporation
332machines. Its final release was in 1995.
60fa4bd4
RS
333
334=back
335
336=head2 Platform-Specific Notes
337
338XXX List any changes for specific platforms. This could include configuration
339and compilation changes or changes in portability/compatibility. However,
340changes within modules for platforms should generally be listed in the
341L</Modules and Pragmata> section.
342
343=over 4
344
cc98b54e 345=item Windows
60fa4bd4 346
cc98b54e
TC
347utimes() on Win32 would print a message to stderr if it failed to
348convert a supplied C<time_t> to to a C<FILETIME>. [github #19668]
60fa4bd4
RS
349
350=back
351
352=head1 Internal Changes
353
354XXX Changes which affect the interface available to C<XS> code go here. Other
355significant internal changes for future core maintainers should be noted as
356well.
357
358[ List each change as an =item entry ]
359
360=over 4
361
362=item *
363
ae6b6b71
TK
364Perl is no longer manipulating the C<environ> array directly. The variable
365C<PL_use_safe_putenv> has been removed and C<PERL_USE_SAFE_PUTENV> is always
366defined. This means XS modules can now call C<setenv> and C<putenv> without
367causing segfaults. [L<perl #19399|https://github.com/Perl/perl5/issues/19399>]
60fa4bd4 368
0351a629
TK
369=item *
370
371Internal C API functions are now hidden with C<__attribute__((hidden))> on the
372platforms that support it. This means they are no longer callable from XS
373modules on those platforms.
374
375It should be noted that those functions have always been hidden on Windows. This
376change merely brings that to the other platforms.
377[L<perl #19655|https://github.com/Perl/perl5/pull/19655>]
378
60fa4bd4
RS
379=back
380
381=head1 Selected Bug Fixes
382
383XXX Important bug fixes in the core language are summarized here. Bug fixes in
384files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
385
386[ List each fix as an =item entry ]
387
388=over 4
389
390=item *
391
392XXX
393
394=back
395
396=head1 Known Problems
397
398XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
399tests that had to be C<TODO>ed for the release would be noted here. Unfixed
400platform specific bugs also go here.
401
402[ List each fix as an =item entry ]
403
404=over 4
405
406=item *
407
408XXX
409
410=back
411
412=head1 Errata From Previous Releases
413
414=over 4
415
416=item *
417
418XXX Add anything here that we forgot to add, or were mistaken about, in
419the perldelta of a previous release.
420
421=back
422
423=head1 Obituary
424
425XXX If any significant core contributor or member of the CPAN community has
426died, add a short obituary here.
427
428=head1 Acknowledgements
07b02967 429
60fa4bd4 430XXX Generate this with:
9f2eb154 431
60fa4bd4 432 perl Porting/acknowledgements.pl v5.37.1..HEAD
8424e368 433
44691e6f
AB
434=head1 Reporting Bugs
435
6acd8d81
SH
436If you find what you think is a bug, you might check the perl bug database
437at L<https://github.com/Perl/perl5/issues>. There may also be information at
46a21c0a 438L<http://www.perl.org/>, the Perl Home Page.
44691e6f 439
8166b4e0 440If you believe you have an unreported bug, please open an issue at
0382c61d 441L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a
8166b4e0 442tiny but sufficient test case.
44691e6f 443
87c118b9 444If the bug you are reporting has security implications which make it
8166b4e0 445inappropriate to send to a public issue tracker, then see
6acd8d81
SH
446L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
447for details of how to report the issue.
44691e6f 448
390ae6f9
S
449=head1 Give Thanks
450
6acd8d81
SH
451If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
452you can do so by running the C<perlthanks> program:
390ae6f9
S
453
454 perlthanks
455
456This will send an email to the Perl 5 Porters list with your show of thanks.
457
44691e6f
AB
458=head1 SEE ALSO
459
e08634c5
SH
460The F<Changes> file for an explanation of how to view exhaustive details on
461what changed.
44691e6f
AB
462
463The F<INSTALL> file for how to build Perl.
464
465The F<README> file for general stuff.
466
467The F<Artistic> and F<Copying> files for copyright information.
468
469=cut