xref: /openbsd-src/gnu/usr.bin/perl/dist/IO/ChangeLog (revision 9f11ffb7133c203312a01e4b986886bc88c7d74b)
1IO 1.38 -- Apr 19 2018 - Todd Rinaldo
2  * Remove pre 5.8 logic from code base.
3  * Bump all IO modules to 1.38 and set required Perl to 5.8.1
4  * Fix for perl #125723
5  * IO test: adjust require for non CORE perl
6  * IO::Handle - fix precedence issue
7  * Document IO::Select error detection
8  * Rely on C89 <time.h>
9  * (perl #130856) deal with unpack_sockaddr_un() croaking
10  * Switch most open() calls to three-argument form.
11  * (perl #129788) IO::Poll: fix memory leak
12  * (perl #128095) check pack_sockaddr_un()'s return value
13  * dist/: remove . from @INC when loading optional modules
14  * Fix IO::Handle documentation mangled by a manually applied patch
15  * Make IO::Poll->poll call _poll even with an empty fd array
16  * Fix assertion when calling IO::Poll::_poll() with an empty fd array
17  * Some BSD implementations might have <sys/poll.h> instead of <poll.h>.
18
19IO 1.36 -- Jun 26 2015 (Not released to CPAN)
20  * dist/IO/t/io_utf8argv.t: Generalize for non-ASCII platforms.
21  * VMS does have fsync, so configure accordingly.
22  * Skip obsolete skip in io_xs.t.
23  * Label conditionally unused.
24  * Use <sys/poll.h> if available before going select().
25  * Fix assertion when calling IO::Poll::_poll() with an empty fd array
26  * Make IO::Poll->poll call _poll even with an empty fd array
27
28IO 1.35 -- Dec 7 2014 (Not released to CPAN)
29  * Change OP_SIBLING to OpSIBLING
30  * Improve connected() doc
31  * IRIX: fsync documented to fail on read-only filehandles.
32  * Convert all use of Test.pm to Test::More
33
34IO 1.34 -- Sep 10 2014 (Not released to CPAN)
35  * Add dual life support for use of op_sibling in IO.xs
36
37IO 1.33 -- Jun 10 2014 (Not released to CPAN)
38  * wrap op_sibling field access in OP_SIBLING* macros
39  *  Make like() and unlike() in t/test.pl refuse non-qr// arguments
40  * Further simplify the sockatmark(). (And do not assign the fd in PREINIT.)
41
42IO 1.32 -- May 29 2014 (Not released to CPAN)
43  * fcntl receiving -1 from fileno, fcntl failing.
44  * Also very few spots of negative numgroups for getgroups(), and fgetc() return, but almost all checking is for fcntl.
45  * merged fix for perl #121743 and perl #121745: hopefully picked up all the fixes-to-fixes from the ticket.
46  * Fix for Coverity perl5 CIDs 28990..29003,29005..29011,29013,45354,45363,49926
47  * Argument cannot be negative (NEGATIVE_RETURNS) fd is passed to a parameter that cannot be negative.
48  * CIDs 29004, 29012: Argument cannot be negative (NEGATIVE_RETURNS) num_groups is passed to a parameter that cannot be negative and because of CIDs 29005 and 29006 also CID 28924.
49  * In the first set of issues a fd is retrieved from PerlIO_fileno, and that is then used in places like fstat(), fchown(), dup(), etc., without checking whether the fd is valid (>=0).
50  * In the second set of issues a potentially negative number is potentially passed to getgroups().
51  * The CIDs 29005 and 29006 were a bit messy: fixing them needed also resolving CID 28924 where the return value of fstat() was ignored, and for completeness adding two croak calls (with perldiag updates): a bit of a waste since it's suidperl code.
52
53IO 1.31 -- Mar 4 2014 (Not released to CPAN)
54  * dist/IO: Allow to be dual-lived - This dual-lived module has not been able to be compiled on releases earlier than 5.10.1.
55  * IO::Socket::INET: Handle getprotobyn{ame,umber} not being available
56  * dist/IO/t/io_pipe.t: Work around android only having an inbuilt echo
57  * Add examples for IO::Socket::UNIX.
58  * Remove an old note about autoflush from the POD.
59  * ioctl on perlhost platforms take a char*, not void*
60
61IO 1.30 --  Nov 13 2013 (Not released to CPAN)
62  * IO.xs: fix compiler warning
63  * [perl #75156] fix the return value and bits for removing a closed fh
64  * [perl #75156] tests for deleting a closed handle from IO::Select
65  * Fix IO::Socket::connect() in the light of $! changes
66
67IO 1.29 -- Mar 15 2013 (Not released to CPAN)
68  * Use separate macros for byte vs uv Unicode
69  * IO::Socket::INET's documentation for its Listen parameter was somewhat misleading, and the documentation for IO::Socket::Unix even more so.
70  * Address [perl #117999] for now by skipping known bad test on AIX
71  * [perl #117791] Clarify that write does not match the C 'write' semantics
72  *  fix dist/IO/t/cachepropagate-unix.t
73
74IO 1.28 -- Feb 2 2013 (Not released to CPAN)
75  * dist/IO/IO.xs: Silence compiler warning. This variable is unused, doesn't need to be declared.
76
77IO 1.27 -- Feb 17 2013 (Not released to CPAN)
78  * [perl #116322]: getc() and ungetc() with unicode failure (ungetc() had no knowledge of UTF-8. )
79
80IO 1.26 -- May 13 2009 - Jan 16 2013 (Not released to CPAN)
81  * portability to Haiku-OS for the cachepropagate-*.t tests
82  * sync() on a read-only file handle doesn't work on cygwin either
83  * [rt.cpan.org #61577] VMS doesn't support UNIX sockets
84  * add Test::More as a prereq to Makefile.PL
85  * document the limitations of protocol(), sockdomain(), socktype()
86  * [rt.cpan.org #61577] try to populate socket info when not cached
87  * [rt.cpan.org #61577] propagate socket details on accept
88  * [rt.cpan.org #61577] sockdomain and socktype undef on newly accepted sockets
89  * [perl #64772] check both input and output file handles for sync (This allows sync() to be called on directory handles.)
90  * [perl #64772] TODO test for sync on read only handle
91  * Convert some tests to Test::More
92  * Correct bug report email in docs from perl5-porters@perl.org to perlbug@perl.org
93  * Remove ‘use File::Spec’ from IO::File (It is not using it any more.)
94  * [RT #36079] Convert ` to '.
95  * use :raw to avoid interference from PERL_UNICODE when creating test data
96  * Make IO::Handle::getline(s) respect the open pragma (RT 66474)
97  * Fix setting sockets nonblocking in Win32
98  * Use the exception set in select (connect()) to early return when remote end is busy or in non existing port
99  * Keep verbatim pod within 79 cols
100  * Keep verbatim pod in IO.pm within 80 cols
101  * [perl #88486] IO::File does not always export SEEK*
102  * Explicitly force the load of IO::File in IO::Handle (see the discussion in [perl #87940]).
103  * Remove various indirect method calls in IO's docs
104  * IO::Select: allow removal of IO::Handle objects without fileno
105  * Actuall excise 'Apollo DomainOS' support. We officially killed it in 5.11.0. It hadn't worked for years before that.
106  * fix various compiler warnings from XS code (void return value)
107  * Only bind to localhost in tests: "in general, tests shouldn't be listening on all interfaces."
108  * Document IO::Socket getsockopt and setsockopt
109  * Convert sv_2mortal(newSVpvn()) to newSVpvn_flags(), for 5.11.0 and later. (
110  * Minor documentation and typo fixes.
111  * Move IO from ext to dist in core perl
112
113IO 1.25 -- Wed May 13 18:37:33 CDT 2009
114  * Fix test warnings in io_dir
115  * skip tests known to cause a segfault 5.10.0
116
117IO 1.24 -- Mon May 11 14:15:51 CDT 2009
118
119  * Make Makefile.PL usable by core and CPAN
120  * Reorganize files to be under lib/ directory structure now matches core perl
121  * Update with following changes made to core perl distribution
122  * Silence Win32 compiler warning in IO.xs
123  * Make non-blocking mode work on Windows in IO::Socket::INET
124  * fix some missing parts of IO::Handle pod
125  * Implement IO::Handle::say the same way as the builtin say().
126  * Undo io_linenum.t part of #34148. It was io_multihomed.t that I meant (my mistake), and that is now covered by #34155.
127  * watchdog() some IO tests
128  * Some more missing isGV_with_GP()s
129  * IO::Dir destructor
130  * IO::Socket::INET unnecessarily resolves "udp"
131  * IO::Handle->say should ignore $\ (bug #49266)
132  * consting IO.xs
133  * Net::SMTP can't send large messages with bleadperl
134  * Fix for IO::Socket send method
135  * Fixes for the test suite on OS/2
136  * Silence VC++ compiler warnings
137  * IO::Socket's IO.xs fails to compile
138  * IO::Socket::connect returns wrong errno on timeout
139  * Coverity correctly reports that gv might (just) be NULL. So don't dereference it if it is.
140  * Simplify tests for fork() capabilities
141  * Fix syntax error in io_pipe test
142  * Making IO::Socket pass test on Win32
143  * ext/IO/t/io_unix.t
144
145IO 1.23 -- Sat Mar 25 19:28:28 CST 2006
146
147 * Adjust the regression tests to use t/test.pl when $ENV{PERL_CORE} is defined
148 * Reduce number of calls to getpeername
149 * Call qualify on format name passed to format_write. Bug reported by Johan Vromans
150 * Reduce calls to getprotobyname/number. Patch from Gisle Aas
151 * Remove references to file TEST used in core so appropriate tests are skipped
152   during an install from CPAN
153 * Add method say to IO::Handle
154 * Performance improvement for IO::File::open
155 * Don't warn about a directory being closed in the DESTROY
156
157IO 1.22 -- Mon Sep  5 10:29:35 CDT 2005
158
159 * Update with changes made in perl core distribution
160
161Change 173 on 1998/07/14 by <gbarr@pobox.com> (Graham Barr)
162
163	IO::Socket
164	- Added method connected
165
166	IO.xs
167	- Added check that file * is not null
168
169	t/io_udp.t
170	- Added check for connected
171	- Made change to catch recv not returning the address, and added a fix to
172	  ensure test does not hang
173
174	t/io_sock.t
175	- Added check for connected.
176
177Change 137 on 1998/05/21 by <gbarr@pobox.com> (Graham Barr)
178
179	IO::Socket::INET
180	- Added checks to all peer* and host* methods for undef
181
182Change 134 on 1998/05/09 by <gbarr@pobox.com> (Graham Barr)
183
184	t/io_sock.t
185	- fix race condition on Solaris & SunOS
186
187	IO::Handle
188	- Applied patch from Gisle Aas <gisle@aas.no> for
189	    documentation update
190	- Applied patch from Kuma <tgy@chocobo.org>
191	    changed input_line_number to be on a per-handle basis.
192
193	IO::File
194	- Applied patch from Gisle Aas <gisle@aas.no> for
195	    documentation update
196
197	IO::Seekable
198	- Applied patch from Gisle Aas <gisle@aas.no> for
199	    documentation update
200	    added sysseek
201
202	IO, IO::Socket::INET
203	- documentation update
204
205	IO.xs
206	- Applied patch from Gisle Aas <gisle@aas.no> for
207	   blocking
208
209Change 133 on 1998/05/09 by <gbarr@pobox.com> (Graham Barr)
210
211	t/io_sock.t
212	- Added checks for blocking()
213
214Sun Apr 12 1998 <gbarr@pobox.com> (Graham Barr)
215
216	IO.xs
217	- enclosed newCONSTSUB in #ifdef as _64 now defines it.
218
219Thu Mar 19 1998 <gbarr@pobox.com> (Graham Barr)
220
221	All
222	- Changed copyright/distribution policy back to be the same as perl
223
224Sun Feb 15 1998 <gbarr@pobox.com> (Graham Barr)
225
226	IO::Socket
227	- Fix to ->accept, accept() returns false on error not undef.
228
229*** Release 1.19
230
231Thu Feb  5 1998 <gbarr@pobox.com> (Graham Barr)
232
233	All
234	- change copyright notice
235
236	IO::Socket::INET
237	- changed configure to accept PeerHost and LocalHost as well as the
238	  PeerAddr and LocalAddr arguments.
239
240Mon Feb  2 1998 <gbarr@pobox.com> (Graham Barr)
241
242	IO::Handle
243	- Added printflush so that flush.pl can be depreciated
244
245	IO::Socket
246	- Remove C<use Config> statement as it was not needed
247
248Tue Jan 27 1998 <gbarr@pobox.com> (Graham Barr)
249
250	IO::Socket::INET
251	- removed carp if $^W
252
253*** Patch 1.1804
254
255Sat Jan 17 1998 <gbarr@pobox.com> (Graham Barr)
256
257	t/io_sock.t
258	- Replaced C<Listen => 0> with C<LocalAddr => 'localhost'>
259
260	IO/Socket/INET.pm
261	- Modified the MultiHomed code. Now each address for a given host has
262	  a timeout of C<Timeout>.
263	- added _get_addr method for doing hostname lookups. Now Net::DNS can be
264	  use by sub-classing IO::Socket::INET, Thanks Gisle Aas
265
266	t/io_multihomed.t
267	- new test added. Thanks Gisle Aas.
268
269*** Patch 1.1803
270
271Mon Nov 17 1997 <gbarr@pobox.com> (Graham Barr)
272
273	poll.c
274	- Added #ifdef I_* tests
275
276	IO::Socket
277	- Changed initialization of @domain2pkg to fix problem of Domain option
278	  not working
279	- Added patch for multi-homed hosts, Thanks to Gisle Aas <gisle@aas.no>
280
281	IO::Socket::INET
282	- Change default proto to getprotobyname instead of 'tcp' constant string
283	- Added patch for multi-homed hosts, Thanks to Gisle Aas <gisle@aas.no>
284
285	t/io_sock.t
286	- Change to test fix for Domain problem fixed in IO::Socket and be
287	  more comprehensive, Thanks to Gisle Aas <gisle@aas.no>
288
289	t/io_unix.t
290	- New test, Thanks to Gisle Aas <gisle@aas.no>
291
292*** Patch 1.1802
293
294Wed Nov 12 1997 <gbarr@pobox.com> (Graham Barr)
295
296	t/io_poll.t
297	- test 4 made an assumption that was not portable, fixed.
298
299*** Patch 1.1801
300
301Wed Oct 22 1997 <gbarr@pobox.com> (Graham Barr)
302
303	IO.xs
304	- change #ifdef's to allow compilation with 5.002
305
306	IO::Socket
307	- Fix to ensure that socket is not returned as non-blocking
308	  unless the user asks for it
309
310	t/io_udp.t
311	- Fix to stop endless loop
312
313*** Release 1.18
314
315Mon Oct 13 1997 <gbarr@pobox.com> (Graham Barr)
316
317	IO.xs, IO::Handle
318	- 1.17 broke compatibility with 5.003, small tweaks to restore
319	  compatibility
320
321	t/io_const.t
322	- Added new test to ensure backwards compatibility with constants
323	  is not broken
324
325Wed Oct  8 1997 <gbarr@pobox.com> (Graham Barr)
326
327	IO.xs
328	- Added #define's to cope with argument changes to start_subparse
329	  from 5.003_22, _23 and _24
330
331	IO::Select
332	- Renamed has_error to be has_exception which is more correct,
333	  has_error is a wrapper around has_exception with a warning if
334	  $^W is set.
335
336	Makefile.PL
337	- Remove 'linkext' option to WriteMakefile so that static linking
338	  should work properly, cannot remember why I added it.
339
340Sun Oct  5 1997 <gbarr@pobox.com> (Graham Barr)
341
342	IO::Pipe
343	- GLOB assignment does not copy the fileno while under -T
344	  added checks for undefined fileno, and added fdopen
345	- reader and write can now be called as static methods
346
347	Makefile.PL
348	- Attempt to locate <poll.h> and define I_POLL if found
349
350*** Release 1.17
351
352Fri Sep 26 1997 <gbarr@pobox.com> (Graham Barr)
353
354	IO.xs
355	- Fix bug in _poll for ANSI C compilers
356
357	IO::Socket
358	- Split IO::Socket::INET and IO::Socket::UNIX into separate files
359
360	IO::File
361	- Patch to open() for when file is in current directory.
362
363*** Release 1.16
364
365Mon 15 Sep 1997 <gbarr@pobox.com> Graham Barr
366
367	o New modules
368	  - IO::Dir
369	  - IO::Poll
370
371	o IO::Socket
372	  - Changed new to call autoflush on the new socket
373	  - IO::Socket::INET->new now accepts a single argument
374	  - IO::Socket::INET default to protocol 'tcp'
375
376	o IO::File
377	  - Added doc for new_tmpfile
378
379	o IO::Handle
380	  - Removed use of AutoLoader for constants, constants are
381	    now defined as constant XS subs
382	  - Added fsync, but will not be available for use
383	    unless HAS_FSYNC is defined, perls configure does not define
384	    this yet.
385	  - Moved bootstrap of IO.xs to IO.pm. IO::Handle no longer
386	    contains an AUTOLOAD sub in it's ISA hier
387
388	o IO::Seekable
389	  - Remove clearerr, as it is defined in IO.xs
390
391	o IO.xs
392	  - Patched IO.xs with patch from Chip for setvbuf warning
393	  - Added XS sub "constant" for backwards compatibility
394
395	o Misc
396	  - Fixed IO::Socket::configure, it was not passing $arg to domain
397	    specific package
398	  - Changed all $fh variables in IO::Handle to $io and all $fh
399	    variables in IO::Socket to $sock as Chip suggested
400	  - Fixed usage messages to be consistent
401
402*** Release 1.15
403
404Sun 19 Jan 1997 <bodg@tiuk.ti.com> Graham Barr
405
406	o Updated PODs for IO::Handle and IO::File
407	o Modified IO.xs so that DESTROY gets called on IO::File
408	  objects that were created with IO::File->new_tmpfile
409	o Modified the domain2pkg code in IO::Socket so that it
410	  does not use blessed refs
411	o Created a new package IO::Pipe::End so that pipe specific
412	  stuff can be moved out of IO::Handle.
413	o Added Ilya's OS/2 changes to Pipe.pm and io_pipe.t
414
415	o These changes happened sometime before the release of 1.15
416	  - added shutdown to IO::Socket
417	  - modified connect to not use alarm
418	  - modified accept and connect to use IO::Select
419
420*** Release 1.14
421
422Tue 24 Dec 1996 <bodg@tiuk.ti.com> Graham Barr
423
424	o Updated to patches in perl core dist.
425	o Added C<use strict> to all modules
426	o Modified t/io_sock.t, hopefully the race condition has gone
427	o Added close statements to reader/writer in IO::Pipe
428	o IO::Handle::syswrite was calling sysread, fixed :-)
429
430*** Release 1.12
431
432Thu 19 Sep 1996 <bodg@tiuk.ti.com> Graham Barr
433
434	o Modified IO.xs so that it will compile with pre perlio version
435	  of perl (ie pre perl5.003_02)
436	o Modified IO::Socket::send so not to pass 4 arguments to send
437	  if the socket is connected
438
439*** Release 1.10
440
441Mon 11 Sep 1996 <bodg@tiuk.ti.com> Graham Barr
442
443	o Fixed a bug in IO::Socket which caused DESTROY to be called
444	  on a partly initialised connection
445	o Changed IO.xs to use Perlio
446	o Modified usage message to report correct package
447	o Added IO::File::new changes from Chip, to allow PERM to be passed
448	o Added sysread and syswrite methods to IO::Handle
449	o Updated documentation
450	o Fixed a bug in IO::Select that caused a hang if the last handle
451	  was removed.
452	o Added count method to IO::Select
453	o Renamed and modified tests so that they can be copied into the
454	  perl distribution
455	o Added fcntl and ioctl methods to IO::Handle
456
457Thu 25 Jul 1996 <bodg@tiuk.ti.com> Graham Barr
458
459	o It is now not necessary to call the domain sub-classes of
460	  IO::Socket. when connect is called it notes the domain.
461	  Domain specific methods, which are normally non-critical, are
462	  called via this note-ing.
463	o Added methods to IO::Socket to retrieve the domain, type and
464	  protocol of a given socket
465
466Tue 23 Jul 1996 <bodg@tiuk.ti.com> Graham Barr
467
468	o IO::Socket::connect changed how we do timeouts, as it did not work
469
470	o IO::Handle::new_from_fd removed method call to _ref_fd, which was
471	  a leftover from FileHandle
472
473Fri 28 Jun 1996 <bodg@tiuk.ti.com> Graham Barr
474
475	o Modified IO::Socket::UNIX::configure to default to using a socket
476	  type of SOCK_STREAM if no type is specified.
477