Skip to content

Releases: seancfoley/IPAddress

Version 5.5.1

24 Aug 03:57
Compare
Choose a tag to compare
  • added new merge functions mergeToDualPrefixBlocks and mergeToDualSequentialBlocks for combined IPv4/IPv6 merging
  • added public constructors accepting message strings to AddressValueException and IncompatibleAddressException, issue #127
  • removed caching functionality from containingFirstIterator, use all-node containingFirstAllNodeIterator instead

Version 5.5.0

03 Mar 03:30
9d4275a
Compare
Choose a tag to compare
  • 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 the increment methods, to find the position of an address in a subnet, or to find the distance between two addresses
  • added an increment method accepting a BigInteger argument to IPv6Address and IPv6AddressSection
  • 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

29 Jan 19:44
ef17a7a
Compare
Choose a tag to compare
  • removed unnecessary SDK dependency incompatible with Java 8 that was introduced with version 5.4.1, issue #121
  • includes the fix to invalid radix argument infinite loop, issue #118

Version 5.4.1

28 Jan 21:23
Compare
Choose a tag to compare
  • fix to invalid radix argument infinite loop, issue #118

Version 5.4.0

15 Dec 04:57
5cafdfc
Compare
Choose a tag to compare
  • added PrefixBlockAllocator for automatic CIDR prefix block allocation
  • added AddedTree and AssociativeAddedTree classes for expanded constructAddedNodesTree methods
  • added getBlockSize and getBitsForCount in AddressItem
  • added matchUnordered and matchOrdered in Address
  • 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

22 Mar 01:32
aa6558a
Compare
Choose a tag to compare
  • 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

26 Sep 01:08
Compare
Choose a tag to compare
  • more flexible and efficient IPv6 zone handling
  • addresses issue #48, converting prefixed addresses with zone to Inet6Address
  • more efficient merging

Version 5.3.2

27 Aug 20:15
Compare
Choose a tag to compare
  • new longestPrefixMatch and longestPrefixMatchNode methods in AddressTrie, AddressTrieMap and AddressTrieSet, for more efficient matching without using the linked list from elementsContaining
  • 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 binary 0B
  • improved performance of mergeToPrefixBlocks and mergeToSequentialBlocks, 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 to TrieNode 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 in IPAddressString vs IPAddress 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 missing allowBase85
  • 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

15 May 19:37
Compare
Choose a tag to compare

Fixes reversed sub-node order with trie block size iterator

Version 5.3.0

14 May 03:49
Compare
Choose a tag to compare

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