This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Add entry for sync_locale()
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
13900f93
A
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.21.3
c68523cb 9
238894db 10=head1 DESCRIPTION
c68523cb 11
13900f93 12This document describes differences between the 5.21.2 release and the 5.21.3
238894db 13release.
c68523cb 14
13900f93
A
15If you are upgrading from an earlier release such as 5.21.1, first read
16L<perl5212delta>, which describes differences between 5.21.1 and 5.21.2.
17
18=head1 Notice
19
20XXX Any important notices here
7065301c 21
7065301c
RS
22=head1 Core Enhancements
23
13900f93
A
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.
7e957246 27
13900f93 28[ List each enhancement as a =head2 entry ]
7e957246 29
0346c3a9 30=head1 Security
7e957246 31
13900f93
A
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 ]
8bdb3f93 37
13900f93 38=head1 Incompatible Changes
8bdb3f93 39
13900f93 40XXX For a release on a stable branch, this section aspires to be:
8bdb3f93 41
13900f93
A
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 ]
cd209d9d 47
1178d2cf
DIM
48=head2 S<C<use UNIVERSAL '...'>> is now a fatal error
49
50Importing functions from C<UNIVERSAL> has been deprecated since v5.12, and
51is now a fatal error. S<C<"use UNIVERSAL">> without any arguments is still
52allowed.
53
0346c3a9 54=head1 Deprecations
5320b60d 55
13900f93 56XXX Any deprecated features, syntax, modules etc. should be listed here.
36304e49 57
13900f93 58=head2 Module removals
7065301c 59
13900f93 60XXX Remove this section if inapplicable.
df758df2 61
13900f93
A
62The following modules will be removed from the core distribution in a
63future release, and will at that time need to be installed from CPAN.
64Distributions on CPAN which require these modules will need to list them as
65prerequisites.
df758df2 66
13900f93
A
67The core versions of these modules will now issue C<"deprecated">-category
68warnings to alert you to this fact. To silence these deprecation warnings,
69install the modules in question from CPAN.
412f55bb 70
13900f93
A
71Note that these are (with rare exceptions) fine modules that you are encouraged
72to continue to use. Their disinclusion from core primarily hinges on their
73necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
74not usually on concerns over their design.
412f55bb 75
13900f93 76=over
7065301c 77
13900f93 78=item XXX
7065301c 79
13900f93
A
80XXX Note that deprecated modules should be listed here even if they are listed
81as an updated module in the L</Modules and Pragmata> section.
d133a3dd 82
13900f93
A
83=back
84
85[ List each other deprecation as a =head2 entry ]
86
87=head1 Performance Enhancements
88
89XXX Changes which enhance performance without changing behaviour go here.
90There may well be none in a stable release.
91
92[ List each enhancement as a =item entry ]
93
94=over 4
7065301c 95
6bb82be0
MH
96=item *
97
13900f93 98XXX
6bb82be0 99
7065301c
RS
100=back
101
7ef8b31d 102=head1 Modules and Pragmata
f6f3144e 103
13900f93
A
104XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
105go here. If Module::CoreList is updated, generate an initial draft of the
106following sections using F<Porting/corelist-perldelta.pl>. A paragraph summary
107for important changes should then be added by hand. In an ideal world,
108dual-life modules would have a F<Changes> file that could be cribbed.
2fc36bac 109
13900f93 110[ Within each section, list entries as a =item entry ]
2fc36bac 111
13900f93 112=head2 New Modules and Pragmata
2fc36bac 113
13900f93 114=over 4
24a38d90
RS
115
116=item *
117
13900f93 118XXX
7065301c 119
13900f93
A
120=back
121
122=head2 Updated Modules and Pragmata
7065301c 123
13900f93 124=over 4
7065301c 125
aac7f82f
A
126=item *
127
f7df1a8c
TC
128L<perl5db.pl> has been upgraded from version 1,45 to 1.46.
129
130Fixed the scope level handling of the debugger's C<y> command.
aac7f82f 131
0bb39c26
TC
132=item *
133
134L<POSIX> has been upgraded from version 1.41 to 1.42.
135
136Replaced the thread-unsafe code used to prevent duplicate warning
137messages for using the isxxx() functions. [perl #122476]
138
13900f93 139=back
aac7f82f 140
13900f93
A
141=head2 Removed Modules and Pragmata
142
143=over 4
aac7f82f
A
144
145=item *
146
13900f93 147XXX
aac7f82f 148
13900f93 149=back
aac7f82f 150
13900f93 151=head1 Documentation
aac7f82f 152
13900f93
A
153XXX Changes to files in F<pod/> go here. Consider grouping entries by
154file and be sure to link to the appropriate page, e.g. L<perlfunc>.
aac7f82f 155
13900f93 156=head2 New Documentation
7065301c 157
13900f93 158XXX Changes which create B<new> files in F<pod/> go here.
7065301c 159
13900f93 160=head3 L<XXX>
aac7f82f 161
13900f93 162XXX Description of the purpose of the new file here
aac7f82f 163
13900f93 164=head2 Changes to Existing Documentation
6d9b7c7c 165
13900f93
A
166XXX Changes which significantly change existing files in F<pod/> go here.
167However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
168section.
6d9b7c7c 169
13900f93 170=head3 L<XXX>
7f55cec0 171
13900f93 172=over 4
7f55cec0
SH
173
174=item *
175
13900f93 176XXX Description of the change here
aac7f82f 177
13900f93 178=back
aac7f82f 179
13900f93 180=head1 Diagnostics
091fed7c 181
13900f93
A
182The following additions or changes have been made to diagnostic output,
183including warnings and fatal error messages. For the complete list of
184diagnostic messages, see L<perldiag>.
902c1f75 185
13900f93
A
186XXX New or changed warnings emitted by the core's C<C> code go here. Also
187include any changes in L<perldiag> that reconcile it to the C<C> code.
2901561d 188
13900f93 189=head2 New Diagnostics
2901561d 190
13900f93
A
191XXX Newly added diagnostic messages go under here, separated into New Errors
192and New Warnings
193
194=head3 New Errors
4594cf53 195
13900f93 196=over 4
96dcbc37
DD
197
198=item *
199
13900f93 200XXX L<message|perldiag/"message">
7065301c 201
13900f93 202=back
58f25ac1 203
13900f93
A
204=head3 New Warnings
205
206=over 4
58f25ac1
MH
207
208=item *
209
13900f93 210XXX L<message|perldiag/"message">
5bafdaa4 211
58f25ac1
MH
212=back
213
13900f93 214=head2 Changes to Existing Diagnostics
12042f24 215
13900f93 216XXX Changes (i.e. rewording) of diagnostic messages go here
b10906fb
MH
217
218=over 4
219
220=item *
221
13900f93 222XXX Describe change here
b10906fb
MH
223
224=back
225
13900f93
A
226=head1 Utility Changes
227
228XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
229Most of these are built within the directory F<utils>.
230
231[ List utility changes as a =head2 entry for each utility and =item
232entries for each change
233Use L<XXX> with program names to get proper documentation linking. ]
234
235=head2 L<XXX>
7065301c 236
6d9b7c7c 237=over 4
7065301c 238
6d9b7c7c 239=item *
0346c3a9 240
13900f93 241XXX
7065301c 242
6d9b7c7c 243=back
0346c3a9 244
13900f93
A
245=head1 Configuration and Compilation
246
247XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
248go here. Any other changes to the Perl build process should be listed here.
249However, any platform-specific changes should be listed in the
250L</Platform Support> section, instead.
251
252[ List changes as a =item entry ].
7065301c
RS
253
254=over 4
24a38d90
RS
255
256=item *
257
13900f93 258XXX
7065301c
RS
259
260=back
261
13900f93 262=head1 Testing
6d9b7c7c 263
13900f93
A
264XXX Any significant changes to the testing of a freshly built perl should be
265listed here. Changes which create B<new> files in F<t/> go here as do any
266large changes to the testing harness (e.g. when parallel testing was added).
267Changes to existing files in F<t/> aren't worth summarizing, although the bugs
268that they represent may be covered elsewhere.
6d9b7c7c 269
13900f93 270[ List each test improvement as a =item entry ]
7065301c
RS
271
272=over 4
24a38d90
RS
273
274=item *
275
13900f93 276XXX
48867f3d 277
13900f93 278=back
28462159 279
13900f93 280=head1 Platform Support
097675bf 281
13900f93 282XXX Any changes to platform support should be listed in the sections below.
b3211734 283
13900f93
A
284[ Within the sections, list each platform as a =item entry with specific
285changes as paragraphs below it. ]
b3211734 286
13900f93 287=head2 New Platforms
24a38d90 288
13900f93
A
289XXX List any platforms that this version of perl compiles on, that previous
290versions did not. These will either be enabled by new files in the F<hints/>
291directories, or new subdirectories and F<README> files at the top level of the
292source tree.
b08d439a 293
0346c3a9 294=over 4
747b6130 295
13900f93 296=item XXX-some-platform
747b6130 297
13900f93 298XXX
7065301c
RS
299
300=back
301
13900f93
A
302=head2 Discontinued Platforms
303
304XXX List any platforms that this version of perl no longer compiles on.
0346c3a9 305
7065301c
RS
306=over 4
307
13900f93 308=item XXX-some-platform
24a38d90 309
13900f93 310XXX
7065301c
RS
311
312=back
313
7065301c
RS
314=head2 Platform-Specific Notes
315
13900f93
A
316XXX List any changes for specific platforms. This could include configuration
317and compilation changes or changes in portability/compatibility. However,
318changes within modules for platforms should generally be listed in the
319L</Modules and Pragmata> section.
320
0346c3a9 321=over 4
7d0ccdba 322
13900f93 323=item XXX-some-platform
7d0ccdba 324
13900f93 325XXX
7d0ccdba 326
7065301c
RS
327=back
328
329=head1 Internal Changes
330
13900f93
A
331XXX Changes which affect the interface available to C<XS> code go here. Other
332significant internal changes for future core maintainers should be noted as
333well.
c9fcb674 334
13900f93 335[ List each change as a =item entry ]
ddeaf645 336
13900f93 337=over 4
c9fcb674 338
a835cd47
KW
339=item *
340
d8bcb4d6
KW
341Added L<perlapi/sync_locale>.
342Changing the program's locale should be avoided by XS code. Nevertheless,
343certain non-Perl libraries called from XS, such as C<Gtk> do so. When this
344happens, Perl needs to be told that the locale has changed. Use this function
345to do so, before returning to Perl.
c1284011 346
6d9b7c7c 347=back
c1284011 348
6d9b7c7c 349=head1 Selected Bug Fixes
375f5f06 350
13900f93
A
351XXX Important bug fixes in the core language are summarized here. Bug fixes in
352files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
353
354[ List each fix as a =item entry ]
355
0346c3a9 356=over 4
375f5f06 357
2884baee
MH
358=item *
359
0dd816ae
TC
360Failing to compile C<use Foo> in an eval could leave a spurious
361C<BEGIN> subroutine definition, which would produce a "Subroutine
362BEGIN redefined" warning on the next use of C<use>, or other C<BEGIN>
363block. [perl #122107]
2884baee 364
13900f93
A
365=back
366
367=head1 Known Problems
368
369XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
370tests that had to be C<TODO>ed for the release would be noted here. Unfixed
371platform specific bugs also go here.
5af51eb4 372
13900f93
A
373[ List each fix as a =item entry ]
374
375=over 4
5af51eb4 376
412f55bb
KW
377=item *
378
13900f93 379XXX
412f55bb 380
7065301c
RS
381=back
382
13900f93 383=head1 Errata From Previous Releases
24a38d90 384
13900f93
A
385=over 4
386
387=item *
e831f11a 388
13900f93
A
389XXX Add anything here that we forgot to add, or were mistaken about, in
390the perldelta of a previous release.
e831f11a 391
13900f93
A
392=back
393
394=head1 Obituary
e831f11a 395
13900f93
A
396XXX If any significant core contributor has died, we've added a short obituary
397here.
e831f11a 398
13900f93 399=head1 Acknowledgements
e831f11a 400
13900f93 401XXX Generate this with:
e831f11a 402
13900f93 403 perl Porting/acknowledgements.pl v5.21.2..HEAD
f5b73711 404
44691e6f
AB
405=head1 Reporting Bugs
406
e08634c5
SH
407If you find what you think is a bug, you might check the articles recently
408posted to the comp.lang.perl.misc newsgroup and the perl bug database at
238894db 409https://rt.perl.org/ . There may also be information at
7ef8b31d 410http://www.perl.org/ , the Perl Home Page.
44691e6f 411
e08634c5
SH
412If you believe you have an unreported bug, please run the L<perlbug> program
413included with your release. Be sure to trim your bug down to a tiny but
414sufficient test case. Your bug report, along with the output of C<perl -V>,
415will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
416
417If the bug you are reporting has security implications, which make it
e08634c5
SH
418inappropriate to send to a publicly archived mailing list, then please send it
419to perl5-security-report@perl.org. This points to a closed subscription
420unarchived mailing list, which includes all the core committers, who will be
421able to help assess the impact of issues, figure out a resolution, and help
f9001595 422co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
423platforms on which Perl is supported. Please only use this address for
424security issues in the Perl core, not for modules independently distributed on
425CPAN.
44691e6f
AB
426
427=head1 SEE ALSO
428
e08634c5
SH
429The F<Changes> file for an explanation of how to view exhaustive details on
430what changed.
44691e6f
AB
431
432The F<INSTALL> file for how to build Perl.
433
434The F<README> file for general stuff.
435
436The F<Artistic> and F<Copying> files for copyright information.
437
438=cut