2.41  Mar 17 09:35 2013
        - Windows Vista does not appear to support inet_ntop().  It seems to
          have InetNtop() instead.  So, working around by using getnameinfo()
          and passing in the NI_NUMERICHOST to get an IP address.
        - Change Net::Ping to use Time::HiRes::time() instead of CORE::time()
          by default.  For most successful cases, CORE::time() returned zero. 
2.40  Mar 15 11:20 2013
        - several fixes to tests to stop the black smoke on Win32's 
          and Cygwin since the core updated the module to Test::More.
          I had planned a later release, but all the black smoke is
          forcing a release.
        - fixes to some skips in tests that were still using the 
          Test style skip's.
        - Documentation fix for
          Thanks to Keith Taylor <>
        - Instead of using a hard-coded TOS value, import IP_TOS from 
          Socket.  This fixes an outstanding bug on Solaris which uses a 
          different value for IP_TOS in it headers than Linux.  I'm assuming
          other OS's were fixed with this change as well.

        - added TTL handling for icmp pings to allow traceroute like 
          applications to be built with Net::Ping.  Thanks to 
          <> for the patch and tests!

        - replaced SOL_IP with IPPROTO_IP.  SOL_IP is not portable and was 
          hard-coded anyway.
        - added IPPROTO_IP, IP_TOS, IP_TTL, and AF_INET to the list of Socket 
          constants imported.
        - removed some hard-coded constants.
        - converted all calls to inet_ntoa() to inet_ntop() in preparation
          for further ipv6 updates.

        - Makefile.PL updated to require Test::More, Time::HiRes, and a
          recent Socket
        - several changes for github hosting
          - add a .gitignore file
          - added a .travis.yml file to allow CI testing with changes pushed
            to github
          - replaced the README with a which displays the
            Travis CI build status on github.

2.39  Mar 13 09:25 2013
        - patch from Matthew Musgrove to resolve RT #45812.  Thanks!
        - pulled in several changes from the Perl core

2.36  Jun 08 12:00 2009
        - release to include a few fixes from the Perl core

2.35  Feb 08 14:42 2008
	- Patch in Perl change #33242 by Nicholas Clark 

2.34  Dec 19 08:51 2007
        - Release primarily to prevent problems with the Perl core in
	  preparation for the Perl 5.10 release.  No real bug fixes, but
          text fixes are included.
	- skip test t/510_ping_udp.t on Windows Vista.  Thanks to Jan
	  Dubois for the code to test for Vista.
        - t/510_ping_udp.t should check for a udp echo port, not a tcp
	  echo port.

2.33  Jul 31 20:15 2007
	- add new method port_number() rather than asking users to
          twiddle with the internals of Net::Ping to probe a specific
          port.  This should resolve a few bugs where the documentation
	  was lacking.
	- apply patch from bergonz at  This patch resolves
	  several problems logged regarding using Net::Ping in a multi-
	  threaded program.  Thanks so much!

2.32  Jul 30 21:30 2007
	- new co-maintainer Steve Peters
	- integrate assorted bleadperl fixes from the past four years

2.31  Jun 28 14:00 2003
	- Win32 Compatibility fixes.
	  Patch by (Marcus Holland-Moritz)
	- Apply bleadperl patch #22204
	- Add ToS support.
	  Patch by (Martin Lorensen)

2.30  Apr 18 14:00 2003
	- Fix select() bug for UDP and ICMP protocols
	  in case packet comes from wrong source or seq.
	- Allow UDP ping to different IP addresses
	  without instantiating a new object.
	- Add retrans() method to customize or disable
	  backoff factor for udp pings.
	- Let ECONNRESET be considered reachable for
	  UDP pings.  Now it works for cygwin.
	  Spot by (Jarkko Hietaniemi).

