Releases: seancfoley/IPAddress
Releases · seancfoley/IPAddress
Version 5.5.1
- added new merge functions
mergeToDualPrefixBlocks
andmergeToDualSequentialBlocks
for combined IPv4/IPv6 merging - added public constructors accepting message strings to
AddressValueException
andIncompatibleAddressException
, issue #127 - removed caching functionality from
containingFirstIterator
, use all-nodecontainingFirstAllNodeIterator
instead
Version 5.5.0
- added collection types for dual IPv4/v6 tries and for dual IPv4/v6 associative tries, issue #103
- trie performance improvements for all trie operations
- added
shortestPrefixMatch
trie methods - added
enumerate
methods, the inverse of theincrement
methods, to find the position of an address in a subnet, or to find the distance between two addresses - added an
increment
method accepting aBigInteger
argument toIPv6Address
andIPv6AddressSection
- added the ability to construct an
IPv6Address
from two longs - added
replace
methods with address section parameter to address classes - added
overlaps
methods to check for overlapping subnets, and for checking sequential range overlap with a subnet - added
floor
/lower
/ceiling
/higher
methods to the address trie types, these methods previously accessible only from trie sets - added the extraneous digits IPv4 parsing option allow_inet_aton_extraneous_digits, issue #105.
- includes the fix to invalid radix argument infinite loop, issue #118
Version 5.4.2
Version 5.4.1
- fix to invalid radix argument infinite loop, issue #118
Version 5.4.0
- added
PrefixBlockAllocator
for automatic CIDR prefix block allocation - added
AddedTree
andAssociativeAddedTree
classes for expandedconstructAddedNodesTree
methods - added
getBlockSize
andgetBitsForCount
inAddressItem
- added
matchUnordered
andmatchOrdered
inAddress
- eliminated invalid
AddressValueException
when joining a range with the IPv4 max value to an IPv6 range, issue #86 - fix to generation of strings from parsed address data, issue #87
- fix to IPv4 address primitive int upper value generation, issue #96
Version 5.3.4
- a fix to avoid ClassCastException when converting IPv4-mapped address to java.net.Inet6Address, issue #73
- fixed the creation of HostName from an unresolved compressed-IPv6 socket address, issue #74
- added IPAddressString.isIPv4Mapped for issue #75
- fixed a class-loading issue with string parsing, issue #79
- removed AddressDivision.getDivisionValueCount() and AddressDivision.getDivisionPrefixCount(int) because of potential overflow with divisions 63 or 64 bits long. If you have a segment, use getValueCount(), or with IPAddressSegment use getPrefixValueCount(int), which both return int. Otherwise, use getPrefixCount(int) or getCount() which return BigInteger
- fixed issues with comparing non-standard division groupings with address comparators
- added verification when host-masking multiple-valued segments
- added verification when splitting IPv6AddressSegment
- fixed check when reversing per-byte multiple-valued division
- fixed trie-printing method option withNonAddedKeys
- fixed an issue with serialization of parsed hosts with qualifiers
- added control over parsing empty zones (a zone specifier followed by no zone)
- added a small fix to host name parsing some unusual host names
- a fix to IPv4AddressSection.toMaxHost
- fixed a rare synchronization issue when generating division strings in AddressDivisionBase
Version 5.3.3
- more flexible and efficient IPv6 zone handling
- addresses issue #48, converting prefixed addresses with zone to Inet6Address
- more efficient merging
Version 5.3.2
- new
longestPrefixMatch
andlongestPrefixMatchNode
methods inAddressTrie
,AddressTrieMap
andAddressTrieSet
, for more efficient matching without using the linked list fromelementsContaining
- added binary string parsing for IPv4 and IPv6 (see javadoc for IPAddressString for supported formats), and producing binary segmented strings with
toSegmentedBinaryString
- added support for parsing strings with uppercase hex
0X
and binary0B
- improved performance of
mergeToPrefixBlocks
andmergeToSequentialBlocks
, also resulting in a different ordering of the result, sorted by lower value. The old ordering remains attainable with the comparator IPAddressSegmentSeries.getPrefixLenComparator - added
asNewTrie
toTrieNode
to create a new trie which is a copy of the sub-trie with the node as root - added
IPAddressSeqRange.extend(IPAddressRange)
to extend ranges more efficiently - added
IPAddress.applyToBounds
to use covering and spanning methods with multiple addresses or subnets, not just two - added
IPAddressString.prefixContains(IPAddressString)
for quick prefix-based containment checks - fixed inconsistency between
prefixEquals
inIPAddressString
vsIPAddress
with addresses that have no prefix length - fixed issue in
IPAddressString.prefixEquals
involving prefix not on segment boundary - fixed issue with
spanWithPrefixBlocks
not splitting up subnets with multiple prefix blocks - fix to string parsing control with
allowsReverseRange
, also added missingallowBase85
- fix to issue #41, duplicate property key
- fix to issue #44, wrong super method call
- fix to issue #46, wrong boundary check incrementing IPv6 segment at index 2
Version 5.3.1
Fixes reversed sub-node order with trie block size iterator
Version 5.3.0
This version introduces address tries, associative address tries, address sets backed by address tries, and maps backed by associative address tries
- added AddressTrie and its subclasses for IPv4, IPv6 and MAC
- added AssociativeAddressTrie and its subclasses for IPv4, IPv6 and MAC
- tries can be used as Java collections framework navigable set
- associative tries can be used as Java collections framework navigable map
- added testBit and isOneBit methods to all series and segments
- fixed IPAddressSeqRange join(IPAddressSeqRange...) for issue #37
- added OSGI manifest details for OSGI support for issue #33