This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Eliminate the fifth argument from GDBM_File::TIEHASH.
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
e14ac59b
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.17.7
e128ab2c 9
4eabcf70 10=head1 DESCRIPTION
6db9054f 11
e14ac59b 12This document describes differences between the 5.17.6 release and the 5.17.7
e08634c5 13release.
6db9054f 14
e14ac59b
RS
15If you are upgrading from an earlier release such as 5.17.5, first read
16L<perl5176delta>, which describes differences between 5.17.5 and 5.17.6.
17
18=head1 Notice
19
20XXX Any important notices here
5faa50e9 21
5d8c8c8a 22=head1 Core Enhancements
4db91b87 23
e14ac59b
RS
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.
bde9e88d 27
e14ac59b 28[ List each enhancement as a =head2 entry ]
bde9e88d 29
e14ac59b 30=head1 Security
86148eee 31
e14ac59b
RS
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.
86148eee 35
e14ac59b 36[ List each security issue as a =head2 entry ]
9c5f5e7a 37
e14ac59b 38=head1 Incompatible Changes
90249f0a 39
3ef6ec90
TC
40=head2 readline() with C<$/ = \N> now reads N characters, not N bytes
41
42Previously, when reading from a stream with I/O layers such as
43C<encoding>, the readline() function, otherwise known as the C<< <> >>
44operator, would read I<N> bytes from the top-most layer. [perl #79960]
45
46Now, I<N> characters are read instead.
47
48There is no change in behaviour when reading from streams with no
49extra layers, since bytes map exactly to characters.
50
e14ac59b 51XXX For a release on a stable branch, this section aspires to be:
90249f0a 52
e14ac59b
RS
53 There are no changes intentionally incompatible with 5.XXX.XXX
54 If any exist, they are bugs, and we request that you submit a
55 report. See L</Reporting Bugs> below.
4d7cd482 56
e14ac59b 57[ List each incompatible change as a =head2 entry ]
4d7cd482 58
e14ac59b 59=head1 Deprecations
4d7cd482 60
e14ac59b
RS
61XXX Any deprecated features, syntax, modules etc. should be listed here. In
62particular, deprecated modules should be listed here even if they are listed as
63an updated module in the L</Modules and Pragmata> section.
4d7cd482 64
e14ac59b 65[ List each deprecation as a =head2 entry ]
86148eee 66
61b19385
KW
67=head2 Various XS-callable functions are now deprecated
68
69The following functions will be removed from a future version of Perl,
70and should not be used. With participating C compilers (e.g., gcc),
71compiling any file that uses any of these will generate a warning.
72These were not intended for public use; there are equivalent, faster,
73macros for most of them. See L<perlapi/Character classes>:
74C<is_uni_ascii>,
75C<is_uni_ascii_lc>,
76C<is_uni_blank>,
77C<is_uni_blank_lc>,
78C<is_uni_cntrl>,
79C<is_uni_cntrl_lc>,
80C<is_uni_idfirst_lc>,
81C<is_uni_space>,
82C<is_uni_space_lc>,
83C<is_uni_xdigit>,
84C<is_uni_xdigit_lc>,
85C<is_utf8_ascii>,
86C<is_utf8_blank>,
87C<is_utf8_cntrl>,
88C<is_utf8_idcont>,
89C<is_utf8_idfirst>,
90C<is_utf8_perl_space>,
91C<is_utf8_perl_word>,
92C<is_utf8_posix_digit>,
93C<is_utf8_space>,
94C<is_utf8_xdigit>.
95C<is_utf8_xidcont>,
96C<is_utf8_xidfirst>,
97C<to_uni_lower_lc>,
98C<to_uni_title_lc>,
99and
100C<to_uni_upper_lc>.
101
e14ac59b 102=head1 Performance Enhancements
86148eee 103
e14ac59b
RS
104XXX Changes which enhance performance without changing behaviour go here.
105There may well be none in a stable release.
86148eee 106
e14ac59b 107[ List each enhancement as a =item entry ]
1611045a 108
e14ac59b 109=over 4
7a7a10c7 110
e14ac59b 111=item *
7a7a10c7 112
e14ac59b 113XXX
7a7a10c7 114
e14ac59b 115=back
7a7a10c7 116
e14ac59b 117=head1 Modules and Pragmata
7a7a10c7 118
e14ac59b
RS
119XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
120go here. If Module::CoreList is updated, generate an initial draft of the
121following sections using F<Porting/corelist-perldelta.pl>, which prints stub
122entries to STDOUT. Results can be pasted in place of the '=head2' entries
123below. A paragraph summary for important changes should then be added by hand.
124In an ideal world, dual-life modules would have a F<Changes> file that could be
125cribbed.
7a7a10c7 126
e14ac59b 127[ Within each section, list entries as a =item entry ]
7a7a10c7 128
e14ac59b 129=head2 New Modules and Pragmata
45f11e9c 130
916c45d9 131=over 4
338a1057
SH
132
133=item *
134
e14ac59b 135XXX
0ace302a 136
e14ac59b 137=back
32209f41 138
e14ac59b 139=head2 Updated Modules and Pragmata
c387386a 140
e14ac59b 141=over 4
32209f41 142
e14ac59b 143=item *
5faa50e9 144
e14ac59b 145L<XXX> has been upgraded from version A.xx to B.yy.
5faa50e9 146
e14ac59b
RS
147=back
148
149=head2 Removed Modules and Pragmata
4cc02608 150
916c45d9 151=over 4
e7b92d54
SH
152
153=item *
154
e14ac59b 155XXX
11e375e0 156
e14ac59b 157=back
11e375e0 158
e14ac59b 159=head1 Documentation
11e375e0 160
e14ac59b
RS
161XXX Changes to files in F<pod/> go here. Consider grouping entries by
162file and be sure to link to the appropriate page, e.g. L<perlfunc>.
7b379596 163
e14ac59b 164=head2 New Documentation
5c26a176 165
e14ac59b 166XXX Changes which create B<new> files in F<pod/> go here.
5c26a176 167
e14ac59b 168=head3 L<XXX>
cb077ed2 169
e14ac59b 170XXX Description of the purpose of the new file here
11e375e0 171
e14ac59b 172=head2 Changes to Existing Documentation
11e375e0 173
e14ac59b
RS
174XXX Changes which significantly change existing files in F<pod/> go here.
175However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
176section.
177
243effed 178=head3 L<perlapi/Character classes>
11e375e0 179
e14ac59b 180=over 4
e498bd59
RS
181
182=item *
183
243effed
KW
184There are quite a few macros callable from XS modules that classify
185characters into things like alphabetic, punctuation, etc. More of these
186are now documented, including ones which work on characters whose code
187points are outside the Latin-1 range.
cb077ed2 188
5d8c8c8a 189=back
5f877a7f 190
e14ac59b
RS
191=head1 Diagnostics
192
193The following additions or changes have been made to diagnostic output,
194including warnings and fatal error messages. For the complete list of
195diagnostic messages, see L<perldiag>.
1ea91bbe 196
e14ac59b
RS
197XXX New or changed warnings emitted by the core's C<C> code go here. Also
198include any changes in L<perldiag> that reconcile it to the C<C> code.
199
200=head2 New Diagnostics
201
202XXX Newly added diagnostic messages go under here, separated into New Errors
203and New Warnings
204
205=head3 New Errors
5faa50e9 206
5d8c8c8a 207=over 4
1ea91bbe
FR
208
209=item *
210
e14ac59b 211XXX L<message|perldiag/"message">
5faa50e9 212
916c45d9 213=back
9c5f5e7a 214
e14ac59b 215=head3 New Warnings
4db91b87 216
5d8c8c8a 217=over 4
4db91b87 218
e14ac59b 219=item *
4db91b87 220
e14ac59b 221XXX L<message|perldiag/"message">
4db91b87 222
5d8c8c8a 223=back
5faa50e9 224
e14ac59b
RS
225=head2 Changes to Existing Diagnostics
226
227XXX Changes (i.e. rewording) of diagnostic messages go here
5faa50e9 228
5d8c8c8a 229=over 4
5faa50e9 230
e14ac59b 231=item *
ddb1bef5 232
e14ac59b 233XXX Describe change here
ddb1bef5 234
e14ac59b 235=back
5faa50e9 236
e14ac59b 237=head1 Utility Changes
5faa50e9 238
e14ac59b
RS
239XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
240Most of these are built within the directories F<utils> and F<x2p>.
5faa50e9 241
e14ac59b
RS
242[ List utility changes as a =head3 entry for each utility and =item
243entries for each change
244Use L<XXX> with program names to get proper documentation linking. ]
245
246=head3 L<XXX>
5faa50e9 247
5d8c8c8a 248=over 4
5faa50e9
FR
249
250=item *
251
e14ac59b 252XXX
cb077ed2 253
e14ac59b
RS
254=back
255
256=head1 Configuration and Compilation
257
258XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
259go here. Any other changes to the Perl build process should be listed here.
260However, any platform-specific changes should be listed in the
261L</Platform Support> section, instead.
cb077ed2 262
e14ac59b
RS
263[ List changes as a =item entry ].
264
265=over 4
90814a4e 266
5ce83ae9
DM
267=item *
268
e14ac59b 269XXX
5ce83ae9 270
5d8c8c8a 271=back
31c15ce5 272
e14ac59b
RS
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
281[ List each test improvement as a =item entry ]
4db91b87 282
5d8c8c8a 283=over 4
4db91b87
FC
284
285=item *
286
e14ac59b 287XXX
11e375e0 288
e14ac59b 289=back
11e375e0 290
e14ac59b 291=head1 Platform Support
11e375e0 292
e14ac59b 293XXX Any changes to platform support should be listed in the sections below.
11e375e0 294
e14ac59b
RS
295[ Within the sections, list each platform as a =item entry with specific
296changes as paragraphs below it. ]
11e375e0 297
e14ac59b 298=head2 New Platforms
11e375e0 299
e14ac59b
RS
300XXX List any platforms that this version of perl compiles on, that previous
301versions did not. These will either be enabled by new files in the F<hints/>
302directories, or new subdirectories and F<README> files at the top level of the
303source tree.
11e375e0 304
e14ac59b 305=over 4
11e375e0 306
e14ac59b 307=item XXX-some-platform
11e375e0 308
e14ac59b 309XXX
11e375e0 310
e14ac59b 311=back
11e375e0 312
e14ac59b 313=head2 Discontinued Platforms
11e375e0 314
e14ac59b 315XXX List any platforms that this version of perl no longer compiles on.
11e375e0 316
e14ac59b 317=over 4
11e375e0 318
e14ac59b 319=item XXX-some-platform
11e375e0 320
e14ac59b 321XXX
11e375e0 322
e14ac59b 323=back
11e375e0 324
e14ac59b 325=head2 Platform-Specific Notes
11e375e0 326
e14ac59b
RS
327XXX List any changes for specific platforms. This could include configuration
328and compilation changes or changes in portability/compatibility. However,
329changes within modules for platforms should generally be listed in the
330L</Modules and Pragmata> section.
11e375e0 331
e14ac59b 332=over 4
11e375e0 333
e14ac59b 334=item XXX-some-platform
11e375e0 335
e14ac59b 336XXX
11e375e0 337
e14ac59b 338=back
11e375e0 339
e14ac59b 340=head1 Internal Changes
11e375e0 341
e14ac59b
RS
342XXX Changes which affect the interface available to C<XS> code go here. Other
343significant internal changes for future core maintainers should be noted as
344well.
11e375e0 345
e14ac59b 346[ List each change as a =item entry ]
11e375e0 347
e14ac59b 348=over 4
11e375e0
FC
349
350=item *
351
e14ac59b
RS
352XXX
353
354=back
355
356=head1 Selected Bug Fixes
357
358XXX Important bug fixes in the core language are summarized here. Bug fixes in
359files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
360
361[ List each fix as a =item entry ]
362
363=over 4
11e375e0
FC
364
365=item *
366
e14ac59b
RS
367XXX
368
369=back
370
371=head1 Known Problems
372
373XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
374tests that had to be C<TODO>ed for the release would be noted here. Unfixed
375platform specific bugs also go here.
376
377[ List each fix as a =item entry ]
378
379=over 4
2d9cd31f 380
c9ac5216
FC
381=item *
382
e14ac59b 383XXX
c9ac5216 384
5d8c8c8a 385=back
4db91b87 386
e14ac59b
RS
387=head1 Obituary
388
389XXX If any significant core contributor has died, we've added a short obituary
390here.
391
916c45d9 392=head1 Acknowledgements
05bee12a 393
e14ac59b
RS
394XXX Generate this with:
395
396 perl Porting/acknowledgements.pl v5.17.6..HEAD
29cf780c 397
44691e6f
AB
398=head1 Reporting Bugs
399
e08634c5
SH
400If you find what you think is a bug, you might check the articles recently
401posted to the comp.lang.perl.misc newsgroup and the perl bug database at
402http://rt.perl.org/perlbug/ . There may also be information at
403http://www.perl.org/ , the Perl Home Page.
44691e6f 404
e08634c5
SH
405If you believe you have an unreported bug, please run the L<perlbug> program
406included with your release. Be sure to trim your bug down to a tiny but
407sufficient test case. Your bug report, along with the output of C<perl -V>,
408will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f
AB
409
410If the bug you are reporting has security implications, which make it
e08634c5
SH
411inappropriate to send to a publicly archived mailing list, then please send it
412to perl5-security-report@perl.org. This points to a closed subscription
413unarchived mailing list, which includes all the core committers, who will be
414able to help assess the impact of issues, figure out a resolution, and help
f9001595 415co-ordinate the release of patches to mitigate or fix the problem across all
e08634c5
SH
416platforms on which Perl is supported. Please only use this address for
417security issues in the Perl core, not for modules independently distributed on
418CPAN.
44691e6f
AB
419
420=head1 SEE ALSO
421
e08634c5
SH
422The F<Changes> file for an explanation of how to view exhaustive details on
423what changed.
44691e6f
AB
424
425The F<INSTALL> file for how to build Perl.
426
427The F<README> file for general stuff.
428
429The F<Artistic> and F<Copying> files for copyright information.
430
431=cut