Skip to content

Version 4.2.0

Choose a tag to compare

@seancfoley seancfoley released this 27 Mar 04:51
· 384 commits to master since this release
  • better categorization of local addresses, for more consistency and for better alignment with IPv4/IPv6 standards
    • added isPrivate() method to IPv4
    • added isUnspecified() to both IPv4 and IPv6
    • added checking for local multicast addresses, both IPv4 and IPv6
    • refinement of local addresses to be more exact with isLocal(), including removal of isSiteLocal() from IPv4
  • new increment(long) method allowing for addition and subtraction outside of subnets as well as jumping into the middle of subnets rather than iterating individually
  • new mergePrefixBlocks method merges addresses and subnets into a minimal number of prefix blocks
  • new spanWithPrefixBlocks method provides the minimal set of prefix blocks that spans all addresses between any two addresses or subnets
  • added the prefixBlockIterator method which allows you to iterate through prefix block subnets rather than individual addresses, and the method getPrefixCount which counts the number of prefixes in a subnet (which matches the count for the prefix block iterator)
  • added the methods containsPrefixBlock and containsSinglePrefixBlock across all addresses and address sections to test for prefix blocks of any prefix length
  • added option to not zero out bits moving across the prefix when adjusting prefix lengths, now there is the choice of whether to zero or not, which can help with subnetting
  • parsing service names in place of port numbers with HostName, including the "*" denoting all services or ports
  • made parsing of host names with port using HostName more flexible, parsing potentially ambiguous formats involving non-bracketed IPv6 addresses and ports in more than one way, and allowing combinations of zone, prefix, and port/service
  • also added "expectPort" parsing option to handle cases in which ports are ambiguous with terminating ipv6 segments
  • allow combination of zone and prefix in ipv6 address strings (previously was supported only in HostName)
  • added zone validation to check for prefix length or port indicator
  • proper handling of encoded characters in zones inside bracketed host names