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