Revision history for IO-Socket-IP

0.14    BUGFIXES:
         * Second attempt at fixing test skip counts

0.13    BUGFIXES:
         * Updated test skip counts in unit tests so they match the number of
           tests actually skipped

0.12    CHANGES:
         * Ensure that all instances have a defined fileno after construction,
           even in non-blocking mode (RT77726)

0.11    CHANGES:
         * Ignore unrecognised constructor arguments rather than complaining
           about their presence (RT77536)
         * Call $self->connect during constructor because IO::Socket::SSL
           relies on this to happen (RT77536)

0.10    CHANGES:
         * Allow specifying other getaddrinfo flags using GetAddrInfoFlags
           constructor argument (RT75783)
         * Provide a convenient hostname+port string splitting utility method

0.09    CHANGES:
         * Attempt to implement IPV6_V6ONLY sockopt wrapper - not all OSes can
           disable it, so detect and skip those
         * Provide ->sockaddr and ->peeraddr convenience accessors, same as
           IO::Socket::INET (RT75071)
         * Use new NIx_NOHOST and NIx_NOSERV flags to avoid redundant
           getnameinfo() lookups when only one of host or service name is
           required
         * Ensure that errno gets set to EINVAL on getaddrinfo() failures

        BUGFIXES:
         * Ignore existing-but-undefined constructor arguments
         * Avoid locale-specific error message testing of $!
         * Updates to unit tests for cygwin

0.08    CHANGES:
         * Depend on Socket 1.95 now a full dual-life release has been made
         * Set the AI_ADDRCONFIG getaddrinfo hint
         * Fix some spelling mistakes/typoes
         * MSWin32 fixes:
            + MSWin32 uses select() exceptfds rather than writefds to report
              on nonblocking connect() failure
            + MSWin32 uses EWOULDBLOCK rather than EINPROGRESS to indicate
              nonblocking connect()

        BUGFIXES:
         * Ensure ->socket protocol argument is always defined
         * Bugfix for (e.g.) NetBSD, which gets upset at protocol hint without
           socktype hint to getaddrinfo()
         * Pass 'type' rather than 'proto' to constructor in t/11sockopts.t to
           avoid MSWin32 test failures
         * Localise $1/$2 to placate [perl #67962]

0.07    CHANGES:
         * Prepare for Socket::getaddrinfo() in core; prefer it to
           Socket::GetAddrInfo::getaddrinfo()
         * Implement Family constructor arg
         * Optional registration with IO::Socket
         * Documentation rewordings
         * Bugfix to local socket connect tests - test using blocking rather
           than nonblocking sockets to guarantee synchronous packet delivery
         * Bugfix to t/04, t/05 - skip if unable to bind ::1

0.06    CHANGES:
         * Implement nonblocking connect
         * Implement LocalAddrInfo and PeerAddrInfo args
         * Example of nonblocking usage, using Net::LibAsyncNS

0.05    CHANGES:
         * Implement combined ->bind and ->connect operations
         * Accept "host:service" as *Addr args, and PeerAddr as sole
           constructor argument
         * Accept "name(port)" as service arguments

0.04    CHANGES:
         * Try to yield the most appropriate connect/bind/socket error
         * Implement sockhost/peerhost methods to match ::INET, moved hostname
           methods to sockhostname/peerhostname
        
        BUGFIXES:
         * Work around IO::Socket bug where ->accept'ed sockets do not get
           ->sockdomain or ->socktype

0.03    CHANGES:
         * Set $@ to raise error messages from constructor

        BUGFIXES:
         * Correctly implement 'Type' constructor argument
         * Test SO_BROADCAST on udp instead of tcp as some OSes forbid it

0.02    BUGFIXES:
         * Not all OSes return true sockopts as 1; test simply for non-zero
         * Gracefully skip IPv6 tests if Socket6 unavailable

0.01    First version, released on an unsuspecting world.