Releases: ValentinBELYN/icmplib
Releases · ValentinBELYN/icmplib
v3.0.4
v3.0.3
- Add the
sock
property to theICMPSocket
class.
v3.0.2
- Add support for IPv6 addresses with zone index.
- The
payload
property of anICMPRequest
now returns a random value if the payload is not defined instead ofNone
. - Optimize imports.
v3.0.1
- Make the
SocketPermissionError
more explicit when the OS does not allow instantiation of unprivileged sockets. - Delete unnecessary properties from exceptions.
- Improve SEO on GitHub.
v3.0.0
icmplib 3.0 is here! 🚀
- The library is now asynchronous!
- Introduce new functions:
async_ping
,async_multiping
andasync_resolve
. - Add a new
AsyncSocket
class to make an ICMP socket asynchronous.
- Introduce new functions:
- Rewrite models:
- All the properties of
Host
andHop
classes are now lazy. - Add new properties to the
Host
andHop
classes: you can retrieve the list of round-trip times and calculate the jitter. - Add the metaclass
__str__
to visualize the results more easily.
- All the properties of
- Rewrite the
ping
,multiping
andtraceroute
functions:- The identifier of ICMP requests is now handled automatically by the library.
- Add the ability to set the address family if a hostname or an FQDN is specified.
- A new implementation is used for the
multiping
function. It should be more reliable. - The
multiping
function is now in a dedicated module.
- Rewrite the documentation to help you get started with icmplib.
- Improve the
resolve
function to return all IP addresses found. - Add the
is_hostname
function to check if a string is a hostname or an FQDN. - Delete the experimental class
BufferedSocket
, replaced byAsyncSocket
. - Performance and compatibility improvement.
- Many other small changes and fixes.
Special thanks to @JonasKs and @bdraco for their suggestions, advice and feedback!
Python 3.7 or later is now required.
v2.1.1
- 🐛 Revert changes made to the
traceroute
function due to a bug.
This version is the last of the 2.x branch. See you soon for the release of icmplib 3.0!
v2.1.0
- Add a
family
parameter to theresolve
function to define the address family. - Improve the reliability of the results of the
traceroute
function.
v2.0.2
- Rename the default branch from
master
tomain
. - Add more details about the
privileged
parameter in theREADME
file (part 2). - 🐛 Fix a bug preventing the
traceroute
function to work with IPv6 addresses (part 2).
v2.0.1
- Handle
EACCES
errors at sockets level. - Add some details about the
privileged
parameter in theREADME
file. - 🐛 Fix a bug preventing the
traceroute
function to work with IPv6 addresses.
v2.0.0
icmplib 2.0 is here! 🚀
- New library architecture.
- Add a new
multiping
function. This function will be faster and more memory efficient. - Add the ability to use the library without root privileges.
- Add the ability to set a source IP address for sending your ICMP packets.
- Add a
first_hop
parameter to thetraceroute
function to set the initial time to live value (@scoulondre). - Add two new exceptions:
NameLookupError
: raised when the requested name does not exist or cannot be resolved.SocketAddressError
: raised when the requested address cannot be assigned to the socket.
- Add a new
BufferedSocket
class (experimental) to send several packets simultaneously without waiting for a response. - The
receive
method of sockets can receive all incoming packets. - Throw new exceptions when instantiating sockets, sending and receiving packets.
- Improve the
resolve
function:- A
NameLookupError
is now raised if the requested name does not exist or cannot be resolved.
- A
- Improve compatibility with Linux, macOS and Windows.
- Delete deprecated properties.
- Update docstrings, examples and documentation.
Compatibility with existing programs is maintained.