Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: seancfoley/IPAddress

Version 5.6.1

02 Feb 04:00
7a7ee07
This commit was created on GitHub.com and signed with GitHub's verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Adjusts prefix lengths in containment tries for all individual addresses

Assets 3
Loading

Version 5.6.0

01 Feb 22:26

Choose a tag to compare

This version introduces new types for efficient IP address collections and set operations, along with a few other enhancements

  • added IPAddressSeqRangeList, a collection type backed by IP address ranges, offering binary search, an alternative to tries with potentially better CPU cache coherence when searching
  • IPAddressSeqRangeList enables the arithmetic set operations add/join, intersect, remove, and complement
  • added the corresponding version-specific types IPv4AddressSeqRangeList and IPv6AddressSeqRangeList
  • added IPAddressContainmentTrie, an alternative collection option backed by CIDR prefix blocks in a trie, expanding on the existing trie functionality.
  • added the corresponding version-specific types IPv4AddressContainmentTrie and IPv6AddressContainmentTrie
  • added the IPAddressCollection interface representing collections of individual addresses, implemented by all range list and containment trie types
  • added the IPAddressAggregation interface representing all types which can represent a multitude of IP addresses, whether collections, ranges, or subnets
  • added new and optimized increment(), decrement() and incrementBoundary() methods to the address types, more efficient than increment(1), increment(-1), incrementBoundary(1)
  • extended increment(BigInteger) to the address/subnet types IPAddress and IPv4Address, and not just IPV6Address, for easier polymorphism
  • added a complement method to IPAddress returning blocks, and a complement method to IPAddressSeqRange returning ranges, in addition to the complement method included with IPAddressSeqRangeList
  • added methods to IPAddressSeqRange to integrate with IPAddressSeqRangeList to create lists efficiently: subtractIntoList, joinIntoList, complementIntoList
  • added intoSequentialRangeList methods to IP address and sequential range classes for polymorphic and efficient IPAddressSeqRangeList creation
  • added intoContainmentTrie methods to IP address and range classes for polymorphic IPAddressContainmentTrie creation
  • added new trie types IPAddressTrie and IPAddressAssociativeTrie, similar to existing types, but version-polymorphic, they can become either IPv4 or IPv6 tries, but not both at the same time
  • fixed an issue with merging addresses with prefixes into sequential blocks
Loading

Version 5.5.1

24 Aug 03:57

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
Loading
bzurmaar and see-quick reacted with hooray emoji
2 people reacted

Version 5.5.0

03 Mar 03:30
9d4275a
This commit was created on GitHub.com and signed with GitHub's verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

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
Loading
bzurmaar reacted with thumbs up emoji
1 person reacted

Version 5.4.2

29 Jan 19:44
ef17a7a
This commit was created on GitHub.com and signed with GitHub's verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

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
Loading

Version 5.4.1

28 Jan 21:23

Choose a tag to compare

  • fix to invalid radix argument infinite loop, issue #118
Loading

Version 5.4.0

15 Dec 04:57
5cafdfc
This commit was created on GitHub.com and signed with GitHub's verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

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
Loading

Version 5.3.4

22 Mar 01:32
aa6558a
This commit was created on GitHub.com and signed with GitHub's verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

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
Loading
dev9-softrix and lp8608 reacted with thumbs up emoji
2 people reacted

Version 5.3.3

26 Sep 01:08

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
Loading

Version 5.3.2

27 Aug 20:15

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
Loading
Previous 1 2 3 Next
Previous Next