Skip to content

Version 5.0.0

Compare
Choose a tag to compare
@seancfoley seancfoley released this 30 Oct 04:31
· 309 commits to master since this release

This version introduces new address range classes and reorganizes classes and code in the inet.ipaddr.format package.

This version is compatible with java 8 and the distributed jars are compiled with java 8, but those jars also include the module-info class for the Java Platform Module System (JPMS) introduced with Java 9, and hence can be used as the JPMS inet.ipaddr module with Java 9, 10, and 11. When compiling the source for Java 8 the module-info source file must be ignored or removed. When running the distributed jars with Java 8 no changes are required since the module-info class will simply be ignored.

  • includes the parsing performance improvements introduced in version 4.3.0 as well as the other 4.3.0 improvements and additions
  • added address range functionality with the new IPAddressSeqRange class and the IPv4 and IPv6 subclasses, along with their associated operations and iterators
  • added IPAddressRange interface for commonality between IPAddress and IPAddressSeqRange ranges
  • reorganization of classes and interfaces in inet.ipaddr.format package to standard, large, and string subpackages
  • expansion of the large division functionality, which uses BigInteger for address division values, to match the standard functionality which uses longs for address divisions
  • new static toNormalizedString string production methods to produce strings directly without intervening objects
  • new iterators: blockIterator(int), sequentialBlockIterator(), prefixIterator(), prefixBlockIterator(int), and their associated count methods, namely getSequentialBlockCount to go with sequentialBlockIterator() and prefixCount to go with iterator(), nonZeroHostIterator() and prefixBlockIterator(). Also added the isSequential() method.
  • added mergeToSequentialBlocks to match mergeToPrefixBlocks
  • works with Java 8, 9, 10, 11 and upwards, comprises the inet.ipaddr module for Java 9 and upwards

The Java 8 code in this release and previous releases is fully compatible with Android using Android API level 24 or higher.