* Drop support of Python older than 2.4 * Python 3 does not need 2to3 conversion anymore (same code base) * Fix adding of non-adjacent networks: 192.168.0.0/24 + 192.168.255.0/24 made 192.168.0.0/23 * Fix adding networks that don't create a valid subnet: 192.168.1.0/24 + 192.168.2.0/24 made 192.168.1.0/23 * Fix adding with an IPv6 address where .int() was < 32 bits made IPy believe it was an IPv4 address: ::ffff:0/112 + ::1:0:0/112 made 255.255.0.0/111 * Add support of IPSets * Add support for subtracting a network range * Prevent IPv4 and IPv6 ranges from saying they contain each other * Add a .v46map() method to convert mapped address ranges such as IP('::ffff:192.168.1.1'); RFC 4291 * Change sort order to more natural: IPv4 before IPv6; less-specific prefixes first (/0 before /32)
0.76
-------------------------
* ip == other and ip != other doesn't fail with an exception anymore if other is not a IP object * Add IP.get_mac() method: get the 802.3 MAC address from IPv6 RFC 2464 address. * Fix IP('::/0')[0]: return an IPv6 instead of an IPv4 address
0.75
-------------------------
* IP('::/0').netmask() gives IP('::') instead of IP('0.0.0.0')
0.74
-------------------------
* Fix tests for Python 3.1 and 3.2 * ip.__nonzero__() and (ipa in ipb) return a bool instead of 0 or 1 * IP('0.0.0.0/0') + IP('0.0.0.0/0') raises an error, fix written by Arfrever
0.73
-------------------------
* Support Python 3: setup.py runs 2to3 * Update the ranges for IPv6 IPs * Fix reverseName() and reverseNames() for IPv4 in IPv6 addresses * Drop support of Python < 2.5
0.72
-------------------------
* Include examples and MANIFEST.in in source build (add them to MANIFEST.in) * Remove __rcsid__ constant from IPy module