This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add 5.29.9 release to pod/perlhist
[perl5.git] / pod / perl5297delta.pod
CommitLineData
65c75f8f
A
1=encoding utf8
2
3=head1 NAME
4
5perl5297delta - what is new for perl v5.29.7
6
7=head1 DESCRIPTION
8
9This document describes differences between the 5.29.6 release and the 5.29.7
10release.
11
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
15=head1 Deprecations
16
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|
22perldeprecation/In XS code, use of various macros dealing with UTF-8.>.
23
24=head1 Performance Enhancements
25
26=over 4
27
28=item *
29
30A handful of small optimizations related to character folding
31and character classes in regular expressions.
32
33=back
34
35=head1 Modules and Pragmata
36
37=head2 Updated Modules and Pragmata
38
39=over 4
40
41=item *
42
43L<Compress::Raw::Bzip2> has been upgraded from version 2.081 to 2.084.
44
45=item *
46
47L<Compress::Raw::Zlib> has been upgraded from version 2.081 to 2.084.
48
49=item *
50
51L<CPAN> has been upgraded from version 2.21 to 2.22.
52
53=item *
54
55L<DB_File> has been upgraded from version 1.842 to 1.843.
56
57=item *
58
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.
62
63=item *
64
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
83L<lib> has been upgraded from version 0.64 to 0.65.
84
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
108=back
109
110=head1 Documentation
111
112=head2 Changes to Existing Documentation
113
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>.
117
118Additionally, the following selected changes have been made:
119
120=head3 L<perlvar>
121
122=over 4
123
124=item *
125
126More specific documentation of paragraph mode. L<[perl #133722]|https://rt.perl.org/Ticket/Display.html?id=133722>.
127
128=back
129
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
136=head2 Changes to Existing Diagnostics
137
138=over 4
139
140=item *
141
142L<Prototype not terminated|perldiag/"Prototype not terminated">
143
144The file and line number is now reported for this error.
145L<[perl #133524]|https://rt.perl.org/Ticket/Display.html?id=133524>
146
147=back
148
149=head1 Testing
150
151Tests were added and changed to reflect the other additions and
152changes in this release. Furthermore, these significant changes were
153made:
154
155=over 4
156
157=item *
158
159Fix intermittent tests which failed due to race conditions which
160surface during parallel testing. L<[perl #133740]|https://rt.perl.org/Ticket/Display.html?id=133740>.
161
162=item *
163
164Thoroughly test paragraph mode, using a new test file,
165F<t/io/paragraph_mode.t>. L<[perl #133722]|https://rt.perl.org/Ticket/Display.html?id=133722>.
166
167=back
168
169=head1 Selected Bug Fixes
170
171=over 4
172
173=item *
174
175Fixed a failure to match properly.
176
177An EXACTFish regnode has a finite length it can hold for the string
178being matched. If that length is exceeded, a second node is used for
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
185an off-by-one error. L<[perl #133756]|https://rt.perl.org/Ticket/Display.html?id=133756>.
186
187=item *
188
189A bare C<eof> call with no previous file handle now returns true.
190L<[perl #133721]|https://rt.perl.org/Ticket/Display.html?id=133721>
191
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
196crashing perl if compilation continued. L<[perl #132158]|https://rt.perl.org/Ticket/Display.html?id=132158>
197
198=back
199
200=head1 Acknowledgements
201
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.
205
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.
227
228=head1 Reporting Bugs
229
230If you find what you think is a bug, you might check the perl bug database
231at L<https://rt.perl.org/>. There may also be information at
232L<http://www.perl.org/>, the Perl Home Page.
233
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>,
237will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
238
239If the bug you are reporting has security implications which make it
240inappropriate to send to a publicly archived mailing list, then see
241L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
242for details of how to report the issue.
243
244=head1 Give Thanks
245
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:
248
249 perlthanks
250
251This will send an email to the Perl 5 Porters list with your show of thanks.
252
253=head1 SEE ALSO
254
255The F<Changes> file for an explanation of how to view exhaustive details on
256what changed.
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