2.29  Apr 12 15:00 2003
	- Implement "double send()" concept for udp pings.
	  See: <>
	  Thanks to rdw @ perlmonks.
	- Send multiple udp packets in case of loss.
	- Exponential backoff code swiped from Net::DNS
	  Thanks to (Michael Fuhr).
	- Also allows to capture udp ECONNREFUSED condition.
	- Rename tcp_service_check method to service_check.
	- Allow demo/fping -s to force service check.
	  Idea by (REZA Alijani)
	- Fix return from ping to be compatible with wantarray
	  when the host doesn't even resolve.
	- Add udp proto test to test suite.
	- VMS patch from Craig Berry to pre-check echo.
	- Apply bleadperl patch (change #18904)
	- Apply bleadperl patch as explained:

2.28  Jan 23 18:00 2003
	- No new features.  Bug fixes only.
	- Fixed ICMP_STRUCT to work on Big Endian platforms.
	  Thanks to (Dan Buettner)
	  for testing on Mac OS X 10.2.3 and many others
	  for testing on Big Endian boxes.
	- Not do binmode(). Causes more problems than helps.
	- Perl 5.004 compatibility fixes (Spot by Honza).

2.27  Jan 15 23:00 2003
	- Patch by (Sergey Lebedev):
	- 1) Fixed response packet parsing offsets in ping_icmp.
	- 2) Added icmp_result method.
	- Patch by (Radu Greab):
	- 1) Changed ping_tcp() to use non-blocking connect
	  instead of alarm() interface in order to avoid
	  conflicts with user applications.
	- 2) Also get rid of all eval {} code in ping_tcp
	  in order to avoid catching SIGALRM trigger and
	  to avoid conflicts with other evals.
	- 3) Avoid ioctl() syscall for more accurate error
	  detection on non-blocking tcp connects.
	- 4) Fix fcntl() syntax usage.
	- Patch by (Honza Pazdziora):
	- 1) Fix icmp request pack code to be more platform
	  independent regardless of Big/Little Endian.
	- 2) Use binmode for filehandle in case perl 5.8.0
	  tries to dink with the data stream.
	- Other changes by Rob Brown:
	- Fixed ack() failures under certain rare conditions.
	- Use more appropriate \z instead of $ in regex.
	- Resolved Cygwin "make test" problems reported by (H.Merijn Brand).
	- Add sending a real ICMP packet in the test suite.
	- Add Socket to PREREQ_PM (missing on some boxes?)
	- Adjust syn_forking IPC pipe for fatter Win32 pids.
	- Better handling of alarm() in test suite for Win32.
	- Add a DESTROY method to reduce chances of
	  lingering connect-choking children.

2.26  Dec 02 12:00 2002
	- More compatibility fixes.
	- Thanks for Solaris bug reports: (Paul Gaborit) (Jost Krieger)
	- Thanks for Solaris testing box: (Gunther Heintzen)
	- Solaris ENOTCONN select() for write choke bug.
	- Thanks for Cygwin bug reports: (H.Merijn Brand)
	- Cygwin "EAGAIN instead of ECONNREFUSED" buttwag.

2.25  Nov 19 12:00 2002
	- Handle condition where O_NONBLOCK tcp connects
	  immediately fail without EINPROGRESS
	  (certain platforms or SMP optimizations).

2.24  Oct 21 22:00 2002
	- Compatibility fixes.
	- Avoid using and because
	  it breaks on some platforms (Irix).
	- Handle condition where nonblocking tcp connects
	  immediately connect on some platforms
	  (solaris and freebsd) and to be SMP safer.
	- Win32 $p->ack( $host ) method should now work.
	- Add ack( $host ) test cases to test suite.

2.23  Oct 18 22:00 2002
	- Fix ack() fd "each" detection bug.
	- Add nack() method for OO interface to the
	  reason why the ack() failed.
	- Fix premature "Timed out" side effect when a
	  different specified ack( $host ) fails.
	- IO::Socket::INET ephemeral port buttwag
	  hack for the t/450_service.t test.
	- Documental changes.

2.22  Oct 17 16:00 2002
	- Add $p->tcp_service_check() method to enforce
	  remote tcp service availability checking.
	  Patch by (Jean-Francois Dive).
	- Changed default behavior of "syn" protocol to
	  disabled tcp_service_check instead of enabled.
	- Win32 compatibility changes ("syn" protocol).
	- Increase timeouts for tests in case client or
	  server network(s) are busy.

