-
Notifications
You must be signed in to change notification settings - Fork 176
/
ChangeLog
144 lines (109 loc) · 4.47 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Version 1.01 (2020-12-01)
------------
* Update to support up to Python 3.9
Version 1.00 (2019-02-27)
------------
* Fix IPv6 string interpretation for small ints
* Various Python3 language fixes
* consider 127.0 range LOOPBACK not PRIVATE
Version 0.83 (2015-04-04)
------------
* Add carrier grade NAT ranges
* Unbreak lots of packing systems by not having a letter in the release version
Version 0.82a (2014-10-07)
------------
* Fix version numbers in files
* Correct x.next() -> next(x) python3 compatibility
Version 0.82 (2014-10-06)
------------
* Add support for array slices
* Add __and__ and isdisjoint for IPSet
* Fix a bug in IPSet where contains may incorrectly return false
* Added some fuzz testing
Version 0.81 (2013-04-08)
------------
* Correct reverseName() for IPv6 addresses, so IP('::1').reverseName() returns correct.
* Add network mask awareness to v46map()
* Fix Python 3 errors in IPSet class
* Make IPSet base class be object when MutableSet isn't available, fixing
errors in Python 2.5
Version 0.80 (2013-03-26)
------------
* 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)
Version 0.76 (2013-03-19)
-------------------------
* 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
Version 0.75 (2011-04-12)
-------------------------
* IP('::/0').netmask() gives IP('::') instead of IP('0.0.0.0')
Version 0.74 (2011-02-16)
-------------------------
* 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
Version 0.73 (2011-02-15)
-------------------------
* 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
Version 0.72 (2010-11-23)
-------------------------
* Include examples and MANIFEST.in in source build (add them to
MANIFEST.in)
* Remove __rcsid__ constant from IPy module
Version 0.71 (2010-10-01)
-------------------------
* Use xrange() instead of range()
* Use isinstance(x, int) instead of type(x) == types.IntType
* Prepare support of Python3 (use integer division: x // y)
* Fix IP(long) constructor: ensure that the address is not too large
* Constructor raise a TypeError if the type is not int, long,
str or unicode
* 223.0.0.0/8 is now public (belongs to APNIC)
Version 0.70 (2009-10-29)
-------------------------
* New "major" version because it may break compatibility
* Fix __cmp__(): IP('0.0.0.0/0') and IP('0.0.0.0') are not equal
* Fix IP.net() of the network "::/0": "::" instead of "0.0.0.0".
IPy 0.63 should fix this bug, but it wasn't.
Version 0.64 (2009-08-19)
-------------------------
* Create MANIFEST.in to fix setup.py bdist_rpm, fix by Robert Nickel
Version 0.63 (2009-06-23)
-------------------------
* Fix formatting of "IPv4 in IPv6" network, eg. IP('::ffff:192.168.10.0/120'),
the netmask ("/120" in the example) was missing!
Version 0.62 (2008-07-15)
-------------------------
* Fix reverse DNS of IPv6 address: use ".ip6.arpa." suffix instead of
deprecated ".ip6.int." suffix
Version 0.61 (2008-06-12)
-------------------------
* Patch from Aras Vaichas allowing the [-1] operator
to work with an IP object of size 1.
Version 0.60 (2008-05-16)
-------------------------
* strCompressed() formats '::ffff:a.b.c.d' correctly
* Use strCompressed() instead of strFullsize() to format IP addresses,
output is smarter with IPv6 address
* Remove check_addr_prefixlen because it generates invalid IP address