Revision history for Perl extension Socket::More.
v0.5.0 2024-01-18
[features]
- Refactored into multiple sub modules for CPAN
- Socket::More::Lookup => getaddrinfo/getnameinfo
- Socket::More::Resolver => Asynchronous event/nonblocking system resolver
- Socket::More::Constants => supported constants for your system
- Socket::More::Interface => getifaddrs et al.
- Socket::More::IPRanges => IPv4 and IPv6 address classifications/grouping
- interface information is returned in 'if' element sockaddr_passive
- Support for Multicast groups in sockaddr_passive
- Removed runtime dependency on Socket
- Implemented pack/unpack_sockaddr_un/in/in6 and sockaddr_family
[bug fixes]
- addressed a potential issue where duplicate results could be returned from sockaddr_passive
[improvements]
- reduced memory overhead by not requiring Socket at runtime
- reduced memory overhead by only processing IP ranges/groups when
asked for in sockaddr_passive specification
- renamed sock_to_string as socktype_to string (original aliased)
- renamed string_to_sock as string_to_socktype (original aliased)
- renamed 'type' field in passive spec to 'socktype' for better
consistency. Backward compatible. The old 'type' field is
depreciated.
v0.4.3 2023-09-05
[changes]
- All symbols are exported by default. No longer need the :all tag
- All symbols from Socket module are exported into callers name unless
called with use Socket::More ()
[improvements]
- Refactored to remove dependencies List::Util, Sort::Key::Multi and carp
- Exporting symbols with Export::These for easy reexport of Socket
symbols
- Updated CI config
v0.4.2 2023-05-27
[tests]
- Disabled failing 'localhost' test. Incorrectly assumed a host with IPv6
had a loopback interface with IPv6 addressing enabled
v0.4.1 2023-05-24
[tests]
- Fixed bud in test script. Incorrect label for skipping IPV6 tests when no
IPv6 available
v0.4.0 2023-05-23
[improvements]
- strings names can be used instead of AF_ and SOCK_ constants directly in
sockaddr_passive. Removes the need to 'use Socket...' for many use cases.
This was only possible when using the parse_passive_spec function
previously
[fixes]
- with the new string name feature, operates mores as described in the
documentation
[tests]
- updated tests to cover new string names feature in sockaddr_passive
0.3.0 2022-12-19T13:23:31ZAEST
[Features]
- Added reify_ports function
Replaces all 0 port (any port) in specifications with a single real one
supplied by the OS. Shared amongst other 0 port entires in the same call.
- Added reify_ports_unshared function
Replaces all 0 port (any port) in specifications with a real one supplied
by the OS, likely different (not shared) for each entry in specifications.
[Documentation]
- Documented reify_ports and reify_ports_unshared
- Reworded some the POD sections
[Bug fixes]
- Suppressed 'uninitialised' warnings in specification testing.
- More consistent handling of host:port CLI syntax when port is missing.
- Fixed Changes file format
0.2.0 2022-11-25T08:20:29ZAEST
[Bug fixes]
- Attempting to fix failing tests
Removed interface index mapping tests due to possible race condition
Conditionally perform a couple of tests relating to IPv6, only if IPv6 is available
- Actually runs on FreeBSD now
In generating the string to integer mapping for the SOCK_* constants,
SOCK_CLOEXEC and SOCK_NONBLOCK where also added. These are large
integers intended to be use as a mask, not a socket type. These are
filtered out of the mapping now to prevent all your memory being
consumed!
[Features]
- Added has_IPv4_interface and has_IPv6_interface routines to help test if
IPv4/IPv6 is available on at least one interface
- Reduces memory usage
Replaced Net::IP with Net::IP::Lite;
Direct copy of IP required 'group' table and functions from Net::IP
Replaced Test::Deep with Data::Cmp
Only Load Scalar::Util when using socket
0.1.0 Fri Oct 21 21:05:49 2022
- original version; created by h2xs 1.23 with options
--name Socket::More