Skip to content

Releases: ValentinBELYN/icmplib

v3.0.4

10 Oct 16:57
Compare
Choose a tag to compare
  • Fix licensing inconsistencies.
  • Add support for the latest versions of Python.
  • Remove mentions of Python 3.6.

v3.0.3

06 Feb 16:51
Compare
Choose a tag to compare
  • Add the sock property to the ICMPSocket class.

v3.0.2

31 Oct 15:59
Compare
Choose a tag to compare
  • Add support for IPv6 addresses with zone index.
  • The payload property of an ICMPRequest now returns a random value if the payload is not defined instead of None.
  • Optimize imports.

v3.0.1

14 Aug 16:53
Compare
Choose a tag to compare
  • 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

01 Jun 19:15
Compare
Choose a tag to compare

icmplib 3.0 is here! 🚀

  • The library is now asynchronous!
    • Introduce new functions: async_ping, async_multiping and async_resolve.
    • Add a new AsyncSocket class to make an ICMP socket asynchronous.
  • Rewrite models:
    • All the properties of Host and Hop classes are now lazy.
    • Add new properties to the Host and Hop classes: you can retrieve the list of round-trip times and calculate the jitter.
    • Add the metaclass __str__ to visualize the results more easily.
  • Rewrite the ping, multiping and traceroute 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 by AsyncSocket.
  • 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

21 Mar 10:39
Compare
Choose a tag to compare
  • 🐛 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

21 Mar 10:27
Compare
Choose a tag to compare
  • Add a family parameter to the resolve function to define the address family.
  • Improve the reliability of the results of the traceroute function.

v2.0.2

07 Feb 14:56
Compare
Choose a tag to compare
  • Rename the default branch from master to main.
  • Add more details about the privileged parameter in the README file (part 2).
  • 🐛 Fix a bug preventing the traceroute function to work with IPv6 addresses (part 2).

v2.0.1

12 Dec 20:59
Compare
Choose a tag to compare
  • Handle EACCES errors at sockets level.
  • Add some details about the privileged parameter in the README file.
  • 🐛 Fix a bug preventing the traceroute function to work with IPv6 addresses.

v2.0.0

15 Nov 16:11
Compare
Choose a tag to compare

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 the traceroute 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.
  • Improve compatibility with Linux, macOS and Windows.
  • Delete deprecated properties.
  • Update docstrings, examples and documentation.

Compatibility with existing programs is maintained.