This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tick!
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
e0f0cf8a 5perldelta - what is new for perl v5.29.7
e4c43fa1 6
4026b091
S
7=head1 DESCRIPTION
8
e0f0cf8a 9This document describes differences between the 5.29.6 release and the 5.29.7
4026b091
S
10release.
11
e0f0cf8a
A
12If you are upgrading from an earlier release such as 5.29.5, first read
13L<perl5296delta>, which describes differences between 5.29.5 and 5.29.6.
14
e0f0cf8a 15=head1 Deprecations
0ce66d44 16
5203d63d
KW
17=head2 In XS code, use of various macros dealing with UTF-8.
18
19This deprecation was scheduled to become fatal in 5.30, but has been
20delayed to 5.32 due to problems that showed up with some CPAN modules.
21For details of what's affected, see L<perldeprecation|
1c4b2ed9 22perldeprecation/In XS code, use of various macros dealing with UTF-8.>.
21d34e95 23
e0f0cf8a
A
24=head1 Performance Enhancements
25
4380f76d 26=over 4
4234ac96 27
15f62f05 28=item *
4234ac96 29
1c4b2ed9
A
30A handful of small optimizations related to character folding
31and character classes in regular expressions.
72b2b1d9 32
e0f0cf8a 33=back
72b2b1d9 34
e0f0cf8a 35=head1 Modules and Pragmata
1ab3a811 36
3e52c030 37=head2 Updated Modules and Pragmata
1ab3a811 38
3e52c030 39=over 4
1ab3a811 40
3e52c030 41=item *
e0f0cf8a 42
3e52c030 43L<Compress::Raw::Bzip2> has been upgraded from version 2.081 to 2.084.
e0f0cf8a 44
3e52c030 45=item *
e0f0cf8a 46
3e52c030 47L<Compress::Raw::Zlib> has been upgraded from version 2.081 to 2.084.
2029a7cc
A
48
49=item *
50
1c4b2ed9 51L<CPAN> has been upgraded from version 2.21 to 2.22.
1ab3a811 52
1c4b2ed9 53=item *
1ab3a811 54
1c4b2ed9 55L<DB_File> has been upgraded from version 1.842 to 1.843.
fdfb42a0 56
1c4b2ed9 57=item *
fdfb42a0 58
1c4b2ed9
A
59L<File::Find> has been upgraded from version 1.35 to 1.36.
60
61Variables C<< $Is_Win32 >> and C<< $Is_VMS >> are being initialized.
11d2c931
JK
62
63=item *
64
3e52c030
A
65L<File::Spec> has been upgraded from version 3.76 to 3.77.
66
67=item *
68
69L<File::Temp> has been upgraded from version 0.2308 to 0.2309.
70
71=item *
72
73IO-Compress has been upgraded from version 2.081 to 2.084.
74
75Adds support for C<< IO::Uncompress::Zstd >> and
76C<< IO::Uncompress::UnLzip >>.
77
78The C<< BinModeIn >> and C<< BinModeOut >> options are now no-ops.
79ALL files will be read/written in binmode.
80
81=item *
82
1c4b2ed9 83L<lib> has been upgraded from version 0.64 to 0.65.
e116fd3c 84
3e52c030
A
85=item *
86
87L<Math::BigInt> has been upgraded from version 1.999813 to 1.999816.
88
89C<< bnok() >> now supports the full Kronenburg extension.
90L<[cpan #95628]|https://rt.cpan.org/Ticket/Display.html?id=95628>.
91
92=item *
93
94L<Math::BigInt::FastCalc> has been upgraded from version 0.5007 to 0.5008.
95
96=item *
97
98L<Module::CoreList> has been upgraded from version 5.20181218 to 5.20190120.
99
100=item *
101
102L<Test::Simple> has been upgraded from version 1.302141 to 1.302160.
103
104=item *
105
106L<Unicode::Collate> has been upgraded from version 1.25 to 1.27.
107
4234ac96
AC
108=back
109
15f62f05 110=head1 Documentation
4234ac96 111
15f62f05 112=head2 Changes to Existing Documentation
4234ac96 113
15f62f05
KE
114We have attempted to update the documentation to reflect the changes
115listed in this document. If you find any we have missed, send email
116to L<perlbug@perl.org|mailto:perlbug@perl.org>.
4234ac96 117
15f62f05
KE
118Additionally, the following selected changes have been made:
119
1c4b2ed9 120=head3 L<perlvar>
0ce66d44
A
121
122=over 4
123
0deccbc4
A
124=item *
125
bcbc8289 126More specific documentation of paragraph mode. L<[perl #133722]|https://rt.perl.org/Ticket/Display.html?id=133722>.
0deccbc4
A
127
128=back
0ce66d44 129
e0f0cf8a
A
130=head1 Diagnostics
131
132The following additions or changes have been made to diagnostic output,
133including warnings and fatal error messages. For the complete list of
134diagnostic messages, see L<perldiag>.
135
4380f76d
KE
136=head2 Changes to Existing Diagnostics
137
4380f76d
KE
138=over 4
139
140=item *
141
fee5d599
TC
142L<Prototype not terminated|perldiag/"Prototype not terminated">
143
1c4b2ed9 144The file and line number is now reported for this error.
bcbc8289 145L<[perl #133524]|https://rt.perl.org/Ticket/Display.html?id=133524>
0ce66d44 146
4234ac96
AC
147=back
148
149=head1 Testing
150
4380f76d
KE
151Tests were added and changed to reflect the other additions and
152changes in this release. Furthermore, these significant changes were
153made:
154
4380f76d
KE
155=over 4
156
157=item *
158
1c4b2ed9 159Fix intermittent tests which failed due to race conditions which
bcbc8289 160surface during parallel testing. L<[perl #133740]|https://rt.perl.org/Ticket/Display.html?id=133740>.
4380f76d 161
1c4b2ed9 162=item *
ea89b333 163
1c4b2ed9 164Thoroughly test paragraph mode, using a new test file,
bcbc8289 165F<t/io/paragraph_mode.t>. L<[perl #133722]|https://rt.perl.org/Ticket/Display.html?id=133722>.
20ccb10a 166
e0f0cf8a 167=back
20ccb10a 168
1c4b2ed9 169=head1 Selected Bug Fixes
20ccb10a 170
e0f0cf8a 171=over 4
0ce66d44
A
172
173=item *
174
1c4b2ed9 175Fixed a failure to match properly.
b20a43d7 176
1c4b2ed9 177An EXACTFish regnode has a finite length it can hold for the string
0d9be615 178being matched. If that length is exceeded, a second node is used for
1c4b2ed9
A
179the next segment of the string, for as many regnodes as are needed.
180Care has to be taken where to break the string, in order to deal
181multi-character folds in Unicode correctly. If we want to break a
182string at a place which could potentially be in the middle of a
183multi-character fold, we back off one (or more) characters, leaving
184a shorter EXACTFish regnode. This backing off mechanism contained
bcbc8289 185an off-by-one error. L<[perl #133756]|https://rt.perl.org/Ticket/Display.html?id=133756>.
0ce66d44
A
186
187=item *
188
429944ca 189A bare C<eof> call with no previous file handle now returns true.
bcbc8289 190L<[perl #133721]|https://rt.perl.org/Ticket/Display.html?id=133721>
0ce66d44 191
ff2d4c11
TC
192=item *
193
194Failing to compile a format now aborts compilation. Like other errors
195in sub-parses this could leave the parser in a strange state, possibly
bcbc8289 196crashing perl if compilation continued. L<[perl #132158]|https://rt.perl.org/Ticket/Display.html?id=132158>
ff2d4c11 197
e0f0cf8a 198=back
0ce66d44 199
e0f0cf8a 200=head1 Acknowledgements
990f9aa0 201
1c0558a0
A
202Perl 5.29.7 represents approximately 5 weeks of development since Perl
2035.29.6 and contains approximately 97,000 lines of changes across 350 files
204from 8 authors.
990f9aa0 205
1c0558a0
A
206Excluding auto-generated files, documentation and release tools, there were
207approximately 27,000 lines of changes to 190 .pm, .t, .c and .h files.
208
209Perl continues to flourish into its fourth decade thanks to a vibrant
210community of users and developers. The following people are known to have
211contributed the improvements that became Perl 5.29.7:
212
213Abigail, Chris 'BinGOs' Williams, Eugen Konkov, Hauke D, James E Keenan,
214Karl Williamson, Tomasz Konojacki, Tony Cook.
215
216The list above is almost certainly incomplete as it is automatically
217generated from version control history. In particular, it does not include
218the names of the (very much appreciated) contributors who reported issues to
219the Perl bug tracker.
220
221Many of the changes included in this version originated in the CPAN modules
222included in Perl's core. We're grateful to the entire CPAN community for
223helping Perl to flourish.
224
225For a more complete list of all of Perl's historical contributors, please
226see the F<AUTHORS> file in the Perl source distribution.
f5b73711 227
44691e6f
AB
228=head1 Reporting Bugs
229
373fec1e 230If you find what you think is a bug, you might check the perl bug database
15f62f05
KE
231at L<https://rt.perl.org/>. There may also be information at
232L<http://www.perl.org/>, the Perl Home Page.
44691e6f 233
e08634c5
SH
234If you believe you have an unreported bug, please run the L<perlbug> program
235included with your release. Be sure to trim your bug down to a tiny but
236sufficient test case. Your bug report, along with the output of C<perl -V>,
b5cbfe35 237will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
44691e6f 238
87c118b9
DM
239If the bug you are reporting has security implications which make it
240inappropriate to send to a publicly archived mailing list, then see
373fec1e
SH
241L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
242for details of how to report the issue.
44691e6f 243
390ae6f9
S
244=head1 Give Thanks
245
373fec1e
SH
246If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
247you can do so by running the C<perlthanks> program:
390ae6f9
S
248
249 perlthanks
250
251This will send an email to the Perl 5 Porters list with your show of thanks.
252
44691e6f
AB
253=head1 SEE ALSO
254
e08634c5
SH
255The F<Changes> file for an explanation of how to view exhaustive details on
256what changed.
44691e6f
AB
257
258The F<INSTALL> file for how to build Perl.
259
260The F<README> file for general stuff.
261
262The F<Artistic> and F<Copying> files for copyright information.
263
264=cut