Commit | Line | Data |
---|---|---|
65c75f8f A |
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 |