2.21  Oct 14 12:00 2002
	- Preserve/restore ALRM settings for tcp mode pings.
	  Spot by (Daniel Berlin)
	- Can now select device for udp and icmp protocols.
	  Patch by (Thomas Sarlandie).
	- Add new "syn" protocol to allow for mass parallel
	  (synchronous) TCP service reachability checking.
	- Add ack() method to utilize non-blocking connect
	  (SYN/ACK) feature of the "syn" protocol.
	- Add demo/fping script as a "syn" demonstration.
	- Compatibility patches for cygwin.
	  Spot by (Joseph Frazee)

2.20  Jun 20 10:00 2002
	- Perl 5.8.0 compatibility stuff.
	  Spot by (David Dyck).
	  And patch by (Jarkko Hietaniemi).
	- Move INSTALL doc into perldoc.
	- Allow source_verify method to work
	  for icmp protocol as well as udp.
	  Spot by (Taner Halicioglu)

2.19  Jun 03 19:00 2002
	- Add $p->source_verify method to skip source
	  endpoint verification of udp protocol pings for
	  those remote destinations with multiple interfaces
	  that may have the "reverse telnet" bug.
	  Spot by (David Dyck)
	- Moved files to more standard locations.
	- Less common martian used for ping test
	  to reduce conflicts

2.18  May 06 12:00 2002
	- More RPM spec generalizations.

2.17  May 03 18:00 2002
	- RPM spec generalizations. (Michael McLagan)
	- Win32 compatibility changes.
	  (Didn't compile on Win32 since v2.11.)

2.16  Apr 11 14:00 2002
	- Documentation changes.
	- Added INSTALL doc.
	- Added README to rpm %doc.
	- Added neat MakeMaker constants routine.
	- Buttwag around Makefile.PL warnings:
	  o "the following files are missing in your kit"
	  o "is not a known MakeMaker parameter name"

2.15  Apr 06 23:00 2002
	- Added ABSTRACT info.
	- Allow for smoother upgrade from
	  from older Net::Ping versions.
	- Change default protocol from udp to tcp
	  so it will work on most default systems
	  without any arguments to new().

2.14  Apr 01 14:00 2002
	- Added text ip lookup feature. (Erick Calder)

2.13  Apr 01 14:00 2002
	- Added ping time measuring feature. (Erick Calder)
	- Optionally allow for high resolution
	  precision for timeouts and measuring
	  using the Time::HiRes module (Erick).

2.12  Feb 17 19:00 2002
	- More general error determination for
	  better cross platform consistency and
	  foreign language support.
	  Spotted by
	- Test changes for VMS (Craig Berry)

2.11  Feb 02 12:00 2002
	- Test changes in case echo port is not available.
	- Fix 110_icmp_inst.t to use icmp protocol
	  Spotted by (Craig Berry)

2.10  Dec 26 12:00 2001
	- Added bind() function useful for clients with multiple
	  network interfaces performing the ping check thanks to (Seth Blumberg).
	- Execution optimizations for several constants (Seth).
	- More test changes in case Socket module is not available
	  (Jarkko Hietaniemi).

2.09  Dec 06 19:00 2001
	- Documental and test changes only.
	- No functional changes.

2.08  Dec 04 13:00 2001
	- Faster response for Win32 tcp_connect.
	- Better explanations in test comments.

2.07  Nov 28 13:00 2001
	- Compatibility changes
	- Works with UNIX and Win32 OS
	- Works with Perl 5.005 5.6.x 5.7.x 5.8.x
	- Applied several patches from distro
	- External protocol added thanks to (Colin McMillen)
	- Stream protocol added thanks to (Scott Bronson)

2.06  Nov 19 12:00 2001
	- Added Net-Ping.spec for RPM to easily
	  utilize using "rpm -ta Net-Ping*tar.gz"
	- Moved Copyright section to perldoc

2.05  Nov 18 20:00 2001
	- Added test suite

2.04  Nov 16 16:00 2001
	- Added CHANGES and README to tarball.
	- No functional changes.

2.03  Nov 15 12:00 2001
	- Portability adjustments to ping_tcp()
	  made by Rob Brown to work with most
	  default systems.

2.02  Sep 27 12:00 1996
	- Magic version by Russell Mosemann from CPAN