This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Reapply "docs: clarify effect of $^H, %^H, ${^WARNING_BITS}"
[perl5.git] / pod / perl5351delta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 perl5351delta - what is new for perl v5.35.1
6
7 =head1 DESCRIPTION
8
9 This document describes differences between the 5.35.0 release and the 5.35.1
10 release.
11
12 If you are upgrading from an earlier release such as 5.34.0, first read
13 L<perl5350delta>, which describes differences between 5.34.0 and 5.35.0.
14
15 =head1 Modules and Pragmata
16
17 =head2 Updated Modules and Pragmata
18
19 =over 4
20
21 =item *
22
23 L<B::Deparse> has been upgraded from version 1.56 to 1.57.
24
25 =item *
26
27 L<Data::Dumper> has been upgraded from version 2.179 to 2.181.
28
29 =item *
30
31 L<feature> has been upgraded from version 1.65 to 1.66.
32
33 =item *
34
35 L<File::Copy> has been upgraded from version 2.35 to 2.36.
36
37 Inode numbers are now compared as strings, so that large inode numbers
38 are correctly distinguished. (GH #18788)
39
40 =item *
41
42 L<File::Glob> has been upgraded from version 1.33 to 1.35.
43
44 =item *
45
46 L<File::Spec> has been upgraded from version 3.80 to 3.81.
47
48 =item *
49
50 L<File::stat> has been upgraded from version 1.09 to 1.10.
51
52 =item *
53
54 L<IO> has been upgraded from version 1.46 to 1.47.
55
56 Implement sync() for win32.
57
58 =item *
59
60 L<Module::CoreList> has been upgraded from version 5.20210521 to 5.20210620.
61
62 =item *
63
64 L<Opcode> has been upgraded from version 1.50 to 1.51.
65
66 =item *
67
68 L<open> has been upgraded from version 1.12 to 1.13.
69
70 =item *
71
72 L<PathTools|Cwd> has been upgraded from version 3.80 to 3.81.
73
74 Inodes numbers are now compared as strings, so that large inode numbers
75 are correctly distinguished. (GH #18788)
76
77 =item *
78
79 L<perlfaq> has been upgraded from version 5.20210411 to 5.20210520.
80
81 =item *
82
83 L<POSIX> has been upgraded from version 1.97 to 1.98.
84
85 =item *
86
87 L<Scalar::Util> has been upgraded from version 1.55 to 1.56.
88
89 =item *
90
91 L<Socket> has been upgraded from version 2.031 to 2.032.
92
93 =item *
94
95 L<Test::Simple> has been upgraded from version 1.302183 to 1.302185.
96
97 =item *
98
99 L<Unicode::Collate> has been upgraded from version 1.29 to 1.30.
100
101 One warning in F<mkheader> averted (rt.cpan.org #133952).
102
103 =item *
104
105 L<Unicode::UCD> has been upgraded from version 0.75 to 0.76.
106
107 =item *
108
109 L<version> has been upgraded from version 0.9928 to 0.9929.
110
111 =item *
112
113 L<XS::APItest> has been upgraded from version 1.16 to 1.17.
114
115 =back
116
117 =head2 Changes to Existing Diagnostics
118
119 =over 4
120
121 =item *
122
123 L<Can't modify %s in %s|perldiag/"Can't modify %s in %s">
124 (for scalar assignment to C<undef>)
125
126 Attempting to perform a scalar assignment to C<undef>, for example via
127 C<undef = $foo;>, previously triggered a fatal runtime error with the
128 message "L<Modification of a read-only value attempted|perldiag/"Modification of a read-only value attempted">."
129 It is more helpful to detect such attempted assignments prior to
130 runtime, so they are now compile time errors, resulting in the message
131 "Can't modify undef operator in scalar assignment".
132
133 =back
134
135 =head1 Internal Changes
136
137 =over 4
138
139 =item *
140
141 Since the removal of PERL_OBJECT in Perl 5.8, PERL_IMPLICIT_CONTEXT and
142 MULTIPLICITY have been synonymous and they were being used interchangeably.
143 To simplify the code, all instances of PERL_IMPLICIT_CONTEXT have been
144 replaced with MULTIPLICITY.
145
146 PERL_IMPLICIT_CONTEXT will remain defined for compatibility with XS modules.
147
148 =back
149
150 =head1 Selected Bug Fixes
151
152 =over 4
153
154 =item *
155
156 utime() now correctly sets errno/C<$!> when called on a closed handle.
157
158 =item *
159
160 B::Deparse now correctly handles try/catch blocks with more complex scopes.
161 [L<GH #18874|https://github.com/Perl/perl5/issues/18874>]
162
163 =back
164
165 =head1 Obituary
166
167 Raun "Spider" Boardman (SPIDB on CPAN), author of at least 66 commits to the
168 Perl 5 core distribution between 1996 and 2002, passed away May 24 2021 from
169 complications of COVID.  He will be missed.
170
171 =head1 Acknowledgements
172
173 Perl 5.35.1 represents approximately 4 weeks of development since Perl
174 5.35.0 and contains approximately 57,000 lines of changes across 410 files
175 from 28 authors.
176
177 Excluding auto-generated files, documentation and release tools, there were
178 approximately 53,000 lines of changes to 220 .pm, .t, .c and .h files.
179
180 Perl continues to flourish into its fourth decade thanks to a vibrant
181 community of users and developers. The following people are known to have
182 contributed the improvements that became Perl 5.35.1:
183
184 Alyssa Ross, Chris 'BinGOs' Williams, Dan Book, Dan Jacobson, Dave Cross,
185 Dave Lambley, E. Choroba, Felipe Gasper, H.Merijn Brand, Hugo van der
186 Sanden, James E Keenan, Karen Etheridge, Karl Williamson, Leon Timmermans,
187 Matthew Horsfall, Max Maischein, Michael G Schwern, Nicholas Clark, Paul
188 Evans, Ricardo Signes, Richard Leach, Scott Baker, Thibault Duponchelle,
189 Todd Rinaldo, Tomasz Konojacki, Tomoyuki Sadahiro, Tony Cook, Михаил
190 Козачков.
191
192 The list above is almost certainly incomplete as it is automatically
193 generated from version control history. In particular, it does not include
194 the names of the (very much appreciated) contributors who reported issues to
195 the Perl bug tracker.
196
197 Many of the changes included in this version originated in the CPAN modules
198 included in Perl's core. We're grateful to the entire CPAN community for
199 helping Perl to flourish.
200
201 For a more complete list of all of Perl's historical contributors, please
202 see the F<AUTHORS> file in the Perl source distribution.
203
204 =head1 Reporting Bugs
205
206 If you find what you think is a bug, you might check the perl bug database
207 at L<https://github.com/Perl/perl5/issues>.  There may also be information at
208 L<http://www.perl.org/>, the Perl Home Page.
209
210 If you believe you have an unreported bug, please open an issue at
211 L<https://github.com/Perl/perl5/issues>.  Be sure to trim your bug down to a
212 tiny but sufficient test case.
213
214 If the bug you are reporting has security implications which make it
215 inappropriate to send to a public issue tracker, then see
216 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
217 for details of how to report the issue.
218
219 =head1 Give Thanks
220
221 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
222 you can do so by running the C<perlthanks> program:
223
224     perlthanks
225
226 This will send an email to the Perl 5 Porters list with your show of thanks.
227
228 =head1 SEE ALSO
229
230 The F<Changes> file for an explanation of how to view exhaustive details on
231 what changed.
232
233 The F<INSTALL> file for how to build Perl.
234
235 The F<README> file for general stuff.
236
237 The F<Artistic> and F<Copying> files for copyright information.
238
239 =cut