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