Releases: seancfoley/IPAddress
Releases · seancfoley/IPAddress
Version 5.5.1
- added new merge functions
mergeToDualPrefixBlocksandmergeToDualSequentialBlocksfor combined IPv4/IPv6 merging - added public constructors accepting message strings to
AddressValueExceptionandIncompatibleAddressException, issue #127 - removed caching functionality from
containingFirstIterator, use all-nodecontainingFirstAllNodeIteratorinstead
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
shortestPrefixMatchtrie methods - added
enumeratemethods, the inverse of theincrementmethods, to find the position of an address in a subnet, or to find the distance between two addresses - added an
incrementmethod accepting aBigIntegerargument toIPv6AddressandIPv6AddressSection - added the ability to construct an
IPv6Addressfrom two longs - added
replacemethods with address section parameter to address classes - added
overlapsmethods to check for overlapping subnets, and for checking sequential range overlap with a subnet - added
floor/lower/ceiling/highermethods 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
PrefixBlockAllocatorfor automatic CIDR prefix block allocation - added
AddedTreeandAssociativeAddedTreeclasses for expandedconstructAddedNodesTreemethods - added
getBlockSizeandgetBitsForCountinAddressItem - added
matchUnorderedandmatchOrderedinAddress - eliminated invalid
AddressValueExceptionwhen 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
longestPrefixMatchandlongestPrefixMatchNodemethods inAddressTrie,AddressTrieMapandAddressTrieSet, 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
0Xand binary0B - improved performance of
mergeToPrefixBlocksandmergeToSequentialBlocks, also resulting in a different ordering of the result, sorted by lower value. The old ordering remains attainable with the comparator IPAddressSegmentSeries.getPrefixLenComparator - added
asNewTrietoTrieNodeto 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.applyToBoundsto 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
prefixEqualsinIPAddressStringvsIPAddresswith addresses that have no prefix length - fixed issue in
IPAddressString.prefixEqualsinvolving prefix not on segment boundary - fixed issue with
spanWithPrefixBlocksnot 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